Version Description
Download this release
Release Info
Developer | iubenda |
Plugin | iubenda Cookie Solution for GDPR |
Version | beta |
Comparing to | |
See all releases |
Code changes from version 2.5.0 to beta
- assets/css/admin.css +67 -0
- assets/css/style.css +2438 -0
- assets/fonts/HKGrotesk-Bold.eot +0 -0
- assets/fonts/HKGrotesk-Bold.woff +0 -0
- assets/fonts/HKGrotesk-Bold.woff2 +0 -0
- assets/fonts/HKGrotesk-Regular.eot +0 -0
- assets/fonts/HKGrotesk-Regular.woff +0 -0
- assets/fonts/HKGrotesk-Regular.woff2 +0 -0
- assets/images/banner_failure.svg +1 -0
- assets/images/banner_success.svg +1 -0
- assets/images/checkboxes/button_style_dark.svg +1 -0
- assets/images/checkboxes/button_style_light.svg +1 -0
- assets/images/checkboxes/cons_icon.svg +1 -0
- assets/images/checkboxes/cs_icon.svg +1 -0
- assets/images/checkboxes/eu_only_icon.svg +1 -0
- assets/images/checkboxes/pp_icon.svg +1 -0
- assets/images/checkboxes/tc_icon.svg +1 -0
- assets/images/checkboxes/worldwide.svg +1 -0
- assets/images/iubenda_logo.svg +1 -0
- assets/images/list_radar_cons.svg +1 -0
- assets/images/list_radar_cs.svg +1 -0
- assets/images/list_radar_pp.svg +1 -0
- assets/images/list_radar_tc.svg +1 -0
- assets/images/modals/modal_almost_there.svg +1 -0
- assets/images/modals/modal_no_website_found.svg +1 -0
- assets/images/modals/modal_pp_created.svg +1 -0
- assets/images/modals/modal_sync.svg +1 -0
- assets/images/pc_screen_icon.svg +1 -0
- assets/images/question_mark.svg +1 -0
- assets/images/question_mark_light.svg +1 -0
- assets/images/service_cards/cons_icon.svg +1 -0
- assets/images/service_cards/cs_icon.svg +1 -0
- assets/images/service_cards/pp_icon.svg +1 -0
- assets/images/service_cards/tc_icon.svg +1 -0
- assets/images/warning-icon.svg +1 -0
- assets/images/welcome_screen_bg.svg +1 -0
- assets/images/white_checkmark.svg +1 -0
- assets/images/white_x.svg +1 -0
- assets/js/admin.js +732 -0
- {js → assets/js}/frontend.js +1 -1
- assets/js/legal_block.js +62 -0
- assets/js/matomo.js +14 -0
- assets/js/tabs.js +25 -0
- css/admin.css +0 -164
- includes/CookieSolutionGenerator.php +143 -0
- includes/LanguageHelper.php +60 -0
- includes/PrivacyPolicyGenerator.php +36 -0
- includes/ProductHelper.php +239 -0
- includes/QuickGeneratorService.php +638 -0
- includes/RadarService.php +176 -0
- includes/ServiceRating.php +133 -0
- includes/amp.php +13 -2
- includes/block/IubendaLegalBlock.php +405 -0
- includes/forms-list-table.php +95 -26
- includes/forms.php +62 -43
- includes/settings.php +1303 -1649
- includes/widget/IubendaLegalWidget.php +239 -0
- iubenda-cookie-class/README.md +11 -1
- iubenda-cookie-class/iubenda.class.page.php +4 -4
- iubenda-cookie-class/iubenda.class.php +12 -13
- iubenda-cookie-class/listeners/GoogleTagManagerListener.php +1 -1
- iubenda-cookie-class/simple_html_dom.php +11 -11
- iubenda-cookie-class/test.php +0 -116
- iubenda_cookie_solution.php +521 -59
- js/admin.js +0 -282
- languages/iubenda-cookie-law-solution-it_IT.mo +0 -0
- languages/iubenda-cookie-law-solution-it_IT.po +0 -863
- languages/iubenda-cookie-law-solution.pot +0 -647
- languages/iubenda-de_DE.mo +0 -0
- languages/iubenda-de_DE.po +1218 -0
- languages/iubenda-es_ES.mo +0 -0
- languages/iubenda-es_ES.po +1211 -0
- languages/iubenda-fr_FR.mo +0 -0
- languages/iubenda-fr_FR.po +1226 -0
- languages/iubenda-it_IT.mo +0 -0
- languages/iubenda-it_IT.po +1205 -0
- languages/iubenda-nl_NL.mo +0 -0
- languages/iubenda-nl_NL.po +1224 -0
- languages/iubenda-pt_BR.mo +0 -0
- languages/iubenda-pt_BR.po +1201 -0
- languages/iubenda.pot +970 -0
- readme.txt +330 -118
- views/cons-configuration.php +68 -0
- views/cons-single-form.php +285 -0
- views/cs-configuration.php +23 -0
- views/frontpage.php +42 -0
- views/integrate-setup.php +158 -0
- views/partials/alert.php +16 -0
- views/partials/auto_detect_forms.php +33 -0
- views/partials/bannerPosition.php +52 -0
- views/partials/bannerStyle.php +19 -0
- views/partials/breadcrumb.php +21 -0
- views/partials/buttonPosition.php +85 -0
- views/partials/buttonStyle.php +23 -0
- views/partials/csGeneralSettings.php +262 -0
- views/partials/csManualConfiguration.php +17 -0
- views/partials/csPluginSettings.php +135 -0
- views/partials/csSimplifiedConfiguration.php +97 -0
- views/partials/footer.php +8 -0
- views/partials/frontpage_main_box.php +42 -0
- views/partials/header.php +14 -0
- views/partials/header_scanned.php +5 -0
- views/partials/integrateFooter.php +5 -0
- views/partials/languagesTabs.php +29 -0
- views/partials/modals/modal_almost_there.php +81 -0
- views/partials/modals/modal_no_website_found.php +14 -0
- views/partials/modals/modal_ops_embed_invalid.php +13 -0
- views/partials/modals/modal_pp_created.php +11 -0
- views/partials/modals/modal_rating.php +29 -0
- views/partials/modals/modal_select_language.php +91 -0
- views/partials/modals/modal_sync.php +9 -0
- views/partials/product-card.php +52 -0
- views/partials/siteInfo.php +32 -0
- views/partials/welcomeScreenHeader.php +4 -0
- views/plugin-settings.php +51 -0
- views/pp-configuration.php +41 -0
- views/products-page.php +34 -0
- views/tc-configuration.php +162 -0
assets/css/admin.css
ADDED
@@ -0,0 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.iubenda-notice {
|
2 |
+
border-left-color: #1CC691;
|
3 |
+
padding-left: 0;
|
4 |
+
display: flex;
|
5 |
+
justify-content: flex-start;
|
6 |
+
align-items: center;
|
7 |
+
}
|
8 |
+
.iubenda-notice::before {
|
9 |
+
display: inline-block;
|
10 |
+
content: '';
|
11 |
+
height: 49px;
|
12 |
+
width: 22px;
|
13 |
+
margin: 1em 2em;
|
14 |
+
background-size: contain;
|
15 |
+
background-position: center center;
|
16 |
+
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIyMjFweCIgaGVpZ2h0PSI0OTBweCIgdmlld0JveD0iMCAwIDIyMSA0OTAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+ICAgICAgICA8dGl0bGU+aXViZW5kYSB2ZWN0b3IgbG9nb192M19vbmx5X2lfZ3JlZW48L3RpdGxlPiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4gICAgPGRlZnM+PC9kZWZzPiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4gICAgICAgIDxnIGlkPSJpdWJlbmRhLXZlY3Rvci1sb2dvX3YzX29ubHlfaV9ncmVlbiIgZmlsbD0iIzFDQzY5MSIgZmlsbC1ydWxlPSJub256ZXJvIj4gICAgICAgICAgICA8cGF0aCBkPSJNMjIwLjYsMTA4LjQgQzIyMC42LDEzNSAyMTAuOCwxNTkuMyAxOTQuNSwxNzguMSBMMjE3LjksNDg5LjQgTDguNSw0ODkuNCBMMzEuMiwxODMuNSBDMTEuOSwxNjQuMiAwLDEzNy43IDAsMTA4LjQgQzAsNDguNyA0OS40LDAuNCAxMTAuMywwLjQgQzE3MS4yLDAuNCAyMjAuNiw0OC43IDIyMC42LDEwOC40IFogTTExMC4zLDEzMyBDMTI1LDEzMyAxMzYuOCwxMjEuMiAxMzYuOCwxMDYuNyBDMTM2LjgsOTIuMiAxMjQuOSw4MC41IDExMC4zLDgwLjUgQzk1LjYsODAuNSA4My44LDkyLjMgODMuOCwxMDYuNyBDODMuOCwxMjEuMyA5NS42LDEzMyAxMTAuMywxMzMgWiBNMTMxLjIsMjI3IEw5NC45LDI2My4zIEw5NC45LDQwMy44IEwxMzEuMiw0MDMuOCBMMTMxLjIsMjI3IFoiIGlkPSJTaGFwZSI+PC9wYXRoPiAgICAgICAgPC9nPiAgICA8L2c+PC9zdmc+);
|
17 |
+
}
|
18 |
+
.iubenda-notice .notice-question {
|
19 |
+
margin-bottom: 5px;
|
20 |
+
display: block;
|
21 |
+
}
|
22 |
+
.iubenda-notice .notice-reply {
|
23 |
+
margin-top: 0;
|
24 |
+
}
|
25 |
+
.iubenda-notice .step-2 {
|
26 |
+
display: none;
|
27 |
+
}
|
28 |
+
.iubenda-notice .reply-yes {
|
29 |
+
margin-right: 10px;
|
30 |
+
}
|
31 |
+
.iubenda-notice .reply-yes:before,
|
32 |
+
.iubenda-notice .reply-no:before {
|
33 |
+
font-family: dashicons;
|
34 |
+
display: inline-block;
|
35 |
+
line-height: 1;
|
36 |
+
font-weight: 400;
|
37 |
+
font-style: normal;
|
38 |
+
speak: none;
|
39 |
+
text-decoration: inherit;
|
40 |
+
text-transform: none;
|
41 |
+
text-rendering: auto;
|
42 |
+
-webkit-font-smoothing: antialiased;
|
43 |
+
-moz-osx-font-smoothing: grayscale;
|
44 |
+
width: 20px;
|
45 |
+
height: 20px;
|
46 |
+
font-size: 20px;
|
47 |
+
vertical-align: top;
|
48 |
+
text-align: center;
|
49 |
+
transition: color .1s ease-in;
|
50 |
+
text-decoration: none;
|
51 |
+
}
|
52 |
+
.iubenda-notice .reply-yes:before {
|
53 |
+
content: "\f147";
|
54 |
+
}
|
55 |
+
.iubenda-notice .reply-no:before {
|
56 |
+
content: "\f335";
|
57 |
+
}
|
58 |
+
|
59 |
+
.iubenda-rate-stars {
|
60 |
+
display: inline-block;
|
61 |
+
color: #ffb900;
|
62 |
+
position: relative;
|
63 |
+
top: 3px;
|
64 |
+
}
|
65 |
+
.iubenda-rate-stars svg {
|
66 |
+
fill: #ffb900
|
67 |
+
}
|
assets/css/style.css
ADDED
@@ -0,0 +1,2438 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
@charset "UTF-8";
|
2 |
+
@font-face {
|
3 |
+
font-family: "hkgrotesk";
|
4 |
+
src: url("../fonts/HKGrotesk-Regular.eot");
|
5 |
+
src: url("../fonts/HKGrotesk-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/HKGrotesk-Regular.woff2") format("woff2"), url("../fonts/HKGrotesk-Regular.woff") format("woff");
|
6 |
+
font-weight: 400;
|
7 |
+
font-style: normal;
|
8 |
+
font-display: swap;
|
9 |
+
}
|
10 |
+
@font-face {
|
11 |
+
font-family: "hkgrotesk";
|
12 |
+
src: url("../fonts/HKGrotesk-Bold.eot");
|
13 |
+
src: url("../fonts/hk-grotesk/HKGrotesk-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/HKGrotesk-Bold.woff2") format("woff2"), url("../fonts/hk-grotesk/HKGrotesk-Bold.woff") format("woff");
|
14 |
+
font-weight: 700;
|
15 |
+
font-style: normal;
|
16 |
+
font-display: swap;
|
17 |
+
}
|
18 |
+
.text-xs, .link-helper {
|
19 |
+
font-size: 0.8rem;
|
20 |
+
}
|
21 |
+
|
22 |
+
.text-sm {
|
23 |
+
font-size: 0.9rem;
|
24 |
+
}
|
25 |
+
|
26 |
+
.text-regular {
|
27 |
+
font-size: 1rem;
|
28 |
+
}
|
29 |
+
|
30 |
+
.text-md {
|
31 |
+
font-size: 1.125rem;
|
32 |
+
}
|
33 |
+
|
34 |
+
.text-lg {
|
35 |
+
font-size: 1.5rem;
|
36 |
+
}
|
37 |
+
|
38 |
+
.text-xl {
|
39 |
+
font-size: 2rem;
|
40 |
+
}
|
41 |
+
|
42 |
+
h1 {
|
43 |
+
line-height: 1.25;
|
44 |
+
}
|
45 |
+
|
46 |
+
h4 {
|
47 |
+
margin: 0;
|
48 |
+
margin-bottom: 1rem;
|
49 |
+
color: #585858;
|
50 |
+
font-size: 0.95rem;
|
51 |
+
}
|
52 |
+
|
53 |
+
.m-0 {
|
54 |
+
margin: 0 !important;
|
55 |
+
}
|
56 |
+
|
57 |
+
.mt-0,
|
58 |
+
.my-0 {
|
59 |
+
margin-top: 0 !important;
|
60 |
+
}
|
61 |
+
|
62 |
+
.mr-0,
|
63 |
+
.mx-0 {
|
64 |
+
margin-right: 0 !important;
|
65 |
+
}
|
66 |
+
|
67 |
+
.mb-0,
|
68 |
+
.my-0 {
|
69 |
+
margin-bottom: 0 !important;
|
70 |
+
}
|
71 |
+
|
72 |
+
.ml-0,
|
73 |
+
.mx-0 {
|
74 |
+
margin-left: 0 !important;
|
75 |
+
}
|
76 |
+
|
77 |
+
.m-1 {
|
78 |
+
margin: 0.25rem !important;
|
79 |
+
}
|
80 |
+
|
81 |
+
.mt-1,
|
82 |
+
.my-1 {
|
83 |
+
margin-top: 0.25rem !important;
|
84 |
+
}
|
85 |
+
|
86 |
+
.mr-1,
|
87 |
+
.mx-1 {
|
88 |
+
margin-right: 0.25rem !important;
|
89 |
+
}
|
90 |
+
|
91 |
+
.mb-1,
|
92 |
+
.my-1 {
|
93 |
+
margin-bottom: 0.25rem !important;
|
94 |
+
}
|
95 |
+
|
96 |
+
.ml-1,
|
97 |
+
.mx-1 {
|
98 |
+
margin-left: 0.25rem !important;
|
99 |
+
}
|
100 |
+
|
101 |
+
.m-2 {
|
102 |
+
margin: 0.5rem !important;
|
103 |
+
}
|
104 |
+
|
105 |
+
.mt-2,
|
106 |
+
.my-2 {
|
107 |
+
margin-top: 0.5rem !important;
|
108 |
+
}
|
109 |
+
|
110 |
+
.mr-2,
|
111 |
+
.mx-2 {
|
112 |
+
margin-right: 0.5rem !important;
|
113 |
+
}
|
114 |
+
|
115 |
+
.mb-2,
|
116 |
+
.my-2 {
|
117 |
+
margin-bottom: 0.5rem !important;
|
118 |
+
}
|
119 |
+
|
120 |
+
.ml-2,
|
121 |
+
.mx-2 {
|
122 |
+
margin-left: 0.5rem !important;
|
123 |
+
}
|
124 |
+
|
125 |
+
.m-3 {
|
126 |
+
margin: 1rem !important;
|
127 |
+
}
|
128 |
+
|
129 |
+
.mt-3,
|
130 |
+
.my-3 {
|
131 |
+
margin-top: 1rem !important;
|
132 |
+
}
|
133 |
+
|
134 |
+
.mr-3,
|
135 |
+
.mx-3 {
|
136 |
+
margin-right: 1rem !important;
|
137 |
+
}
|
138 |
+
|
139 |
+
.mb-3,
|
140 |
+
.my-3 {
|
141 |
+
margin-bottom: 1rem !important;
|
142 |
+
}
|
143 |
+
|
144 |
+
.ml-3,
|
145 |
+
.mx-3 {
|
146 |
+
margin-left: 1rem !important;
|
147 |
+
}
|
148 |
+
|
149 |
+
.m-4 {
|
150 |
+
margin: 1.5rem !important;
|
151 |
+
}
|
152 |
+
|
153 |
+
.mt-4,
|
154 |
+
.my-4 {
|
155 |
+
margin-top: 1.5rem !important;
|
156 |
+
}
|
157 |
+
|
158 |
+
.mr-4,
|
159 |
+
.mx-4 {
|
160 |
+
margin-right: 1.5rem !important;
|
161 |
+
}
|
162 |
+
|
163 |
+
.mb-4,
|
164 |
+
.my-4 {
|
165 |
+
margin-bottom: 1.5rem !important;
|
166 |
+
}
|
167 |
+
|
168 |
+
.ml-4,
|
169 |
+
.mx-4 {
|
170 |
+
margin-left: 1.5rem !important;
|
171 |
+
}
|
172 |
+
|
173 |
+
.m-5 {
|
174 |
+
margin: 3rem !important;
|
175 |
+
}
|
176 |
+
|
177 |
+
.mt-5,
|
178 |
+
.my-5 {
|
179 |
+
margin-top: 3rem !important;
|
180 |
+
}
|
181 |
+
|
182 |
+
.mr-5,
|
183 |
+
.mx-5 {
|
184 |
+
margin-right: 3rem !important;
|
185 |
+
}
|
186 |
+
|
187 |
+
.mb-5,
|
188 |
+
.my-5 {
|
189 |
+
margin-bottom: 3rem !important;
|
190 |
+
}
|
191 |
+
|
192 |
+
.ml-5,
|
193 |
+
.mx-5 {
|
194 |
+
margin-left: 3rem !important;
|
195 |
+
}
|
196 |
+
|
197 |
+
.p-0 {
|
198 |
+
padding: 0 !important;
|
199 |
+
}
|
200 |
+
|
201 |
+
.pt-0,
|
202 |
+
.py-0 {
|
203 |
+
padding-top: 0 !important;
|
204 |
+
}
|
205 |
+
|
206 |
+
.pr-0,
|
207 |
+
.px-0 {
|
208 |
+
padding-right: 0 !important;
|
209 |
+
}
|
210 |
+
|
211 |
+
.pb-0,
|
212 |
+
.py-0 {
|
213 |
+
padding-bottom: 0 !important;
|
214 |
+
}
|
215 |
+
|
216 |
+
.pl-0,
|
217 |
+
.px-0 {
|
218 |
+
padding-left: 0 !important;
|
219 |
+
}
|
220 |
+
|
221 |
+
.p-1 {
|
222 |
+
padding: 0.25rem !important;
|
223 |
+
}
|
224 |
+
|
225 |
+
.pt-1,
|
226 |
+
.py-1 {
|
227 |
+
padding-top: 0.25rem !important;
|
228 |
+
}
|
229 |
+
|
230 |
+
.pr-1,
|
231 |
+
.px-1 {
|
232 |
+
padding-right: 0.25rem !important;
|
233 |
+
}
|
234 |
+
|
235 |
+
.pb-1,
|
236 |
+
.py-1 {
|
237 |
+
padding-bottom: 0.25rem !important;
|
238 |
+
}
|
239 |
+
|
240 |
+
.pl-1,
|
241 |
+
.px-1 {
|
242 |
+
padding-left: 0.25rem !important;
|
243 |
+
}
|
244 |
+
|
245 |
+
.p-2 {
|
246 |
+
padding: 0.5rem !important;
|
247 |
+
}
|
248 |
+
|
249 |
+
.pt-2,
|
250 |
+
.py-2 {
|
251 |
+
padding-top: 0.5rem !important;
|
252 |
+
}
|
253 |
+
|
254 |
+
.pr-2,
|
255 |
+
.px-2 {
|
256 |
+
padding-right: 0.5rem !important;
|
257 |
+
}
|
258 |
+
|
259 |
+
.pb-2,
|
260 |
+
.py-2 {
|
261 |
+
padding-bottom: 0.5rem !important;
|
262 |
+
}
|
263 |
+
|
264 |
+
.pl-2,
|
265 |
+
.px-2 {
|
266 |
+
padding-left: 0.5rem !important;
|
267 |
+
}
|
268 |
+
|
269 |
+
.p-3 {
|
270 |
+
padding: 1rem !important;
|
271 |
+
}
|
272 |
+
|
273 |
+
.pt-3,
|
274 |
+
.py-3 {
|
275 |
+
padding-top: 1rem !important;
|
276 |
+
}
|
277 |
+
|
278 |
+
.pr-3,
|
279 |
+
.px-3 {
|
280 |
+
padding-right: 1rem !important;
|
281 |
+
}
|
282 |
+
|
283 |
+
.pb-3,
|
284 |
+
.py-3 {
|
285 |
+
padding-bottom: 1rem !important;
|
286 |
+
}
|
287 |
+
|
288 |
+
.pl-3,
|
289 |
+
.px-3 {
|
290 |
+
padding-left: 1rem !important;
|
291 |
+
}
|
292 |
+
|
293 |
+
.p-4 {
|
294 |
+
padding: 1.5rem !important;
|
295 |
+
}
|
296 |
+
|
297 |
+
.pt-4,
|
298 |
+
.py-4 {
|
299 |
+
padding-top: 1.5rem !important;
|
300 |
+
}
|
301 |
+
|
302 |
+
.pr-4,
|
303 |
+
.px-4 {
|
304 |
+
padding-right: 1.5rem !important;
|
305 |
+
}
|
306 |
+
|
307 |
+
.pb-4,
|
308 |
+
.py-4 {
|
309 |
+
padding-bottom: 1.5rem !important;
|
310 |
+
}
|
311 |
+
|
312 |
+
.pl-4,
|
313 |
+
.px-4 {
|
314 |
+
padding-left: 1.5rem !important;
|
315 |
+
}
|
316 |
+
|
317 |
+
.p-5 {
|
318 |
+
padding: 3rem !important;
|
319 |
+
}
|
320 |
+
|
321 |
+
.pt-5,
|
322 |
+
.py-5 {
|
323 |
+
padding-top: 3rem !important;
|
324 |
+
}
|
325 |
+
|
326 |
+
.pr-5,
|
327 |
+
.px-5 {
|
328 |
+
padding-right: 3rem !important;
|
329 |
+
}
|
330 |
+
|
331 |
+
.pb-5,
|
332 |
+
.py-5 {
|
333 |
+
padding-bottom: 3rem !important;
|
334 |
+
}
|
335 |
+
|
336 |
+
.pl-5,
|
337 |
+
.px-5 {
|
338 |
+
padding-left: 3rem !important;
|
339 |
+
}
|
340 |
+
|
341 |
+
@media (min-width: 768px) {
|
342 |
+
.m-lg-0 {
|
343 |
+
margin: 0 !important;
|
344 |
+
}
|
345 |
+
|
346 |
+
.mt-lg-0,
|
347 |
+
.my-lg-0 {
|
348 |
+
margin-top: 0 !important;
|
349 |
+
}
|
350 |
+
|
351 |
+
.mr-lg-0,
|
352 |
+
.mx-lg-0 {
|
353 |
+
margin-right: 0 !important;
|
354 |
+
}
|
355 |
+
|
356 |
+
.mb-lg-0,
|
357 |
+
.my-lg-0 {
|
358 |
+
margin-bottom: 0 !important;
|
359 |
+
}
|
360 |
+
|
361 |
+
.ml-lg-0,
|
362 |
+
.mx-lg-0 {
|
363 |
+
margin-left: 0 !important;
|
364 |
+
}
|
365 |
+
|
366 |
+
.m-lg-1 {
|
367 |
+
margin: 0.25rem !important;
|
368 |
+
}
|
369 |
+
|
370 |
+
.mt-lg-1,
|
371 |
+
.my-lg-1 {
|
372 |
+
margin-top: 0.25rem !important;
|
373 |
+
}
|
374 |
+
|
375 |
+
.mr-lg-1,
|
376 |
+
.mx-lg-1 {
|
377 |
+
margin-right: 0.25rem !important;
|
378 |
+
}
|
379 |
+
|
380 |
+
.mb-lg-1,
|
381 |
+
.my-lg-1 {
|
382 |
+
margin-bottom: 0.25rem !important;
|
383 |
+
}
|
384 |
+
|
385 |
+
.ml-lg-1,
|
386 |
+
.mx-lg-1 {
|
387 |
+
margin-left: 0.25rem !important;
|
388 |
+
}
|
389 |
+
|
390 |
+
.m-lg-2 {
|
391 |
+
margin: 0.5rem !important;
|
392 |
+
}
|
393 |
+
|
394 |
+
.mt-lg-2,
|
395 |
+
.my-lg-2 {
|
396 |
+
margin-top: 0.5rem !important;
|
397 |
+
}
|
398 |
+
|
399 |
+
.mr-lg-2,
|
400 |
+
.mx-lg-2 {
|
401 |
+
margin-right: 0.5rem !important;
|
402 |
+
}
|
403 |
+
|
404 |
+
.mb-lg-2,
|
405 |
+
.my-lg-2 {
|
406 |
+
margin-bottom: 0.5rem !important;
|
407 |
+
}
|
408 |
+
|
409 |
+
.ml-lg-2,
|
410 |
+
.mx-lg-2 {
|
411 |
+
margin-left: 0.5rem !important;
|
412 |
+
}
|
413 |
+
|
414 |
+
.m-lg-3 {
|
415 |
+
margin: 1rem !important;
|
416 |
+
}
|
417 |
+
|
418 |
+
.mt-lg-3,
|
419 |
+
.my-lg-3 {
|
420 |
+
margin-top: 1rem !important;
|
421 |
+
}
|
422 |
+
|
423 |
+
.mr-lg-3,
|
424 |
+
.mx-lg-3 {
|
425 |
+
margin-right: 1rem !important;
|
426 |
+
}
|
427 |
+
|
428 |
+
.mb-lg-3,
|
429 |
+
.my-lg-3 {
|
430 |
+
margin-bottom: 1rem !important;
|
431 |
+
}
|
432 |
+
|
433 |
+
.ml-lg-3,
|
434 |
+
.mx-lg-3 {
|
435 |
+
margin-left: 1rem !important;
|
436 |
+
}
|
437 |
+
|
438 |
+
.m-lg-4 {
|
439 |
+
margin: 1.5rem !important;
|
440 |
+
}
|
441 |
+
|
442 |
+
.mt-lg-4,
|
443 |
+
.my-lg-4 {
|
444 |
+
margin-top: 1.5rem !important;
|
445 |
+
}
|
446 |
+
|
447 |
+
.mr-lg-4,
|
448 |
+
.mx-lg-4 {
|
449 |
+
margin-right: 1.5rem !important;
|
450 |
+
}
|
451 |
+
|
452 |
+
.mb-lg-4,
|
453 |
+
.my-lg-4 {
|
454 |
+
margin-bottom: 1.5rem !important;
|
455 |
+
}
|
456 |
+
|
457 |
+
.ml-lg-4,
|
458 |
+
.mx-lg-4 {
|
459 |
+
margin-left: 1.5rem !important;
|
460 |
+
}
|
461 |
+
|
462 |
+
.m-lg-5 {
|
463 |
+
margin: 3rem !important;
|
464 |
+
}
|
465 |
+
|
466 |
+
.mt-lg-5,
|
467 |
+
.my-lg-5 {
|
468 |
+
margin-top: 3rem !important;
|
469 |
+
}
|
470 |
+
|
471 |
+
.mr-lg-5,
|
472 |
+
.mx-lg-5 {
|
473 |
+
margin-right: 3rem !important;
|
474 |
+
}
|
475 |
+
|
476 |
+
.mb-lg-5,
|
477 |
+
.my-lg-5 {
|
478 |
+
margin-bottom: 3rem !important;
|
479 |
+
}
|
480 |
+
|
481 |
+
.ml-lg-5,
|
482 |
+
.mx-lg-5 {
|
483 |
+
margin-left: 3rem !important;
|
484 |
+
}
|
485 |
+
|
486 |
+
.p-lg-0 {
|
487 |
+
padding: 0 !important;
|
488 |
+
}
|
489 |
+
|
490 |
+
.pt-lg-0,
|
491 |
+
.py-lg-0 {
|
492 |
+
padding-top: 0 !important;
|
493 |
+
}
|
494 |
+
|
495 |
+
.pr-lg-0,
|
496 |
+
.px-lg-0 {
|
497 |
+
padding-right: 0 !important;
|
498 |
+
}
|
499 |
+
|
500 |
+
.pb-lg-0,
|
501 |
+
.py-lg-0 {
|
502 |
+
padding-bottom: 0 !important;
|
503 |
+
}
|
504 |
+
|
505 |
+
.pl-lg-0,
|
506 |
+
.px-lg-0 {
|
507 |
+
padding-left: 0 !important;
|
508 |
+
}
|
509 |
+
|
510 |
+
.p-lg-1 {
|
511 |
+
padding: 0.25rem !important;
|
512 |
+
}
|
513 |
+
|
514 |
+
.pt-lg-1,
|
515 |
+
.py-lg-1 {
|
516 |
+
padding-top: 0.25rem !important;
|
517 |
+
}
|
518 |
+
|
519 |
+
.pr-lg-1,
|
520 |
+
.px-lg-1 {
|
521 |
+
padding-right: 0.25rem !important;
|
522 |
+
}
|
523 |
+
|
524 |
+
.pb-lg-1,
|
525 |
+
.py-lg-1 {
|
526 |
+
padding-bottom: 0.25rem !important;
|
527 |
+
}
|
528 |
+
|
529 |
+
.pl-lg-1,
|
530 |
+
.px-lg-1 {
|
531 |
+
padding-left: 0.25rem !important;
|
532 |
+
}
|
533 |
+
|
534 |
+
.p-lg-2 {
|
535 |
+
padding: 0.5rem !important;
|
536 |
+
}
|
537 |
+
|
538 |
+
.pt-lg-2,
|
539 |
+
.py-lg-2 {
|
540 |
+
padding-top: 0.5rem !important;
|
541 |
+
}
|
542 |
+
|
543 |
+
.pr-lg-2,
|
544 |
+
.px-lg-2 {
|
545 |
+
padding-right: 0.5rem !important;
|
546 |
+
}
|
547 |
+
|
548 |
+
.pb-lg-2,
|
549 |
+
.py-lg-2 {
|
550 |
+
padding-bottom: 0.5rem !important;
|
551 |
+
}
|
552 |
+
|
553 |
+
.pl-lg-2,
|
554 |
+
.px-lg-2 {
|
555 |
+
padding-left: 0.5rem !important;
|
556 |
+
}
|
557 |
+
|
558 |
+
.p-lg-3 {
|
559 |
+
padding: 1rem !important;
|
560 |
+
}
|
561 |
+
|
562 |
+
.pt-lg-3,
|
563 |
+
.py-lg-3 {
|
564 |
+
padding-top: 1rem !important;
|
565 |
+
}
|
566 |
+
|
567 |
+
.pr-lg-3,
|
568 |
+
.px-lg-3 {
|
569 |
+
padding-right: 1rem !important;
|
570 |
+
}
|
571 |
+
|
572 |
+
.pb-lg-3,
|
573 |
+
.py-lg-3 {
|
574 |
+
padding-bottom: 1rem !important;
|
575 |
+
}
|
576 |
+
|
577 |
+
.pl-lg-3,
|
578 |
+
.px-lg-3 {
|
579 |
+
padding-left: 1rem !important;
|
580 |
+
}
|
581 |
+
|
582 |
+
.p-lg-4 {
|
583 |
+
padding: 1.5rem !important;
|
584 |
+
}
|
585 |
+
|
586 |
+
.pt-lg-4,
|
587 |
+
.py-lg-4 {
|
588 |
+
padding-top: 1.5rem !important;
|
589 |
+
}
|
590 |
+
|
591 |
+
.pr-lg-4,
|
592 |
+
.px-lg-4 {
|
593 |
+
padding-right: 1.5rem !important;
|
594 |
+
}
|
595 |
+
|
596 |
+
.pb-lg-4,
|
597 |
+
.py-lg-4 {
|
598 |
+
padding-bottom: 1.5rem !important;
|
599 |
+
}
|
600 |
+
|
601 |
+
.pl-lg-4,
|
602 |
+
.px-lg-4 {
|
603 |
+
padding-left: 1.5rem !important;
|
604 |
+
}
|
605 |
+
|
606 |
+
.p-lg-5 {
|
607 |
+
padding: 3rem !important;
|
608 |
+
}
|
609 |
+
|
610 |
+
.pt-lg-5,
|
611 |
+
.py-lg-5 {
|
612 |
+
padding-top: 3rem !important;
|
613 |
+
}
|
614 |
+
|
615 |
+
.pr-lg-5,
|
616 |
+
.px-lg-5 {
|
617 |
+
padding-right: 3rem !important;
|
618 |
+
}
|
619 |
+
|
620 |
+
.pb-lg-5,
|
621 |
+
.py-lg-5 {
|
622 |
+
padding-bottom: 3rem !important;
|
623 |
+
}
|
624 |
+
|
625 |
+
.pl-lg-5,
|
626 |
+
.px-lg-5 {
|
627 |
+
padding-left: 3rem !important;
|
628 |
+
}
|
629 |
+
}
|
630 |
+
html,
|
631 |
+
body {
|
632 |
+
font-family: "hkgrotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
633 |
+
font-weight: 400;
|
634 |
+
margin: 0;
|
635 |
+
height: 100vh;
|
636 |
+
background: #f0f0f1;
|
637 |
+
color: #333;
|
638 |
+
}
|
639 |
+
|
640 |
+
* {
|
641 |
+
-webkit-box-sizing: border-box;
|
642 |
+
box-sizing: border-box;
|
643 |
+
}
|
644 |
+
|
645 |
+
header {
|
646 |
+
padding: 1.5rem 0 1.5rem 0;
|
647 |
+
}
|
648 |
+
|
649 |
+
a {
|
650 |
+
text-decoration: none;
|
651 |
+
color: #333;
|
652 |
+
}
|
653 |
+
a:hover, a:focus {
|
654 |
+
color: currentColor;
|
655 |
+
-webkit-box-shadow: none;
|
656 |
+
box-shadow: none;
|
657 |
+
}
|
658 |
+
|
659 |
+
ul {
|
660 |
+
list-style: none;
|
661 |
+
}
|
662 |
+
|
663 |
+
hr {
|
664 |
+
margin: 0;
|
665 |
+
border: 0;
|
666 |
+
border-top: 1px solid rgba(151, 151, 151, 0.28);
|
667 |
+
}
|
668 |
+
|
669 |
+
.text-gray-lighter {
|
670 |
+
color: #808080;
|
671 |
+
}
|
672 |
+
|
673 |
+
.border-gray-lighter {
|
674 |
+
color: #808080;
|
675 |
+
}
|
676 |
+
|
677 |
+
.text-gray {
|
678 |
+
color: #595959;
|
679 |
+
}
|
680 |
+
|
681 |
+
.border-gray {
|
682 |
+
color: #595959;
|
683 |
+
}
|
684 |
+
|
685 |
+
.text-warning {
|
686 |
+
color: #804123;
|
687 |
+
}
|
688 |
+
|
689 |
+
.border-warning {
|
690 |
+
color: #804123;
|
691 |
+
}
|
692 |
+
|
693 |
+
.text-green {
|
694 |
+
color: #1cc691;
|
695 |
+
}
|
696 |
+
|
697 |
+
.border-green {
|
698 |
+
color: #1cc691;
|
699 |
+
}
|
700 |
+
|
701 |
+
.d-block {
|
702 |
+
display: block !important;
|
703 |
+
}
|
704 |
+
|
705 |
+
.d-flex {
|
706 |
+
display: -webkit-box !important;
|
707 |
+
display: -ms-flexbox !important;
|
708 |
+
display: flex !important;
|
709 |
+
}
|
710 |
+
|
711 |
+
.d-inline {
|
712 |
+
display: inline !important;
|
713 |
+
}
|
714 |
+
|
715 |
+
.d-inline-block {
|
716 |
+
display: inline-block !important;
|
717 |
+
}
|
718 |
+
|
719 |
+
.d-none {
|
720 |
+
display: none !important;
|
721 |
+
}
|
722 |
+
|
723 |
+
.text-left {
|
724 |
+
text-align: left !important;
|
725 |
+
}
|
726 |
+
|
727 |
+
.text-center, .modalSync {
|
728 |
+
text-align: center !important;
|
729 |
+
}
|
730 |
+
|
731 |
+
.text-right {
|
732 |
+
text-align: right !important;
|
733 |
+
}
|
734 |
+
|
735 |
+
.text-light {
|
736 |
+
font-weight: light !important;
|
737 |
+
}
|
738 |
+
|
739 |
+
.text-normal {
|
740 |
+
font-weight: normal !important;
|
741 |
+
}
|
742 |
+
|
743 |
+
.text-bold {
|
744 |
+
font-weight: bold !important;
|
745 |
+
}
|
746 |
+
|
747 |
+
@media (min-width: 768px) {
|
748 |
+
.d-lg-block {
|
749 |
+
display: block !important;
|
750 |
+
}
|
751 |
+
|
752 |
+
.d-lg-flex {
|
753 |
+
display: -webkit-box !important;
|
754 |
+
display: -ms-flexbox !important;
|
755 |
+
display: flex !important;
|
756 |
+
}
|
757 |
+
|
758 |
+
.d-lg-inline {
|
759 |
+
display: inline !important;
|
760 |
+
}
|
761 |
+
|
762 |
+
.d-lg-inline-block {
|
763 |
+
display: inline-block !important;
|
764 |
+
}
|
765 |
+
|
766 |
+
.d-lg-none {
|
767 |
+
display: none !important;
|
768 |
+
}
|
769 |
+
|
770 |
+
.text-lg-left {
|
771 |
+
text-align: left !important;
|
772 |
+
}
|
773 |
+
|
774 |
+
.text-lg-center {
|
775 |
+
text-align: center !important;
|
776 |
+
}
|
777 |
+
|
778 |
+
.text-lg-right {
|
779 |
+
text-align: right !important;
|
780 |
+
}
|
781 |
+
|
782 |
+
.text-lg-light {
|
783 |
+
font-weight: light !important;
|
784 |
+
}
|
785 |
+
|
786 |
+
.text-lg-normal {
|
787 |
+
font-weight: normal !important;
|
788 |
+
}
|
789 |
+
|
790 |
+
.text-lg-bold {
|
791 |
+
font-weight: bold !important;
|
792 |
+
}
|
793 |
+
}
|
794 |
+
.flex-fill {
|
795 |
+
-webkit-box-flex: 1;
|
796 |
+
-ms-flex: 1;
|
797 |
+
flex: 1;
|
798 |
+
}
|
799 |
+
|
800 |
+
.flex-wrap {
|
801 |
+
-ms-flex-wrap: wrap;
|
802 |
+
flex-wrap: wrap;
|
803 |
+
}
|
804 |
+
|
805 |
+
.flex-shrink {
|
806 |
+
-ms-flex-negative: 0;
|
807 |
+
flex-shrink: 0;
|
808 |
+
}
|
809 |
+
|
810 |
+
.flex-direction-column {
|
811 |
+
-webkit-box-orient: vertical;
|
812 |
+
-webkit-box-direction: normal;
|
813 |
+
-ms-flex-direction: column;
|
814 |
+
flex-direction: column;
|
815 |
+
}
|
816 |
+
|
817 |
+
.justify-content-center {
|
818 |
+
-webkit-box-pack: center;
|
819 |
+
-ms-flex-pack: center;
|
820 |
+
justify-content: center;
|
821 |
+
}
|
822 |
+
|
823 |
+
.justify-content-between {
|
824 |
+
-webkit-box-pack: justify;
|
825 |
+
-ms-flex-pack: justify;
|
826 |
+
justify-content: space-between;
|
827 |
+
}
|
828 |
+
|
829 |
+
.justify-content-end {
|
830 |
+
-webkit-box-pack: end;
|
831 |
+
-ms-flex-pack: end;
|
832 |
+
justify-content: flex-end;
|
833 |
+
}
|
834 |
+
|
835 |
+
.align-items-center {
|
836 |
+
-webkit-box-align: center;
|
837 |
+
-ms-flex-align: center;
|
838 |
+
align-items: center;
|
839 |
+
}
|
840 |
+
|
841 |
+
.btn {
|
842 |
+
text-align: center;
|
843 |
+
cursor: pointer;
|
844 |
+
text-decoration: none;
|
845 |
+
border-radius: 3rem;
|
846 |
+
font-weight: bold;
|
847 |
+
-webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
|
848 |
+
transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
|
849 |
+
-ms-flex-negative: 0;
|
850 |
+
flex-shrink: 0;
|
851 |
+
display: inline-block;
|
852 |
+
border: 1px solid transparent;
|
853 |
+
}
|
854 |
+
|
855 |
+
.btn-xs {
|
856 |
+
padding: 0.45rem 1.3rem !important;
|
857 |
+
font-size: 0.75rem;
|
858 |
+
}
|
859 |
+
|
860 |
+
.btn-sm {
|
861 |
+
padding: 0.5rem 1.7rem !important;
|
862 |
+
font-size: 1rem;
|
863 |
+
}
|
864 |
+
|
865 |
+
.btn-regular {
|
866 |
+
padding: 1rem 2.5rem !important;
|
867 |
+
font-size: 1rem;
|
868 |
+
}
|
869 |
+
|
870 |
+
.btn-lg {
|
871 |
+
padding: 1rem 3rem !important;
|
872 |
+
font-size: 1.125rem;
|
873 |
+
}
|
874 |
+
|
875 |
+
.btn-green-primary {
|
876 |
+
background-color: #1cc691;
|
877 |
+
color: #fff;
|
878 |
+
}
|
879 |
+
.btn-green-primary:hover, .btn-green-primary:focus {
|
880 |
+
background-color: #18ab7d;
|
881 |
+
color: #f0f0f0;
|
882 |
+
}
|
883 |
+
|
884 |
+
.btn-blue-primary {
|
885 |
+
background-color: #0073ce;
|
886 |
+
color: #fff;
|
887 |
+
}
|
888 |
+
.btn-blue-primary:hover, .btn-blue-primary:focus {
|
889 |
+
background-color: #0062af;
|
890 |
+
color: #f0f0f0;
|
891 |
+
}
|
892 |
+
|
893 |
+
.btn-gray-lighter {
|
894 |
+
background-color: #e7e7e7;
|
895 |
+
color: #585858;
|
896 |
+
}
|
897 |
+
.btn-gray-lighter:hover, .btn-gray-lighter:focus {
|
898 |
+
background-color: #d8d8d8;
|
899 |
+
color: #494949;
|
900 |
+
}
|
901 |
+
|
902 |
+
.btn-gray-darker {
|
903 |
+
background-color: #c8c8c8;
|
904 |
+
color: #585858;
|
905 |
+
}
|
906 |
+
.btn-gray-darker:hover, .btn-gray-darker:focus {
|
907 |
+
background-color: #b9b9b9;
|
908 |
+
color: #494949;
|
909 |
+
}
|
910 |
+
|
911 |
+
.btn-green-secondary {
|
912 |
+
background-color: #d2f4e9;
|
913 |
+
color: #009248;
|
914 |
+
}
|
915 |
+
.btn-green-secondary:hover, .btn-green-secondary:focus {
|
916 |
+
background-color: #b9eedd;
|
917 |
+
color: #007339;
|
918 |
+
}
|
919 |
+
|
920 |
+
.btn-gray-outline {
|
921 |
+
border-color: #595959;
|
922 |
+
background-color: transparent;
|
923 |
+
color: #595959;
|
924 |
+
}
|
925 |
+
.btn-gray-outline:hover, .btn-gray-outline:focus {
|
926 |
+
background-color: #595959;
|
927 |
+
color: #fff;
|
928 |
+
}
|
929 |
+
|
930 |
+
.btn-block {
|
931 |
+
display: block;
|
932 |
+
width: 75%;
|
933 |
+
margin: 0 auto;
|
934 |
+
}
|
935 |
+
|
936 |
+
.btn-reset {
|
937 |
+
display: inline;
|
938 |
+
padding: 0;
|
939 |
+
margin: 0;
|
940 |
+
border: 0;
|
941 |
+
-webkit-appearance: none;
|
942 |
+
-moz-appearance: none;
|
943 |
+
appearance: none;
|
944 |
+
background: none;
|
945 |
+
cursor: pointer;
|
946 |
+
}
|
947 |
+
|
948 |
+
.alert {
|
949 |
+
border: 1px solid rgba(151, 151, 151, 0.28);
|
950 |
+
border-radius: 0.4rem;
|
951 |
+
position: relative;
|
952 |
+
overflow: hidden;
|
953 |
+
}
|
954 |
+
.alert p {
|
955 |
+
padding: 1rem;
|
956 |
+
margin: auto;
|
957 |
+
}
|
958 |
+
@media (min-width: 768px) {
|
959 |
+
.alert {
|
960 |
+
display: -webkit-box;
|
961 |
+
display: -ms-flexbox;
|
962 |
+
display: flex;
|
963 |
+
}
|
964 |
+
.alert p {
|
965 |
+
padding: 0 4rem 0 2rem;
|
966 |
+
}
|
967 |
+
}
|
968 |
+
.alert--success .alert__icon {
|
969 |
+
background-color: #e8f9f4;
|
970 |
+
}
|
971 |
+
.alert--failure .alert__icon {
|
972 |
+
background-color: #f9eaea;
|
973 |
+
}
|
974 |
+
@media (max-width: 767px) {
|
975 |
+
.alert p {
|
976 |
+
text-align: center;
|
977 |
+
}
|
978 |
+
.alert img {
|
979 |
+
margin: 0 auto !important;
|
980 |
+
display: block;
|
981 |
+
}
|
982 |
+
}
|
983 |
+
.alert .btn-close {
|
984 |
+
background-color: #c8c8c8;
|
985 |
+
font-size: 1.25rem;
|
986 |
+
color: #fff;
|
987 |
+
cursor: pointer;
|
988 |
+
-ms-flex-negative: 0;
|
989 |
+
flex-shrink: 0;
|
990 |
+
height: 1.5rem;
|
991 |
+
width: 1.5rem;
|
992 |
+
line-height: 1.5rem;
|
993 |
+
border-radius: 50%;
|
994 |
+
border: 0;
|
995 |
+
padding: 0px;
|
996 |
+
margin-bottom: 2.5rem;
|
997 |
+
position: absolute;
|
998 |
+
top: 1rem;
|
999 |
+
right: 0.2rem;
|
1000 |
+
}
|
1001 |
+
.alert .btn-close:before {
|
1002 |
+
display: none;
|
1003 |
+
}
|
1004 |
+
|
1005 |
+
.notice {
|
1006 |
+
border-radius: 0.25rem;
|
1007 |
+
display: -webkit-box;
|
1008 |
+
display: -ms-flexbox;
|
1009 |
+
display: flex;
|
1010 |
+
margin: 0;
|
1011 |
+
border: 0;
|
1012 |
+
-ms-flex-preferred-size: 100%;
|
1013 |
+
flex-basis: 100%;
|
1014 |
+
}
|
1015 |
+
.notice p {
|
1016 |
+
margin: 0;
|
1017 |
+
}
|
1018 |
+
.notice--warning {
|
1019 |
+
background-color: #fff4e6;
|
1020 |
+
}
|
1021 |
+
.notice--general {
|
1022 |
+
background-color: #f5f5f5;
|
1023 |
+
}
|
1024 |
+
.notice--info {
|
1025 |
+
background-color: #ECF8FF;
|
1026 |
+
}
|
1027 |
+
|
1028 |
+
/* SWITCH TOOGGLE*/
|
1029 |
+
.switch {
|
1030 |
+
display: -webkit-inline-box;
|
1031 |
+
display: -ms-inline-flexbox;
|
1032 |
+
display: inline-flex;
|
1033 |
+
margin: 0 10px 0 0;
|
1034 |
+
position: relative;
|
1035 |
+
}
|
1036 |
+
.switch input {
|
1037 |
+
position: absolute;
|
1038 |
+
top: 0;
|
1039 |
+
left: 0;
|
1040 |
+
}
|
1041 |
+
.switch .selected:before {
|
1042 |
+
content: " off";
|
1043 |
+
}
|
1044 |
+
.switch label {
|
1045 |
+
cursor: pointer;
|
1046 |
+
width: 48px;
|
1047 |
+
height: 24px;
|
1048 |
+
background: #c8c8c8;
|
1049 |
+
display: block;
|
1050 |
+
border-radius: 24px;
|
1051 |
+
position: relative;
|
1052 |
+
}
|
1053 |
+
.switch label:after {
|
1054 |
+
content: "";
|
1055 |
+
position: absolute;
|
1056 |
+
top: 4px;
|
1057 |
+
left: 4px;
|
1058 |
+
width: 16px;
|
1059 |
+
height: 16px;
|
1060 |
+
background: white;
|
1061 |
+
border-radius: 16px;
|
1062 |
+
-webkit-transition: 0.3s;
|
1063 |
+
transition: 0.3s;
|
1064 |
+
}
|
1065 |
+
.switch input[type=checkbox] {
|
1066 |
+
height: 0;
|
1067 |
+
width: 0;
|
1068 |
+
visibility: hidden;
|
1069 |
+
}
|
1070 |
+
.switch input[type=checkbox]:checked ~ .notification > .selected:before {
|
1071 |
+
content: " on";
|
1072 |
+
}
|
1073 |
+
.switch input[type=checkbox]:checked .selected {
|
1074 |
+
content: "on";
|
1075 |
+
}
|
1076 |
+
.switch input[type=checkbox]:checked + label {
|
1077 |
+
background: #1cc691;
|
1078 |
+
}
|
1079 |
+
.switch input[type=checkbox]:checked + label:after {
|
1080 |
+
left: calc(100% - 4px);
|
1081 |
+
-webkit-transform: translateX(-100%);
|
1082 |
+
transform: translateX(-100%);
|
1083 |
+
}
|
1084 |
+
|
1085 |
+
/* Regular checkbox*/
|
1086 |
+
.checkbox-regular {
|
1087 |
+
display: -webkit-box;
|
1088 |
+
display: -ms-flexbox;
|
1089 |
+
display: flex;
|
1090 |
+
-webkit-box-align: start;
|
1091 |
+
-ms-flex-align: start;
|
1092 |
+
align-items: flex-start;
|
1093 |
+
margin-bottom: 0.75rem;
|
1094 |
+
}
|
1095 |
+
.checkbox-regular span {
|
1096 |
+
-webkit-box-flex: 1;
|
1097 |
+
-ms-flex: 1 1 auto;
|
1098 |
+
flex: 1 1 auto;
|
1099 |
+
font-size: 0.9rem;
|
1100 |
+
padding: 0.25rem;
|
1101 |
+
}
|
1102 |
+
.checkbox-regular input[type=checkbox] {
|
1103 |
+
margin: 0;
|
1104 |
+
-webkit-box-shadow: none;
|
1105 |
+
box-shadow: none;
|
1106 |
+
-ms-flex-negative: 0;
|
1107 |
+
flex-shrink: 0;
|
1108 |
+
-webkit-appearance: none;
|
1109 |
+
-moz-appearance: none;
|
1110 |
+
appearance: none;
|
1111 |
+
min-width: 1.75rem;
|
1112 |
+
min-height: 1.75rem;
|
1113 |
+
border-radius: 0.25rem;
|
1114 |
+
border: 1px solid #ced4da;
|
1115 |
+
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
|
1116 |
+
margin-right: 0.5rem;
|
1117 |
+
}
|
1118 |
+
.checkbox-regular input[type=checkbox]:before {
|
1119 |
+
display: none;
|
1120 |
+
}
|
1121 |
+
.checkbox-regular input[type=checkbox]:checked {
|
1122 |
+
background-size: 1.125rem auto;
|
1123 |
+
background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8' standalone='no'%3F%3E%3Csvg width='34px' height='24px' viewBox='0 0 34 24' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3ERectangle 13%3C/title%3E%3Cdesc%3ECreated with Sketch.%3C/desc%3E%3Cdefs%3E%3C/defs%3E%3Cg id='spec' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='elements' transform='translate(-2505.000000, -3840.000000)' fill-rule='nonzero' fill='%231CC691'%3E%3Cpath d='M2515,3858.6 C2513.89543,3858.6 2513,3859.49543 2513,3860.6 C2513,3861.70457 2513.89543,3862.6 2515,3862.6 L2529,3862.6 C2530.10457,3862.6 2531,3861.70457 2531,3860.6 L2531,3834 C2531,3832.89543 2530.10457,3832 2529,3832 C2527.89543,3832 2527,3832.89543 2527,3834 L2527,3858.6 L2515,3858.6 Z' id='Rectangle-13' transform='translate(2522.000000, 3847.300000) rotate(-315.000000) translate(-2522.000000, -3847.300000) '%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
|
1124 |
+
background-repeat: no-repeat;
|
1125 |
+
background-position: center;
|
1126 |
+
}
|
1127 |
+
.checkbox-regular input[type=checkbox]:focus {
|
1128 |
+
border-color: #1cc691;
|
1129 |
+
-webkit-box-shadow: 0 0 0 0.25rem rgba(28, 198, 145, 0.25);
|
1130 |
+
box-shadow: 0 0 0 0.25rem rgba(28, 198, 145, 0.25);
|
1131 |
+
}
|
1132 |
+
|
1133 |
+
/*RADIO LARGE*/
|
1134 |
+
.radio-large input[type=radio] {
|
1135 |
+
-webkit-appearance: none;
|
1136 |
+
-moz-appearance: none;
|
1137 |
+
appearance: none;
|
1138 |
+
width: 0;
|
1139 |
+
height: 0;
|
1140 |
+
opacity: 0;
|
1141 |
+
}
|
1142 |
+
.radio-large input[type=radio]:before {
|
1143 |
+
display: none;
|
1144 |
+
}
|
1145 |
+
.radio-large input[type=radio]:checked + label {
|
1146 |
+
border-color: #1cc691;
|
1147 |
+
-webkit-box-shadow: 0 0 0 0.25rem rgba(28, 198, 145, 0.25);
|
1148 |
+
box-shadow: 0 0 0 0.25rem rgba(28, 198, 145, 0.25);
|
1149 |
+
font-weight: bold;
|
1150 |
+
color: #1cc691;
|
1151 |
+
}
|
1152 |
+
.radio-large label {
|
1153 |
+
display: inline-block;
|
1154 |
+
padding: 1rem 2rem;
|
1155 |
+
white-space: nowrap;
|
1156 |
+
min-width: 12rem;
|
1157 |
+
display: -webkit-box;
|
1158 |
+
display: -ms-flexbox;
|
1159 |
+
display: flex;
|
1160 |
+
-webkit-box-align: center;
|
1161 |
+
-ms-flex-align: center;
|
1162 |
+
align-items: center;
|
1163 |
+
-webkit-box-pack: center;
|
1164 |
+
-ms-flex-pack: center;
|
1165 |
+
justify-content: center;
|
1166 |
+
font-size: 1rem;
|
1167 |
+
border: 1px solid #ced4da;
|
1168 |
+
-webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
|
1169 |
+
transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
|
1170 |
+
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
|
1171 |
+
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
|
1172 |
+
border-radius: 0.25rem;
|
1173 |
+
}
|
1174 |
+
|
1175 |
+
/*RADIO BUTTON REGULAR*/
|
1176 |
+
.radio-regular {
|
1177 |
+
display: -webkit-box;
|
1178 |
+
display: -ms-flexbox;
|
1179 |
+
display: flex;
|
1180 |
+
-webkit-box-align: start;
|
1181 |
+
-ms-flex-align: start;
|
1182 |
+
align-items: flex-start;
|
1183 |
+
}
|
1184 |
+
.radio-regular span {
|
1185 |
+
-webkit-box-flex: 1;
|
1186 |
+
-ms-flex: 1 1 auto;
|
1187 |
+
flex: 1 1 auto;
|
1188 |
+
font-size: 0.9rem;
|
1189 |
+
}
|
1190 |
+
.radio-regular input[type=radio] {
|
1191 |
+
-webkit-box-shadow: none;
|
1192 |
+
box-shadow: none;
|
1193 |
+
-webkit-appearance: none;
|
1194 |
+
-moz-appearance: none;
|
1195 |
+
appearance: none;
|
1196 |
+
min-width: 1.75rem;
|
1197 |
+
min-height: 1.75rem;
|
1198 |
+
border-radius: 1.75rem;
|
1199 |
+
border: 1px solid #ced4da;
|
1200 |
+
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
|
1201 |
+
}
|
1202 |
+
.radio-regular input[type=radio]:before {
|
1203 |
+
display: none;
|
1204 |
+
}
|
1205 |
+
.radio-regular input[type=radio]:checked {
|
1206 |
+
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB3aWR0aD0iOHB4IiBoZWlnaHQ9IjhweCIgdmlld0JveD0iMCAwIDggOCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4gICAgICAgIDx0aXRsZT5PdmFsIDEyPC90aXRsZT4gICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+ICAgIDxkZWZzPjwvZGVmcz4gICAgPGcgaWQ9InNwZWMiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgICAgICAgPGcgaWQ9ImVsZW1lbnRzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjQ2Ny4wMDAwMDAsIC0zNzk1LjAwMDAwMCkiIGZpbGw9IiMxQ0M2OTEiPiAgICAgICAgICAgIDxjaXJjbGUgaWQ9Ik92YWwtMTIiIGN4PSIyNDcxIiBjeT0iMzc5OSIgcj0iNCI+PC9jaXJjbGU+ICAgICAgICA8L2c+ICAgIDwvZz48L3N2Zz4=);
|
1207 |
+
background-size: 6px 6px;
|
1208 |
+
background-repeat: no-repeat;
|
1209 |
+
background-position: center;
|
1210 |
+
}
|
1211 |
+
.radio-regular input[type=radio]:focus {
|
1212 |
+
border-color: #1cc691;
|
1213 |
+
-webkit-box-shadow: 0 0 0 0.25rem rgba(28, 198, 145, 0.25);
|
1214 |
+
box-shadow: 0 0 0 0.25rem rgba(28, 198, 145, 0.25);
|
1215 |
+
}
|
1216 |
+
|
1217 |
+
.radio-controller {
|
1218 |
+
position: relative;
|
1219 |
+
margin: 0.25rem;
|
1220 |
+
}
|
1221 |
+
.radio-controller input {
|
1222 |
+
position: absolute;
|
1223 |
+
top: 0;
|
1224 |
+
left: 0;
|
1225 |
+
}
|
1226 |
+
|
1227 |
+
.radio-toggle {
|
1228 |
+
display: -webkit-box;
|
1229 |
+
display: -ms-flexbox;
|
1230 |
+
display: flex;
|
1231 |
+
-webkit-box-align: start;
|
1232 |
+
-ms-flex-align: start;
|
1233 |
+
align-items: flex-start;
|
1234 |
+
padding: 1.5rem 0;
|
1235 |
+
margin-top: 2rem;
|
1236 |
+
}
|
1237 |
+
.radio-toggle .switch {
|
1238 |
+
margin-right: 1rem;
|
1239 |
+
}
|
1240 |
+
.radio-toggle span {
|
1241 |
+
margin: 0.125rem 0;
|
1242 |
+
font-size: 1.5rem;
|
1243 |
+
font-weight: bold;
|
1244 |
+
}
|
1245 |
+
|
1246 |
+
/*RADIO THEME*/
|
1247 |
+
.radio-theme input[type=radio] {
|
1248 |
+
-webkit-box-shadow: none;
|
1249 |
+
box-shadow: none;
|
1250 |
+
-webkit-appearance: none;
|
1251 |
+
-moz-appearance: none;
|
1252 |
+
appearance: none;
|
1253 |
+
width: 163px;
|
1254 |
+
height: 86px;
|
1255 |
+
border-radius: 0.25rem;
|
1256 |
+
border: 1px solid #ced4da;
|
1257 |
+
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
|
1258 |
+
background-size: 132px auto;
|
1259 |
+
background-repeat: no-repeat;
|
1260 |
+
background-position: 30px 6px;
|
1261 |
+
}
|
1262 |
+
.radio-theme input[type=radio]:before {
|
1263 |
+
display: none;
|
1264 |
+
}
|
1265 |
+
.radio-theme input[type=radio]:checked {
|
1266 |
+
border-color: #1cc691;
|
1267 |
+
-webkit-box-shadow: 0 0 0 0.25rem rgba(28, 198, 145, 0.25);
|
1268 |
+
box-shadow: 0 0 0 0.25rem rgba(28, 198, 145, 0.25);
|
1269 |
+
}
|
1270 |
+
.radio-theme input[type=radio]:disabled {
|
1271 |
+
border: 1px solid #ced4da;
|
1272 |
+
}
|
1273 |
+
|
1274 |
+
.radio-theme-dark input[type=radio] {
|
1275 |
+
background-image: url("data:image/svg+xml,%3Csvg height='86' viewBox='0 0 138 86' width='138' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Crect fill='%23373737' height='86' rx='4' width='192'/%3E%3Cg transform='translate(18 15)'%3E%3Cpath d='m5.09179202 3.53571429v-3.39452802h-5.09179202v3.39452802zm4.8375 0v-3.39452802h-5.09179202v3.39452802zm4.83749998 0v-3.39452802h-5.091792v3.39452802zm4.8375 0v-3.39452802h-5.091792v3.39452802zm4.8375 0v-3.39452802h-5.091792v3.39452802zm14.6433594 0v-3.39452802h-5.091792v3.39452802zm4.8375 0v-3.39452802h-5.091792v3.39452802zm4.8375 0v-3.39452802h-5.091792v3.39452802zm4.8375 0v-3.39452802h-5.091792v3.39452802zm4.8375 0v-3.39452802h-5.091792v3.39452802zm4.8375 0v-3.39452802h-5.091792v3.39452802z' fill='%23fff' fill-rule='nonzero'/%3E%3Cpath d='m5.09179202 19.4785714v-3.394528h-5.09179202v3.394528zm4.8375 0v-3.394528h-5.09179202v3.394528zm4.83749998 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528zm14.6433594 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528zm14.6433594 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528zm-82.49921878 11.3v-3.394528h-5.09179202v3.394528zm4.8375 0v-3.394528h-5.09179202v3.394528zm4.83749998 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528z' fill='%23afafaf' fill-rule='nonzero'/%3E%3Cg fill='%230073ce'%3E%3Crect height='10.857143' rx='5' width='35.413793' x='51.362069' y='46.142857'/%3E%3Crect height='10.857143' rx='5' width='35.413793' x='93.586207' y='46.142857'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
|
1276 |
+
}
|
1277 |
+
|
1278 |
+
.radio-theme-light input[type=radio] {
|
1279 |
+
background-image: url("data:image/svg+xml,%3Csvg height='86' viewBox='0 0 138 86' width='138' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Crect fill='%23f9f9f9' height='86' rx='4' width='192'/%3E%3Cg transform='translate(18 11)'%3E%3Cpath d='m5.09179202 7.53571429v-3.39452802h-5.09179202v3.39452802zm4.8375 0v-3.39452802h-5.09179202v3.39452802zm4.83749998 0v-3.39452802h-5.091792v3.39452802zm4.8375 0v-3.39452802h-5.091792v3.39452802zm4.8375 0v-3.39452802h-5.091792v3.39452802zm14.6433594 0v-3.39452802h-5.091792v3.39452802zm4.8375 0v-3.39452802h-5.091792v3.39452802zm4.8375 0v-3.39452802h-5.091792v3.39452802zm4.8375 0v-3.39452802h-5.091792v3.39452802zm4.8375 0v-3.39452802h-5.091792v3.39452802zm4.8375 0v-3.39452802h-5.091792v3.39452802z' fill='%23565656' fill-rule='nonzero'/%3E%3Cpath d='m5.09179202 23.4785714v-3.394528h-5.09179202v3.394528zm4.8375 0v-3.394528h-5.09179202v3.394528zm4.83749998 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528zm14.6433594 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528zm14.6433594 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528zm-82.49921878 11.3v-3.394528h-5.09179202v3.394528zm4.8375 0v-3.394528h-5.09179202v3.394528zm4.83749998 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528zm4.8375 0v-3.394528h-5.091792v3.394528z' fill='%23afafaf' fill-rule='nonzero'/%3E%3Cg fill='%230073ce'%3E%3Crect height='10.857143' rx='5' width='35.413793' x='51.362069' y='50.142857'/%3E%3Crect height='10.857143' rx='5' width='35.413793' x='93.586207' y='50.142857'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
|
1280 |
+
}
|
1281 |
+
|
1282 |
+
.radio-theme-custom input[type=radio] {
|
1283 |
+
background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='15px' height='15px' viewBox='0 0 15 15' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3E+%3C/title%3E%3Cg id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' font-family='HelveticaNeue, Helvetica Neue' font-size='28' font-weight='normal'%3E%3Cg id='wizard_configurator' transform='translate(-972.000000, -622.000000)' fill='%23333333'%3E%3Ctext id='+'%3E%3Ctspan x='971.6' y='637'%3E+%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
|
1284 |
+
background-size: 16px 16px;
|
1285 |
+
background-repeat: no-repeat;
|
1286 |
+
background-position: center;
|
1287 |
+
}
|
1288 |
+
|
1289 |
+
.radio-cards {
|
1290 |
+
display: -webkit-box;
|
1291 |
+
display: -ms-flexbox;
|
1292 |
+
display: flex;
|
1293 |
+
grid-gap: 0.625rem;
|
1294 |
+
grid-auto-flow: column;
|
1295 |
+
-ms-grid-rows: auto;
|
1296 |
+
grid-template-rows: auto;
|
1297 |
+
overflow-x: auto;
|
1298 |
+
padding: 0.5rem;
|
1299 |
+
margin: 0 -0.5rem;
|
1300 |
+
}
|
1301 |
+
.radio-cards .radio-card {
|
1302 |
+
text-align: center;
|
1303 |
+
position: relative;
|
1304 |
+
min-width: 7rem;
|
1305 |
+
-webkit-box-flex: 1;
|
1306 |
+
-ms-flex: 1;
|
1307 |
+
flex: 1;
|
1308 |
+
display: -webkit-box;
|
1309 |
+
display: -ms-flexbox;
|
1310 |
+
display: flex;
|
1311 |
+
}
|
1312 |
+
.radio-cards .radio-card input {
|
1313 |
+
position: absolute;
|
1314 |
+
top: 0;
|
1315 |
+
left: 0;
|
1316 |
+
opacity: 0;
|
1317 |
+
}
|
1318 |
+
.radio-cards .radio-card input:checked ~ div {
|
1319 |
+
-webkit-box-shadow: 0 0 0 0.35rem rgba(28, 198, 145, 0.15), 0 0 0 1px #1cc691;
|
1320 |
+
box-shadow: 0 0 0 0.35rem rgba(28, 198, 145, 0.15), 0 0 0 1px #1cc691;
|
1321 |
+
}
|
1322 |
+
.radio-cards .radio-card input:checked ~ .check-icon {
|
1323 |
+
display: block;
|
1324 |
+
}
|
1325 |
+
.radio-cards .radio-card .check-icon {
|
1326 |
+
position: absolute;
|
1327 |
+
display: none;
|
1328 |
+
top: 0.5rem;
|
1329 |
+
right: 0.5rem;
|
1330 |
+
}
|
1331 |
+
.radio-cards .radio-card > div {
|
1332 |
+
-webkit-box-flex: 1;
|
1333 |
+
-ms-flex: 1;
|
1334 |
+
flex: 1;
|
1335 |
+
padding: 1.5rem 1rem;
|
1336 |
+
border: 1px solid rgba(0, 0, 0, 0.2);
|
1337 |
+
border-radius: 0.35rem;
|
1338 |
+
display: -webkit-box;
|
1339 |
+
display: -ms-flexbox;
|
1340 |
+
display: flex;
|
1341 |
+
-webkit-box-align: center;
|
1342 |
+
-ms-flex-align: center;
|
1343 |
+
align-items: center;
|
1344 |
+
-webkit-box-pack: center;
|
1345 |
+
-ms-flex-pack: center;
|
1346 |
+
justify-content: center;
|
1347 |
+
-webkit-box-orient: vertical;
|
1348 |
+
-webkit-box-direction: normal;
|
1349 |
+
-ms-flex-direction: column;
|
1350 |
+
flex-direction: column;
|
1351 |
+
cursor: pointer;
|
1352 |
+
}
|
1353 |
+
.radio-cards .radio-card > div img {
|
1354 |
+
width: 45%;
|
1355 |
+
margin-bottom: 0.35rem;
|
1356 |
+
}
|
1357 |
+
.radio-cards .radio-card > div span {
|
1358 |
+
font-weight: bold;
|
1359 |
+
font-size: 0.85rem;
|
1360 |
+
line-height: 1;
|
1361 |
+
display: inline-block;
|
1362 |
+
}
|
1363 |
+
|
1364 |
+
.check-icon {
|
1365 |
+
display: inline-block;
|
1366 |
+
width: 2rem;
|
1367 |
+
height: 2rem;
|
1368 |
+
background-image: url("data:image/svg+xml,%3Csvg height='7' viewBox='0 0 8 7' width='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m14.8113573 11.5935296h-5.33333337l.03831907-1.99999999' fill='none' stroke='%23fff' stroke-linecap='round' stroke-width='2' transform='matrix(.64278761 -.76604444 .76604444 .64278761 -11.776881 5.087513)'/%3E%3C/svg%3E");
|
1369 |
+
background-repeat: no-repeat;
|
1370 |
+
background-position: center;
|
1371 |
+
background-size: 0.75rem;
|
1372 |
+
border-radius: 50%;
|
1373 |
+
background-color: #1cc691;
|
1374 |
+
}
|
1375 |
+
|
1376 |
+
/*RADIO BUTTON STYLE*/
|
1377 |
+
.radio-btn-style {
|
1378 |
+
position: relative;
|
1379 |
+
}
|
1380 |
+
.radio-btn-style > div {
|
1381 |
+
border-radius: 0.25rem;
|
1382 |
+
border: 1px solid #ced4da;
|
1383 |
+
padding: 1.5rem 2rem;
|
1384 |
+
overflow: hidden;
|
1385 |
+
}
|
1386 |
+
.radio-btn-style input {
|
1387 |
+
-webkit-appearance: none;
|
1388 |
+
-moz-appearance: none;
|
1389 |
+
appearance: none;
|
1390 |
+
opacity: 0;
|
1391 |
+
position: absolute;
|
1392 |
+
top: 0;
|
1393 |
+
left: 0;
|
1394 |
+
}
|
1395 |
+
.radio-btn-style input:checked + div {
|
1396 |
+
border-color: #1cc691;
|
1397 |
+
-webkit-box-shadow: 0 0 0 0.25rem rgba(28, 198, 145, 0.25);
|
1398 |
+
box-shadow: 0 0 0 0.25rem rgba(28, 198, 145, 0.25);
|
1399 |
+
}
|
1400 |
+
.radio-btn-style .btn-fake {
|
1401 |
+
background-image: url("data:image/svg+xml,%3Csvg height='21' viewBox='0 0 11 21' width='11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m5.328 0c2.94257315 0 5.328 2.38542685 5.328 5.328 0 1.8242202-.91678202 3.43431448-2.31474111 4.39467789l1.28526555 10.92332211h-8.59704888l1.28526555-10.92332211c-1.39795909-.96036341-2.31474111-2.57045769-2.31474111-4.39467789 0-2.94257315 2.38542685-5.328 5.328-5.328z' fill='%231cc691' fill-rule='evenodd'/%3E%3C/svg%3E");
|
1402 |
+
background-position: left 1rem center;
|
1403 |
+
background-repeat: no-repeat;
|
1404 |
+
border: 2px solid rgba(0, 0, 0, 0.2);
|
1405 |
+
padding: 1rem 1.5rem 1rem 3rem;
|
1406 |
+
border-radius: 0.35rem;
|
1407 |
+
display: -webkit-box;
|
1408 |
+
display: -ms-flexbox;
|
1409 |
+
display: flex;
|
1410 |
+
margin-right: -4rem;
|
1411 |
+
color: #444;
|
1412 |
+
}
|
1413 |
+
.radio-btn-style .btn-fake:before, .radio-btn-style .btn-fake:after {
|
1414 |
+
content: "";
|
1415 |
+
display: inline-block;
|
1416 |
+
height: 0.5rem;
|
1417 |
+
background-color: currentColor;
|
1418 |
+
white-space: nowrap;
|
1419 |
+
margin-right: 0.5rem;
|
1420 |
+
}
|
1421 |
+
.radio-btn-style .btn-fake:before {
|
1422 |
+
width: 4rem;
|
1423 |
+
}
|
1424 |
+
.radio-btn-style .btn-fake:after {
|
1425 |
+
width: 2rem;
|
1426 |
+
}
|
1427 |
+
|
1428 |
+
.radio-btn-style-dark .btn-fake {
|
1429 |
+
color: white;
|
1430 |
+
background-color: #444;
|
1431 |
+
}
|
1432 |
+
|
1433 |
+
.paste_embed_code {
|
1434 |
+
min-inline-size: auto;
|
1435 |
+
}
|
1436 |
+
.paste_embed_code textarea {
|
1437 |
+
-webkit-appearance: none;
|
1438 |
+
-moz-appearance: none;
|
1439 |
+
appearance: none;
|
1440 |
+
width: 100%;
|
1441 |
+
background: transparent;
|
1442 |
+
padding: 1rem;
|
1443 |
+
font-family: monospace;
|
1444 |
+
border: 0;
|
1445 |
+
resize: none;
|
1446 |
+
outline: 0;
|
1447 |
+
}
|
1448 |
+
.paste_embed_code textarea:focus {
|
1449 |
+
-webkit-box-shadow: none;
|
1450 |
+
box-shadow: none;
|
1451 |
+
}
|
1452 |
+
.paste_embed_code input[type=text] {
|
1453 |
+
width: 100% !important;
|
1454 |
+
display: block !important;
|
1455 |
+
border: 1px solid rgba(0, 0, 0, 0.2) !important;
|
1456 |
+
padding: 1rem !important;
|
1457 |
+
font-family: monospace !important;
|
1458 |
+
}
|
1459 |
+
.paste_embed_code input[type=text]:focus {
|
1460 |
+
-webkit-box-shadow: none !important;
|
1461 |
+
box-shadow: none !important;
|
1462 |
+
}
|
1463 |
+
|
1464 |
+
.paste-api-form {
|
1465 |
+
border: 1px solid #979797;
|
1466 |
+
border-radius: 0.25rem;
|
1467 |
+
position: relative;
|
1468 |
+
-webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
|
1469 |
+
transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
|
1470 |
+
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
|
1471 |
+
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
|
1472 |
+
display: -webkit-box;
|
1473 |
+
display: -ms-flexbox;
|
1474 |
+
display: flex;
|
1475 |
+
}
|
1476 |
+
@media (max-width: 767px) {
|
1477 |
+
.paste-api-form {
|
1478 |
+
-webkit-box-orient: vertical;
|
1479 |
+
-webkit-box-direction: normal;
|
1480 |
+
-ms-flex-direction: column;
|
1481 |
+
flex-direction: column;
|
1482 |
+
}
|
1483 |
+
}
|
1484 |
+
.paste-api-form:focus-within {
|
1485 |
+
border-color: #1cc691;
|
1486 |
+
-webkit-box-shadow: 0 0 0 0.25rem rgba(28, 198, 145, 0.25);
|
1487 |
+
box-shadow: 0 0 0 0.25rem rgba(28, 198, 145, 0.25);
|
1488 |
+
outline: none;
|
1489 |
+
}
|
1490 |
+
.paste-api-form button {
|
1491 |
+
margin: 1rem;
|
1492 |
+
-ms-flex-item-align: end;
|
1493 |
+
align-self: flex-end;
|
1494 |
+
}
|
1495 |
+
.paste-api-form input[type=text],
|
1496 |
+
.paste-api-form button {
|
1497 |
+
padding: 1rem;
|
1498 |
+
}
|
1499 |
+
.paste-api-form input[type=text] {
|
1500 |
+
-webkit-box-flex: 2;
|
1501 |
+
-ms-flex-positive: 2;
|
1502 |
+
flex-grow: 2;
|
1503 |
+
outline: none;
|
1504 |
+
border: none;
|
1505 |
+
border-radius: 0.25rem;
|
1506 |
+
font-family: "hkgrotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
1507 |
+
}
|
1508 |
+
.paste-api-form input[type=text]:focus {
|
1509 |
+
-webkit-box-shadow: none;
|
1510 |
+
box-shadow: none;
|
1511 |
+
}
|
1512 |
+
|
1513 |
+
fieldset {
|
1514 |
+
border: none;
|
1515 |
+
margin: 0;
|
1516 |
+
padding: 0;
|
1517 |
+
}
|
1518 |
+
|
1519 |
+
label,
|
1520 |
+
input {
|
1521 |
+
cursor: pointer;
|
1522 |
+
}
|
1523 |
+
|
1524 |
+
.custom-iframe-field,
|
1525 |
+
.custom-script-field {
|
1526 |
+
display: none;
|
1527 |
+
margin-bottom: 0.5rem;
|
1528 |
+
}
|
1529 |
+
.custom-iframe-field.shown,
|
1530 |
+
.custom-script-field.shown {
|
1531 |
+
display: -webkit-box;
|
1532 |
+
display: -ms-flexbox;
|
1533 |
+
display: flex;
|
1534 |
+
}
|
1535 |
+
|
1536 |
+
.tabs .tabs__target:not(.active) {
|
1537 |
+
display: none;
|
1538 |
+
}
|
1539 |
+
.tabs .tabs__nav__item {
|
1540 |
+
margin: 0;
|
1541 |
+
cursor: pointer;
|
1542 |
+
}
|
1543 |
+
.tabs--style2 {
|
1544 |
+
border: 1px solid rgba(0, 0, 0, 0.2);
|
1545 |
+
border-radius: 0.35rem;
|
1546 |
+
}
|
1547 |
+
.tabs--style2 > .tabs__nav {
|
1548 |
+
display: -webkit-box;
|
1549 |
+
display: -ms-flexbox;
|
1550 |
+
display: flex;
|
1551 |
+
overflow-x: auto;
|
1552 |
+
overflow-y: hidden;
|
1553 |
+
margin: 0;
|
1554 |
+
padding: 0;
|
1555 |
+
list-style: none;
|
1556 |
+
font-size: 0.95rem;
|
1557 |
+
}
|
1558 |
+
.tabs--style2 > .tabs__nav li {
|
1559 |
+
-webkit-box-flex: 1;
|
1560 |
+
-ms-flex: 1;
|
1561 |
+
flex: 1;
|
1562 |
+
text-align: center;
|
1563 |
+
padding: 0.75rem 1rem;
|
1564 |
+
white-space: nowrap;
|
1565 |
+
border: 1px solid transparent;
|
1566 |
+
border-bottom-color: rgba(0, 0, 0, 0.2);
|
1567 |
+
border-right-color: rgba(0, 0, 0, 0.05);
|
1568 |
+
}
|
1569 |
+
.tabs--style2 > .tabs__nav li:last-of-type {
|
1570 |
+
border-right-color: transparent;
|
1571 |
+
}
|
1572 |
+
.tabs--style2 > .tabs__nav li.active {
|
1573 |
+
margin: 0 0 0 -1px;
|
1574 |
+
font-weight: bold;
|
1575 |
+
border-bottom-color: transparent;
|
1576 |
+
border-left-color: rgba(0, 0, 0, 0.2);
|
1577 |
+
border-right-color: rgba(0, 0, 0, 0.2);
|
1578 |
+
}
|
1579 |
+
.tabs--style2 > .tabs__nav li.active:first-of-type {
|
1580 |
+
border-left-color: transparent;
|
1581 |
+
}
|
1582 |
+
.tabs--style2 > .tabs__nav li.active:last-of-type {
|
1583 |
+
border-right-color: transparent;
|
1584 |
+
}
|
1585 |
+
.tabs--style1 > .tabs__nav {
|
1586 |
+
display: -webkit-box;
|
1587 |
+
display: -ms-flexbox;
|
1588 |
+
display: flex;
|
1589 |
+
list-style: none;
|
1590 |
+
margin: 0;
|
1591 |
+
padding: 0;
|
1592 |
+
text-transform: uppercase;
|
1593 |
+
overflow-x: auto;
|
1594 |
+
}
|
1595 |
+
.tabs--style1 > .tabs__nav .tabs__nav__item {
|
1596 |
+
font-size: 0.85rem;
|
1597 |
+
padding: 0 0 0.5rem;
|
1598 |
+
border-bottom: 2px solid rgba(0, 0, 0, 0.1);
|
1599 |
+
font-weight: bold;
|
1600 |
+
white-space: nowrap;
|
1601 |
+
color: #777;
|
1602 |
+
}
|
1603 |
+
.tabs--style1 > .tabs__nav .tabs__nav__item:not(:last-of-type) {
|
1604 |
+
margin-right: 3rem;
|
1605 |
+
}
|
1606 |
+
.tabs--style1 > .tabs__nav .tabs__nav__item.active {
|
1607 |
+
border-bottom-color: #1cc691;
|
1608 |
+
color: #333;
|
1609 |
+
}
|
1610 |
+
|
1611 |
+
.modal {
|
1612 |
+
position: fixed;
|
1613 |
+
top: 0;
|
1614 |
+
left: 0;
|
1615 |
+
width: 100%;
|
1616 |
+
height: 100%;
|
1617 |
+
padding: 1rem;
|
1618 |
+
background: rgba(0, 0, 0, 0.5);
|
1619 |
+
display: none;
|
1620 |
+
overflow-y: auto;
|
1621 |
+
z-index: 99999;
|
1622 |
+
}
|
1623 |
+
.modal.shown {
|
1624 |
+
display: -webkit-box;
|
1625 |
+
display: -ms-flexbox;
|
1626 |
+
display: flex;
|
1627 |
+
}
|
1628 |
+
.modal__window {
|
1629 |
+
margin: auto;
|
1630 |
+
background: white;
|
1631 |
+
border-radius: 0.5rem;
|
1632 |
+
-webkit-box-shadow: 0 0 2rem rgba(0, 0, 0, 0.1);
|
1633 |
+
box-shadow: 0 0 2rem rgba(0, 0, 0, 0.1);
|
1634 |
+
max-width: 320px;
|
1635 |
+
}
|
1636 |
+
.modal__window--md {
|
1637 |
+
max-width: 640px;
|
1638 |
+
}
|
1639 |
+
@media (max-width: 767px) {
|
1640 |
+
.modal__window--md {
|
1641 |
+
max-width: 100%;
|
1642 |
+
}
|
1643 |
+
}
|
1644 |
+
|
1645 |
+
.breadcrumb {
|
1646 |
+
background-color: rgba(0, 0, 0, 0.035);
|
1647 |
+
padding: 1.5rem;
|
1648 |
+
margin: 0;
|
1649 |
+
display: -webkit-box;
|
1650 |
+
display: -ms-flexbox;
|
1651 |
+
display: flex;
|
1652 |
+
}
|
1653 |
+
.breadcrumb li {
|
1654 |
+
margin: 0;
|
1655 |
+
}
|
1656 |
+
.breadcrumb li:not(:last-of-type) {
|
1657 |
+
margin-right: 1rem;
|
1658 |
+
}
|
1659 |
+
.breadcrumb li:not(:last-of-type):after {
|
1660 |
+
content: "→";
|
1661 |
+
margin-left: 1rem;
|
1662 |
+
}
|
1663 |
+
|
1664 |
+
@-webkit-keyframes spin {
|
1665 |
+
from {
|
1666 |
+
-webkit-transform: rotate(0);
|
1667 |
+
transform: rotate(0);
|
1668 |
+
}
|
1669 |
+
to {
|
1670 |
+
-webkit-transform: rotate(359deg);
|
1671 |
+
transform: rotate(359deg);
|
1672 |
+
}
|
1673 |
+
}
|
1674 |
+
|
1675 |
+
@keyframes spin {
|
1676 |
+
from {
|
1677 |
+
-webkit-transform: rotate(0);
|
1678 |
+
transform: rotate(0);
|
1679 |
+
}
|
1680 |
+
to {
|
1681 |
+
-webkit-transform: rotate(359deg);
|
1682 |
+
transform: rotate(359deg);
|
1683 |
+
}
|
1684 |
+
}
|
1685 |
+
@-webkit-keyframes spin_button {
|
1686 |
+
from {
|
1687 |
+
-webkit-transform: translate(-50%, -50%) rotate(0);
|
1688 |
+
transform: translate(-50%, -50%) rotate(0);
|
1689 |
+
}
|
1690 |
+
to {
|
1691 |
+
-webkit-transform: translate(-50%, -50%) rotate(359deg);
|
1692 |
+
transform: translate(-50%, -50%) rotate(359deg);
|
1693 |
+
}
|
1694 |
+
}
|
1695 |
+
@keyframes spin_button {
|
1696 |
+
from {
|
1697 |
+
-webkit-transform: translate(-50%, -50%) rotate(0);
|
1698 |
+
transform: translate(-50%, -50%) rotate(0);
|
1699 |
+
}
|
1700 |
+
to {
|
1701 |
+
-webkit-transform: translate(-50%, -50%) rotate(359deg);
|
1702 |
+
transform: translate(-50%, -50%) rotate(359deg);
|
1703 |
+
}
|
1704 |
+
}
|
1705 |
+
.btn-loading {
|
1706 |
+
position: relative;
|
1707 |
+
}
|
1708 |
+
.btn-loading, .btn-loading:hover {
|
1709 |
+
color: transparent;
|
1710 |
+
}
|
1711 |
+
.btn-loading:before {
|
1712 |
+
content: "";
|
1713 |
+
border: solid 2px transparent;
|
1714 |
+
border-top-color: white;
|
1715 |
+
border-left-color: white;
|
1716 |
+
-webkit-animation: spin_button 0.8s linear infinite;
|
1717 |
+
animation: spin_button 0.8s linear infinite;
|
1718 |
+
width: 1rem;
|
1719 |
+
height: 1rem;
|
1720 |
+
border-radius: 50%;
|
1721 |
+
display: inline-block;
|
1722 |
+
vertical-align: middle;
|
1723 |
+
position: absolute;
|
1724 |
+
top: 50%;
|
1725 |
+
left: 50%;
|
1726 |
+
}
|
1727 |
+
|
1728 |
+
.inline-spinner {
|
1729 |
+
border: solid 2px transparent;
|
1730 |
+
border-top-color: currentColor;
|
1731 |
+
border-left-color: currentColor;
|
1732 |
+
-webkit-animation: spin 0.8s linear infinite;
|
1733 |
+
animation: spin 0.8s linear infinite;
|
1734 |
+
width: 1.5rem;
|
1735 |
+
height: 1.5rem;
|
1736 |
+
border-radius: 50%;
|
1737 |
+
display: inline-block;
|
1738 |
+
}
|
1739 |
+
.inline-spinner.lg {
|
1740 |
+
width: 5rem;
|
1741 |
+
height: 5rem;
|
1742 |
+
}
|
1743 |
+
|
1744 |
+
.position-select {
|
1745 |
+
position: relative;
|
1746 |
+
}
|
1747 |
+
.position-select .form-control {
|
1748 |
+
overflow: auto;
|
1749 |
+
height: auto;
|
1750 |
+
resize: vertical;
|
1751 |
+
padding: 1rem;
|
1752 |
+
border: 1px solid #ddd;
|
1753 |
+
border-radius: 0.25rem;
|
1754 |
+
position: relative;
|
1755 |
+
width: 100%;
|
1756 |
+
-webkit-box-sizing: border-box;
|
1757 |
+
box-sizing: border-box;
|
1758 |
+
-webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
|
1759 |
+
transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
|
1760 |
+
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
|
1761 |
+
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
|
1762 |
+
}
|
1763 |
+
.position-select .form-control.form-control:focus {
|
1764 |
+
color: #495057;
|
1765 |
+
background-color: #fff;
|
1766 |
+
border-color: #76ecc7;
|
1767 |
+
outline: 0;
|
1768 |
+
border-radius: 0.25rem;
|
1769 |
+
outline: 0;
|
1770 |
+
-webkit-box-shadow: 0 0 0 0.2rem rgba(28, 198, 145, 0.25);
|
1771 |
+
box-shadow: 0 0 0 0.2rem rgba(28, 198, 145, 0.25);
|
1772 |
+
}
|
1773 |
+
.position-select .overlaybox {
|
1774 |
+
display: none;
|
1775 |
+
-webkit-box-flex: 0;
|
1776 |
+
-ms-flex: 0 0 100%;
|
1777 |
+
flex: 0 0 100%;
|
1778 |
+
width: 100%;
|
1779 |
+
padding: 1rem;
|
1780 |
+
}
|
1781 |
+
.position-select .position-select-radio {
|
1782 |
+
-webkit-appearance: none;
|
1783 |
+
-moz-appearance: none;
|
1784 |
+
appearance: none;
|
1785 |
+
margin: 0;
|
1786 |
+
border: 0;
|
1787 |
+
padding: 0;
|
1788 |
+
outline: 0;
|
1789 |
+
background: none;
|
1790 |
+
width: 0;
|
1791 |
+
height: 0;
|
1792 |
+
opacity: 0;
|
1793 |
+
visibility: 0;
|
1794 |
+
position: absolute;
|
1795 |
+
}
|
1796 |
+
.position-select .position-select-radio + label {
|
1797 |
+
display: block;
|
1798 |
+
cursor: pointer;
|
1799 |
+
margin: 0;
|
1800 |
+
}
|
1801 |
+
.position-select:before {
|
1802 |
+
content: "";
|
1803 |
+
display: block;
|
1804 |
+
width: 150px;
|
1805 |
+
height: 90px;
|
1806 |
+
}
|
1807 |
+
.position-select > div {
|
1808 |
+
border: 1px solid rgba(0, 0, 0, 0.1);
|
1809 |
+
-webkit-box-shadow: 0 2px 1px rgba(0, 0, 0, 0.025);
|
1810 |
+
box-shadow: 0 2px 1px rgba(0, 0, 0, 0.025);
|
1811 |
+
border-radius: 0.25rem;
|
1812 |
+
background-color: white;
|
1813 |
+
position: absolute;
|
1814 |
+
top: 0;
|
1815 |
+
left: 0;
|
1816 |
+
display: -webkit-box;
|
1817 |
+
display: -ms-flexbox;
|
1818 |
+
display: flex;
|
1819 |
+
-ms-flex-wrap: wrap;
|
1820 |
+
flex-wrap: wrap;
|
1821 |
+
}
|
1822 |
+
.position-select > div.open {
|
1823 |
+
width: 456px;
|
1824 |
+
z-index: 2;
|
1825 |
+
-webkit-box-shadow: 0 2px 1px rgba(0, 0, 0, 0.025), 0 0 32px rgba(0, 0, 0, 0.05);
|
1826 |
+
box-shadow: 0 2px 1px rgba(0, 0, 0, 0.025), 0 0 32px rgba(0, 0, 0, 0.05);
|
1827 |
+
}
|
1828 |
+
.position-select > div.open .overlaybox {
|
1829 |
+
display: block;
|
1830 |
+
}
|
1831 |
+
@media (max-width: 767px) {
|
1832 |
+
.position-select > div.open {
|
1833 |
+
width: 300px;
|
1834 |
+
display: -webkit-box;
|
1835 |
+
display: -ms-flexbox;
|
1836 |
+
display: flex;
|
1837 |
+
-ms-flex-wrap: wrap;
|
1838 |
+
flex-wrap: wrap;
|
1839 |
+
}
|
1840 |
+
}
|
1841 |
+
.position-select > div.open > label {
|
1842 |
+
-webkit-box-flex: 0;
|
1843 |
+
-ms-flex: 0 0 33.3333333%;
|
1844 |
+
flex: 0 0 33.3333333%;
|
1845 |
+
max-width: 33.333333%;
|
1846 |
+
display: block !important;
|
1847 |
+
}
|
1848 |
+
.position-select > div.open > label:hover {
|
1849 |
+
background-color: rgba(0, 0, 0, 0.025);
|
1850 |
+
}
|
1851 |
+
.position-select > div.open > label:not(:last-of-type) {
|
1852 |
+
border-bottom: 1px solid rgba(0, 0, 0, 0.05);
|
1853 |
+
}
|
1854 |
+
.position-select > div.open > .position-select-radio:checked + label {
|
1855 |
+
-webkit-box-shadow: inset 0 0 0 1px #1cc691, inset 0 0 0 4px #c9f1e5;
|
1856 |
+
box-shadow: inset 0 0 0 1px #1cc691, inset 0 0 0 4px #c9f1e5;
|
1857 |
+
}
|
1858 |
+
.position-select > div:not(.open) {
|
1859 |
+
width: 148px;
|
1860 |
+
}
|
1861 |
+
.position-select > div:not(.open) .position-select-radio + label {
|
1862 |
+
padding-right: 1.5rem;
|
1863 |
+
}
|
1864 |
+
.position-select > div:not(.open) .position-select-radio + label:after {
|
1865 |
+
pointer-events: none;
|
1866 |
+
display: inline-block;
|
1867 |
+
width: 0;
|
1868 |
+
height: 0;
|
1869 |
+
margin-left: 0.25em;
|
1870 |
+
vertical-align: 0.25em;
|
1871 |
+
content: "";
|
1872 |
+
border-top: 0.25rem solid;
|
1873 |
+
border-right: 0.25rem solid transparent;
|
1874 |
+
border-bottom: 0;
|
1875 |
+
border-left: 0.25rem solid transparent;
|
1876 |
+
position: absolute;
|
1877 |
+
top: 50%;
|
1878 |
+
right: 0.75rem;
|
1879 |
+
-webkit-transform: translateY(-50%);
|
1880 |
+
transform: translateY(-50%);
|
1881 |
+
opacity: 0.5;
|
1882 |
+
}
|
1883 |
+
.position-select > div:not(.open) > .position-select-radio:checked + label {
|
1884 |
+
-webkit-box-ordinal-group: 0;
|
1885 |
+
-ms-flex-order: -1;
|
1886 |
+
order: -1;
|
1887 |
+
}
|
1888 |
+
.position-select > div:not(.open):hover {
|
1889 |
+
background-color: rgba(0, 0, 0, 0.025);
|
1890 |
+
}
|
1891 |
+
.position-select > div > .position-select-radio:not(:checked) + label {
|
1892 |
+
display: none;
|
1893 |
+
}
|
1894 |
+
.position-select > div > .position-select-radio + label {
|
1895 |
+
width: 100%;
|
1896 |
+
-webkit-transition: display 0.4s ease 0.1s;
|
1897 |
+
transition: display 0.4s ease 0.1s;
|
1898 |
+
}
|
1899 |
+
.position-select > div > .position-select-radio + label > div {
|
1900 |
+
display: -webkit-box;
|
1901 |
+
display: -ms-flexbox;
|
1902 |
+
display: flex;
|
1903 |
+
-webkit-box-align: center;
|
1904 |
+
-ms-flex-align: center;
|
1905 |
+
align-items: center;
|
1906 |
+
padding: 0.5rem;
|
1907 |
+
position: relative;
|
1908 |
+
}
|
1909 |
+
.position-select > div > .position-select-radio + label > div > div {
|
1910 |
+
-webkit-box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.05);
|
1911 |
+
box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.05);
|
1912 |
+
border-radius: 0.25rem;
|
1913 |
+
overflow: hidden;
|
1914 |
+
background-color: rgba(0, 0, 0, 0.05);
|
1915 |
+
position: relative;
|
1916 |
+
display: -webkit-box;
|
1917 |
+
display: -ms-flexbox;
|
1918 |
+
display: flex;
|
1919 |
+
width: 100%;
|
1920 |
+
}
|
1921 |
+
.position-select > div > .position-select-radio + label > div > div:after {
|
1922 |
+
padding-bottom: 65%;
|
1923 |
+
content: "";
|
1924 |
+
}
|
1925 |
+
.position-select > div > .position-select-radio + label > div > div > span {
|
1926 |
+
background-color: rgba(0, 0, 0, 0.45);
|
1927 |
+
height: 20px;
|
1928 |
+
}
|
1929 |
+
.position-select > div > .position-select-radio + label > div > div.center {
|
1930 |
+
-webkit-box-align: center !important;
|
1931 |
+
-ms-flex-align: center !important;
|
1932 |
+
align-items: center !important;
|
1933 |
+
-webkit-box-pack: center !important;
|
1934 |
+
-ms-flex-pack: center !important;
|
1935 |
+
justify-content: center !important;
|
1936 |
+
}
|
1937 |
+
.position-select > div > .position-select-radio + label > div > div.top {
|
1938 |
+
-webkit-box-align: start !important;
|
1939 |
+
-ms-flex-align: start !important;
|
1940 |
+
align-items: flex-start !important;
|
1941 |
+
}
|
1942 |
+
.position-select > div > .position-select-radio + label > div > div.bottom {
|
1943 |
+
-webkit-box-align: end !important;
|
1944 |
+
-ms-flex-align: end !important;
|
1945 |
+
align-items: flex-end !important;
|
1946 |
+
}
|
1947 |
+
.position-select > div > .position-select-radio + label > div > div.left {
|
1948 |
+
-webkit-box-pack: start !important;
|
1949 |
+
-ms-flex-pack: start !important;
|
1950 |
+
justify-content: flex-start !important;
|
1951 |
+
}
|
1952 |
+
.position-select > div > .position-select-radio + label > div > div.right {
|
1953 |
+
-webkit-box-pack: end !important;
|
1954 |
+
-ms-flex-pack: end !important;
|
1955 |
+
justify-content: flex-end !important;
|
1956 |
+
}
|
1957 |
+
.position-select > div > .position-select-radio + label > div > div.full span {
|
1958 |
+
width: 100%;
|
1959 |
+
}
|
1960 |
+
.position-select > div > .position-select-radio + label > div > div.float span {
|
1961 |
+
width: 30px;
|
1962 |
+
margin: 0.5rem;
|
1963 |
+
border-radius: 0.25rem;
|
1964 |
+
}
|
1965 |
+
.position-select > div > .position-select-radio + label > div > div.top.center span, .position-select > div > .position-select-radio + label > div > div.bottom.center span {
|
1966 |
+
width: 60px;
|
1967 |
+
}
|
1968 |
+
|
1969 |
+
.list_radar {
|
1970 |
+
display: -webkit-box;
|
1971 |
+
display: -ms-flexbox;
|
1972 |
+
display: flex;
|
1973 |
+
-webkit-box-align: center;
|
1974 |
+
-ms-flex-align: center;
|
1975 |
+
align-items: center;
|
1976 |
+
-webkit-box-pack: justify;
|
1977 |
+
-ms-flex-pack: justify;
|
1978 |
+
justify-content: space-between;
|
1979 |
+
list-style: none;
|
1980 |
+
text-align: center;
|
1981 |
+
padding: 0;
|
1982 |
+
}
|
1983 |
+
@media (max-width: 768px) {
|
1984 |
+
.list_radar {
|
1985 |
+
display: block;
|
1986 |
+
}
|
1987 |
+
}
|
1988 |
+
.list_radar--block {
|
1989 |
+
-webkit-box-orient: vertical;
|
1990 |
+
-webkit-box-direction: normal;
|
1991 |
+
-ms-flex-direction: column;
|
1992 |
+
flex-direction: column;
|
1993 |
+
}
|
1994 |
+
.list_radar--block .list_radar__item {
|
1995 |
+
display: -webkit-box;
|
1996 |
+
display: -ms-flexbox;
|
1997 |
+
display: flex;
|
1998 |
+
-webkit-box-orient: horizontal;
|
1999 |
+
-webkit-box-direction: normal;
|
2000 |
+
-ms-flex-direction: row;
|
2001 |
+
flex-direction: row;
|
2002 |
+
text-align: left;
|
2003 |
+
-webkit-box-align: start;
|
2004 |
+
-ms-flex-align: start;
|
2005 |
+
align-items: flex-start;
|
2006 |
+
}
|
2007 |
+
.list_radar--block .list_radar__item figure {
|
2008 |
+
margin-right: 1rem;
|
2009 |
+
}
|
2010 |
+
.list_radar__item {
|
2011 |
+
display: -webkit-box;
|
2012 |
+
display: -ms-flexbox;
|
2013 |
+
display: flex;
|
2014 |
+
-webkit-box-orient: vertical;
|
2015 |
+
-webkit-box-direction: normal;
|
2016 |
+
-ms-flex-direction: column;
|
2017 |
+
flex-direction: column;
|
2018 |
+
-webkit-box-align: center;
|
2019 |
+
-ms-flex-align: center;
|
2020 |
+
align-items: center;
|
2021 |
+
}
|
2022 |
+
.list_radar__item figure {
|
2023 |
+
position: relative;
|
2024 |
+
margin: 0;
|
2025 |
+
}
|
2026 |
+
.list_radar__item figure:after {
|
2027 |
+
content: "";
|
2028 |
+
position: absolute;
|
2029 |
+
width: 2rem;
|
2030 |
+
height: 2rem;
|
2031 |
+
border-radius: 2rem;
|
2032 |
+
top: 0;
|
2033 |
+
right: 0;
|
2034 |
+
}
|
2035 |
+
.list_radar__item--on figure:after {
|
2036 |
+
background: #1cc691;
|
2037 |
+
background-image: url("../images/white_checkmark.svg");
|
2038 |
+
background-position: center;
|
2039 |
+
background-repeat: no-repeat;
|
2040 |
+
background-size: 0.7rem;
|
2041 |
+
}
|
2042 |
+
.list_radar__item--off figure:after {
|
2043 |
+
background: #cf7463;
|
2044 |
+
background-image: url("../images/white_x.svg");
|
2045 |
+
background-position: center;
|
2046 |
+
background-repeat: no-repeat;
|
2047 |
+
background-size: 0.7rem;
|
2048 |
+
}
|
2049 |
+
|
2050 |
+
.circularBar {
|
2051 |
+
--progress-bar-stroke-width: 2;
|
2052 |
+
--progress-bar-size: 125px;
|
2053 |
+
--progress-bar-color: #78bec7;
|
2054 |
+
--progress-bar-stroke-dash: 85;
|
2055 |
+
--progress-bar-font-size: 2rem;
|
2056 |
+
display: inline-block;
|
2057 |
+
font-family: sans-serif;
|
2058 |
+
position: relative;
|
2059 |
+
-webkit-user-select: none;
|
2060 |
+
-moz-user-select: none;
|
2061 |
+
-ms-user-select: none;
|
2062 |
+
user-select: none;
|
2063 |
+
}
|
2064 |
+
.circularBar.lg {
|
2065 |
+
--progress-bar-stroke-width: 1;
|
2066 |
+
--progress-bar-size: 150px;
|
2067 |
+
--progress-bar-stroke-dash: 84;
|
2068 |
+
}
|
2069 |
+
.circularBar.sm {
|
2070 |
+
--progress-bar-stroke-width: 3;
|
2071 |
+
--progress-bar-size: 75px;
|
2072 |
+
--progress-bar-stroke-dash: 84;
|
2073 |
+
--progress-bar-font-size: 1.25rem;
|
2074 |
+
}
|
2075 |
+
.circularBar span {
|
2076 |
+
position: absolute;
|
2077 |
+
top: calc(50% - 2px);
|
2078 |
+
left: 50%;
|
2079 |
+
-webkit-transform: translate(-50%, -50%);
|
2080 |
+
transform: translate(-50%, -50%);
|
2081 |
+
font-size: var(--progress-bar-font-size);
|
2082 |
+
font-weight: bold;
|
2083 |
+
line-height: 0;
|
2084 |
+
}
|
2085 |
+
.circularBar span b {
|
2086 |
+
font-size: 0.65em;
|
2087 |
+
}
|
2088 |
+
.circularBar svg {
|
2089 |
+
height: var(--progress-bar-size);
|
2090 |
+
width: var(--progress-bar-size);
|
2091 |
+
-webkit-transform: rotate(-90deg);
|
2092 |
+
transform: rotate(-90deg);
|
2093 |
+
}
|
2094 |
+
.circularBar circle {
|
2095 |
+
fill: none;
|
2096 |
+
stroke-width: var(--progress-bar-stroke-width);
|
2097 |
+
}
|
2098 |
+
.circularBar .circle1 {
|
2099 |
+
stroke: #e2eff0;
|
2100 |
+
}
|
2101 |
+
.circularBar .circle2 {
|
2102 |
+
stroke: currentColor;
|
2103 |
+
stroke-dasharray: var(--progress-bar-stroke-dash);
|
2104 |
+
stroke-dashoffset: var(--progress-bar-stroke-dash);
|
2105 |
+
stroke-linecap: round;
|
2106 |
+
-webkit-transition: stroke-dashoffset 1s ease-in-out;
|
2107 |
+
transition: stroke-dashoffset 1s ease-in-out;
|
2108 |
+
}
|
2109 |
+
|
2110 |
+
.siteinfo--icon {
|
2111 |
+
background-color: rgba(0, 0, 0, 0.05);
|
2112 |
+
height: 5rem;
|
2113 |
+
width: 5rem;
|
2114 |
+
border-radius: 0.25rem;
|
2115 |
+
display: -webkit-box;
|
2116 |
+
display: -ms-flexbox;
|
2117 |
+
display: flex;
|
2118 |
+
-webkit-box-pack: center;
|
2119 |
+
-ms-flex-pack: center;
|
2120 |
+
justify-content: center;
|
2121 |
+
margin-right: 1rem;
|
2122 |
+
}
|
2123 |
+
.siteinfo--icon img {
|
2124 |
+
width: 50%;
|
2125 |
+
}
|
2126 |
+
@media (max-width: 767px) {
|
2127 |
+
.siteinfo--icon {
|
2128 |
+
margin: 0 auto 1rem auto;
|
2129 |
+
}
|
2130 |
+
}
|
2131 |
+
|
2132 |
+
.sitenav {
|
2133 |
+
background-color: rgba(0, 0, 0, 0.025);
|
2134 |
+
}
|
2135 |
+
|
2136 |
+
@media (min-width: 768px) {
|
2137 |
+
.configure-services-cards {
|
2138 |
+
display: -webkit-box;
|
2139 |
+
display: -ms-flexbox;
|
2140 |
+
display: flex;
|
2141 |
+
-ms-flex-wrap: wrap;
|
2142 |
+
flex-wrap: wrap;
|
2143 |
+
-webkit-box-pack: center;
|
2144 |
+
-ms-flex-pack: center;
|
2145 |
+
justify-content: center;
|
2146 |
+
max-width: 800px;
|
2147 |
+
margin: 0 auto;
|
2148 |
+
}
|
2149 |
+
}
|
2150 |
+
.configure-services-cards .service-card {
|
2151 |
+
display: -webkit-box;
|
2152 |
+
display: -ms-flexbox;
|
2153 |
+
display: flex;
|
2154 |
+
-webkit-box-orient: vertical;
|
2155 |
+
-webkit-box-direction: normal;
|
2156 |
+
-ms-flex-direction: column;
|
2157 |
+
flex-direction: column;
|
2158 |
+
border: 1px solid rgba(151, 151, 151, 0.28);
|
2159 |
+
border-radius: 0.35rem;
|
2160 |
+
margin: 0.5rem;
|
2161 |
+
-ms-flex-negative: 0;
|
2162 |
+
flex-shrink: 0;
|
2163 |
+
-webkit-box-shadow: 0 0 16px rgba(0, 0, 0, 0.06);
|
2164 |
+
box-shadow: 0 0 16px rgba(0, 0, 0, 0.06);
|
2165 |
+
}
|
2166 |
+
@media (min-width: 768px) {
|
2167 |
+
.configure-services-cards .service-card {
|
2168 |
+
max-width: calc(50% - 1rem);
|
2169 |
+
-webkit-box-flex: 0;
|
2170 |
+
-ms-flex: 0 0 calc(50% - 1rem);
|
2171 |
+
flex: 0 0 calc(50% - 1rem);
|
2172 |
+
}
|
2173 |
+
}
|
2174 |
+
|
2175 |
+
.service-on {
|
2176 |
+
background-color: rgba(0, 0, 0, 0.04);
|
2177 |
+
border-radius: 0.25rem;
|
2178 |
+
text-align: center;
|
2179 |
+
margin: 1rem;
|
2180 |
+
padding: 1rem;
|
2181 |
+
white-space: nowrap;
|
2182 |
+
overflow: hidden;
|
2183 |
+
text-overflow: ellipsis;
|
2184 |
+
}
|
2185 |
+
.service-on li {
|
2186 |
+
display: inline;
|
2187 |
+
margin: 0;
|
2188 |
+
}
|
2189 |
+
|
2190 |
+
.iubenda-consent-forms table {
|
2191 |
+
border: 1px solid #c3c4c7;
|
2192 |
+
}
|
2193 |
+
|
2194 |
+
.consent-forms-tabs {
|
2195 |
+
display: -webkit-box;
|
2196 |
+
display: -ms-flexbox;
|
2197 |
+
display: flex;
|
2198 |
+
}
|
2199 |
+
.consent-forms-tabs li {
|
2200 |
+
margin-right: 0.5rem;
|
2201 |
+
}
|
2202 |
+
.consent-forms-tabs--current {
|
2203 |
+
font-weight: bold;
|
2204 |
+
}
|
2205 |
+
|
2206 |
+
/* CUSTOME SETTINGS TABS*/
|
2207 |
+
.custom-scripts {
|
2208 |
+
border: 1px solid rgba(0, 0, 0, 0.2);
|
2209 |
+
border-radius: 0.35rem;
|
2210 |
+
}
|
2211 |
+
.custom-scripts .tabs__nav {
|
2212 |
+
display: -webkit-box;
|
2213 |
+
display: -ms-flexbox;
|
2214 |
+
display: flex;
|
2215 |
+
overflow-x: auto;
|
2216 |
+
overflow-y: hidden;
|
2217 |
+
margin: 0;
|
2218 |
+
padding: 0;
|
2219 |
+
list-style: none;
|
2220 |
+
font-size: 0.95rem;
|
2221 |
+
}
|
2222 |
+
.custom-scripts .tabs__nav li {
|
2223 |
+
-webkit-box-flex: 1;
|
2224 |
+
-ms-flex: 1;
|
2225 |
+
flex: 1;
|
2226 |
+
text-align: center;
|
2227 |
+
padding: 0.75rem 1rem;
|
2228 |
+
white-space: nowrap;
|
2229 |
+
border: 1px solid transparent;
|
2230 |
+
border-bottom-color: rgba(0, 0, 0, 0.2);
|
2231 |
+
border-right-color: rgba(0, 0, 0, 0.05);
|
2232 |
+
}
|
2233 |
+
.custom-scripts .tabs__nav li:last-of-type {
|
2234 |
+
border-right-color: transparent;
|
2235 |
+
}
|
2236 |
+
.custom-scripts .tabs__nav li.active {
|
2237 |
+
margin: 0 -1px;
|
2238 |
+
font-weight: bold;
|
2239 |
+
border-bottom-color: transparent;
|
2240 |
+
border-left-color: rgba(0, 0, 0, 0.2);
|
2241 |
+
border-right-color: rgba(0, 0, 0, 0.2);
|
2242 |
+
}
|
2243 |
+
.custom-scripts .tabs__nav li.active:first-of-type {
|
2244 |
+
border-left-color: transparent;
|
2245 |
+
}
|
2246 |
+
.custom-scripts .tabs__nav li.active:last-of-type {
|
2247 |
+
border-right-color: transparent;
|
2248 |
+
}
|
2249 |
+
|
2250 |
+
.modalSync img {
|
2251 |
+
width: 13rem;
|
2252 |
+
height: auto;
|
2253 |
+
}
|
2254 |
+
|
2255 |
+
.modalAlmostThere img {
|
2256 |
+
width: 90%;
|
2257 |
+
height: auto;
|
2258 |
+
margin-right: auto;
|
2259 |
+
margin-left: auto;
|
2260 |
+
}
|
2261 |
+
|
2262 |
+
.tooltip-icon {
|
2263 |
+
width: 1.25rem;
|
2264 |
+
height: 1.25rem;
|
2265 |
+
display: -webkit-box;
|
2266 |
+
display: -ms-flexbox;
|
2267 |
+
display: flex;
|
2268 |
+
place-items: center;
|
2269 |
+
line-height: 0.25rem;
|
2270 |
+
background-color: #c8c8c8;
|
2271 |
+
color: #fff;
|
2272 |
+
border-radius: 50%;
|
2273 |
+
font-size: 0.75rem;
|
2274 |
+
display: -webkit-inline-box;
|
2275 |
+
display: -ms-inline-flexbox;
|
2276 |
+
display: inline-flex;
|
2277 |
+
-webkit-box-pack: center;
|
2278 |
+
-ms-flex-pack: center;
|
2279 |
+
justify-content: center;
|
2280 |
+
font-weight: bold;
|
2281 |
+
}
|
2282 |
+
|
2283 |
+
.steps {
|
2284 |
+
border-radius: 50%;
|
2285 |
+
border: 1px solid #979797;
|
2286 |
+
margin: 0;
|
2287 |
+
width: 2rem;
|
2288 |
+
height: 2rem;
|
2289 |
+
display: -webkit-box;
|
2290 |
+
display: -ms-flexbox;
|
2291 |
+
display: flex;
|
2292 |
+
-webkit-box-pack: center;
|
2293 |
+
-ms-flex-pack: center;
|
2294 |
+
justify-content: center;
|
2295 |
+
-webkit-box-align: center;
|
2296 |
+
-ms-flex-align: center;
|
2297 |
+
align-items: center;
|
2298 |
+
}
|
2299 |
+
|
2300 |
+
.main-box {
|
2301 |
+
width: 90%;
|
2302 |
+
max-width: 1140px;
|
2303 |
+
margin: 0 auto;
|
2304 |
+
border: 1px solid rgba(151, 151, 151, 0.28);
|
2305 |
+
border-radius: 0.4rem;
|
2306 |
+
background: #fff;
|
2307 |
+
}
|
2308 |
+
.main-box__bg {
|
2309 |
+
background: #fff;
|
2310 |
+
background-image: url("../images/welcome_screen_bg.svg");
|
2311 |
+
background-position: 97% -14%;
|
2312 |
+
background-repeat: no-repeat;
|
2313 |
+
}
|
2314 |
+
|
2315 |
+
.subOptions {
|
2316 |
+
border-left: 1px solid rgba(0, 0, 0, 0.1);
|
2317 |
+
padding: 0.5rem 0 0.5rem 1.5rem;
|
2318 |
+
margin-left: 1rem;
|
2319 |
+
}
|
2320 |
+
|
2321 |
+
.link-helper {
|
2322 |
+
display: -webkit-inline-box;
|
2323 |
+
display: -ms-inline-flexbox;
|
2324 |
+
display: inline-flex;
|
2325 |
+
-webkit-box-align: center;
|
2326 |
+
-ms-flex-align: center;
|
2327 |
+
align-items: center;
|
2328 |
+
}
|
2329 |
+
.link-helper:hover .link-helper__label {
|
2330 |
+
text-decoration: underline;
|
2331 |
+
}
|
2332 |
+
.link-helper:hover .tooltip-icon {
|
2333 |
+
color: currentColor;
|
2334 |
+
}
|
2335 |
+
|
2336 |
+
.link:hover {
|
2337 |
+
text-decoration: underline;
|
2338 |
+
}
|
2339 |
+
|
2340 |
+
.link-underline {
|
2341 |
+
text-decoration: underline;
|
2342 |
+
}
|
2343 |
+
|
2344 |
+
.link-underline-dashed {
|
2345 |
+
text-decoration: underline;
|
2346 |
+
-webkit-text-decoration-style: dashed;
|
2347 |
+
text-decoration-style: dashed;
|
2348 |
+
}
|
2349 |
+
.link-underline-dashed:hover {
|
2350 |
+
-webkit-text-decoration-style: solid;
|
2351 |
+
text-decoration-style: solid;
|
2352 |
+
}
|
2353 |
+
|
2354 |
+
.hidden {
|
2355 |
+
display: none;
|
2356 |
+
}
|
2357 |
+
|
2358 |
+
@media (max-width: 767px) {
|
2359 |
+
.scrollable {
|
2360 |
+
overflow-x: auto;
|
2361 |
+
}
|
2362 |
+
}
|
2363 |
+
.inactive {
|
2364 |
+
pointer-events: none;
|
2365 |
+
opacity: 0.6;
|
2366 |
+
}
|
2367 |
+
|
2368 |
+
.services-list li:not(:last-of-type) {
|
2369 |
+
margin-right: 1rem;
|
2370 |
+
}
|
2371 |
+
|
2372 |
+
.rounded {
|
2373 |
+
border-radius: 0.25rem;
|
2374 |
+
}
|
2375 |
+
|
2376 |
+
.border-1 {
|
2377 |
+
border: 1px solid;
|
2378 |
+
}
|
2379 |
+
#iubenda-header {
|
2380 |
+
margin-bottom: 30px;
|
2381 |
+
}
|
2382 |
+
.iubenda-notice {
|
2383 |
+
border-left-color: #1CC691;
|
2384 |
+
padding-left: 0;
|
2385 |
+
display: flex;
|
2386 |
+
justify-content: flex-start;
|
2387 |
+
align-items: center;
|
2388 |
+
}
|
2389 |
+
.iubenda-notice::before {
|
2390 |
+
display: inline-block;
|
2391 |
+
content: '';
|
2392 |
+
height: 49px;
|
2393 |
+
width: 22px;
|
2394 |
+
margin: 1em 2em;
|
2395 |
+
background-size: contain;
|
2396 |
+
background-position: center center;
|
2397 |
+
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIyMjFweCIgaGVpZ2h0PSI0OTBweCIgdmlld0JveD0iMCAwIDIyMSA0OTAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+ICAgICAgICA8dGl0bGU+aXViZW5kYSB2ZWN0b3IgbG9nb192M19vbmx5X2lfZ3JlZW48L3RpdGxlPiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4gICAgPGRlZnM+PC9kZWZzPiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4gICAgICAgIDxnIGlkPSJpdWJlbmRhLXZlY3Rvci1sb2dvX3YzX29ubHlfaV9ncmVlbiIgZmlsbD0iIzFDQzY5MSIgZmlsbC1ydWxlPSJub256ZXJvIj4gICAgICAgICAgICA8cGF0aCBkPSJNMjIwLjYsMTA4LjQgQzIyMC42LDEzNSAyMTAuOCwxNTkuMyAxOTQuNSwxNzguMSBMMjE3LjksNDg5LjQgTDguNSw0ODkuNCBMMzEuMiwxODMuNSBDMTEuOSwxNjQuMiAwLDEzNy43IDAsMTA4LjQgQzAsNDguNyA0OS40LDAuNCAxMTAuMywwLjQgQzE3MS4yLDAuNCAyMjAuNiw0OC43IDIyMC42LDEwOC40IFogTTExMC4zLDEzMyBDMTI1LDEzMyAxMzYuOCwxMjEuMiAxMzYuOCwxMDYuNyBDMTM2LjgsOTIuMiAxMjQuOSw4MC41IDExMC4zLDgwLjUgQzk1LjYsODAuNSA4My44LDkyLjMgODMuOCwxMDYuNyBDODMuOCwxMjEuMyA5NS42LDEzMyAxMTAuMywxMzMgWiBNMTMxLjIsMjI3IEw5NC45LDI2My4zIEw5NC45LDQwMy44IEwxMzEuMiw0MDMuOCBMMTMxLjIsMjI3IFoiIGlkPSJTaGFwZSI+PC9wYXRoPiAgICAgICAgPC9nPiAgICA8L2c+PC9zdmc+);
|
2398 |
+
}
|
2399 |
+
.iubenda-notice .notice-question {
|
2400 |
+
margin-bottom: 5px;
|
2401 |
+
display: block;
|
2402 |
+
}
|
2403 |
+
.iubenda-notice .notice-reply {
|
2404 |
+
margin-top: 0;
|
2405 |
+
}
|
2406 |
+
.iubenda-notice .step-2 {
|
2407 |
+
display: none;
|
2408 |
+
}
|
2409 |
+
.iubenda-notice .reply-yes {
|
2410 |
+
margin-right: 10px;
|
2411 |
+
}
|
2412 |
+
.iubenda-notice .reply-yes:before,
|
2413 |
+
.iubenda-notice .reply-no:before {
|
2414 |
+
font-family: dashicons;
|
2415 |
+
display: inline-block;
|
2416 |
+
line-height: 1;
|
2417 |
+
font-weight: 400;
|
2418 |
+
font-style: normal;
|
2419 |
+
speak: none;
|
2420 |
+
text-decoration: inherit;
|
2421 |
+
text-transform: none;
|
2422 |
+
text-rendering: auto;
|
2423 |
+
-webkit-font-smoothing: antialiased;
|
2424 |
+
-moz-osx-font-smoothing: grayscale;
|
2425 |
+
width: 20px;
|
2426 |
+
height: 20px;
|
2427 |
+
font-size: 20px;
|
2428 |
+
vertical-align: top;
|
2429 |
+
text-align: center;
|
2430 |
+
transition: color .1s ease-in;
|
2431 |
+
text-decoration: none;
|
2432 |
+
}
|
2433 |
+
.iubenda-notice .reply-yes:before {
|
2434 |
+
content: "\f147";
|
2435 |
+
}
|
2436 |
+
.iubenda-notice .reply-no:before {
|
2437 |
+
content: "\f335";
|
2438 |
+
}
|
assets/fonts/HKGrotesk-Bold.eot
ADDED
Binary file
|
assets/fonts/HKGrotesk-Bold.woff
ADDED
Binary file
|
assets/fonts/HKGrotesk-Bold.woff2
ADDED
Binary file
|
assets/fonts/HKGrotesk-Regular.eot
ADDED
Binary file
|
assets/fonts/HKGrotesk-Regular.woff
ADDED
Binary file
|
assets/fonts/HKGrotesk-Regular.woff2
ADDED
Binary file
|
assets/images/banner_failure.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg height="45" viewBox="0 0 45 45" width="45" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd" stroke="#cf7463"><circle cx="22.5" cy="22.5" r="21.5"/><g stroke-linecap="round" stroke-linejoin="round"><path d="m22.5 13.5v11"/><path d="m22.5 28.5v2"/></g></g></svg>
|
assets/images/banner_success.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg height="45" viewBox="0 0 45 45" width="45" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd" stroke="#1cc691" transform="translate(1 1)"><circle cx="21.5" cy="21.5" r="21.5"/><path d="m11 21.1543779 7.8986384 7.8456221 15.1013616-15"/></g></svg>
|
assets/images/checkboxes/button_style_dark.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg height="38" viewBox="0 0 194 38" width="194" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><rect fill="#454141" height="36" rx="6" stroke="#000" stroke-opacity=".233894" stroke-width="1.5" width="192" x=".75" y=".75"/><g fill="#1cc691" transform="translate(15 8)"><circle cx="5.328" cy="5.328" r="5.328"/><path d="m3.33 1.11h3.996l2.30052444 19.536h-8.59704888z"/></g><text fill="#fff" font-family="HelveticaNeue-Bold, Helvetica Neue" font-size="19.5" font-weight="bold"><tspan x="37.5" y="25">Privacy policy</tspan></text></g></svg>
|
assets/images/checkboxes/button_style_light.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg height="38" viewBox="0 0 194 38" width="194" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><rect fill="#fff" height="36" rx="6" stroke="#979797" stroke-width="1.5" width="192" x=".75" y=".75"/><g fill="#1cc691" transform="translate(15 8)"><circle cx="5.328" cy="5.328" r="5.328"/><path d="m3.33 1.11h3.996l2.30052444 19.536h-8.59704888z"/></g><text fill="#3f3e3e" font-family="HelveticaNeue-Bold, Helvetica Neue" font-size="19.5" font-weight="bold"><tspan x="38.5" y="25">Privacy policy</tspan></text></g></svg>
|
assets/images/checkboxes/cons_icon.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg height="35" viewBox="0 0 34 35" width="34" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd" stroke="#7e818d" stroke-width=".94" transform="translate(1.3008 1)"><path d="m0 25.563551v2.1463524c0 2.677675 5.23114681 4.8491035 12.3464727 4.8491035 2.8181842 0 5.3407908-.3406392 7.3598622-.9184546.4732992-.1354482.9189291-.2839292 1.3342109-.4441104"/><path d="m0 18.5826026v3.1113008c0 2.677675 5.23114681 4.8491035 12.3464727 4.8491035 1.8738531 0 3.6170278-.1506007 5.1683914-.4213874" fill="#fff"/><path d="m0 12.6738342v2.5865796c0 2.5989198 5.23114681 4.7064828 12.3464727 4.7064828 7.1153259 0 12.3464728-2.107563 12.3464728-4.7064828v-2.5865796"/><path d="m0 4.56386207v4.70648276c0 2.59891977 5.23114681 4.70648277 12.3464727 4.70648277 7.1153259 0 12.3464728-2.107563 12.3464728-4.70648277v-4.70648276" fill="#ededed"/><path d="m12.3464727 9.41296552c7.1153259 0 12.3464728-2.10756298 12.3464728-4.70648276s-5.2311469-4.70648276-12.3464728-4.70648276c-7.11532589 0-12.3464727 2.10756298-12.3464727 4.70648276s5.23114681 4.70648276 12.3464727 4.70648276z" fill="#ededed"/><circle cx="25.574543" cy="24.972943" fill="#d2ecfe" r="5.721743"/><circle cx="25.574543" cy="24.972943" r="5.721743"/><path d="m27.8577432 25.5710401h-4.3752727l.0314356-2.4064" stroke-linecap="round" transform="matrix(.64278761 -.76604444 .76604444 .64278761 -9.497168 28.368937)"/></g></svg>
|
assets/images/checkboxes/cs_icon.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg height="36" viewBox="0 0 40 36" width="40" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd" transform="translate(1.3008 1)"><g stroke="#7e818d"><path d="m6.24843636 27.2700267h-6.24843636v-27.2700267h36.6976v27.2700267h-6.6176" fill="#fff" stroke-linejoin="round" stroke-width=".94"/><path d="m0 4.8128h36.6976" stroke-linejoin="round" stroke-width=".94"/><path d="m2.4064 2.4064h1.668073" stroke-linejoin="round" stroke-width=".94"/><path d="m5.4144 2.4064h1.668073" stroke-linejoin="round" stroke-width=".94"/><path d="m8.4224 2.4064h1.668073" stroke-linejoin="round" stroke-width=".94"/></g><path d="m1.8048 6.6176h33.088v7.2192h-33.088z" fill="#efefef"/><g stroke="#bdbdbd" stroke-linecap="square" stroke-width=".94" transform="translate(29.4784 9.024)"><path d="m.3008.3008 1.8048 1.8048"/><path d="m.3008.3008 1.8048 1.8048" transform="matrix(1 0 0 -1 0 2.4064)"/></g><g stroke="#7e818d" stroke-width=".94" transform="translate(9.6256 16.8448)"><path d="m16.116112 4.099904c-.152656-.261696-.43616-.45804069-.7415447-.50165669-.3270473-.04354331-.6323593.04368869-.8722473.23996069-.3926167.34885531-.894128.523392-1.41752.523392-1.19944 0-2.1808-.98136-2.1808-2.1808 0-.21815269.0436887-.45804069.10904-.65424.0873047-.305312.0436887-.63250469-.10904-.89420069-.1745367-.283504-.4580407-.4580407-.7632073-.523392-.4580407-.065424-.93788939-.10896731-1.4175927-.10896731-4.81964069 0-8.7232 3.90355931-8.7232 8.7232 0 4.8194953 3.90355931 8.7232 8.7232 8.7232 4.8196407 0 8.7232-3.9037047 8.7232-8.7232 0-1.6356-.4580407-3.22765669-1.330288-4.623296z" fill="#d2ecfe" fill-rule="nonzero"/><path d="m16.116112 4.099904c-.152656-.261696-.43616-.45804069-.7415447-.50165669-.3270473-.04354331-.6323593.04368869-.8722473.23996069-.3926167.34885531-.894128.523392-1.41752.523392-1.19944 0-2.1808-.98136-2.1808-2.1808 0-.21815269.0436887-.45804069.10904-.65424.0873047-.305312.0436887-.63250469-.10904-.89420069-.1745367-.283504-.4580407-.4580407-.7632073-.523392-.4580407-.065424-.93788939-.10896731-1.4175927-.10896731-4.81964069 0-8.7232 3.90355931-8.7232 8.7232 0 4.8194953 3.90355931 8.7232 8.7232 8.7232 4.8196407 0 8.7232-3.9037047 8.7232-8.7232 0-1.6356-.4580407-3.22765669-1.330288-4.623296z" fill-rule="nonzero"/><path d="m11.4304 9.6256h-4.8128l.03457912-1.8048" stroke-linecap="round" transform="matrix(.64278761 -.76604444 .76604444 .64278761 -3.458874 10.02882)"/></g></g></svg>
|
assets/images/checkboxes/eu_only_icon.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg height="28" viewBox="0 0 30 28" width="30" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="m4.5 5.5h25.5v18h-25.5z" fill="#bcbcbc" fill-opacity=".1"/><path d="m13.5 7a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5zm0 10.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5zm4.5-6a.75.75 0 1 0 1.5 0 .75.75 0 0 0 -1.5 0zm-10.5 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0 -1.5 0zm9.182 3.182a.75.75 0 1 0 1.06 1.06.75.75 0 0 0 -1.06-1.06zm-7.425-7.425a.75.75 0 1 0 1.061 1.061.75.75 0 0 0 -1.06-1.06zm1.061 7.425a.75.75 0 1 0 -1.06 1.06.75.75 0 0 0 1.06-1.06zm7.425-7.425a.75.75 0 1 0 -1.061 1.061.75.75 0 0 0 1.06-1.06z" fill="#333"/><g stroke="#333" stroke-linecap="round" stroke-linejoin="round"><path d="m.75 2.5h25.391v18h-25.391z"/><path d="m.75 1v26.027" fill="#d8d8d8"/></g></g></svg>
|
assets/images/checkboxes/pp_icon.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg height="41" viewBox="0 0 35 41" width="35" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="a" d="m19.0034824 25.2672v-3.9895579c0-2.4478154 1.9962574-4.4328421 4.4589176-4.4328421s4.4589176 1.9850267 4.4589176 4.4328421v3.9895579"/><filter id="b" height="158.7%" width="155.4%" x="-27.7%" y="-29.3%"><feMorphology in="SourceAlpha" operator="dilate" radius="1.47" result="shadowSpreadOuter1"/><feOffset dx="0" dy="0" in="shadowSpreadOuter1" result="shadowOffsetOuter1"/><feMorphology in="SourceAlpha" operator="erode" radius="2" result="shadowInner"/><feOffset dx="0" dy="0" in="shadowInner" result="shadowInner"/><feComposite in="shadowOffsetOuter1" in2="shadowInner" operator="out" result="shadowOffsetOuter1"/><feColorMatrix in="shadowOffsetOuter1" type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/></filter></defs><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><path d="m28.8459487 4.22139661h4.2420513v-.84427932c0-1.86501302-1.5195028-3.37711729-3.393641-3.37711729h-9.3325128" fill="#d8d8d8" stroke="#7e818d" stroke-width=".94"/><path d="m11.9132253 32.0826142h-11.9132253v-28.70549691c0-1.86501302 1.51950277-3.37711729 3.39364103-3.37711729h26.75546587c-2.0404267 0-3.848389 1.45553755-3.848389 3.4826522v10.5300274m0 18.0699346h-5.0904615" fill="#fff" stroke="#7e818d" stroke-width=".94"/><g stroke-linejoin="round"><use fill="#000" filter="url(#b)" xlink:href="#a"/><use stroke="#7e818d" stroke-width=".94" xlink:href="#a"/></g><g stroke="#7e818d" stroke-width=".94"><path d="m31.8848 38.0054261c0 .6064128-.4851302 1.0985739-1.08288 1.0985739h-14.07744c-.5977498 0-1.08288-.4921611-1.08288-1.0985739v-10.4364522c0-.6064128.4851302-1.0985739 1.08288-1.0985739h14.07744c.5977498 0 1.08288.4921611 1.08288 1.0985739z" fill="#d2ecfe" stroke-linejoin="round"/><path d="m31.8848 38.0054261c0 .6064128-.4851302 1.0985739-1.08288 1.0985739h-14.07744c-.5977498 0-1.08288-.4921611-1.08288-1.0985739v-10.4364522c0-.6064128.4851302-1.0985739 1.08288-1.0985739h14.07744c.5977498 0 1.08288.4921611 1.08288 1.0985739z" stroke-linejoin="round"/><path d="m23.2580881 29.5403052c-.7465194.1832499-1.3540535.8174054-1.535682 1.6020479-.2432242 1.0484113.2226923 2.0007552.9876378 2.4705412v1.9741006c0 .613054.4717076 1.1106051 1.0529187 1.1106051.5817376 0 1.0529187-.4975511 1.0529187-1.1106051v-1.9741006c.6270131-.3848247 1.0529187-1.0933908 1.0529187-1.9130174 0-1.4004731-1.2287561-2.4983062-2.6107119-2.1595717z" fill="#fff" stroke-linejoin="round"/><path d="m4.242051 8.442793h17.816616"/><path d="m4.242051 11.819911h17.816616"/><path d="m4.242051 15.197028h11.029334"/><path d="m6.787282 25.32838h4.242051"/><path d="m4.242051 25.32838h1.696821"/></g></g></svg>
|
assets/images/checkboxes/tc_icon.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg height="40" viewBox="0 0 35 40" width="35" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd" stroke="#7e818d" stroke-width=".94" transform="translate(1 1)"><path d="m28.8459487 4.22139661h4.2420513v-.84427932c0-1.86501302-1.5195028-3.37711729-3.393641-3.37711729h-9.3325128" fill="#d8d8d8"/><path d="m11.9985445 32.0826142h-11.9985445v-28.70549691c0-1.86501302 1.51950277-3.37711729 3.39364103-3.37711729h26.75546587c-2.0404267 0-3.848389 1.45553755-3.848389 3.4826522v10.5300274m0 18.0699346h-5.0904615" fill="#fff"/><path d="m4.242051 8.442793h17.816616"/><path d="m4.242051 11.819911h17.816616"/><path d="m4.242051 15.197028h11.029334"/><path d="m6.787282 25.32838h4.242051"/><path d="m4.242051 25.32838h1.696821"/><g stroke-linejoin="round"><path d="m23.4672761 17.4464-8.4272761 3.5583699v8.4511286c0 3.9733649 7.9547352 8.3199138 8.4224 8.4449015.4681081-.1249877 8.4224-4.7753325 8.4224-8.0001052v-8.8959249z" fill="#d2ecfe"/><path d="m23.4672761 17.4464-8.4272761 3.5583699v8.4511286c0 3.9733649 7.9547352 8.3199138 8.4224 8.4449015.4681081-.1249877 8.4224-4.7753325 8.4224-8.0001052v-8.8959249z"/><path d="m19.8528 28.0680483 2.4691351 2.6135517 5.9532649-7.2192"/></g></g></svg>
|
assets/images/checkboxes/worldwide.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg height="30" viewBox="0 0 32 30" width="32" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd" transform="translate(1 1.632)"><circle cx="18" cy="14.368" fill="#bcbcbc" fill-opacity=".1" r="13"/><g stroke="#333"><circle cx="13" cy="13.368" r="13"/><path d="m17.545 4.368h-3.409l-2.045 1.715v1.143h-2.046l-2.045 1.142v1.143h3.409l.682.572h1.364l1.363 1.143h2.727l1.364 1.142 1.364-1.142h2.727m-7.5 4.017h-1.25l-1.875-1.875h-2.5l-1.875 1.875 1.25 3.125h1.875l1.25 1.25v3.125l.625.625h1.25l1.875-1.875v-1.875l1.875-1.875z"/></g></g></svg>
|
assets/images/iubenda_logo.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg xmlns="http://www.w3.org/2000/svg" width="170" height="62" viewBox="0 0 170 62"><title>Group 56</title><g fill="none" fill-rule="evenodd"><path fill="#1CC691" d="M13.665 0c7.55 0 13.666 6.093 13.666 13.615 0 3.35-1.213 6.416-3.233 8.79L27 61.64H1.055l2.813-38.55A13.509 13.509 0 0 1 0 13.616C0 6.093 6.116 0 13.665 0zm2.595 28.552l-4.497 4.498v17.795h4.497V28.552zM13.665 10.1c-1.815 0-3.286 1.481-3.286 3.309 0 1.827 1.471 3.308 3.286 3.308s3.287-1.481 3.287-3.308c0-1.828-1.472-3.309-3.287-3.309z"/><g fill="#5A5A5A" transform="translate(43.238 18.109)"><path d="M23.293 24.622c-1.754 1.903-3.474 3.101-4.395 3.593a6.13 6.13 0 01-2.926.738c-1.146 0-2.14-.332-2.98-.996a5.148 5.148 0 01-1.754-2.561c-.327-1.044-.491-2.521-.491-4.43v-7.494c0-.013 0-.025.002-.038v-1.103c0-.217 0-1.164-.588-1.455-.089-.045-.248-.08-.478-.106a.347.347 0 01-.307-.344l-.007-1a.347.347 0 01.344-.35h3.764c.541 0 .98.442.98.987v5.134h-.003v6.35c0 1.91.331 3.163.994 3.76.662.596 1.462.894 2.4.894.64 0 1.366-.201 2.177-.604.81-.402 2.157-1.17 3.273-2.301l.003-.968h.002l.012-9.115v-.882c0-.217 0-1.164-.58-1.455-.088-.044-.242-.08-.463-.105a.347.347 0 01-.306-.344l-.007-1a.347.347 0 01.344-.351H26.012c.536 0 .97.437.97.976v3.307a.55.55 0 01.004.068v6.823c0 1.58-.001 3.035-.004 4.363h-.004l.004.513c0 .217-.025 1.256.557 1.548.088.045.243.08.466.106.174.02.305.167.306.343l.007 1.004a.347.347 0 01-.344.35H24.253a.972.972 0 01-.968-.975V27.5l.006-1.859h-.004l.006-1.018zM30.778 5.88h-.002V3.31c0-.208 0-1.118-.565-1.399a1.13 1.13 0 00-.226-.08.348.348 0 01-.261-.335L29.717.53a.347.347 0 01.344-.35H33.403c.521 0 .943.424.943.949v.001L34.34 6.07v6.344c1.913-2.642 3.977-3.963 6.192-3.963 2.028 0 3.797.86 5.307 2.581 1.51 1.721 2.266 4.074 2.266 7.06 0 3.484-1.165 6.29-3.495 8.419-2 1.828-4.229 2.742-6.688 2.742-1.151 0-2.32-.207-3.506-.621-1.015-.355-2.047-.86-3.099-1.517a1.145 1.145 0 01-.536-.971V7.234l-.002-1.354zm3.894 19.956c.63.562 1.278.997 1.943 1.307a5.654 5.654 0 002.406.546c1.309 0 2.528-.714 3.657-2.142 1.129-1.429 1.693-3.507 1.693-6.235 0-2.513-.564-4.445-1.693-5.795-1.13-1.35-2.413-2.024-3.851-2.024-.763 0-1.525.193-2.287.578-.505.251-1.132.722-1.88 1.413a.996.996 0 00-.32.732V25.09c0 .285.12.556.332.745zM73.484 22.502V13.96c1.692-1.827 4.132-2.74 5.84-2.74 1.104 0 1.89.396 2.356 1.19.466.795.699 2.07.699 3.826v6.268h-.006v4.992c0 .524.421.948.941.948h2.62c.217 0 .493-.003.826-.009a.347.347 0 00.34-.35l-.006-.962a.348.348 0 00-.294-.342c-.13-.02-.23-.048-.303-.084-.564-.283-.564-1.202-.564-1.412V22.69h-.003v-6.793c0-1.742-.158-3.035-.474-3.879-.459-1.208-1.076-2.076-1.85-2.603-.775-.527-1.7-.79-2.777-.79-1.969 0-4.772 1.204-6.931 3.614l-.02.022a.225.225 0 01-.394-.152v-.761s0 .002-.002.003v-1.39a.936.936 0 00-.932-.939H69.266a.347.347 0 00-.343.35l.006.966a.348.348 0 00.257.334c.08.022.151.048.212.078.558.28.558 1.19.558 1.397v.045c-.005.193-.004.405 0 .62v1.9h.003c-.01.704-.026 1.483-.026 2.26v8.304c0 .209 0 1.126-.563 1.408a1.412 1.412 0 01-.418.1.347.347 0 00-.303.343l-.006.949a.347.347 0 00.343.35h3.559c.518 0 .939-.423.939-.945v-4.98zM123.322 23.683v1.296a17.107 17.107 0 00.01.27c.04.594.225.974.553 1.138.067.034.154.063.259.086a.348.348 0 01.273.338l.006.968a.347.347 0 01-.344.35H120.71a.942.942 0 01-.94-.945v-1.846c-2.028 1.585-3.301 2.501-3.819 2.749a5.785 5.785 0 01-2.482.545c-1.367 0-2.493-.473-3.378-1.418-.884-.945-1.327-2.189-1.327-3.73 0-.975.216-1.819.648-2.532.59-.988 1.475-2.118 3.075-2.792 1.6-.674 2.968-.828 7.283-1.815v-1.757c-.017-1.866-.314-3.77-3.388-3.582-2.154.132-4.134.817-5.94 2.056a.345.345 0 01-.542-.287v-1.14c0-.6.115-.994.344-1.18 1.271-1.03 4.41-2.26 7.47-2.052 3.397.23 4.618 1.656 5.23 3.831.186.664.388 1.15.388 3.084v5.962c0 .837-.003 1.638-.01 2.403zm-3.552-5.838c-2.672.552-4.21.895-4.612 1.03-1.49.503-2.671 1.076-2.768 3.583-.04 1.046.31 1.916.928 2.607.619.69 1.33 1.036 2.137 1.036 1 0 2.29-.76 3.868-1.979a1.15 1.15 0 00.447-.91v-5.367zM105.585 25.185v.009c0 .203 0 1.092.546 1.366.06.03.133.056.217.078a.348.348 0 01.263.335l.005.927a.347.347 0 01-.343.35h-3.222a.914.914 0 01-.91-.917v-.899l-.01.004c-.935 1.003-1.849 1.722-2.742 2.16a6.486 6.486 0 01-2.89.655c-2.093 0-3.921-.9-5.484-2.697-1.563-1.798-2.345-4.108-2.345-6.93 0-2.823.865-5.405 2.596-7.747 1.73-2.343 3.957-3.514 6.678-3.514 1.689 0 3.085.552 4.187 1.655V3.14c0-.209 0-1.122-.547-1.404a1.097 1.097 0 00-.19-.075.348.348 0 01-.25-.332L101.14.35a.347.347 0 01.343-.35h3.19c.505 0 .914.412.914.92v24.265zm-5.872-13.75c-.69-.408-1.364-.613-2.02-.613-1.228 0-2.347.531-3.35 1.566-1.103 1.14-1.842 2.674-1.842 5.54 0 2.894.614 5.11 1.843 6.65 1.228 1.541 2.595 2.311 4.103 2.311 1.076 0 2.121-.468 3.137-1.403a1.7 1.7 0 00.547-1.25v-8.55c0-1.748-.92-3.366-2.418-4.251zM52.081 26.673c-1.562-1.785-2.374-4.639-2.374-7.47 0-2.99.923-5.725 2.599-7.7 1.745-2.057 4.132-3.145 6.901-3.145 2.348 0 4.138.807 5.32 2.398 1.102 1.484 1.66 3.608 1.66 6.313 0 .327-.019.783-.058 1.368a.694.694 0 01-.69.65H53.413a.2.2 0 00-.2.203c.042 2.222.743 4.1 2.03 5.432 1.264 1.309 2.998 2 5.014 2 1.504 0 3.476-.396 4.998-.862a.405.405 0 01.51.494l-.205.792c-.075.29-.272.531-.54.662-1.502.738-3.753 1.445-6.065 1.445-2.809 0-5.218-.689-6.874-2.58zm.998-10.159a.173.173 0 00.054.142c.038.038.09.06.146.06h9.658c.103 0 .19-.074.2-.17.11-1.018.153-2.863-1.352-4.431-.743-.774-1.64-1.166-3.365-1.166-3.008 0-5.007 2.991-5.341 5.565z"/><path d="M82.386 22.618v2.619c0 .212 0 1.14-.56 1.426a.533.533 0 01-.065.028.982.982 0 00-.655.92.812.812 0 00.813.817h3.068a.935.935 0 00.935-.935v-5.066l-3.536.19zM73.486 22.618v2.619c0 .212 0 1.14.56 1.426.019.01.04.019.064.028.39.138.652.505.655.92a.812.812 0 01-.812.817h-3.069a.935.935 0 01-.935-.936v-5.065l3.537.19zM5.062 10.612v15.2c0 .397.226.76.582.934.357.175.583.537.583.934v.294c0 .321-.26.582-.583.582H.577A.577.577 0 010 27.98v-.306c0-.393.223-.753.577-.928.353-.174.576-.534.576-.928V11.144a.374.374 0 00-.374-.374.374.374 0 01-.374-.374v-.484c0-.473.384-.858.858-.858h2.24c.861 0 1.559.698 1.559 1.558z"/><ellipse cx="3.114" cy="2.786" rx="2.422" ry="2.438"/></g></g></svg>
|
assets/images/list_radar_cons.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg height="89" viewBox="0 0 89 89" width="89" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="a" d="m59 25h18"/><filter id="b" height="100%" width="105.6%" x="-2.8%" y="-50%"><feMorphology in="SourceAlpha" operator="dilate" radius="0.5" result="shadowSpreadOuter1"/><feOffset dx="0" dy="0" in="shadowSpreadOuter1" result="shadowOffsetOuter1"/><feMorphology in="SourceAlpha" operator="erode" radius="1" result="shadowInner"/><feOffset dx="0" dy="0" in="shadowInner" result="shadowInner"/><feComposite in="shadowOffsetOuter1" in2="shadowInner" operator="out" result="shadowOffsetOuter1"/><feColorMatrix in="shadowOffsetOuter1" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0"/></filter><path id="c" d="m77 32h-18"/><filter id="d" height="100%" width="105.6%" x="-2.8%" y="-50%"><feMorphology in="SourceAlpha" operator="dilate" radius="0.5" result="shadowSpreadOuter1"/><feOffset dx="0" dy="0" in="shadowSpreadOuter1" result="shadowOffsetOuter1"/><feMorphology in="SourceAlpha" operator="erode" radius="1" result="shadowInner"/><feOffset dx="0" dy="0" in="shadowInner" result="shadowInner"/><feComposite in="shadowOffsetOuter1" in2="shadowInner" operator="out" result="shadowOffsetOuter1"/><feColorMatrix in="shadowOffsetOuter1" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0"/></filter></defs><g fill="none" fill-rule="evenodd" transform="translate(1 16)"><path d="m65 47v-39.80729931c0-.56033171-.2128492-1.12009801-.6329609-1.54868674-.426257-.42858874-.9798883-.64401395-1.5340782-.64401395-22.3509384 0-39.1141422 0-50.2896114 0" stroke="#7e818d"/><path d="m14 47h47v-37h-47" fill="#e7e7e7"/><path d="m18.8838533 47h41.1161467v-37h-47.0250335m-2.5263518 0h-5.4486147" stroke="#7e818d"/><path d="m70 47v3.5009062c0 .896522-.3195867 1.793648-.96046 2.4757055-.6386067.6790369-1.4789383 1.0233883-2.3243698 1.0233883-18.4816432 0-36.1908559 0-48.4812095 0m-3.8044798 0c-1.606173 0-3.0874112 0-4.4294809 0" stroke="#7e818d"/><use fill="#000" filter="url(#b)" xlink:href="#a"/><use stroke="#7e818d" xlink:href="#a"/><path d="m81 25h4" stroke="#7e818d"/><use fill="#000" filter="url(#d)" xlink:href="#c"/><use stroke="#7e818d" xlink:href="#c"/><path d="m81 32h4" stroke="#7e818d"/><path d="m78.6403901 6.65260873.7192198.69478254-9.807648 10.15260873h-14.5519619v-1h14.127589z" fill="#7e818d" fill-rule="nonzero"/><path d="m87 4.50038399c0 2.484427-2.0140773 4.49961601-4.4988482 4.49961601-2.4855388 0-4.5011518-2.01518901-4.5011518-4.49961601 0-2.48519498 2.015613-4.50038399 4.5011518-4.50038399 2.4847709 0 4.4988482 2.01518901 4.4988482 4.50038399z" stroke="#7e818d"/><path d="m55 39.5v-1h14.5519619l9.807648 10.1526087-.7192198.6947826-9.5128011-9.8473913z" fill="#7e818d" fill-rule="nonzero"/><g stroke="#7e818d"><path d="m87 52.4992321c0-2.4834471-2.0140773-4.4992321-4.4988482-4.4992321-2.4855388 0-4.5011518 2.015785-4.5011518 4.4992321 0 2.4849829 2.015613 4.5007679 4.5011518 4.5007679 2.4847709 0 4.4988482-2.015785 4.4988482-4.5007679z"/><circle cx="36.5" cy="28.5" fill="#fff" r="9.5"/><path d="m41 29h-8l.0574786-4" stroke-linecap="round" transform="matrix(.64278761 -.76604444 .76604444 .64278761 -7.466342 37.988379)"/></g></g></svg>
|
assets/images/list_radar_cs.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg height="89" viewBox="0 0 89 89" width="89" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd" transform="translate(14 16)"><g stroke="#7e818d"><path d="m10.3863636 45.3291667h-10.3863636v-45.3291667h61v45.3291667h-11" fill="#fff" stroke-linejoin="round"/><path d="m0 8h61" stroke-linejoin="round"/><path d="m4 4h2.772727" stroke-linejoin="round"/><path d="m9 4h2.772727" stroke-linejoin="round"/><path d="m14 4h2.772727" stroke-linejoin="round"/></g><path d="m3 11h55v12h-55z" fill="#efefef"/><g stroke="#bdbdbd" stroke-linecap="square" transform="translate(49 15)"><path d="m.5.5 3 3"/><path d="m.5.5 3 3" transform="matrix(1 0 0 -1 0 4)"/></g><g fill-rule="nonzero" transform="translate(16 28)"><path d="m26.78875 6.815c-.25375-.435-.725-.76137083-1.2326208-.83387083-.5436292-.07237917-1.0511292.07262083-1.4498792.39887083-.6526208.57987917-1.48625.87-2.35625.87-1.99375 0-3.625-1.63125-3.625-3.625 0-.36262083.0726208-.76137083.18125-1.0875.1451208-.5075.0726208-1.05137083-.18125-1.48637083-.2901208-.47125-.7613708-.76137084-1.2686292-.87-.7613708-.10875-1.5589916-.18112917-2.3563708-.18112917-8.01137083 0-14.5 6.48862917-14.5 14.5 0 8.0111292 6.48862917 14.5 14.5 14.5 8.0113708 0 14.5-6.4888708 14.5-14.5 0-2.71875-.7613708-5.36512083-2.21125-7.685z" fill="#e7e7e7"/><path d="m26.78875 6.815c-.25375-.435-.725-.76137083-1.2326208-.83387083-.5436292-.07237917-1.0511292.07262083-1.4498792.39887083-.6526208.57987917-1.48625.87-2.35625.87-1.99375 0-3.625-1.63125-3.625-3.625 0-.36262083.0726208-.76137083.18125-1.0875.1451208-.5075.0726208-1.05137083-.18125-1.48637083-.2901208-.47125-.7613708-.76137084-1.2686292-.87-.7613708-.10875-1.5589916-.18112917-2.3563708-.18112917-8.01137083 0-14.5 6.48862917-14.5 14.5 0 8.0111292 6.48862917 14.5 14.5 14.5 8.0113708 0 14.5-6.4888708 14.5-14.5 0-2.71875-.7613708-5.36512083-2.21125-7.685z" stroke="#7e818d"/></g><path d="m35 44h-8l.0574786-3" stroke="#7e818d" stroke-linecap="round" transform="matrix(.64278761 -.76604444 .76604444 .64278761 -21.483305 38.928904)"/></g></svg>
|
assets/images/list_radar_pp.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg height="89" viewBox="0 0 89 89" width="89" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="a" d="m31.5882353 42v-6.6315789c0-4.0688422 3.3182471-7.3684211 7.4117647-7.3684211s7.4117647 3.2995789 7.4117647 7.3684211v6.6315789"/><filter id="b" height="150%" width="147.2%" x="-23.6%" y="-25%"><feMorphology in="SourceAlpha" operator="dilate" radius="2" result="shadowSpreadOuter1"/><feOffset dx="0" dy="0" in="shadowSpreadOuter1" result="shadowOffsetOuter1"/><feMorphology in="SourceAlpha" operator="erode" radius="2.5" result="shadowInner"/><feOffset dx="0" dy="0" in="shadowInner" result="shadowInner"/><feComposite in="shadowOffsetOuter1" in2="shadowInner" operator="out" result="shadowOffsetOuter1"/><feColorMatrix in="shadowOffsetOuter1" type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/></filter></defs><g fill="none" fill-rule="evenodd" transform="translate(17 12)"><path d="m47.9487179 7.01694915h7.0512821v-1.40338983c0-3.10008813-2.5257692-5.61355932-5.6410256-5.61355932h-15.5128206" fill="#d8d8d8" stroke="#7e818d"/><path d="m19.8025686 53.3288136h-19.8025686v-47.71525428c0-3.10008813 2.52576923-5.61355932 5.64102564-5.61355932h44.47384616c-3.3916667 0-6.3969231 2.41944407-6.3969231 5.78898305v17.50337005m0 30.0364605h-8.4615384" fill="#fff" stroke="#7e818d"/><g stroke-linejoin="round"><use fill="#000" filter="url(#b)" xlink:href="#a"/><use stroke="#7e818d" xlink:href="#a"/></g><path d="m53 63.173913c0 1.008-.8064 1.826087-1.8 1.826087h-23.4c-.9936 0-1.8-.818087-1.8-1.826087v-17.347826c0-1.008.8064-1.826087 1.8-1.826087h23.4c.9936 0 1.8.818087 1.8 1.826087z" fill="#e7e7e7"/><g stroke="#7e818d"><path d="m53 63.173913c0 1.008-.8064 1.826087-1.8 1.826087h-23.4c-.9936 0-1.8-.818087-1.8-1.826087v-17.347826c0-1.008.8064-1.826087 1.8-1.826087h23.4c.9936 0 1.8.818087 1.8 1.826087z" stroke-linejoin="round"/><path d="m38.6603857 49.102901c-1.2408899.3046041-2.2507537 1.358719-2.5526627 2.6629786-.4042956 1.7427048.3701667 3.3257233 1.641685 4.1066175v3.2814172c0 1.0190393.7840884 1.8460857 1.7501974 1.8460857.966984 0 1.7501973-.8270464 1.7501973-1.8460857v-3.2814172c1.0422425-.6396687 1.7501973-1.8174713 1.7501973-3.1798825 0-2.3279141-2.0424803-4.1527697-4.3396143-3.5897136z" fill="#fff" stroke-linejoin="round"/><path d="m7.051282 14.033898h29.615385"/><path d="m7.051282 19.647458h29.615385"/><path d="m7.051282 25.261017h18.333333"/><path d="m11.282051 42.101695h7.051282"/><path d="m7.051282 42.101695h2.820513"/></g></g></svg>
|
assets/images/list_radar_tc.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg height="89" viewBox="0 0 89 89" width="89" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd" transform="translate(17 13)"><g stroke="#7e818d"><path d="m47.9487179 7.01694915h7.0512821v-1.40338983c0-3.10008813-2.5257692-5.61355932-5.6410256-5.61355932h-15.5128206" fill="#d8d8d8"/><path d="m19.9443891 53.3288136h-19.9443891v-47.71525428c0-3.10008813 2.52576923-5.61355932 5.64102564-5.61355932h44.47384616c-3.3916667 0-6.3969231 2.41944407-6.3969231 5.78898305v17.50337005m0 30.0364605h-8.4615384" fill="#fff"/><path d="m7.051282 14.033898h29.615385"/><path d="m7.051282 19.647458h29.615385"/><path d="m7.051282 25.261017h18.333333"/><path d="m11.282051 42.101695h7.051282"/><path d="m7.051282 42.101695h2.820513"/></g><path d="m39.0081053 29-14.0081053 5.9148436v14.0477537c0 6.6046623 13.2226316 13.8296438 14 14.0374027.7781053-.2077589 14-7.9377202 14-13.2980472v-14.7871092z" fill="#e7e7e7"/><path d="m39.0081053 29-14.0081053 5.9148436v14.0477537c0 6.6046623 13.2226316 13.8296438 14 14.0374027.7781053-.2077589 14-7.9377202 14-13.2980472v-14.7871092z" stroke="#7e818d" stroke-linejoin="round"/><path d="m33 46.6556654 4.1042805 4.3443346 9.8957195-12" stroke="#7e818d" stroke-linejoin="round"/></g></svg>
|
assets/images/modals/modal_almost_there.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg height="124" viewBox="0 0 371 124" width="371" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="a" d="m23.5995742 40.9132972-6.5269404 6.5531046v25.3627558h6.5269404zm-3.764931-16.9684197c2.6348039 0 4.7696192-2.123861 4.7696192-4.7402544 0-2.6169847-2.1348153-4.7384806-4.7696192-4.7384806-2.6365706 0-4.7713859 2.1214959-4.7713859 4.7384806 0 2.6163934 2.1348153 4.7402544 4.7713859 4.7402544zm19.8328765-4.4434342c0 4.8005645-1.7596768 9.1919664-4.6918825 12.5912084l4.212506 56.1989473h-37.65637636l4.0823559-55.216839c-3.47518497-3.5092191-5.61412274-8.2914541-5.61412274-13.5733167 0-10.77244544 8.87788737-19.5014433 19.8346432-19.5014433 10.9567559 0 19.8328765 8.72899786 19.8328765 19.5014433z"/><filter id="b" height="107.9%" width="117.6%" x="-8.8%" y="-4%"><feMorphology in="SourceAlpha" operator="dilate" radius="1.5" result="shadowSpreadOuter1"/><feOffset dx="0" dy="0" in="shadowSpreadOuter1" result="shadowOffsetOuter1"/><feComposite in="shadowOffsetOuter1" in2="SourceAlpha" operator="out" result="shadowOffsetOuter1"/><feColorMatrix in="shadowOffsetOuter1" type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/></filter></defs><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><g stroke="#7e818d"><path d="m151 60.6575186v58.3424814c0 1.656854-1.343146 3-3 3h-145c-1.65685425 0-3-1.343146-3-3v-116c0-1.65685425 1.34314575-3 3-3h145c1.656854 0 3 1.34314575 3 3v27.0786124" stroke-linecap="round" stroke-linejoin="round"/><path d="m12.5 13.5h5" stroke-linecap="round" stroke-linejoin="round"/><path d="m21.5 13.5h5" stroke-linecap="round" stroke-linejoin="round"/><path d="m30.5 13.5h5" stroke-linecap="round" stroke-linejoin="round"/><path d="m.5 26.5h45" stroke-linecap="square"/><path d="m105.5 26.5h45" stroke-linecap="round" stroke-linejoin="round"/></g><g transform="translate(53 14)"><use fill="#000" filter="url(#b)" xlink:href="#a"/><use fill="#1cc691" fill-rule="evenodd" stroke="#7e818d" xlink:href="#a"/></g><rect height="122" rx="3" stroke="#7e818d" width="151" x="218"/><path d="m218.5 26.5h45" stroke="#7e818d" stroke-linecap="round" stroke-linejoin="round"/><path d="m323.5 26.5h45" stroke="#7e818d" stroke-linecap="round" stroke-linejoin="round"/><rect fill="#fff" height="50" rx="3" stroke="#7e818d" width="136" x="107" y="50"/><g stroke="#7e818d" stroke-linecap="round" stroke-linejoin="round"><path d="m153.5 64.5h27" opacity=".468442"/><g transform="translate(136 30.5)"><path d="m10.5 7h29"/><path d="m38.1502072 2.5v9h-9" transform="matrix(.70710678 -.70710678 .70710678 .70710678 4.90617 25.844542)"/><path d="m.5 7h6"/></g><g transform="translate(181 107.795455)"><path d="m7.266667 4.704545h15.466666"/><path d="m22.1855545 1.56818182v6.27272727h-6.2727273" transform="matrix(.70710678 -.70710678 .70710678 .70710678 2.252763 14.847741)"/><path d="m.277778 4.704545h4.444444"/></g><path d="m206.5 64.5h15"/><path d="m185.5 64.5h15"/><path d="m153.5 74.5h33"/><path d="m190.5 74.5h19" opacity=".468442"/><path d="m153.5 79.5h19" opacity=".468442"/><path d="m153.5 84.5h24"/><path d="m181.5 84.5h16" opacity=".648597"/><path d="m153.5 69.5h14"/><path d="m172.5 69.5h14"/></g><g stroke="#7e818d"><circle cx="132" cy="75" fill="#d2ecfe" r="14"/><g stroke-linecap="round" stroke-linejoin="round" transform="translate(123 67)"><path d="m10.719983.803419-3.428571 15.111111"/><path d="m1.76638796 11.9192344.08689792-5.61626249c.01671576-1.0803492.88847004-1.95210348 1.96881924-1.96881924l5.61626251-.08689792" transform="matrix(.70710678 -.70710678 .70710678 .70710678 -4.074819 6.329007)"/><path d="m8.56995939 11.9192344.08689792-5.61626249c.01671576-1.0803492.88847004-1.95210348 1.96881929-1.96881924l5.6162625-.08689792" transform="matrix(-.70710678 -.70710678 -.70710678 .70710678 26.893997 11.139858)"/></g></g><g fill-rule="nonzero" transform="translate(258 25)"><g fill="#676767"><path d="m33 0c-18.1959228 0-33 14.8040772-33 33s14.8040772 33 33 33 33-14.8040772 33-33-14.8040772-33-33-33zm0 63.25c-16.6799317 0-30.25-13.5700683-30.25-30.25s13.5700683-30.25 30.25-30.25 30.25 13.5700683 30.25 30.25-13.5700683 30.25-30.25 30.25z"/><path d="m8.2830858 22c-1.46012055 3.3678858-2.2830858 7.0797686-2.2830858 10.9864491 0 11.1210638 6.5805715 20.6981643 16 25.0135509l-12.53260687-36z"/><path d="m21.8849214 20.9687708c0 .7521595-.6200711 1.3607973-1.3863598 1.3607973h-.7997968l7.7735658 23.6704319c1.4168218-3.9656147 2.8745982-8.086711 4.0059233-11.3775749l-4.409545-12.292857h-1.0247081c-.7662888 0-1.3863598-.6086378-1.3863598-1.3607973s.620071-1.3607974 1.3863598-1.3607974h12.4772381c.7662887 0 1.3863598.6086379 1.3863598 1.3607974s-.6200711 1.3607973-1.3863598 1.3607973h-.5425622l7.7735659 23.6704319c1.6111017-4.5076412 3.2858352-9.2451829 4.4582841-12.7003322.5320696-2.6112958-1.5325775-5.8923589-3.3657134-8.8039868-1.425622-2.2657807-2.6576411-4.2232558-2.6576411-5.8936876 0-5.0963455 3.0218312-5.8578075 4.8224741-5.8578075 1.0854629 0 2.0781858.2850498 2.9903537.7249169-4.9705532-4.61611279-11.6574714-7.4691028-19.0242003-7.4691028-10.236419 0-19.1727872 5.486877-23.9757997 13.6079734h11.4985616c.7662887 0 1.3863598.6086379 1.3863598 1.3607974z"/><path d="m25 59.9702579c2.3921697.6531429 4.9003193 1.0297421 7.5011153 1.0297421 2.6001098 0 5.1074015-.3764303 7.4988847-1.0292359l-7.5078062-20.9707641c-2.6850359 7.6877168-6.2562194 17.5621376-7.4921938 20.9702579z"/><path d="m54.9005596 17c1.1103833 3.5154217-.2520206 9.4992717-1.6958342 14.1146991-.2347773.7529093-.5265908 1.6547898-.8595235 2.6680633-.0318343.1382347-.0676475.2764692-.1087669.414704-.0305079.1060246-.0742799.2066809-.1273368.2992847-2.3136166 6.980683-6.3058238 18.3781651-8.1090982 23.5032489 9.4197723-4.3196655 16-13.9019787 16-25.0291984 0-5.9581826-1.9035854-11.4635795-5.0994404-15.9708016z"/></g><path d="m33 0c-18.1959228 0-33 14.8040772-33 33s14.8040772 33 33 33 33-14.8040772 33-33-14.8040772-33-33-33z"/></g><path d="m227.5 13.5h5" stroke="#7e818d" stroke-linecap="round" stroke-linejoin="round"/><path d="m236.5 13.5h5" stroke="#7e818d" stroke-linecap="round" stroke-linejoin="round"/><path d="m245.5 13.5h5" stroke="#7e818d" stroke-linecap="round" stroke-linejoin="round"/></g></svg>
|
assets/images/modals/modal_no_website_found.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg height="124" viewBox="0 0 176 124" width="176" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="a" d="m23.6 40.913-6.527 6.553v25.364h6.527zm-3.765-16.968c2.634 0 4.77-2.124 4.77-4.74 0-2.617-2.136-4.739-4.77-4.739-2.637 0-4.772 2.122-4.772 4.739 0 2.616 2.135 4.74 4.772 4.74zm19.833-4.445c0 4.801-1.76 9.192-4.692 12.592l4.212 56.199h-37.656l4.082-55.217c-3.474-3.509-5.614-8.291-5.614-13.574 0-10.77 8.878-19.5 19.835-19.5 10.955 0 19.833 8.729 19.833 19.501z"/><filter id="b" height="107.9%" width="117.6%" x="-8.8%" y="-4%"><feMorphology in="SourceAlpha" operator="dilate" radius="1.5" result="shadowSpreadOuter1"/><feOffset in="shadowSpreadOuter1" result="shadowOffsetOuter1"/><feComposite in="shadowOffsetOuter1" in2="SourceAlpha" operator="out" result="shadowOffsetOuter1"/><feColorMatrix in="shadowOffsetOuter1" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/></filter></defs><g fill="none" fill-rule="evenodd"><g stroke="#7e818d"><path d="m152 92.634v27.366a3 3 0 0 1 -3 3h-145a3 3 0 0 1 -3-3v-116a3 3 0 0 1 3-3h145a3 3 0 0 1 3 3v27.079" stroke-linecap="round" stroke-linejoin="round"/><g stroke-linecap="round" stroke-linejoin="round"><path d="m169.496 50.386c-4.31-5.126-10.773-8.386-17.996-8.386-12.979 0-23.5 10.521-23.5 23.5s10.521 23.5 23.5 23.5c12.061 0 22-9.087 23.345-20.788.102-.89.155-1.795.155-2.712m-.945-6.617a23.376 23.376 0 0 0 -2.508-5.652" fill="#fff"/><path d="m142.528 56.5 17.944 18m0-18-17.944 18"/></g><path d="m13.5 14.5h5m4 0h5m4 0h5" stroke-linecap="round" stroke-linejoin="round"/><path d="m1.5 27.5h45" stroke-linecap="square"/><path d="m106.5 27.5h45" stroke-linecap="round" stroke-linejoin="round"/></g><g transform="translate(54 15)"><use fill="#000" filter="url(#b)" xlink:href="#a"/><use fill="#1cc691" stroke="#7e818d" xlink:href="#a"/></g></g></svg>
|
assets/images/modals/modal_pp_created.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg height="132" viewBox="0 0 133 132" width="133" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="a" d="m63.1764706 84v-13.2631579c0-8.1376842 6.6364941-14.7368421 14.8235294-14.7368421s14.8235294 6.5991579 14.8235294 14.7368421v13.2631579"/><filter id="b" height="148.2%" width="145.5%" x="-22.8%" y="-24.1%"><feMorphology in="SourceAlpha" operator="dilate" radius="3.75" result="shadowSpreadOuter1"/><feOffset dx="0" dy="0" in="shadowSpreadOuter1" result="shadowOffsetOuter1"/><feMorphology in="SourceAlpha" operator="erode" radius="4" result="shadowInner"/><feOffset dx="0" dy="0" in="shadowInner" result="shadowInner"/><feComposite in="shadowOffsetOuter1" in2="shadowInner" operator="out" result="shadowOffsetOuter1"/><feColorMatrix in="shadowOffsetOuter1" type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/></filter></defs><g fill="none" fill-rule="evenodd"><g transform="translate(22 1)"><path d="m95.8974359 14.0338983h14.1025641v-2.8067797c0-6.20017623-5.051538-11.2271186-11.2820513-11.2271186h-31.025641" fill="#d8d8d8" stroke="#7e818d" stroke-width="1.5"/><path d="m39.6051373 106.657627h-39.6051373v-95.4305084c0-6.20017623 5.05153846-11.2271186 11.2820513-11.2271186h88.9476927c-6.7833337 0-12.7938466 4.83888814-12.7938466 11.5779661v35.00674m0 60.0729209h-16.9230769" fill="#fff" stroke="#7e818d" stroke-width="1.5"/><g stroke-linejoin="round"><use fill="#000" filter="url(#b)" xlink:href="#a"/><use stroke="#7e818d" stroke-width="1.5" xlink:href="#a"/></g><g stroke="#7e818d" stroke-width="1.5"><path d="m106 126.347826c0 2.016-1.6128 3.652174-3.6 3.652174h-46.8c-1.9872 0-3.6-1.636174-3.6-3.652174v-34.6956521c0-2.016 1.6128-3.6521739 3.6-3.6521739h46.8c1.9872 0 3.6 1.6361739 3.6 3.6521739z" fill="#e7e7e7" stroke-linejoin="round"/><path d="m106 126.347826c0 2.016-1.6128 3.652174-3.6 3.652174h-46.8c-1.9872 0-3.6-1.636174-3.6-3.652174v-34.6956521c0-2.016 1.6128-3.6521739 3.6-3.6521739h46.8c1.9872 0 3.6 1.6361739 3.6 3.6521739z" stroke-linejoin="round"/><path d="m77.3207715 98.205802c-2.4817798.6092083-4.5015075 2.717438-5.1053256 5.325957-.8085911 3.48541.7403335 6.651447 3.2833702 8.213235v6.562835c0 2.038078 1.5681768 3.692171 3.5003946 3.692171 1.9339681 0 3.5003947-1.654093 3.5003947-3.692171v-6.562835c2.084485-1.279337 3.5003946-3.634942 3.5003946-6.359765 0-4.655828-4.0849605-8.3055393-8.6792285-7.179427z" fill="#fff" stroke-linejoin="round"/><path d="m14.102564 28.067797h59.230769"/><path d="m14.102564 39.294915h59.230769"/><path d="m14.102564 50.522034h36.666667"/><path d="m22.564103 84.20339h14.102564"/><path d="m14.102564 84.20339h5.641026"/></g></g><g transform="translate(0 32)"><circle cx="21" cy="21" fill="#1cc691" r="21"/><path d="m26.1451613 21.1818028-9.7550986-.0190301.0629524-3.6605419" stroke="#fff" stroke-linecap="round" stroke-width="2" transform="matrix(.64278761 -.76604444 .76604444 .64278761 -7.21979 23.201144)"/></g></g></svg>
|
assets/images/modals/modal_sync.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg height="166" viewBox="0 0 176 166" width="176" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="a" d="m25.896543 38.0427092v-6.9475588c0-4.2627133 3.4884248-7.7195098 7.7918802-7.7195098 4.3034555 0 7.7918802 3.4567965 7.7918802 7.7195098v6.9475588"/><filter id="b" height="120.5%" width="119.3%" x="-9.6%" y="-10.2%"><feMorphology in="SourceAlpha" operator="dilate" radius="1" result="shadowSpreadOuter1"/><feOffset dx="0" dy="0" in="shadowSpreadOuter1" result="shadowOffsetOuter1"/><feMorphology in="SourceAlpha" operator="erode" radius="1.5" result="shadowInner"/><feOffset dx="0" dy="0" in="shadowInner" result="shadowInner"/><feComposite in="shadowOffsetOuter1" in2="shadowInner" operator="out" result="shadowOffsetOuter1"/><feColorMatrix in="shadowOffsetOuter1" type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/></filter><path id="c" d="m45.8345894 54.5730535c0 .8690239-.6981524 1.5743186-1.558376 1.5743186h-20.2588885c-.8602236 0-1.5583761-.7052947-1.5583761-1.5743186v-14.9560258c0-.8690238.6981525-1.5743185 1.5583761-1.5743185h20.2588885c.8602236 0 1.558376.7052947 1.558376 1.5743185z"/><filter id="d" height="155.2%" width="142.8%" x="-21.4%" y="-27.6%"><feMorphology in="SourceAlpha" operator="dilate" radius="2" result="shadowSpreadOuter1"/><feOffset dx="0" dy="0" in="shadowSpreadOuter1" result="shadowOffsetOuter1"/><feComposite in="shadowOffsetOuter1" in2="SourceAlpha" operator="out" result="shadowOffsetOuter1"/><feColorMatrix in="shadowOffsetOuter1" type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/></filter><circle id="e" cx="9.515358" cy="9.515358" r="9.515358"/><filter id="f" height="136.8%" width="136.8%" x="-18.4%" y="-18.4%"><feMorphology in="SourceAlpha" operator="dilate" radius="1.5" result="shadowSpreadOuter1"/><feOffset dx="0" dy="0" in="shadowSpreadOuter1" result="shadowOffsetOuter1"/><feComposite in="shadowOffsetOuter1" in2="SourceAlpha" operator="out" result="shadowOffsetOuter1"/><feColorMatrix in="shadowOffsetOuter1" type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/></filter><path id="g" d="m25.0275937 6.36696564c-.2370679-.40640206-.6773368-.7113165-1.1515854-.77905018-.5078897-.06762078-.9820255.06784657-1.3545607.37264812-.609716.54175652-1.3885404.81280412-2.2013445.81280412-1.8626761 0-3.3866839-1.52400773-3.3866839-3.38668385 0-.33878127.0678466-.7113165.1693342-1.01600516.1355803-.47413573.0678466-.9822512-.1693342-1.38865326-.2710475-.4402689-.7113164-.7113165-1.1852264-.81280413-.7113165-.10160051-1.4564998-.1692213-2.2014574-.1692213-7.4846842 0-13.5467354 6.0620512-13.5467354 13.5467354 0 7.4844584 6.0620512 13.5467354 13.5467354 13.5467354s13.5467354-6.062277 13.5467354-13.5467354c0-2.5400129-.7113165-5.01240499-2.0658771-7.17976976z"/><filter id="h" height="125.8%" width="125.8%" x="-12.9%" y="-12.9%"><feMorphology in="SourceAlpha" operator="dilate" radius="1.5" result="shadowSpreadOuter1"/><feOffset dx="0" dy="0" in="shadowSpreadOuter1" result="shadowOffsetOuter1"/><feComposite in="shadowOffsetOuter1" in2="SourceAlpha" operator="out" result="shadowOffsetOuter1"/><feColorMatrix in="shadowOffsetOuter1" type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/></filter><path id="i" d="m39.8242814 68.7655317-11.0142118 11.0142118v42.6287665h11.0142118zm-6.353321-28.5198819c4.4462315 0 8.0487325-3.5697058 8.0487325-7.9672414 0-4.3985294-3.602501-7.96426-8.0487325-7.96426-4.4492128 0-8.0517138 3.5657306-8.0517138 7.96426 0 4.3975356 3.602501 7.9672414 8.0517138 7.9672414zm33.4679791-7.4683571c0 8.0686083-2.9694546 15.4495116-7.9175517 21.1628296l7.1086039 94.4570777h-63.54513517l6.88897559-92.8063869c-5.86437463-5.8981636-9.47383212-13.9359643-9.47383212-22.8135204 0-18.1059213 14.9814349-32.7772927 33.4709604-32.7772927s33.4679791 14.6713714 33.4679791 32.7772927z"/><filter id="j" height="108.8%" width="119.4%" x="-9.7%" y="-4.4%"><feMorphology in="SourceAlpha" operator="dilate" radius="2.5" result="shadowSpreadOuter1"/><feOffset dx="0" dy="0" in="shadowSpreadOuter1" result="shadowOffsetOuter1"/><feComposite in="shadowOffsetOuter1" in2="SourceAlpha" operator="out" result="shadowOffsetOuter1"/><feColorMatrix in="shadowOffsetOuter1" type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/></filter></defs><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><g transform="matrix(.96592583 .25881905 -.25881905 .96592583 122.94563 9.8)"><g stroke="#7e818d"><path d="m41.3275215 5.95849663h6.1112786v-1.19169933c0-2.63246381-2.18906-4.7667973-4.8890229-4.7667973h-13.4448129"/><path d="m6.18767 12.146166h25.438197"/><path d="m6.18767 16.958798h25.438197"/><path d="m6.18767 21.77143h15.812933"/><path d="m9.625264 36.438499h6.187669"/><path d="m6.18767 36.438499h2.520902"/><path d="m23.1584887 45.962452h-23.1584887v-41.12429916c0-2.67186991 2.18299227-4.83815284 4.8754713-4.83815284h38.4382157c-2.9313771 0-5.5287844 2.08524387-5.5287844 4.98934511v15.08561229m0 25.8874946h-7.313207"/></g><g stroke-linejoin="round"><use fill="#000" filter="url(#b)" xlink:href="#a"/><use stroke="#7e818d" xlink:href="#a"/></g><g stroke-linejoin="round"><use fill="#000" filter="url(#d)" xlink:href="#c"/><use fill="#d2ecfe" fill-rule="evenodd" stroke="#7e818d" xlink:href="#c"/></g><path d="m33.2029049 42.4854282c-1.0562626.2617763-1.9158726 1.1676812-2.1728618 2.2885599-.3441419 1.497678.3150911 2.8581218 1.397425 3.5292212v2.8200452c0 .8757609.6674269 1.5865233 1.4897922 1.5865233.8231101 0 1.4897921-.7107624 1.4897921-1.5865233v-2.8200452c.8871712-.5497304 1.4897921-1.5619322 1.4897921-2.7327865 0-2.0006059-1.7385874-3.5688842-3.6939396-3.0849946z" fill="#fff" stroke="#7e818d" stroke-linejoin="round"/></g><g transform="matrix(.96592583 -.25881905 .25881905 .96592583 108.307092 94.439528)"><g stroke="#7e818d"><path d="m0 42.4191436v8.0220107c0 4.4297542 8.66615643 8.0220106 20.4537299 8.0220106 11.7875735 0 20.4537299-3.5922564 20.4537299-8.0220106v-8.0220107" fill="#ededed"/><path d="m20.4537299 51.4964562c11.7875735 0 20.4537299-3.5922564 20.4537299-8.0220107 0-4.4297542-8.6661564-8.0220106-20.4537299-8.0220106-11.78757347 0-20.4537299 3.5922564-20.4537299 8.0220106 0 4.4297543 8.66615643 8.0220107 20.4537299 8.0220107z" fill="#ededed"/><path d="m0 31.546729v8.0220107c0 4.4297543 8.66615643 8.0220106 20.4537299 8.0220106 11.7875735 0 20.4537299-3.5922563 20.4537299-8.0220106v-8.0220107" fill="#fff"/><path d="m20.4537299 39.6287975c11.7875735 0 20.4537299-3.5922564 20.4537299-8.0220106 0-4.4297543-8.6661564-8.0220107-20.4537299-8.0220107-11.78757347 0-20.4537299 3.5922564-20.4537299 8.0220107 0 4.4297542 8.66615643 8.0220106 20.4537299 8.0220106z" fill="#fff"/><path d="m0 19.7596041v7.7860692c0 4.2994674 8.66615643 7.7860691 20.4537299 7.7860691 11.7875735 0 20.4537299-3.4866017 20.4537299-7.7860691v-7.7860692" fill="#ededed"/><path d="m20.4537299 27.7816148c11.7875735 0 20.4537299-3.4866018 20.4537299-7.7860692s-8.6661564-7.7860692-20.4537299-7.7860692c-11.78757347 0-20.4537299 3.4866018-20.4537299 7.7860692s8.66615643 7.7860692 20.4537299 7.7860692z" fill="#ededed"/><path d="m0 7.55012767v7.78606913c0 4.2994674 8.66615643 7.7860692 20.4537299 7.7860692 11.7875735 0 20.4537299-3.4866018 20.4537299-7.7860692v-7.78606913" fill="#fff"/><path d="m20.4537299 15.5721383c11.7875735 0 20.4537299-3.4866017 20.4537299-7.78606914 0-4.29946739-8.6661564-7.78606916-20.4537299-7.78606916-11.78757347 0-20.4537299 3.48660177-20.4537299 7.78606916 0 4.29946744 8.66615643 7.78606914 20.4537299 7.78606914z" fill="#fff"/></g><ellipse cx="20.45373" cy="6.606362" fill="#d9d9d9" rx="11.416035" ry="3.775064"/><g stroke="#7e818d" transform="translate(15.697049 18.403436)"><path d="m3.16174717.5v1.32809192h-2.66174717v-1.32809192z"/><path d="m7.9004788.5v1.32809192h-2.66174717v-1.32809192z" fill="#d2ecfe"/></g><g stroke="#7e818d" transform="translate(17.124053 42.374298)"><path d="m.5 12.367659h2.649033v1.241978h-2.649033z"/><path d="m.5.5h2.649033v1.241978h-2.649033z"/></g><g stroke="#7e818d" transform="matrix(-1 0 0 1 27.113084 30.14103)"><path d="m3.16174717.5v1.30395962h-2.66174717v-1.30395962z"/><path d="m5.23873163.5h2.66174717v1.30395962h-2.66174717z" fill="#fff"/></g><g transform="translate(30.819114 35.418981)"><use fill="#000" filter="url(#f)" xlink:href="#e"/><g stroke="#7e818d"><use fill="#d2ecfe" fill-rule="evenodd" xlink:href="#e"/><path d="m12.2075195 9.89144617h-5.39785947l.03878267-2.9688227" stroke-linecap="round" transform="matrix(.64278761 -.76604444 .76604444 .64278761 -3.043576 10.2871)"/></g></g></g><g transform="matrix(.95105652 .30901699 -.30901699 .95105652 17.501508 93.6)"><g stroke="#7e818d"><path d="m14.1857324 42.1737989h-14.1857324v-42.1737989h56.7429294v42.1737989h-14.2002528" stroke-linejoin="round"/><path d="m0 7.412365h56.742929" stroke-linejoin="round"/><path d="m3.833982 3.833982h2.555988" stroke-linejoin="round"/><path d="m8.43476 3.833982h2.555988" stroke-linejoin="round"/><path d="m14.057933 3.833982h2.555988" stroke-linejoin="round"/><path d="m53.4313428 10.7239512v8.2015562h-50.11975621v-8.2015562z" fill="#7c7c7c"/><path d="m46.998226 13.514786 2.875486 2.875486" stroke-linecap="square"/><path d="m.479248.479248 2.875486 2.875486" stroke-linecap="square" transform="matrix(1 0 0 -1 46.518978 16.86952)"/></g><g transform="translate(14.824729 26.071076)"><g fill-rule="nonzero"><use fill="#000" filter="url(#h)" xlink:href="#g"/><use fill="#d2ecfe" stroke="#7e818d" xlink:href="#g"/></g><path d="m17.1802608 15.133532h-7.47406096l.05369982-2.8027728" stroke="#7e818d" stroke-linecap="round" transform="matrix(.64278761 -.76604444 .76604444 .64278761 -5.717346 15.203404)"/></g></g><g stroke="#7e818d" stroke-linejoin="round" transform="matrix(.96592583 -.25881905 .25881905 .96592583 11.6 11.129219)"><path d="m36.9245662 61.8321006v-3.316566c0-2.3174769-1.9761481-4.1957939-4.2422224-4.1957939h-1.2280837v-2.797196c0-2.3174768-.6085716-2.7971959-2.8746459-2.7971959h-1.2280837v-8.3915879l6.8378826-5.5943919v-15.3845777h-6.8378826v5.5943919h-5.4703061v-5.5943919h-6.8378826v5.5943919h-5.47030613v-5.5943919h-6.83788262v15.3845777l6.83788262 5.5943919v8.3915879h-1.22808372c-2.2660743 0-2.87464585.4797191-2.87464585 2.7971959v2.797196h-1.22808372c-2.2660743 0-4.24222238 1.878317-4.24222238 4.1957939v6.9929899h30.9092968" fill="#fff"/><path d="m5.169439 53.597884h13.292844"/><path d="m25.108705 53.597884h5.169439"/><path d="m2.215474 33.498677h16.246809"/><path d="m25.108705 33.498677h8.123405"/><path d="m29.0965581 10.4218107h-10.634275v-8.18856555h13.2928438v4.09428278" fill="#d2ecfe"/><path d="m29.5396529 13.3994709h13.2928439v-6.69973544h-13.2928439z" fill="#d2ecfe"/><path d="m18.462283 16.377131v-16.377131"/></g><g transform="translate(53 12)"><use fill="#000" filter="url(#j)" xlink:href="#i"/><use fill="#1cc691" fill-rule="evenodd" stroke="#7e818d" xlink:href="#i"/></g></g></svg>
|
assets/images/pc_screen_icon.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg height="29" viewBox="0 0 36 29" width="36" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd" stroke="#7e818d" stroke-width="1.5"><path d="m.75.75h34.14v21.18h-34.14z"/><path d="m17.91 22.68v4.32" stroke-linecap="round" stroke-linejoin="round"/><path d="m9.672353 27.27h15.755294"/></g></svg>
|
assets/images/question_mark.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg height="14" viewBox="0 0 14 14" width="14" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><circle cx="7" cy="7" fill="#6e6e6e" r="7"/><text fill="#fff" font-family="HelveticaNeue-Bold, Helvetica Neue" font-size="11" font-weight="bold"><tspan x="4" y="11">?</tspan></text></g></svg>
|
assets/images/question_mark_light.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd" opacity=".43347"><circle cx="8" cy="8" fill="#6e6e6e" r="8"/><text fill="#fff" font-family="HelveticaNeue-Bold, Helvetica Neue" font-size="11" font-weight="bold"><tspan x="5" y="12">?</tspan></text></g></svg>
|
assets/images/service_cards/cons_icon.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg height="72" viewBox="0 0 68 72" width="68" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd" transform="translate(8 8)"><g stroke="#7e818d"><path d="m0 42.4926047v3.5677401c0 4.4509224 8.69539032 8.0603449 20.5227273 8.0603449 4.6844816 0 8.8776442-.5662222 12.2338134-1.5266866.786734-.2251466 1.5274752-.4719568 2.2177708-.7382153"/><path d="m0 30.8886346v5.1717102c0 4.4509224 8.69539032 8.0603449 20.5227273 8.0603449 3.1147823 0 6.0123466-.2503337 8.591076-.7004445" fill="#fff"/><path d="m0 21.0668787v4.2995006c0 4.3200129 8.69539032 7.8232759 20.5227273 7.8232759 11.8273369 0 20.5227272-3.503263 20.5227272-7.8232759v-4.2995006"/><path d="m0 7.5862069v7.8232759c0 4.3200129 8.69539032 7.8232758 20.5227273 7.8232758 11.8273369 0 20.5227272-3.5032629 20.5227272-7.8232758v-7.8232759" fill="#ededed"/><path d="m20.5227273 15.6465517c11.8273369 0 20.5227272-3.5032629 20.5227272-7.82327584 0-4.32001293-8.6953903-7.82327586-20.5227272-7.82327586-11.82733698 0-20.5227273 3.50326293-20.5227273 7.82327586 0 4.32001294 8.69539032 7.82327584 20.5227273 7.82327584z" fill="#ededed"/></g><circle cx="42.510876" cy="41.510876" fill="#d2ecfe" r="9.510876"/><circle cx="42.510876" cy="41.510876" r="9.510876" stroke="#7e818d"/><path d="m46.3060892 42.5050534h-7.2727273l.0522533-4" stroke="#7e818d" stroke-linecap="round" transform="matrix(.64278761 -.76604444 .76604444 .64278761 -15.786516 47.155813)"/></g></svg>
|
assets/images/service_cards/cs_icon.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg height="72" viewBox="0 0 68 72" width="68" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd" transform="translate(3 8)"><g stroke="#7e818d" stroke-linejoin="round"><path d="m10.3863636 45.3291667h-10.3863636v-45.3291667h61v45.3291667h-11" fill="#fff"/><path d="m0 8h61"/><path d="m4 4h2.772727"/><path d="m9 4h2.772727"/><path d="m14 4h2.772727"/></g><path d="m3 11h55v12h-55z" fill="#efefef"/><g stroke="#bdbdbd" stroke-linecap="square" transform="translate(49 15)"><path d="m.5.5 3 3"/><path d="m.5.5 3 3" transform="matrix(1 0 0 -1 0 4)"/></g><g transform="translate(16 28)"><path d="m26.78875 6.815c-.25375-.435-.725-.76137083-1.2326208-.83387083-.5436292-.07237917-1.0511292.07262083-1.4498792.39887083-.6526208.57987917-1.48625.87-2.35625.87-1.99375 0-3.625-1.63125-3.625-3.625 0-.36262083.0726208-.76137083.18125-1.0875.1451208-.5075.0726208-1.05137083-.18125-1.48637083-.2901208-.47125-.7613708-.76137084-1.2686292-.87-.7613708-.10875-1.5589916-.18112917-2.3563708-.18112917-8.01137083 0-14.5 6.48862917-14.5 14.5 0 8.0111292 6.48862917 14.5 14.5 14.5 8.0113708 0 14.5-6.4888708 14.5-14.5 0-2.71875-.7613708-5.36512083-2.21125-7.685z" fill="#d2ecfe" fill-rule="nonzero"/><g stroke="#7e818d"><path d="m26.78875 6.815c-.25375-.435-.725-.76137083-1.2326208-.83387083-.5436292-.07237917-1.0511292.07262083-1.4498792.39887083-.6526208.57987917-1.48625.87-2.35625.87-1.99375 0-3.625-1.63125-3.625-3.625 0-.36262083.0726208-.76137083.18125-1.0875.1451208-.5075.0726208-1.05137083-.18125-1.48637083-.2901208-.47125-.7613708-.76137084-1.2686292-.87-.7613708-.10875-1.5589916-.18112917-2.3563708-.18112917-8.01137083 0-14.5 6.48862917-14.5 14.5 0 8.0111292 6.48862917 14.5 14.5 14.5 8.0113708 0 14.5-6.4888708 14.5-14.5 0-2.71875-.7613708-5.36512083-2.21125-7.685z" fill-rule="nonzero"/><path d="m19 16h-8l.0574786-3" stroke-linecap="round" transform="matrix(.64278761 -.76604444 .76604444 .64278761 -5.749459 16.670246)"/></g></g></g></svg>
|
assets/images/service_cards/pp_icon.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg height="72" viewBox="0 0 68 72" width="68" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="a" d="m31.5882353 42v-6.6315789c0-4.0688422 3.3182471-7.3684211 7.4117647-7.3684211s7.4117647 3.2995789 7.4117647 7.3684211v6.6315789"/><filter id="b" height="150%" width="147.2%" x="-23.6%" y="-25%"><feMorphology in="SourceAlpha" operator="dilate" radius="2" result="shadowSpreadOuter1"/><feOffset dx="0" dy="0" in="shadowSpreadOuter1" result="shadowOffsetOuter1"/><feMorphology in="SourceAlpha" operator="erode" radius="2.5" result="shadowInner"/><feOffset dx="0" dy="0" in="shadowInner" result="shadowInner"/><feComposite in="shadowOffsetOuter1" in2="shadowInner" operator="out" result="shadowOffsetOuter1"/><feColorMatrix in="shadowOffsetOuter1" type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/></filter></defs><g fill="none" fill-rule="evenodd" transform="translate(6 3)"><path d="m47.9487179 7.01694915h7.0512821v-1.40338983c0-3.10008813-2.5257692-5.61355932-5.6410256-5.61355932h-15.5128206" fill="#d8d8d8" stroke="#7e818d"/><path d="m19.8025686 53.3288136h-19.8025686v-47.71525428c0-3.10008813 2.52576923-5.61355932 5.64102564-5.61355932h44.47384616c-3.3916667 0-6.3969231 2.41944407-6.3969231 5.78898305v17.50337005m0 30.0364605h-8.4615384" fill="#fff" stroke="#7e818d"/><g stroke-linejoin="round"><use fill="#000" filter="url(#b)" xlink:href="#a"/><use stroke="#7e818d" xlink:href="#a"/></g><path d="m53 63.173913c0 1.008-.8064 1.826087-1.8 1.826087h-23.4c-.9936 0-1.8-.818087-1.8-1.826087v-17.347826c0-1.008.8064-1.826087 1.8-1.826087h23.4c.9936 0 1.8.818087 1.8 1.826087z" fill="#d2ecfe"/><g stroke="#7e818d"><path d="m53 63.173913c0 1.008-.8064 1.826087-1.8 1.826087h-23.4c-.9936 0-1.8-.818087-1.8-1.826087v-17.347826c0-1.008.8064-1.826087 1.8-1.826087h23.4c.9936 0 1.8.818087 1.8 1.826087z" stroke-linejoin="round"/><path d="m38.6603857 49.102901c-1.2408899.3046041-2.2507537 1.358719-2.5526627 2.6629786-.4042956 1.7427048.3701667 3.3257233 1.641685 4.1066175v3.2814172c0 1.0190393.7840884 1.8460857 1.7501974 1.8460857.966984 0 1.7501973-.8270464 1.7501973-1.8460857v-3.2814172c1.0422425-.6396687 1.7501973-1.8174713 1.7501973-3.1798825 0-2.3279141-2.0424803-4.1527697-4.3396143-3.5897136z" fill="#fff" stroke-linejoin="round"/><path d="m7.051282 14.033898h29.615385"/><path d="m7.051282 19.647458h29.615385"/><path d="m7.051282 25.261017h18.333333"/><path d="m11.282051 42.101695h7.051282"/><path d="m7.051282 42.101695h2.820513"/></g></g></svg>
|
assets/images/service_cards/tc_icon.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg height="72" viewBox="0 0 68 72" width="68" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd" transform="translate(6 4)"><g stroke="#7e818d"><path d="m47.9487179 7.01694915h7.0512821v-1.40338983c0-3.10008813-2.5257692-5.61355932-5.6410256-5.61355932h-15.5128206" fill="#d8d8d8"/><path d="m19.9443891 53.3288136h-19.9443891v-47.71525428c0-3.10008813 2.52576923-5.61355932 5.64102564-5.61355932h44.47384616c-3.3916667 0-6.3969231 2.41944407-6.3969231 5.78898305v17.50337005m0 30.0364605h-8.4615384" fill="#fff"/><path d="m7.051282 14.033898h29.615385"/><path d="m7.051282 19.647458h29.615385"/><path d="m7.051282 25.261017h18.333333"/><path d="m11.282051 42.101695h7.051282"/><path d="m7.051282 42.101695h2.820513"/></g><path d="m39.0081053 29-14.0081053 5.9148436v14.0477537c0 6.6046623 13.2226316 13.8296438 14 14.0374027.7781053-.2077589 14-7.9377202 14-13.2980472v-14.7871092z" fill="#d2ecfe"/><path d="m39.0081053 29-14.0081053 5.9148436v14.0477537c0 6.6046623 13.2226316 13.8296438 14 14.0374027.7781053-.2077589 14-7.9377202 14-13.2980472v-14.7871092z" stroke="#7e818d" stroke-linejoin="round"/><path d="m33 46.6556654 4.1042805 4.3443346 9.8957195-12" stroke="#7e818d" stroke-linejoin="round"/></g></svg>
|
assets/images/warning-icon.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg height="28" viewBox="0 0 29 28" width="29" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd" transform="translate(1 .5)"><text fill="#804123" font-family="HiraMaruProN-W4, Hiragino Maru Gothic ProN" font-size="13"><tspan x="12" y="17.5">!</tspan></text><circle cx="13.5" cy="13.5" r="13.5" stroke="#804123"/></g></svg>
|
assets/images/welcome_screen_bg.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg height="246" viewBox="0 0 260 246" width="260" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="a" d="m38.5014035 56.6240933v-10.3409885c0-6.344771 5.1863776-11.4899872 11.5844931-11.4899872s11.5844931 5.1452162 11.5844931 11.4899872v10.3409885"/><filter id="b" height="113.7%" width="112.9%" x="-6.5%" y="-6.9%"><feMorphology in="SourceAlpha" operator="dilate" radius="1" result="shadowSpreadOuter1"/><feOffset dx="0" dy="0" in="shadowSpreadOuter1" result="shadowOffsetOuter1"/><feMorphology in="SourceAlpha" operator="erode" radius="1.5" result="shadowInner"/><feOffset dx="0" dy="0" in="shadowInner" result="shadowInner"/><feComposite in="shadowOffsetOuter1" in2="shadowInner" operator="out" result="shadowOffsetOuter1"/><feColorMatrix in="shadowOffsetOuter1" type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/></filter><path id="c" d="m68.144077 81.2284334c0 1.2934854-1.0379706 2.3432705-2.3168986 2.3432705h-30.1196821c-1.278928 0-2.3168986-1.0497851-2.3168986-2.3432705v-22.2610696c0-1.2934853 1.0379706-2.3432705 2.3168986-2.3432705h30.1196821c1.278928 0 2.3168986 1.0497852 2.3168986 2.3432705z"/><filter id="d" height="148.2%" width="137.4%" x="-18.7%" y="-24.1%"><feMorphology in="SourceAlpha" operator="dilate" radius="2.5" result="shadowSpreadOuter1"/><feOffset dx="0" dy="0" in="shadowSpreadOuter1" result="shadowOffsetOuter1"/><feComposite in="shadowOffsetOuter1" in2="SourceAlpha" operator="out" result="shadowOffsetOuter1"/><feColorMatrix in="shadowOffsetOuter1" type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/></filter><ellipse id="e" cx="14.146855" cy="14.162991" rx="14.146855" ry="14.162991"/><filter id="f" height="124.7%" width="124.7%" x="-12.4%" y="-12.4%"><feMorphology in="SourceAlpha" operator="dilate" radius="1.5" result="shadowSpreadOuter1"/><feOffset dx="0" dy="0" in="shadowSpreadOuter1" result="shadowOffsetOuter1"/><feComposite in="shadowOffsetOuter1" in2="SourceAlpha" operator="out" result="shadowOffsetOuter1"/><feColorMatrix in="shadowOffsetOuter1" type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/></filter><path id="g" d="m37.2095025 9.47681339c-.3524581-.60490298-1.0070231-1.05874825-1.7121071-1.15956541-.7550995-.10064914-1.4600156.10098519-2.0138783.55466243-.9064886.80636928-2.0643973 1.20980599-3.272825 1.20980599-2.7693134 0-5.0351153-2.26838621-5.0351153-5.04085821 0-.50425385.1008701-1.05874825.2517557-1.51225746.2015725-.70572015.1008702-1.4620169-.2517557-2.06691988-.4029771-.65531157-1.0575421-1.05874825-1.7621226-1.20980597-1.057542-.15122574-2.1654352-.25187488-3.2729928-.25187488-11.12777275 0-20.1404614 9.02296812-20.1404614 20.1634327 0 11.1401286 9.01268865 20.1634328 20.1404614 20.1634328 11.1277728 0 20.1404614-9.0233042 20.1404614-20.1634328 0-3.7806436-1.057542-7.4606381-3.0714203-10.68661931z"/><filter id="h" height="117.4%" width="117.4%" x="-8.7%" y="-8.7%"><feMorphology in="SourceAlpha" operator="dilate" radius="1.5" result="shadowSpreadOuter1"/><feOffset dx="0" dy="0" in="shadowSpreadOuter1" result="shadowOffsetOuter1"/><feComposite in="shadowOffsetOuter1" in2="SourceAlpha" operator="out" result="shadowOffsetOuter1"/><feColorMatrix in="shadowOffsetOuter1" type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/></filter><path id="i" d="m58.9989354 102.283243-16.3173509 16.382762v63.406889h16.3173509zm-9.4123273-42.4210493c6.5870096 0 11.924048-5.3096526 11.924048-11.850636 0-6.5424617-5.3370384-11.8462015-11.924048-11.8462015-6.5914265 0-11.928465 5.3037398-11.928465 11.8462015 0 6.5409834 5.3370385 11.850636 11.928465 11.850636zm49.5821911-11.1085855c0 12.0014113-4.3991919 22.9799162-11.7297062 31.478021l10.5312651 140.4973678h-94.14094101l10.20588971-138.042097c-8.68796237-8.7730478-14.0353068-20.7286352-14.0353068-33.9332918 0-26.9311136 22.1947184-48.7536082 49.5866081-48.7536082 27.3918896 0 49.5821911 21.8224946 49.5821911 48.7536082z"/><filter id="j" height="107.2%" width="116.1%" x="-8.1%" y="-3.6%"><feMorphology in="SourceAlpha" operator="dilate" radius="3" result="shadowSpreadOuter1"/><feOffset dx="0" dy="0" in="shadowSpreadOuter1" result="shadowOffsetOuter1"/><feComposite in="shadowOffsetOuter1" in2="SourceAlpha" operator="out" result="shadowOffsetOuter1"/><feColorMatrix in="shadowOffsetOuter1" type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/></filter></defs><g fill="none" fill-rule="evenodd" opacity=".304256" transform="translate(1.855204 .193051)"><g transform="matrix(.96592583 .25881905 -.25881905 .96592583 181.925426 14.961569)"><g stroke="#7e818d"><path d="m61.4432428 8.86883389h9.0858769v-1.77376678c0-3.91825081-3.2545611-7.09506711-7.2687016-7.09506711h-19.9889292"/><path d="m9.19945 18.078777h37.819963"/><path d="m9.19945 25.242066h37.819963"/><path d="m9.19945 32.405355h23.509707"/><path d="m14.310256 54.23633h9.199451"/><path d="m9.19945 54.23633h3.747925"/><path d="m34.430631 68.4121142h-34.430631v-61.21083903c0-3.97690421 3.24554-7.20127517 7.24855389-7.20127517h57.14759891c-4.3581931 0-8.2198602 3.1037496-8.2198602 7.42631502v22.45395068m0 38.5318485h-10.8728308"/></g><g stroke-linejoin="round"><use fill="#000" filter="url(#b)" xlink:href="#a"/><use stroke="#7e818d" xlink:href="#a"/></g><g stroke-linejoin="round"><use fill="#000" filter="url(#d)" xlink:href="#c"/><use fill="#fff" fill-rule="evenodd" stroke="#7e818d" xlink:href="#c"/></g><path d="m49.3640575 63.2367909c-1.5703869.389637-2.8484028 1.7380173-3.2304786 3.4063723-.5116493 2.2291961.4684582 4.254128 2.0776064 5.2530157v4.1974535c0 1.303513.9922897 2.3614366 2.2149322 2.3614366 1.2237501 0 2.2149323-1.0579236 2.2149323-2.3614366v-4.1974535c1.3189921-.8182378 2.2149322-2.3248343 2.2149322-4.0675745 0-2.9777716-2.5848259-5.3120517-5.4919245-4.5918135z" fill="#fff" stroke="#7e818d" stroke-linejoin="round"/></g><g transform="matrix(.96592583 -.25881905 .25881905 .96592583 160.136501 140.92058)"><g stroke="#7e818d"><path d="m0 63.1381306v11.94024c0 6.5934006 12.8843138 11.9402401 30.4093603 11.9402401 17.5250466 0 30.4093603-5.3468395 30.4093603-11.9402401v-11.94024" fill="#ededed"/><path d="m30.4093603 76.6491188c17.5250466 0 30.4093603-5.3468395 30.4093603-11.94024 0-6.5934006-12.8843137-11.9402401-30.4093603-11.9402401-17.5250465 0-30.4093603 5.3468395-30.4093603 11.9402401 0 6.5934005 12.8843138 11.94024 30.4093603 11.94024z" fill="#ededed"/><path d="m0 46.9552501v11.9402401c0 6.5934005 12.8843138 11.94024 30.4093603 11.94024 17.5250466 0 30.4093603-5.3468395 30.4093603-11.94024v-11.9402401" fill="#fff"/><path d="m30.4093603 58.9848823c17.5250466 0 30.4093603-5.3468395 30.4093603-11.94024s-12.8843137-11.94024-30.4093603-11.94024c-17.5250465 0-30.4093603 5.3468395-30.4093603 11.94024s12.8843138 11.94024 30.4093603 11.94024z" fill="#fff"/><path d="m0 29.4108829v11.5890565c0 6.399477 12.8843138 11.5890565 30.4093603 11.5890565 17.5250466 0 30.4093603-5.1895795 30.4093603-11.5890565v-11.5890565" fill="#ededed"/><path d="m30.4093603 41.3511229c17.5250466 0 30.4093603-5.1895795 30.4093603-11.5890565s-12.8843137-11.5890565-30.4093603-11.5890565c-17.5250465 0-30.4093603 5.1895795-30.4093603 11.5890565s12.8843138 11.5890565 30.4093603 11.5890565z" fill="#ededed"/><path d="m0 11.237873v11.5890565c0 6.399477 12.8843138 11.5890565 30.4093603 11.5890565 17.5250466 0 30.4093603-5.1895795 30.4093603-11.5890565v-11.5890565" fill="#fff"/><path d="m30.4093603 23.178113c17.5250466 0 30.4093603-5.1895795 30.4093603-11.5890565s-12.8843137-11.5890565-30.4093603-11.5890565c-17.5250465 0-30.4093603 5.1895795-30.4093603 11.5890565s12.8843138 11.5890565 30.4093603 11.5890565z" fill="#fff"/></g><ellipse cx="30.40936" cy="9.833139" fill="#d9d9d9" opacity=".428484" rx="16.972666" ry="5.618936"/><g stroke="#7e818d" transform="translate(23.337416 27.392315)"><path d="m4.94406275.5v2.4652131h-4.44406275v-2.4652131z"/><path d="m11.9893204.5v2.4652131h-4.44406272v-2.4652131z" fill="#d2ecfe"/></g><g stroke="#7e818d" transform="translate(25.458999 63.071382)"><path d="m.5 18.164237h4.42516v2.337038h-4.42516z"/><path d="m.5.5h4.42516v2.337038h-4.42516z"/></g><g stroke="#7e818d" transform="matrix(-1 0 0 1 40.310082 44.862958)"><path d="m4.94406275.5v2.42929374h-4.44406275v-2.42929374z"/><path d="m11.9893204.5v2.42929374h-4.44406272v-2.42929374z" fill="#fff"/></g><g transform="translate(45.819982 52.718845)"><use fill="#000" filter="url(#f)" xlink:href="#e"/><g stroke="#7e818d"><use fill="#fff" fill-rule="evenodd" xlink:href="#e"/><path d="m18.1529996 14.7191926-8.0305801.004507.0601772-4.4159772" stroke-linecap="round" transform="matrix(.64278761 -.76604444 .76604444 .64278761 -4.537426 15.300881)"/></g></g></g><g transform="matrix(.95105652 .30901699 -.30901699 .95105652 25.158661 139.696541)"><g stroke="#7e818d"><path d="m21.0904832 62.772951h-21.0904832v-62.772951h84.3619327v62.772951h-21.1120713" stroke-linejoin="round"/><path d="m0 11.032822h84.361933" stroke-linejoin="round"/><path d="m5.700131 5.706632h3.800087" stroke-linejoin="round"/><path d="m12.540287 5.706632h3.800087" stroke-linejoin="round"/><path d="m20.900479 5.706632h3.800087" stroke-linejoin="round"/><path d="m79.681837 15.7176851v12.6959166h-75.00174123v-12.6959166z" fill="#7e818d" opacity=".121525"/><path d="m69.874101 20.115878 4.275098 4.279973" stroke-linecap="square"/><path d="m.712516.713329 4.275098 4.279974" stroke-linecap="square" transform="matrix(1 0 0 -1 69.161584 25.10918)"/></g><g transform="translate(22.040505 38.805097)"><g fill-rule="nonzero"><use fill="#000" filter="url(#h)" xlink:href="#g"/><use fill="#fff" stroke="#7e818d" xlink:href="#g"/></g><path d="m25.5479053 22.520551-11.119416.0062407.0822313-4.1690006" stroke="#7e818d" stroke-linecap="round" transform="matrix(.64278761 -.76604444 .76604444 .64278761 -8.519672 22.614087)"/></g></g><g stroke="#7e818d" stroke-linejoin="round" transform="matrix(.96592583 -.25881905 .25881905 .96592583 16.356964 16.919922)"><path d="m54.8971969 92.0330519v-4.9364924c0-3.4494132-2.9380167-6.2451658-6.307078-6.2451658h-1.8258401v-4.1634438c0-3.4494133-.9047871-4.1634439-4.2738484-4.1634439h-1.8258401v-12.4903316l10.1661476-8.3268877v-22.8989413h-10.1661476v8.3268878h-8.1329181v-8.3268878h-10.1661475v8.3268878h-8.1329181v-8.3268878h-10.16614757v22.8989413l10.16614757 8.3268877v12.4903316h-1.8258401c-3.36906131 0-4.27384844.7140306-4.27384844 4.1634439v4.1634438h-1.82584011c-3.3690613 0-6.30707795 2.7957526-6.30707795 6.2451658v10.4086097h45.9540606" fill="#fff"/><path d="m7.685608 79.776957h19.76299"/><path d="m37.330094 79.776957h7.685607"/><path d="m3.293832 49.860598h24.154766"/><path d="m37.330094 49.860598h12.077383"/><path d="m43.2589911 15.512186h-15.8103927v-12.18814614h19.7629909v6.09407307" fill="#fff"/><path d="m43.9177575 19.9442391h19.7629909v-9.97211953h-19.7629909z" fill="#fff"/><path d="m27.448598 24.376292v-24.376292"/></g><g transform="translate(77.104615 17.844224)"><use fill="#000" filter="url(#j)" xlink:href="#i"/><use fill="#fff" fill-rule="evenodd" stroke="#7e818d" xlink:href="#i"/></g></g></svg>
|
assets/images/white_checkmark.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg height="7" viewBox="0 0 8 7" width="8" xmlns="http://www.w3.org/2000/svg"><path d="m14.8113573 11.5935296h-5.33333337l.03831907-1.99999999" fill="none" stroke="#fff" stroke-linecap="round" stroke-width="2" transform="matrix(.64278761 -.76604444 .76604444 .64278761 -12.276881 5.087513)"/></svg>
|
assets/images/white_x.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg height="7" viewBox="0 0 7 7" width="7" xmlns="http://www.w3.org/2000/svg"><g style="stroke:#fff;stroke-width:2;fill:none;fill-rule:evenodd;stroke-linecap:round;stroke-linejoin:round" transform="translate(1 1)"><path d="m.5.5 4 4"/><path d="m.5.5 4 4" transform="matrix(-1 0 0 1 5 0)"/></g></svg>
|
assets/js/admin.js
ADDED
@@ -0,0 +1,732 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
// main function
|
2 |
+
var _iub = _iub || [];
|
3 |
+
|
4 |
+
|
5 |
+
function circularBar(el) {
|
6 |
+
el.innerHTML = `
|
7 |
+
<svg xmlns="http://www.w3.org/2000/svg"
|
8 |
+
viewBox="0 0 32 32" >
|
9 |
+
<circle class="circle1" cy="16" cx="16" r="13" />
|
10 |
+
<circle class="circle2" cy="16" cx="16" r="13" />
|
11 |
+
</svg>
|
12 |
+
<span></span>
|
13 |
+
`;
|
14 |
+
|
15 |
+
var perc = parseInt(el.dataset.perc);
|
16 |
+
var circle = el.querySelector('.circle2');
|
17 |
+
var color = '#CF7463';
|
18 |
+
|
19 |
+
el.querySelector('span').innerHTML = perc + '<b>%</b>';
|
20 |
+
|
21 |
+
if (perc >= 50)
|
22 |
+
color = '#F5B350';
|
23 |
+
if (perc > 80)
|
24 |
+
color = '#1CC691';
|
25 |
+
|
26 |
+
var strokeDashArray = parseInt(getComputedStyle(circle, null).getPropertyValue("stroke-dasharray"));
|
27 |
+
var strokeDashOffset = strokeDashArray - ((strokeDashArray * perc) / 100);
|
28 |
+
|
29 |
+
circle.style.strokeDashoffset = strokeDashOffset;
|
30 |
+
el.style.color = color;
|
31 |
+
|
32 |
+
}
|
33 |
+
document.addEventListener("DOMContentLoaded", function () {
|
34 |
+
// search all .circularBar and initialize them
|
35 |
+
document.querySelectorAll(".circularBar").forEach(function (el) {
|
36 |
+
circularBar(el);
|
37 |
+
});
|
38 |
+
});
|
39 |
+
|
40 |
+
;(function (global, $) {
|
41 |
+
//es5 strict mode
|
42 |
+
"use strict";
|
43 |
+
|
44 |
+
var IUB = global.IUB = global.IUB || {};
|
45 |
+
|
46 |
+
$(document).ready(function () {
|
47 |
+
IUB.ELEMS = {body: $('body')};
|
48 |
+
IUB.ELEMS.body.on('click', '.show-modal', showModal);
|
49 |
+
IUB.ELEMS.body.on('click', '.show-rating-modal', showRatingModal);
|
50 |
+
IUB.ELEMS.body.on('click', '.hide-modal', hideModal);
|
51 |
+
IUB.ELEMS.body.on('click', hideAllModals);
|
52 |
+
IUB.ELEMS.body.on('click', '.section-checkbox-control', sectionCheckboxShowAndHide);
|
53 |
+
IUB.ELEMS.body.on('click', '.section-radio-control', sectionRadioControl);
|
54 |
+
IUB.ELEMS.body.on('click', '.active-class-control', activeClassControl);
|
55 |
+
IUB.ELEMS.body.on('click', '.show-class-control', showClassControl);
|
56 |
+
IUB.ELEMS.body.on('submit', '.ajax-form', submitAjaxForm);
|
57 |
+
IUB.ELEMS.body.on('submit', '.ajax-form-to-options', submitAjaxFormToOptions);
|
58 |
+
IUB.ELEMS.body.on('click', '.service-checkbox', toggleServiceSetting);
|
59 |
+
IUB.ELEMS.body.on('click', '#alert-close', hideAlertDiv);
|
60 |
+
IUB.ELEMS.body.on('click', '#public_api_button', savePublicApiKey);
|
61 |
+
IUB.ELEMS.body.on('click', '.auto-detect-forms', reloadAutoDetectForms);
|
62 |
+
IUB.ELEMS.body.on('click', '.add-custom-section', addCustomSection);
|
63 |
+
IUB.ELEMS.body.on('click', '.remove-custom-section', removeCustomSection);
|
64 |
+
IUB.ELEMS.body.on('click', '.required-control', requiredControl);
|
65 |
+
IUB.ELEMS.body.on('click', '.update-button-style', updateButtonStyle);
|
66 |
+
IUB.ELEMS.body.on('change keyup past', '.iub-embed-code-tc', syncEmbedCode);
|
67 |
+
IUB.ELEMS.body.on('change click', '.iub-toggle-elements-status', toggleCheckboxes);
|
68 |
+
});
|
69 |
+
|
70 |
+
function showModal(evt) {
|
71 |
+
$(".modal").removeClass('shown');
|
72 |
+
var elId = $(evt.target).data('modal-name');
|
73 |
+
$(elId).addClass('shown');
|
74 |
+
}
|
75 |
+
|
76 |
+
function showRatingModal() {
|
77 |
+
$('#modal-rating').addClass('shown')
|
78 |
+
}
|
79 |
+
|
80 |
+
function hideModal(evt) {
|
81 |
+
var elId = $(evt.target).data('modal-name');
|
82 |
+
$(elId).removeClass('shown');
|
83 |
+
}
|
84 |
+
|
85 |
+
function hideAllModals(evt) {
|
86 |
+
if (
|
87 |
+
!evt.target.matches(".show-modal") &&
|
88 |
+
!evt.target.closest(".modal__window") &&
|
89 |
+
!evt.target.closest(".show-rating-modal")
|
90 |
+
) {
|
91 |
+
$(".modal").removeClass('shown');
|
92 |
+
}
|
93 |
+
}
|
94 |
+
|
95 |
+
function sectionCheckboxShowAndHide(evt) {
|
96 |
+
if ($(evt.target).is(':checked')) {
|
97 |
+
$($(evt.target).data('section-name')).show();
|
98 |
+
} else {
|
99 |
+
$($(evt.target).data('section-name')).hide();
|
100 |
+
}
|
101 |
+
}
|
102 |
+
|
103 |
+
function sectionRadioControl(evt) {
|
104 |
+
if ($(evt.target).is(':checked')) {
|
105 |
+
$($(evt.target).data('section-group')).hide();
|
106 |
+
$($(evt.target).data('section-name')).show();
|
107 |
+
}
|
108 |
+
}
|
109 |
+
|
110 |
+
function activeClassControl(evt) {
|
111 |
+
$($(evt.target).data('element-name')).removeClass('inactive');
|
112 |
+
}
|
113 |
+
|
114 |
+
function showClassControl(evt) {
|
115 |
+
$($(evt.target).data('section-name')).show();
|
116 |
+
}
|
117 |
+
|
118 |
+
|
119 |
+
function submitAjaxForm(evt){
|
120 |
+
evt.stopImmediatePropagation();
|
121 |
+
evt.preventDefault();
|
122 |
+
|
123 |
+
var formData= $($(evt.target)).serialize();
|
124 |
+
var formButton= $($(evt.target)).find('button[type=submit]');
|
125 |
+
|
126 |
+
var redirect= $($(evt.target)).find('input[name="_redirect"]').val();
|
127 |
+
var showModal= $($(evt.target)).find('input[name="show_modal"]').val();
|
128 |
+
|
129 |
+
$.ajax({
|
130 |
+
type: "POST",
|
131 |
+
dataType: "json",
|
132 |
+
url: iub_js_vars['site_url'] + "/wp-admin/admin-ajax.php",
|
133 |
+
data : formData,
|
134 |
+
beforeSend: function() {
|
135 |
+
formButton.addClass("btn-loading");
|
136 |
+
formButton.prop('disabled', true);
|
137 |
+
},
|
138 |
+
success: function(response){
|
139 |
+
formButton.removeClass("btn-loading");
|
140 |
+
formButton.prop('disabled', false);
|
141 |
+
if (response.status === 'done') {
|
142 |
+
if(typeof(showModal) != "undefined" && showModal !== null) {
|
143 |
+
$(".modal").removeClass('shown');
|
144 |
+
$(showModal).addClass('shown');
|
145 |
+
} else {
|
146 |
+
window.location = redirect
|
147 |
+
}
|
148 |
+
}else{
|
149 |
+
if(response.focus && $(response.focus).length){
|
150 |
+
$(response.focus).trigger('click');
|
151 |
+
$([document.documentElement, document.body]).animate({
|
152 |
+
scrollTop: $(response.focus).offset().top
|
153 |
+
}, 500);
|
154 |
+
}
|
155 |
+
_paq.push(['trackEvent', 'Error', 'No website found with this embed code.']);
|
156 |
+
$('#modal-no-website-found').addClass('shown')
|
157 |
+
}
|
158 |
+
},
|
159 |
+
error: function(response) { // if error occured
|
160 |
+
|
161 |
+
$("#alert-div").addClass("alert--failure");
|
162 |
+
$("#alert-image").attr('src',iub_js_vars['plugin_url'] + '/assets/images/banner_failure.svg');
|
163 |
+
$("#alert-message").text(response.responseText);
|
164 |
+
|
165 |
+
|
166 |
+
$("#alert-div").removeClass("hidden");
|
167 |
+
formButton.removeClass("btn-loading");
|
168 |
+
formButton.prop('disabled', false);
|
169 |
+
},
|
170 |
+
complete: function() {
|
171 |
+
formButton.removeClass("btn-loading");
|
172 |
+
formButton.prop('disabled', false);
|
173 |
+
},
|
174 |
+
|
175 |
+
});
|
176 |
+
return false;
|
177 |
+
}
|
178 |
+
|
179 |
+
function submitAjaxFormToOptions(evt){
|
180 |
+
evt.preventDefault();
|
181 |
+
var formData= $($(evt.target)).serialize();
|
182 |
+
var formButton= $($(evt.target)).find('button[type=submit]');
|
183 |
+
|
184 |
+
var redirect= $($(evt.target)).find('input[name="_redirect"]').val();
|
185 |
+
|
186 |
+
$.ajax({
|
187 |
+
type: "POST",
|
188 |
+
dataType: "json",
|
189 |
+
url: iub_js_vars['site_url'] + "/wp-admin/admin-ajax.php",
|
190 |
+
data : formData,
|
191 |
+
beforeSend: function() {
|
192 |
+
formButton.addClass("btn-loading");
|
193 |
+
formButton.prop('disabled', true);
|
194 |
+
},
|
195 |
+
success: function(response){
|
196 |
+
formButton.removeClass("btn-loading");
|
197 |
+
formButton.prop('disabled', false);
|
198 |
+
if (response.status === 'done') {
|
199 |
+
window.location = redirect
|
200 |
+
}else{
|
201 |
+
if(response.focus){
|
202 |
+
$(response.focus).trigger('click');
|
203 |
+
$([document.documentElement, document.body]).animate({
|
204 |
+
scrollTop: $(response.focus).offset().top
|
205 |
+
}, 500);
|
206 |
+
}
|
207 |
+
_paq.push(['trackEvent', 'Error', 'No website found with this embed code.']);
|
208 |
+
$('#modal-no-website-found').addClass('shown')
|
209 |
+
}
|
210 |
+
},
|
211 |
+
error: function(response) { // if error occured
|
212 |
+
|
213 |
+
console.log(response.responseText)
|
214 |
+
$("#alert-div").addClass("alert--failure");
|
215 |
+
$("#alert-image").attr('src',iub_js_vars['plugin_url'] + '/assets/images/banner_failure.svg');
|
216 |
+
$("#alert-message").text(response.responseText);
|
217 |
+
|
218 |
+
|
219 |
+
$("#alert-div").removeClass("hidden");
|
220 |
+
formButton.removeClass("btn-loading");
|
221 |
+
formButton.prop('disabled', false);
|
222 |
+
},
|
223 |
+
complete: function() {
|
224 |
+
formButton.removeClass("btn-loading");
|
225 |
+
formButton.prop('disabled', false);
|
226 |
+
},
|
227 |
+
|
228 |
+
});
|
229 |
+
return false;
|
230 |
+
}
|
231 |
+
|
232 |
+
function toggleServiceSetting(evt){
|
233 |
+
const serviceName = $(evt.target).data('service-name')
|
234 |
+
const serviceKey = $(evt.target).data('service-key')
|
235 |
+
const status = $(evt.target).is(":checked")
|
236 |
+
if(status === true){
|
237 |
+
evt.stopImmediatePropagation();
|
238 |
+
evt.preventDefault();
|
239 |
+
window.location = $(evt.target).data('redirect')
|
240 |
+
return
|
241 |
+
}
|
242 |
+
jQuery.ajax({
|
243 |
+
type: "post",
|
244 |
+
dataType: "json",
|
245 |
+
url: iub_js_vars['site_url'] + "/wp-admin/admin-ajax.php",
|
246 |
+
data : {action: "toggle_services", name: serviceName, status: status},
|
247 |
+
success: function(response){
|
248 |
+
if (response.status === 'done') {
|
249 |
+
$('.'+serviceKey+'-item').removeClass("list_radar__item--on").addClass("list_radar__item--off");
|
250 |
+
$('#configiration-'+serviceKey).toggle();
|
251 |
+
|
252 |
+
// Update service status label
|
253 |
+
let service_status_label = $('#'+serviceKey+'-status-label');
|
254 |
+
if(service_status_label != undefined){
|
255 |
+
service_status_label.html(service_status_label.data('status-label-off'));
|
256 |
+
}
|
257 |
+
|
258 |
+
// Update rating circular bar if rating percentage is not equal undefined
|
259 |
+
if(response.rating_percentage != undefined){
|
260 |
+
document.querySelectorAll(".circularBar").forEach(function (el) {
|
261 |
+
$(el).attr('data-perc', response.rating_percentage);
|
262 |
+
circularBar(el);
|
263 |
+
});
|
264 |
+
}
|
265 |
+
}
|
266 |
+
},
|
267 |
+
error: function (jqXHR, exception) {
|
268 |
+
var msg = '';
|
269 |
+
if (jqXHR.status === 0) {
|
270 |
+
msg = 'Not connect.\n Verify Network.';
|
271 |
+
} else if (jqXHR.status == 404) {
|
272 |
+
msg = 'Requested page not found. [404]';
|
273 |
+
} else if (jqXHR.status == 500) {
|
274 |
+
msg = 'Internal Server Error [500].';
|
275 |
+
} else if (exception === 'parsererror') {
|
276 |
+
msg = 'Requested JSON parse failed.';
|
277 |
+
} else if (exception === 'timeout') {
|
278 |
+
msg = 'Time out error.';
|
279 |
+
} else if (exception === 'abort') {
|
280 |
+
msg = 'Ajax request aborted.';
|
281 |
+
} else {
|
282 |
+
msg = 'Uncaught Error.\n' + jqXHR.responseText;
|
283 |
+
}
|
284 |
+
console.log(msg);
|
285 |
+
},
|
286 |
+
});
|
287 |
+
}
|
288 |
+
|
289 |
+
function hideAlertDiv(evt){
|
290 |
+
$(evt.target).parents('#alert-div').fadeOut();
|
291 |
+
}
|
292 |
+
|
293 |
+
function savePublicApiKey(evt){
|
294 |
+
evt.preventDefault();
|
295 |
+
document.querySelector('#public_api_key').reportValidity();
|
296 |
+
var public_api_key = $('#public_api_key').val();
|
297 |
+
|
298 |
+
var formButton= $('#public_api_button');
|
299 |
+
|
300 |
+
$.ajax({
|
301 |
+
type: "post",
|
302 |
+
dataType: "json",
|
303 |
+
url: iub_js_vars['site_url'] + "/wp-admin/admin-ajax.php",
|
304 |
+
data : {action: "save_public_api_key", public_api_key: public_api_key},
|
305 |
+
beforeSend: function() {
|
306 |
+
formButton.addClass("btn-loading");
|
307 |
+
formButton.prop('disabled', true);
|
308 |
+
},
|
309 |
+
success: function(response){
|
310 |
+
formButton.removeClass("btn-loading");
|
311 |
+
formButton.prop('disabled', false);
|
312 |
+
if (response.status === 'done') {
|
313 |
+
$.ajax({
|
314 |
+
type: "post",
|
315 |
+
url: iub_js_vars['site_url'] + "/wp-admin/admin-ajax.php",
|
316 |
+
data : {action: "auto_detect_forms", public_api_key: public_api_key},
|
317 |
+
success: function(response) {
|
318 |
+
$("#auto-detect-forms").html(response);
|
319 |
+
$("#public-api-key-div").show();
|
320 |
+
},
|
321 |
+
});
|
322 |
+
|
323 |
+
}else{
|
324 |
+
_paq.push(['trackEvent', 'Error', 'No website found with this embed code.']);
|
325 |
+
$('#modal-no-website-found').addClass('shown')
|
326 |
+
}
|
327 |
+
},
|
328 |
+
error: function (jqXHR, exception) {
|
329 |
+
var msg = '';
|
330 |
+
if (jqXHR.status === 0) {
|
331 |
+
msg = 'Not connect.\n Verify Network.';
|
332 |
+
} else if (jqXHR.status == 404) {
|
333 |
+
msg = 'Requested page not found. [404]';
|
334 |
+
} else if (jqXHR.status == 500) {
|
335 |
+
msg = 'Internal Server Error [500].';
|
336 |
+
} else if (exception === 'parsererror') {
|
337 |
+
msg = 'Requested JSON parse failed.';
|
338 |
+
} else if (exception === 'timeout') {
|
339 |
+
msg = 'Time out error.';
|
340 |
+
} else if (exception === 'abort') {
|
341 |
+
msg = 'Ajax request aborted.';
|
342 |
+
} else {
|
343 |
+
msg = 'Uncaught Error.\n' + jqXHR.responseText;
|
344 |
+
}
|
345 |
+
console.log(msg);
|
346 |
+
},
|
347 |
+
});
|
348 |
+
}
|
349 |
+
|
350 |
+
|
351 |
+
function reloadAutoDetectForms(evt){
|
352 |
+
evt.preventDefault();
|
353 |
+
var auto_detect_forms = $("#auto-detect-forms")
|
354 |
+
var auto_detect_parent_div = $("#auto-detect-parent-div")
|
355 |
+
auto_detect_parent_div.addClass("loader");
|
356 |
+
auto_detect_forms.css('visibility', 'hidden');
|
357 |
+
|
358 |
+
|
359 |
+
var public_api_key = $('input[name="public_api_key"]').val();
|
360 |
+
|
361 |
+
$.ajax({
|
362 |
+
type: "post",
|
363 |
+
url: iub_js_vars['site_url'] + "/wp-admin/admin-ajax.php",
|
364 |
+
data : {action: "auto_detect_forms", public_api_key: public_api_key},
|
365 |
+
success: function(result) {
|
366 |
+
auto_detect_parent_div.removeClass("loader");
|
367 |
+
$("#auto-detect-forms").html(result);
|
368 |
+
$("#auto-detect-forms").css('visibility', 'visible');
|
369 |
+
},
|
370 |
+
error: function (jqXHR, exception) {
|
371 |
+
var msg = '';
|
372 |
+
if (jqXHR.status === 0) {
|
373 |
+
msg = 'Not connect.\n Verify Network.';
|
374 |
+
} else if (jqXHR.status == 404) {
|
375 |
+
msg = 'Requested page not found. [404]';
|
376 |
+
} else if (jqXHR.status == 500) {
|
377 |
+
msg = 'Internal Server Error [500].';
|
378 |
+
} else if (exception === 'parsererror') {
|
379 |
+
msg = 'Requested JSON parse failed.';
|
380 |
+
} else if (exception === 'timeout') {
|
381 |
+
msg = 'Time out error.';
|
382 |
+
} else if (exception === 'abort') {
|
383 |
+
msg = 'Ajax request aborted.';
|
384 |
+
} else {
|
385 |
+
msg = 'Uncaught Error.\n' + jqXHR.responseText;
|
386 |
+
}
|
387 |
+
console.log(msg);
|
388 |
+
},
|
389 |
+
});
|
390 |
+
}
|
391 |
+
|
392 |
+
function addCustomSection(evt){
|
393 |
+
evt.preventDefault();
|
394 |
+
const append_section = $($(evt.target).data('append-section'));
|
395 |
+
const cloned_section = $($(evt.target).data('clone-section'));
|
396 |
+
|
397 |
+
cloned_section.clone().each(function(){
|
398 |
+
this.id = Math.random(); // to keep it unique
|
399 |
+
$(this).find('input, textarea, button, select').prop('disabled', false);
|
400 |
+
}).appendTo(append_section).hide().fadeIn(300);
|
401 |
+
}
|
402 |
+
|
403 |
+
function removeCustomSection(evt){
|
404 |
+
evt.preventDefault();
|
405 |
+
$($(evt.target)).closest($(evt.target).data('remove-section')).remove();
|
406 |
+
$("#parent-selector :input").attr("disabled", true);
|
407 |
+
}
|
408 |
+
|
409 |
+
function requiredControl(evt){
|
410 |
+
if ($(evt.target).is(':checked')) {
|
411 |
+
$($(evt.target).data('required-control')).show();
|
412 |
+
} else {
|
413 |
+
$($(evt.target).data('required-control')).hide();
|
414 |
+
}
|
415 |
+
}
|
416 |
+
|
417 |
+
function updateButtonStyle(evt){
|
418 |
+
$('.iub-pp-code, .iub-tc-code').each(function() {
|
419 |
+
var text = $(this).html();
|
420 |
+
$(this).html(text.replace('white', $(evt.target).val()).replace('black', $(evt.target).val()));
|
421 |
+
});
|
422 |
+
$('.iub-language-code').each(function() {
|
423 |
+
var text = $(this).val();
|
424 |
+
$(this).val(text.replace('white', $(evt.target).val()).replace('black', $(evt.target).val()));
|
425 |
+
});
|
426 |
+
}
|
427 |
+
|
428 |
+
// Sync embed code between TC live code and Readonly code
|
429 |
+
function syncEmbedCode(evt){
|
430 |
+
var ele = $($(evt.target));
|
431 |
+
|
432 |
+
if($('#iub-tc-code-'+ele.data('language')).length > 0){
|
433 |
+
$('#iub-tc-code-'+ele.data('language')).text(ele.val())
|
434 |
+
$('#iub-embed-code-readonly-'+ele.data('language')).trigger('click')
|
435 |
+
}
|
436 |
+
}
|
437 |
+
|
438 |
+
// Toggle elements status
|
439 |
+
function toggleCheckboxes(evt){
|
440 |
+
$($($(evt.target)).data('group')).each(function() {
|
441 |
+
// Prevent uncheck if they already checked
|
442 |
+
if($(evt.target).is(':checked')){
|
443 |
+
$(this).prop('checked', $(evt.target).is(':checked'));
|
444 |
+
}
|
445 |
+
$(this).attr('disabled', $(evt.target).is(':checked'));
|
446 |
+
});
|
447 |
+
}
|
448 |
+
|
449 |
+
// Start banner position script
|
450 |
+
$( document ).on( 'click', '.position-select > div > label', function ( e ) {
|
451 |
+
if (!$(this).closest('.position-select > div').hasClass('open')) {
|
452 |
+
$(this).closest('.position-select > div').addClass('open');
|
453 |
+
}
|
454 |
+
})
|
455 |
+
|
456 |
+
$(document).on('mousedown', function (e) {
|
457 |
+
var positionDropdown = $('.position-select > div.open');
|
458 |
+
|
459 |
+
if (positionDropdown.length &&
|
460 |
+
!positionDropdown.is(e.target) &&
|
461 |
+
positionDropdown.has(e.target).length === 0 &&
|
462 |
+
$('.pcr-app').has(e.target).length === 0
|
463 |
+
) {
|
464 |
+
positionDropdown.removeClass('open');
|
465 |
+
}
|
466 |
+
});
|
467 |
+
// End banner position script
|
468 |
+
|
469 |
+
// Preferences fields
|
470 |
+
// Add new preferences field
|
471 |
+
$( document ).on( 'click', '.add-preferences-field', function ( e ) {
|
472 |
+
e.preventDefault();
|
473 |
+
|
474 |
+
$( '#postbox-container-2' ).change();
|
475 |
+
|
476 |
+
var html = $( '#preferences-field-template' ).html();
|
477 |
+
html = html.replace( /__PREFERENCE_ID__/g, $( '.preferences-field' ).length++ );
|
478 |
+
|
479 |
+
$( '.preferences-table .add-preferences-field' ).closest( 'tr' ).before( '<tr class="preferences-field options-field" style="display: none;">' + html + '</tr>' );
|
480 |
+
|
481 |
+
var last = $( '.preferences-field' ).last();
|
482 |
+
|
483 |
+
last.find('.preferences-inputs').prop('disabled',false)
|
484 |
+
last.fadeIn( 300 );
|
485 |
+
} );
|
486 |
+
|
487 |
+
// Remove preferences field
|
488 |
+
$( document ).on( 'click', '.remove-preferences-field', function ( e ) {
|
489 |
+
e.preventDefault();
|
490 |
+
|
491 |
+
$( '#postbox-container-2' ).change();
|
492 |
+
|
493 |
+
$( this ).closest( '.preferences-field' ).fadeOut( 300, function () {
|
494 |
+
$( this ).remove();
|
495 |
+
} );
|
496 |
+
} );
|
497 |
+
|
498 |
+
// Exclude fields
|
499 |
+
var excludeID = $( '.exclude-field' ).length;
|
500 |
+
|
501 |
+
// Add new preferences field
|
502 |
+
$( document ).on( 'click', '.add-exclude-field', function ( e ) {
|
503 |
+
e.preventDefault();
|
504 |
+
|
505 |
+
$( '#postbox-container-2' ).change();
|
506 |
+
|
507 |
+
var html = $( '#exclude-field-template' ).html();
|
508 |
+
html = html.replace( /__EXCLUDE_ID__/g, excludeID++ ).replace( 'disabled', '' );
|
509 |
+
|
510 |
+
$( '.exclude-table .add-exclude-field' ).closest( 'tr' ).before( '<tr class="exclude-field options-field" style="display: none;">' + html + '</tr>' );
|
511 |
+
|
512 |
+
var last = $( '.exclude-field' ).last();
|
513 |
+
|
514 |
+
last.fadeIn( 300 );
|
515 |
+
} );
|
516 |
+
|
517 |
+
// Remove exclude field
|
518 |
+
$( document ).on( 'click', '.remove-exclude-field', function ( e ) {
|
519 |
+
e.preventDefault();
|
520 |
+
|
521 |
+
$( '#postbox-container-2' ).change();
|
522 |
+
|
523 |
+
$( this ).closest( '.exclude-field' ).fadeOut( 300, function () {
|
524 |
+
$( this ).remove();
|
525 |
+
} );
|
526 |
+
} );
|
527 |
+
|
528 |
+
$( function () {
|
529 |
+
$('.cs-configuration-type').on('change', function() {
|
530 |
+
if($("input[name='iubenda_cookie_law_solution[configuration_type]']:checked").val() == 'simplified'){
|
531 |
+
$('.iub-language-code').attr("disabled", true)
|
532 |
+
} else {
|
533 |
+
$('.iub-language-code').attr("disabled", false)
|
534 |
+
}
|
535 |
+
}).trigger('change');
|
536 |
+
|
537 |
+
} );
|
538 |
+
|
539 |
+
// Legal notices fields
|
540 |
+
var legalNoticesID = $( '.legal_notices-field' ).length;
|
541 |
+
|
542 |
+
// Add new preferences field
|
543 |
+
$( document ).on( 'click', '.add-legal_notices-field', function ( e ) {
|
544 |
+
e.preventDefault();
|
545 |
+
|
546 |
+
$( '#postbox-container-2' ).change();
|
547 |
+
|
548 |
+
var html = $( '#legal_notices-field-template' ).html();
|
549 |
+
html = html.replace( /__LEGAL_NOTICE_ID__/g, legalNoticesID++ );
|
550 |
+
|
551 |
+
console.log( html );
|
552 |
+
|
553 |
+
$( '.legal_notices-table .add-legal_notices-field' ).closest( 'tr' ).before( '<tr class="legal_notices-field options-field" style="display: none;">' + html + '</tr>' );
|
554 |
+
|
555 |
+
var last = $( '.legal_notices-field' ).last();
|
556 |
+
|
557 |
+
last.find('.legal-notices-inputs').prop('disabled',false)
|
558 |
+
last.fadeIn( 300 );
|
559 |
+
} );
|
560 |
+
|
561 |
+
// Remove legal notices field
|
562 |
+
$( document ).on( 'click', '.remove-legal_notices-field', function ( e ) {
|
563 |
+
e.preventDefault();
|
564 |
+
|
565 |
+
$( '#postbox-container-2' ).change();
|
566 |
+
|
567 |
+
$( this ).closest( '.legal_notices-field' ).fadeOut( 300, function () {
|
568 |
+
$( this ).remove();
|
569 |
+
} );
|
570 |
+
} );
|
571 |
+
|
572 |
+
// Handle form fields data
|
573 |
+
$( document ).on( 'change', '#postbox-container-2', function() {
|
574 |
+
var fields = {},
|
575 |
+
fieldsTypes = [ 'subject', 'preferences', 'exclude' ];
|
576 |
+
|
577 |
+
if ( iub_js_vars['form_id'] > 0 ) {
|
578 |
+
// get all fields
|
579 |
+
fields.all = $( '.subject-fields-select.select-id option:not([value=""])' ).map( function() { return $( this ).val(); } ).get();
|
580 |
+
|
581 |
+
// get specific fields
|
582 |
+
$.each( fieldsTypes, function( index, fieldType ) {
|
583 |
+
fields[fieldType] = [];
|
584 |
+
|
585 |
+
var fieldItems = $( '.' + fieldType + '-field select' );
|
586 |
+
|
587 |
+
// get selected values
|
588 |
+
$.each( fieldItems, function( index, item ) {
|
589 |
+
if ( $( item ).val() != '' )
|
590 |
+
fields[fieldType].push( $( item ).val() );
|
591 |
+
} );
|
592 |
+
|
593 |
+
fields.fieldType = $.unique( fields[fieldType] );
|
594 |
+
|
595 |
+
// remove available fields if needed
|
596 |
+
if ( fields[fieldType].length > 0 ) {
|
597 |
+
|
598 |
+
// get options count
|
599 |
+
var templateItemsCount = $( '.template-field .' + fieldType + '-fields-select option:disabled' ).length;
|
600 |
+
|
601 |
+
// update if options count changed
|
602 |
+
if ( templateItemsCount !== 0 && fields[fieldType].length != templateItemsCount ) {
|
603 |
+
// console.log( fields[fieldType] );
|
604 |
+
}
|
605 |
+
|
606 |
+
// disable add button if needed
|
607 |
+
if ( fields.all.length == fields[fieldType].length ) {
|
608 |
+
$( '.add-' + fieldType + '-field' ).attr( 'disabled', 'disabled' );
|
609 |
+
} else {
|
610 |
+
$( '.add-' + fieldType + '-field' ).attr( 'disabled', false );
|
611 |
+
}
|
612 |
+
|
613 |
+
// adjust disabled options
|
614 |
+
$.each( fields.all, function( index, fieldName ) {
|
615 |
+
if ( $.inArray( fieldName, fields[fieldType] ) < 0 ) {
|
616 |
+
// options field
|
617 |
+
$( '.' + fieldType + '-fields-select option:not(:checked)[value="' + fieldName + '"]' ).attr( 'disabled', false );
|
618 |
+
// template field
|
619 |
+
$( '.template-field .' + fieldType + '-fields-select option[value="' + fieldName + '"]' ).attr( 'disabled', false );
|
620 |
+
} else {
|
621 |
+
$( '.' + fieldType + '-fields-select option:not(:checked)[value="' + fieldName + '"]' ).attr( 'disabled', 'disabled' );
|
622 |
+
$( '.template-field .' + fieldType + '-fields-select option[value="' + fieldName + '"]' ).attr( 'disabled', 'disabled' );
|
623 |
+
}
|
624 |
+
} );
|
625 |
+
}
|
626 |
+
} );
|
627 |
+
|
628 |
+
// console.log( fields );
|
629 |
+
}
|
630 |
+
|
631 |
+
} );
|
632 |
+
|
633 |
+
// Force trigger change on document ready
|
634 |
+
$( function() {
|
635 |
+
$( '#postbox-container-2' ).change();
|
636 |
+
} );
|
637 |
+
|
638 |
+
$( document ).on( 'mouseenter mouseleave', '#postbox-container-2 .options-field, #postbox-container-2 .submit-field', function() {
|
639 |
+
$( '#postbox-container-2' ).change();
|
640 |
+
} );
|
641 |
+
|
642 |
+
// Update _iub.quick_generator selected language
|
643 |
+
$(function($) {
|
644 |
+
$('#iub-website-language').on('change', function() {
|
645 |
+
try {
|
646 |
+
_iub.quick_generator.input.privacy_policy.langs = [$(this).val()]
|
647 |
+
}
|
648 |
+
catch(err) {
|
649 |
+
console.log(err)
|
650 |
+
}
|
651 |
+
}).trigger('change');
|
652 |
+
});
|
653 |
+
|
654 |
+
$( document ).on( 'click', '.notice-dismiss, .notice-dismiss-by-text', function ( e ) {
|
655 |
+
e.preventDefault();
|
656 |
+
$(this).closest('div.is-dismissible').slideUp();
|
657 |
+
});
|
658 |
+
|
659 |
+
$( document ).on( 'click', '.dismiss-notification-alert', function ( e ) {
|
660 |
+
$.ajax({
|
661 |
+
type: "post",
|
662 |
+
dataType: "json",
|
663 |
+
url: iub_js_vars['site_url'] + "/wp-admin/admin-ajax.php",
|
664 |
+
data : {
|
665 |
+
action: "iubenda_dismiss_notification_alert",
|
666 |
+
iubenda_nonce: iub_js_vars['iub_dismiss_notification_alert_nonce'],
|
667 |
+
dismiss_key: $(e.target).data('dismiss-key')
|
668 |
+
},
|
669 |
+
|
670 |
+
})
|
671 |
+
});
|
672 |
+
}(window, jQuery));
|
673 |
+
|
674 |
+
jQuery(document).ready(function($){
|
675 |
+
let activeRequest = false;
|
676 |
+
let completed = false;
|
677 |
+
setTimeout(ajax, 10);
|
678 |
+
|
679 |
+
function ajax(){
|
680 |
+
if((activeRequest) || (iub_js_vars['radar_status'] == 'completed'))
|
681 |
+
{
|
682 |
+
return;
|
683 |
+
}
|
684 |
+
activeRequest = true;
|
685 |
+
jQuery.ajax({
|
686 |
+
type: "post",
|
687 |
+
dataType: "json",
|
688 |
+
url: iub_js_vars['site_url'] + "/wp-admin/admin-ajax.php",
|
689 |
+
data : {action: "radar_percentage_reload"},
|
690 |
+
success: function(result){
|
691 |
+
if (result.status === 'timeout'){
|
692 |
+
activeRequest = false;
|
693 |
+
setTimeout(ajax, (parseInt(result.data) * 1000));
|
694 |
+
return
|
695 |
+
}
|
696 |
+
|
697 |
+
if (result.status === 'progress'){
|
698 |
+
activeRequest = false;
|
699 |
+
completed = true;
|
700 |
+
setTimeout(ajax, 10000);
|
701 |
+
return
|
702 |
+
}
|
703 |
+
|
704 |
+
if (result.status === 'error'){
|
705 |
+
$("#alert-div").addClass("alert--failure");
|
706 |
+
$("#alert-image").attr('src',iub_js_vars['plugin_url'] + '/assets/images/banner_failure.svg');
|
707 |
+
$("#alert-message").html(result.message);
|
708 |
+
$("#alert-div-container").fadeIn( 300 );
|
709 |
+
}
|
710 |
+
|
711 |
+
if (result.status === 'complete' && completed){
|
712 |
+
if($('#frontpage-main-box').length){
|
713 |
+
$.ajax({
|
714 |
+
type: "post",
|
715 |
+
url: iub_js_vars['site_url'] + "/wp-admin/admin-ajax.php",
|
716 |
+
data : {action: "frontpage_main_box"},
|
717 |
+
success: function(response) {
|
718 |
+
_paq.push(['trackEvent', 'Event', 'End of scan and report rating']);
|
719 |
+
$('#frontpage-main-box').html(response)
|
720 |
+
document.querySelectorAll(".circularBar").forEach(function (el) {
|
721 |
+
$(el).attr('data-perc', result.data.percentage);
|
722 |
+
circularBar(el);
|
723 |
+
});
|
724 |
+
},
|
725 |
+
});
|
726 |
+
}
|
727 |
+
}
|
728 |
+
}
|
729 |
+
})
|
730 |
+
setTimeout(ajax, 10000);
|
731 |
+
}
|
732 |
+
});
|
{js → assets/js}/frontend.js
RENAMED
@@ -111,7 +111,7 @@
|
|
111 |
};
|
112 |
|
113 |
// send only if specific form has been submitted
|
114 |
-
if ( selector.parentElement.id == e.target.parentElement.id ) {
|
115 |
_this.submitForm( form, formArgs );
|
116 |
|
117 |
_iub.cons.sendData();
|
111 |
};
|
112 |
|
113 |
// send only if specific form has been submitted
|
114 |
+
if ( (selector.parentElement.id == e.target.parentElement.id) || (selector.parentElement.id == e.target.id) ) {
|
115 |
_this.submitForm( form, formArgs );
|
116 |
|
117 |
_iub.cons.sendData();
|
assets/js/legal_block.js
ADDED
@@ -0,0 +1,62 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
( function ( blocks, editor, element, components, _, blockEditor ) {
|
2 |
+
var el = element.createElement;
|
3 |
+
var RichText = blockEditor.RichText;
|
4 |
+
var useBlockProps = blockEditor.useBlockProps;
|
5 |
+
|
6 |
+
const iconEl = el('svg', {},
|
7 |
+
el('path', {
|
8 |
+
fill:"#1CC691" ,
|
9 |
+
d: "M 11.6671 0 c 3.1311 0 5.6675 2.5268 5.6675 5.6464 c 0 1.3892 -0.5031 2.6608 -1.3408 3.6454 L 17.1974 25.5634 H 6.4376 l 1.1666 -15.9874 A 5.6025 5.6025 90 0 1 6 5.6468 C 6 2.5268 8.5364 0 11.6671 0 z m 1.0762 11.8411 l -1.865 1.8653 v 7.38 h 1.865 V 11.8411 z M 11.6671 4.1886 c -0.7528 0 -1.3628 0.6142 -1.3628 1.3723 c 0 0.7576 0.61 1.372 1.3628 1.372 s 1.3631 -0.6142 1.3631 -1.372 c 0 -0.7582 -0.6104 -1.3723 -1.3631 -1.3723 z"
|
10 |
+
} )
|
11 |
+
);
|
12 |
+
|
13 |
+
blocks.registerBlockType( iub_block_js_vars.block_name, {
|
14 |
+
title: 'Iubenda',
|
15 |
+
icon: iconEl,
|
16 |
+
category: 'layout',
|
17 |
+
attributes: {
|
18 |
+
title: {
|
19 |
+
type: 'string',
|
20 |
+
default: iub_block_js_vars.iub_legal_block_short_title
|
21 |
+
},
|
22 |
+
},
|
23 |
+
edit: function ( props ) {
|
24 |
+
var attributes = props.attributes;
|
25 |
+
|
26 |
+
return el(
|
27 |
+
'div',
|
28 |
+
useBlockProps({ className: props.className }),
|
29 |
+
el( RichText, {
|
30 |
+
tagName: 'p',
|
31 |
+
placeholder: 'Iubenda',
|
32 |
+
value: attributes.title,
|
33 |
+
onChange: function ( value ) {
|
34 |
+
props.setAttributes( { title: value } );
|
35 |
+
},
|
36 |
+
} ),
|
37 |
+
el( 'p', {}, '' ),
|
38 |
+
);
|
39 |
+
},
|
40 |
+
save: function ( props ) {
|
41 |
+
var attributes = props.attributes;
|
42 |
+
|
43 |
+
return el(
|
44 |
+
'div',
|
45 |
+
useBlockProps.save( { className: props.className } ),
|
46 |
+
el( RichText.Content, {
|
47 |
+
tagName: 'p',
|
48 |
+
value: attributes.title,
|
49 |
+
} ),
|
50 |
+
el( 'p', {}, '['+iub_block_js_vars.iub_legal_block_shortcode+']' ),
|
51 |
+
);
|
52 |
+
},
|
53 |
+
} );
|
54 |
+
} )(
|
55 |
+
window.wp.blocks,
|
56 |
+
window.wp.editor,
|
57 |
+
window.wp.element,
|
58 |
+
window.wp.components,
|
59 |
+
window._,
|
60 |
+
window.wp.blockEditor
|
61 |
+
);
|
62 |
+
|
assets/js/matomo.js
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
var _paq = window._paq = window._paq || [];
|
2 |
+
|
3 |
+
_paq.push(['disableAlwaysUseSendBeacon']);
|
4 |
+
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
|
5 |
+
_paq.push(['setCustomDimension' , 1 , iub_js_vars['site_locale'] ]);
|
6 |
+
_paq.push(['trackPageView']);
|
7 |
+
_paq.push(['enableLinkTracking']);
|
8 |
+
(function() {
|
9 |
+
var u="//athena.iubenda.com/";
|
10 |
+
_paq.push(['setTrackerUrl', u+'matomo.php']);
|
11 |
+
_paq.push(['setSiteId', '11']);
|
12 |
+
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
13 |
+
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
|
14 |
+
})();
|
assets/js/tabs.js
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
;(function (global, $) {
|
2 |
+
|
3 |
+
$(document).on('click','.tabs__nav__item', function(e){
|
4 |
+
|
5 |
+
var navItem = $(this);
|
6 |
+
var parent = navItem.closest('.tabs');
|
7 |
+
var target = parent.find('.tabs__target[data-target="'+navItem.data('target')+'"]');
|
8 |
+
var groupNavs = parent.find('.tabs__nav__item[data-group="'+navItem.data('group')+'"]');
|
9 |
+
var groupTargets = parent.find('.tabs__target[data-group="'+navItem.data('group')+'"]');
|
10 |
+
|
11 |
+
groupNavs.removeClass('active');
|
12 |
+
groupTargets.removeClass('active');
|
13 |
+
navItem.addClass('active');
|
14 |
+
|
15 |
+
groupTargets.hide();
|
16 |
+
target.show();
|
17 |
+
|
18 |
+
// target.find('.tabs__nav__item:first-of-type').click();
|
19 |
+
|
20 |
+
});
|
21 |
+
|
22 |
+
$(document).ready(function(){
|
23 |
+
// $('.tabs__nav__item:first-of-type').click();
|
24 |
+
});
|
25 |
+
}(window, jQuery));
|
css/admin.css
DELETED
@@ -1,164 +0,0 @@
|
|
1 |
-
#iubenda-header {
|
2 |
-
margin-bottom: 30px;
|
3 |
-
}
|
4 |
-
.iubenda-title {
|
5 |
-
margin-top: 10px;
|
6 |
-
font-weight: bold;
|
7 |
-
}
|
8 |
-
.iubenda-link {
|
9 |
-
display: table;
|
10 |
-
margin: 0 auto 10px;
|
11 |
-
}
|
12 |
-
.iubenda-text {
|
13 |
-
margin: 10px auto;
|
14 |
-
color: #434149
|
15 |
-
}
|
16 |
-
.button.button-primary.iub-autodetect-forms {
|
17 |
-
background: #1CC691;
|
18 |
-
border-color: #169970;
|
19 |
-
box-shadow: 0 1px 0 #138461;
|
20 |
-
text-shadow: 0 -1px 1px #138461,1px 0 1px #138461,0 1px 1px #138461,-1px 0 1px #138461;
|
21 |
-
display: inline-block;
|
22 |
-
margin-bottom: 30px;
|
23 |
-
}
|
24 |
-
.button.button-primary.iub-autodetect-forms:hover {
|
25 |
-
background: #1ACC94;
|
26 |
-
}
|
27 |
-
.button.button-primary.iub-autodetect-forms:focus {
|
28 |
-
box-shadow: 0 1px 0 #138461,0 0 2px 1px #1CC691;
|
29 |
-
}
|
30 |
-
#iubenda-consent-forms .tablenav.bottom {
|
31 |
-
display: none;
|
32 |
-
}
|
33 |
-
#iubenda-tabs .submit.submit-cons {
|
34 |
-
padding-top: 0;
|
35 |
-
}
|
36 |
-
#iubenda-tabs {
|
37 |
-
margin: 30px auto 20px;
|
38 |
-
}
|
39 |
-
#iub_parser_engine_container {
|
40 |
-
margin-top: 10px;
|
41 |
-
}
|
42 |
-
#iub_parser_engine_container > div:not(:last-child) {
|
43 |
-
margin-bottom: 10px;
|
44 |
-
}
|
45 |
-
#iub_amp_options_container {
|
46 |
-
margin-top: 10px;
|
47 |
-
}
|
48 |
-
#iub_amp_options_container > div:not(:last-child) {
|
49 |
-
margin-bottom: 10px;
|
50 |
-
}
|
51 |
-
#iubenda-tabs .contextual-help-wrap {
|
52 |
-
overflow: auto;
|
53 |
-
margin: 0;
|
54 |
-
position: relative;
|
55 |
-
}
|
56 |
-
#iubenda-tabs .contextual-help-back {
|
57 |
-
position: absolute;
|
58 |
-
top: 0;
|
59 |
-
bottom: 0;
|
60 |
-
left: 150px;
|
61 |
-
right: 0;
|
62 |
-
border: 1px solid #e1e1e1;
|
63 |
-
background: #f6fbfd;
|
64 |
-
}
|
65 |
-
#iubenda-tabs .contextual-help-columns {
|
66 |
-
position: relative;
|
67 |
-
}
|
68 |
-
#iubenda-tabs .help-tab-content {
|
69 |
-
margin-right: 0;
|
70 |
-
}
|
71 |
-
#iubenda-tabs .help-tab-content .description {
|
72 |
-
margin-bottom: 10px;
|
73 |
-
}
|
74 |
-
#iubenda-tabs .help-tab-content .custom-script-field, #iubenda-tabs .help-tab-content .custom-iframe-field {
|
75 |
-
padding-bottom: 10px;
|
76 |
-
}
|
77 |
-
#iubenda-tabs .help-tab-content .custom-script-field input, #iubenda-tabs .help-tab-content .custom-iframe-field input {
|
78 |
-
vertical-align: middle;
|
79 |
-
}
|
80 |
-
#tab-panel-scripts, #tab-panel-iframes {
|
81 |
-
margin-top: 16px;
|
82 |
-
margin-bottom: 18px;
|
83 |
-
}
|
84 |
-
#iubenda-tabs .postbox-container .widefat {
|
85 |
-
border: none;
|
86 |
-
box-shadow: none;
|
87 |
-
}
|
88 |
-
#iubenda-tabs .postbox-container .widefat h4 {
|
89 |
-
margin: 8px 0;
|
90 |
-
}
|
91 |
-
#iubenda-tabs .postbox-container .widefat select {
|
92 |
-
min-width: 50%;
|
93 |
-
}
|
94 |
-
#iubenda-tabs .postbox-container .widefat thead .label {
|
95 |
-
font-weight: bold;
|
96 |
-
}
|
97 |
-
#iubenda-tabs .postbox-container .widefat .table-label {
|
98 |
-
width: 25%;
|
99 |
-
}
|
100 |
-
#iubenda-tabs .postbox-container .widefat thead td {
|
101 |
-
border: none;
|
102 |
-
width: 50%;
|
103 |
-
}
|
104 |
-
#iubenda-tabs .postbox-container .widefat .widefat tbody td {
|
105 |
-
padding-top: 5px;
|
106 |
-
padding-bottom: 5px;
|
107 |
-
}
|
108 |
-
.iubenda-notice {
|
109 |
-
border-left-color: #1CC691;
|
110 |
-
padding-left: 0;
|
111 |
-
display: flex;
|
112 |
-
justify-content: flex-start;
|
113 |
-
align-items: center;
|
114 |
-
}
|
115 |
-
.iubenda-notice::before {
|
116 |
-
display: inline-block;
|
117 |
-
content: '';
|
118 |
-
height: 49px;
|
119 |
-
width: 22px;
|
120 |
-
margin: 1em 2em;
|
121 |
-
background-size: contain;
|
122 |
-
background-position: center center;
|
123 |
-
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIyMjFweCIgaGVpZ2h0PSI0OTBweCIgdmlld0JveD0iMCAwIDIyMSA0OTAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+ICAgICAgICA8dGl0bGU+aXViZW5kYSB2ZWN0b3IgbG9nb192M19vbmx5X2lfZ3JlZW48L3RpdGxlPiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4gICAgPGRlZnM+PC9kZWZzPiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4gICAgICAgIDxnIGlkPSJpdWJlbmRhLXZlY3Rvci1sb2dvX3YzX29ubHlfaV9ncmVlbiIgZmlsbD0iIzFDQzY5MSIgZmlsbC1ydWxlPSJub256ZXJvIj4gICAgICAgICAgICA8cGF0aCBkPSJNMjIwLjYsMTA4LjQgQzIyMC42LDEzNSAyMTAuOCwxNTkuMyAxOTQuNSwxNzguMSBMMjE3LjksNDg5LjQgTDguNSw0ODkuNCBMMzEuMiwxODMuNSBDMTEuOSwxNjQuMiAwLDEzNy43IDAsMTA4LjQgQzAsNDguNyA0OS40LDAuNCAxMTAuMywwLjQgQzE3MS4yLDAuNCAyMjAuNiw0OC43IDIyMC42LDEwOC40IFogTTExMC4zLDEzMyBDMTI1LDEzMyAxMzYuOCwxMjEuMiAxMzYuOCwxMDYuNyBDMTM2LjgsOTIuMiAxMjQuOSw4MC41IDExMC4zLDgwLjUgQzk1LjYsODAuNSA4My44LDkyLjMgODMuOCwxMDYuNyBDODMuOCwxMjEuMyA5NS42LDEzMyAxMTAuMywxMzMgWiBNMTMxLjIsMjI3IEw5NC45LDI2My4zIEw5NC45LDQwMy44IEwxMzEuMiw0MDMuOCBMMTMxLjIsMjI3IFoiIGlkPSJTaGFwZSI+PC9wYXRoPiAgICAgICAgPC9nPiAgICA8L2c+PC9zdmc+);
|
124 |
-
}
|
125 |
-
.iubenda-notice .notice-question {
|
126 |
-
margin-bottom: 5px;
|
127 |
-
display: block;
|
128 |
-
}
|
129 |
-
.iubenda-notice .notice-reply {
|
130 |
-
margin-top: 0;
|
131 |
-
}
|
132 |
-
.iubenda-notice .step-2 {
|
133 |
-
display: none;
|
134 |
-
}
|
135 |
-
.iubenda-notice .reply-yes {
|
136 |
-
margin-right: 10px;
|
137 |
-
}
|
138 |
-
.iubenda-notice .reply-yes:before,
|
139 |
-
.iubenda-notice .reply-no:before {
|
140 |
-
font-family: dashicons;
|
141 |
-
display: inline-block;
|
142 |
-
line-height: 1;
|
143 |
-
font-weight: 400;
|
144 |
-
font-style: normal;
|
145 |
-
speak: none;
|
146 |
-
text-decoration: inherit;
|
147 |
-
text-transform: none;
|
148 |
-
text-rendering: auto;
|
149 |
-
-webkit-font-smoothing: antialiased;
|
150 |
-
-moz-osx-font-smoothing: grayscale;
|
151 |
-
width: 20px;
|
152 |
-
height: 20px;
|
153 |
-
font-size: 20px;
|
154 |
-
vertical-align: top;
|
155 |
-
text-align: center;
|
156 |
-
transition: color .1s ease-in;
|
157 |
-
text-decoration: none;
|
158 |
-
}
|
159 |
-
.iubenda-notice .reply-yes:before {
|
160 |
-
content: "\f147";
|
161 |
-
}
|
162 |
-
.iubenda-notice .reply-no:before {
|
163 |
-
content: "\f335";
|
164 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/CookieSolutionGenerator.php
ADDED
@@ -0,0 +1,143 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// exit if accessed directly
|
3 |
+
if ( ! defined( 'ABSPATH' ) )
|
4 |
+
exit;
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Class CookieSolutionGenerator
|
8 |
+
*/
|
9 |
+
class CookieSolutionGenerator {
|
10 |
+
|
11 |
+
/**
|
12 |
+
* @param $language
|
13 |
+
* @param $siteId
|
14 |
+
* @param $cookiePolicyId
|
15 |
+
* @param array $args
|
16 |
+
* @return string
|
17 |
+
*/
|
18 |
+
public function handle($language, $siteId, $cookiePolicyId, $args = []) {
|
19 |
+
// Return if there is no public ID or site ID
|
20 |
+
if(!$cookiePolicyId || !$siteId){
|
21 |
+
return null;
|
22 |
+
}
|
23 |
+
|
24 |
+
// Handle if the website is single language
|
25 |
+
if($language == 'default'){
|
26 |
+
$language = iubenda()->lang_current ?: iubenda()->lang_default;
|
27 |
+
}
|
28 |
+
|
29 |
+
// Workaround to solve return languages if has 'pt' language
|
30 |
+
// polylang or wpml
|
31 |
+
if($language == 'pt' || $language == 'pt-br'){
|
32 |
+
$language = 'pt-BR';
|
33 |
+
}
|
34 |
+
|
35 |
+
$beforeConfiguration = '
|
36 |
+
<script type="text/javascript">
|
37 |
+
var _iub = _iub || [];
|
38 |
+
_iub.csConfiguration =';
|
39 |
+
$afterConfiguration = '</script>';
|
40 |
+
|
41 |
+
$csConfiguration = [
|
42 |
+
'floatingPreferencesButtonDisplay' => 'bottom-right',
|
43 |
+
'lang' => $language,
|
44 |
+
'siteId' => $siteId,
|
45 |
+
'cookiePolicyId' => $cookiePolicyId,
|
46 |
+
'whitelabel' => false,
|
47 |
+
'invalidateConsentWithoutLog' => true,
|
48 |
+
];
|
49 |
+
$csConfiguration['banner']['closeButtonDisplay'] = false;
|
50 |
+
|
51 |
+
$legislation = iub_array_get($args, 'legislation');
|
52 |
+
|
53 |
+
// If legislation is GDPR or Both
|
54 |
+
if ($legislation == 'gdpr' || $legislation == 'both'){
|
55 |
+
$csConfiguration['consentOnContinuedBrowsing'] = false;
|
56 |
+
$csConfiguration['perPurposeConsent'] = true;
|
57 |
+
$csConfiguration['banner']['listPurposes'] = true;
|
58 |
+
$csConfiguration['banner']['explicitWithdrawal'] = true;
|
59 |
+
|
60 |
+
$explicit_reject = iub_array_get($args, 'explicit_reject');
|
61 |
+
if ($explicit_reject || true == iub_array_get($args, 'tcf')) {
|
62 |
+
$csConfiguration['banner']['rejectButtonDisplay'] = true;
|
63 |
+
}
|
64 |
+
|
65 |
+
$explicit_accept = iub_array_get($args, 'explicit_accept');
|
66 |
+
if ($explicit_accept || true == iub_array_get($args, 'tcf')) {
|
67 |
+
$csConfiguration['banner']['acceptButtonDisplay'] = true;
|
68 |
+
$csConfiguration['banner']['customizeButtonDisplay'] = true;
|
69 |
+
}
|
70 |
+
|
71 |
+
// If Require Consent is EU Only
|
72 |
+
if(iub_array_get($args, 'require_consent') == 'eu_only'){
|
73 |
+
$csConfiguration['countryDetection'] = true;
|
74 |
+
$csConfiguration['gdprAppliesGlobally'] = false;
|
75 |
+
}
|
76 |
+
}
|
77 |
+
|
78 |
+
// If legislation is CCPA or Both
|
79 |
+
if ($legislation == 'ccpa' || $legislation == 'both'){
|
80 |
+
$csConfiguration['enableCcpa'] = true;
|
81 |
+
|
82 |
+
// If Require Consent is Worldwide
|
83 |
+
if(iub_array_get($args, 'require_consent') == 'worldwide'){
|
84 |
+
$csConfiguration['ccpaApplies'] = true;
|
85 |
+
}
|
86 |
+
$afterConfiguration .= '
|
87 |
+
<script type="text/javascript" src="//cdn.iubenda.com/cs/ccpa/stub.js"></script>
|
88 |
+
';
|
89 |
+
}
|
90 |
+
|
91 |
+
// If legislation is CCPA
|
92 |
+
if ($legislation == 'ccpa'){
|
93 |
+
// If Require Consent is Worldwide
|
94 |
+
if(iub_array_get($args, 'require_consent') == 'worldwide'){
|
95 |
+
$csConfiguration['enableGdpr'] = false;
|
96 |
+
}
|
97 |
+
}
|
98 |
+
|
99 |
+
// conditions on TCF is enabled
|
100 |
+
if (($legislation == 'gdpr' || $legislation == 'both') && true == iub_array_get($args, 'tcf')){
|
101 |
+
$csConfiguration['enableTcf'] = true;
|
102 |
+
$csConfiguration['banner']['closeButtonRejects'] = true;
|
103 |
+
$csConfiguration['tcfPurposes']['1'] = true;
|
104 |
+
$csConfiguration['tcfPurposes']['2'] = 'consent_only';
|
105 |
+
$csConfiguration['tcfPurposes']['3'] = 'consent_only';
|
106 |
+
$csConfiguration['tcfPurposes']['4'] = 'consent_only';
|
107 |
+
$csConfiguration['tcfPurposes']['5'] = 'consent_only';
|
108 |
+
$csConfiguration['tcfPurposes']['6'] = 'consent_only';
|
109 |
+
$csConfiguration['tcfPurposes']['7'] = 'consent_only';
|
110 |
+
$csConfiguration['tcfPurposes']['8'] = 'consent_only';
|
111 |
+
$csConfiguration['tcfPurposes']['9'] = 'consent_only';
|
112 |
+
$csConfiguration['tcfPurposes']['10'] = 'consent_only';
|
113 |
+
|
114 |
+
$afterConfiguration .= '
|
115 |
+
<script type="text/javascript" src="//cdn.iubenda.com/cs/tcf/stub-v2.js"></script>
|
116 |
+
<script type="text/javascript" src="//cdn.iubenda.com/cs/tcf/safe-tcf-v2.js"></script>
|
117 |
+
';
|
118 |
+
}
|
119 |
+
$csConfiguration['banner']['position'] = str_replace('full-', '', iub_array_get($args, 'position'));
|
120 |
+
|
121 |
+
$bannerStyle = iub_array_get($args, 'banner_style');
|
122 |
+
if ('light' == $bannerStyle) {
|
123 |
+
$csConfiguration['banner']['style'] = 'light';
|
124 |
+
$csConfiguration['banner']['textColor'] = '#000000';
|
125 |
+
$csConfiguration['banner']['backgroundColor'] = '#FFFFFF';
|
126 |
+
$csConfiguration['banner']['customizeButtonCaptionColor'] = '#4D4D4D';
|
127 |
+
$csConfiguration['banner']['customizeButtonColor'] = '#DADADA';
|
128 |
+
}else{
|
129 |
+
$csConfiguration['banner']['style'] = 'dark';
|
130 |
+
}
|
131 |
+
|
132 |
+
$background_overlay = iub_array_get($args, 'background_overlay');
|
133 |
+
if ($background_overlay) {
|
134 |
+
$csConfiguration['banner']['backgroundOverlay'] = true;
|
135 |
+
}
|
136 |
+
|
137 |
+
$afterConfiguration .= '
|
138 |
+
<script type="text/javascript" src="//cdn.iubenda.com/cs/iubenda_cs.js" charset="UTF-8" async></script>
|
139 |
+
';
|
140 |
+
|
141 |
+
return $beforeConfiguration.json_encode($csConfiguration)."; ".$afterConfiguration;
|
142 |
+
}
|
143 |
+
}
|
includes/LanguageHelper.php
ADDED
@@ -0,0 +1,60 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// exit if accessed directly
|
3 |
+
if (!defined('ABSPATH')) exit;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class LanguageHelper
|
7 |
+
*/
|
8 |
+
class LanguageHelper {
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Get the language code of logged in user profile
|
12 |
+
*
|
13 |
+
* @param bool $lower_case
|
14 |
+
* @return string
|
15 |
+
*/
|
16 |
+
public function get_user_profile_language_code($lower_case = false): string {
|
17 |
+
$iub_supported_languages = iubenda()->supported_languages;
|
18 |
+
$user_profile_language = get_bloginfo("language");
|
19 |
+
|
20 |
+
// Check if the current user language is supported by iubenda
|
21 |
+
if (iub_array_get($iub_supported_languages, $user_profile_language) ?: null) {
|
22 |
+
$result = $user_profile_language;
|
23 |
+
}
|
24 |
+
// Remove the country from the language code to check if iubenda supports the current user language without the country
|
25 |
+
else{
|
26 |
+
$locale = explode('-', $user_profile_language) ?: [];
|
27 |
+
$result = iub_array_get($iub_supported_languages, $locale[0]) ? $locale[0] : null;
|
28 |
+
}
|
29 |
+
|
30 |
+
// Fallback to EN if current user language is not supported
|
31 |
+
if(!$result){
|
32 |
+
$result = 'en';
|
33 |
+
}
|
34 |
+
|
35 |
+
return $lower_case ? strtolower($result) : $result;
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Get the site's default language code
|
40 |
+
*
|
41 |
+
* @param bool $lower_case
|
42 |
+
* @return string
|
43 |
+
*/
|
44 |
+
public function get_default_website_language_code($lower_case = false): string {
|
45 |
+
if ((is_plugin_active('polylang/polylang.php') || is_plugin_active('polylang-pro/polylang.php')) && function_exists('PLL')) {
|
46 |
+
$default_language_local_code = pll_default_language('locale');
|
47 |
+
$website_language_code = iub_array_get(iubenda()->lang_mapping, $default_language_local_code);
|
48 |
+
}
|
49 |
+
elseif (is_plugin_active('sitepress-multilingual-cms/sitepress.php') && class_exists('SitePress')) {
|
50 |
+
global $sitepress;
|
51 |
+
$website_language_code = $sitepress->get_default_language();
|
52 |
+
}
|
53 |
+
else {
|
54 |
+
$website_language_code = iub_array_get(iubenda()->lang_mapping, get_locale());
|
55 |
+
}
|
56 |
+
|
57 |
+
return $lower_case ? strtolower($website_language_code) : $website_language_code;
|
58 |
+
}
|
59 |
+
|
60 |
+
}
|
includes/PrivacyPolicyGenerator.php
ADDED
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// exit if accessed directly
|
3 |
+
if ( ! defined( 'ABSPATH' ) )
|
4 |
+
exit;
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Class PrivacyPolicyGenerator
|
8 |
+
*/
|
9 |
+
class PrivacyPolicyGenerator {
|
10 |
+
|
11 |
+
/**
|
12 |
+
* @param $language
|
13 |
+
* @param $cookiePolicyId
|
14 |
+
* @param $buttonStyle
|
15 |
+
* @return string
|
16 |
+
*/
|
17 |
+
public function handle($language, $cookiePolicyId, $buttonStyle) {
|
18 |
+
// Return if there is no public id
|
19 |
+
if(!$cookiePolicyId){
|
20 |
+
return null;
|
21 |
+
}
|
22 |
+
$privacyTitle = 'Privacy Policy';
|
23 |
+
|
24 |
+
// If the language has translation in iubenda plugin
|
25 |
+
$language_code = array_search($language, iubenda()->lang_mapping) ?: null;
|
26 |
+
if($language_code){
|
27 |
+
$privacyTitle = __iub_trans('Privacy Policy', $language_code);
|
28 |
+
}
|
29 |
+
|
30 |
+
$ppConfiguration = '
|
31 |
+
<a href="https://www.iubenda.com/privacy-policy/'.$cookiePolicyId.'" class="iubenda-'.$buttonStyle.' no-brand iubenda-noiframe iubenda-embed iubenda-noiframe " title="'.$privacyTitle.'">'.$privacyTitle.'</a><script type="text/javascript">(function (w,d) {var loader = function () {var s = d.createElement("script"), tag = d.getElementsByTagName("script")[0]; s.src="https://cdn.iubenda.com/iubenda.js"; tag.parentNode.insertBefore(s,tag);}; if(w.addEventListener){w.addEventListener("load", loader, false);}else if(w.attachEvent){w.attachEvent("onload", loader);}else{w.onload = loader;}})(window, document);</script>
|
32 |
+
';
|
33 |
+
|
34 |
+
return $ppConfiguration;
|
35 |
+
}
|
36 |
+
}
|
includes/ProductHelper.php
ADDED
@@ -0,0 +1,239 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// exit if accessed directly
|
3 |
+
if (!defined('ABSPATH')) exit;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class ProductHelper
|
7 |
+
*/
|
8 |
+
class ProductHelper
|
9 |
+
{
|
10 |
+
|
11 |
+
/**
|
12 |
+
* @param $lang_id
|
13 |
+
* @return string
|
14 |
+
*/
|
15 |
+
public function get_cs_embed_code_by_lang($lang_id): string
|
16 |
+
{
|
17 |
+
$code = iub_array_get(iubenda()->options['cs'], "manual_code_{$lang_id}");
|
18 |
+
if (!$code) {
|
19 |
+
$code = iub_array_get(iubenda()->options['cs'], "code_{$lang_id}");
|
20 |
+
}
|
21 |
+
|
22 |
+
return html_entity_decode(iubenda()->parse_code($code));
|
23 |
+
}
|
24 |
+
|
25 |
+
/**
|
26 |
+
* @param $lang_id
|
27 |
+
* @return string
|
28 |
+
*/
|
29 |
+
public function get_pp_embed_code_by_lang($lang_id): string
|
30 |
+
{
|
31 |
+
return $this->get_embed_code('pp', $lang_id);
|
32 |
+
}
|
33 |
+
|
34 |
+
/**
|
35 |
+
* @param $lang_id
|
36 |
+
* @return string
|
37 |
+
*/
|
38 |
+
public function get_tc_embed_code_by_lang($lang_id): string
|
39 |
+
{
|
40 |
+
return $this->get_embed_code('tc', $lang_id);
|
41 |
+
}
|
42 |
+
|
43 |
+
/**
|
44 |
+
* Get all languages if website is multilingual and return default if website is single language
|
45 |
+
*
|
46 |
+
* @return array|string[]
|
47 |
+
*/
|
48 |
+
public function get_languages(): array
|
49 |
+
{
|
50 |
+
if (iubenda()->multilang && !empty(iubenda()->languages)) {
|
51 |
+
return iubenda()->languages;
|
52 |
+
}
|
53 |
+
|
54 |
+
return ['default' => 'default_language'];
|
55 |
+
}
|
56 |
+
|
57 |
+
|
58 |
+
/**
|
59 |
+
* @param $key
|
60 |
+
* @param $lang_id
|
61 |
+
* @return string
|
62 |
+
*/
|
63 |
+
private function get_embed_code($key, $lang_id): string
|
64 |
+
{
|
65 |
+
$code = iub_array_get(iubenda()->options[$key], "code_{$lang_id}");
|
66 |
+
|
67 |
+
return html_entity_decode(iubenda()->parse_code($code));
|
68 |
+
}
|
69 |
+
|
70 |
+
/**
|
71 |
+
* Check Iubenda CS code exists on current lang or not
|
72 |
+
*
|
73 |
+
* @return bool
|
74 |
+
*/
|
75 |
+
public function check_iub_cs_code_exists_current_lang(): bool
|
76 |
+
{
|
77 |
+
return $this->check_iub_code_exists_current_lang('cs');
|
78 |
+
}
|
79 |
+
|
80 |
+
/**
|
81 |
+
* Check Iubenda $key code exists on current lang or not
|
82 |
+
*
|
83 |
+
* @param $key
|
84 |
+
* @return bool
|
85 |
+
*/
|
86 |
+
private function check_iub_code_exists_current_lang($key): bool
|
87 |
+
{
|
88 |
+
// Check if there is multi language plugin installed and activated
|
89 |
+
if ( iubenda()->multilang === true && defined( 'ICL_LANGUAGE_CODE' ) && isset( iubenda()->options['cs']['code_' . ICL_LANGUAGE_CODE] ) ) {
|
90 |
+
$iubenda_code = iubenda()->options[$key]['code_' . ICL_LANGUAGE_CODE];
|
91 |
+
|
92 |
+
// no code for current language, use default
|
93 |
+
if ( ! $iubenda_code ){
|
94 |
+
$iubenda_code = iubenda()->options[$key]['code_default'];
|
95 |
+
}
|
96 |
+
} else{
|
97 |
+
$iubenda_code = iubenda()->options[$key]['code_default'];
|
98 |
+
}
|
99 |
+
|
100 |
+
return boolval(trim($iubenda_code ?: ''));
|
101 |
+
}
|
102 |
+
|
103 |
+
/**
|
104 |
+
* Getting public id for current language if stored in database
|
105 |
+
* @return array|ArrayAccess|false|mixed
|
106 |
+
*/
|
107 |
+
public function get_public_id_for_current_language(){
|
108 |
+
// Checking if there is no public id for current language
|
109 |
+
if ( iubenda()->multilang && ! empty( iubenda()->lang_current ) ) {
|
110 |
+
$lang_id = iubenda()->lang_current;
|
111 |
+
} else {
|
112 |
+
$lang_id = 'default';
|
113 |
+
}
|
114 |
+
|
115 |
+
return iub_array_get(iubenda()->options['global_options'], "public_ids.{$lang_id}", false) ?: false;
|
116 |
+
}
|
117 |
+
|
118 |
+
/**
|
119 |
+
* Check privacy policy and terms and condition services status and position and codes
|
120 |
+
*
|
121 |
+
* @return bool
|
122 |
+
*/
|
123 |
+
public function check_pp_tc_status_and_position(){
|
124 |
+
$ppStatus = iub_array_get(iubenda()->settings->services, 'pp.status') == 'true';
|
125 |
+
$ppPosition = iub_array_get(iubenda()->options['pp'], 'button_position') == 'automatic';
|
126 |
+
|
127 |
+
$tcStatus = iub_array_get(iubenda()->settings->services, 'tc.status') == 'true';
|
128 |
+
$tcPosition = iub_array_get(iubenda()->options['tc'], 'button_position') == 'automatic';
|
129 |
+
$quickGeneratorService = new QuickGeneratorService();
|
130 |
+
|
131 |
+
if (!($ppStatus && $ppPosition && boolval($quickGeneratorService->pp_button())) && !($tcStatus && $tcPosition && boolval($quickGeneratorService->tc_button()))) {
|
132 |
+
return false;
|
133 |
+
}
|
134 |
+
|
135 |
+
return true;
|
136 |
+
}
|
137 |
+
|
138 |
+
/**
|
139 |
+
* Get intersect supported local languages intersect with iubenda supported languages
|
140 |
+
*
|
141 |
+
*/
|
142 |
+
public function get_local_supported_language(){
|
143 |
+
if (iubenda()->multilang && !empty(iubenda()->languages)) {
|
144 |
+
$local_languages = array_keys(iubenda()->languages_locale) ?: [];
|
145 |
+
$local_languages = iubenda()->language_unification_locale_to_iub($local_languages);
|
146 |
+
|
147 |
+
$iubenda_intersect_supported_langs = array_intersect($local_languages, array_keys(iubenda()->supported_languages)) ?: [];
|
148 |
+
}
|
149 |
+
else {
|
150 |
+
$iubenda_intersect_supported_langs = array_intersect([iub_array_get(iubenda()->lang_mapping, get_locale())], array_values(iubenda()->lang_mapping)) ?: [];
|
151 |
+
}
|
152 |
+
|
153 |
+
return $iubenda_intersect_supported_langs;
|
154 |
+
}
|
155 |
+
|
156 |
+
/**
|
157 |
+
* Check if iubenda service is enabled
|
158 |
+
*
|
159 |
+
* @param $service
|
160 |
+
* @return bool
|
161 |
+
*/
|
162 |
+
private function is_iub_service_enabled($service): bool {
|
163 |
+
return boolval(iub_array_get(iubenda()->settings->services, "{$service}.status") == 'true');
|
164 |
+
}
|
165 |
+
|
166 |
+
/**
|
167 |
+
* Check if CS service is enabled
|
168 |
+
*
|
169 |
+
*/
|
170 |
+
public function is_cs_service_enabled(): bool {
|
171 |
+
return $this->is_iub_service_enabled('cs');
|
172 |
+
}
|
173 |
+
|
174 |
+
/**
|
175 |
+
* Check if PP service is enabled
|
176 |
+
*
|
177 |
+
*/
|
178 |
+
public function is_pp_service_enabled(): bool {
|
179 |
+
return $this->is_iub_service_enabled('pp');
|
180 |
+
}
|
181 |
+
|
182 |
+
/**
|
183 |
+
* Check if TC service is enabled
|
184 |
+
*
|
185 |
+
*/
|
186 |
+
public function is_tc_service_enabled(): bool {
|
187 |
+
return $this->is_iub_service_enabled('tc');
|
188 |
+
}
|
189 |
+
|
190 |
+
/**
|
191 |
+
* Check if CONS service is enabled
|
192 |
+
*
|
193 |
+
*/
|
194 |
+
public function is_cons_service_enabled(): bool {
|
195 |
+
return $this->is_iub_service_enabled('cons');
|
196 |
+
}
|
197 |
+
|
198 |
+
/**
|
199 |
+
* Check if iubenda service is configured
|
200 |
+
*
|
201 |
+
* @param $service
|
202 |
+
* @return bool
|
203 |
+
*/
|
204 |
+
private function is_iub_service_configured($service): bool {
|
205 |
+
return boolval(iub_array_get(iubenda()->settings->services, "{$service}.configured") == 'true');
|
206 |
+
}
|
207 |
+
|
208 |
+
/**
|
209 |
+
* Check if CS service is configured
|
210 |
+
*
|
211 |
+
*/
|
212 |
+
public function is_cs_service_configured(): bool {
|
213 |
+
return $this->is_iub_service_configured('cs');
|
214 |
+
}
|
215 |
+
|
216 |
+
/**
|
217 |
+
* Check if PP service is configured
|
218 |
+
*
|
219 |
+
*/
|
220 |
+
public function is_pp_service_configured(): bool {
|
221 |
+
return $this->is_iub_service_configured('pp');
|
222 |
+
}
|
223 |
+
|
224 |
+
/**
|
225 |
+
* Check if TC service is configured
|
226 |
+
*
|
227 |
+
*/
|
228 |
+
public function is_tc_service_configured(): bool {
|
229 |
+
return $this->is_iub_service_configured('tc');
|
230 |
+
}
|
231 |
+
|
232 |
+
/**
|
233 |
+
* Check if CONS service is configured
|
234 |
+
*
|
235 |
+
*/
|
236 |
+
public function is_cons_service_configured(): bool {
|
237 |
+
return $this->is_iub_service_configured('cons');
|
238 |
+
}
|
239 |
+
}
|
includes/QuickGeneratorService.php
ADDED
@@ -0,0 +1,638 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// exit if accessed directly
|
3 |
+
if (!defined('ABSPATH'))
|
4 |
+
exit;
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Class QuickGeneratorService
|
8 |
+
*/
|
9 |
+
class QuickGeneratorService
|
10 |
+
{
|
11 |
+
public $QG_Response = [];
|
12 |
+
|
13 |
+
public function __construct(){
|
14 |
+
$this->QG_Response = get_option(iubenda_Settings::IUB_QG_Response, []) ?: [];
|
15 |
+
}
|
16 |
+
|
17 |
+
protected function get_mapped_language_on_local($iub_lang_code)
|
18 |
+
{
|
19 |
+
$result = [];
|
20 |
+
$iub_lang_code = strtolower(str_replace('-', '_', $iub_lang_code));
|
21 |
+
|
22 |
+
foreach (iubenda()->languages_locale as $wordpress_locale => $lang_code) {
|
23 |
+
// lower case and replace - with underscore
|
24 |
+
$lower_wordpress_locale = strtolower(str_replace('-', '_', $wordpress_locale));
|
25 |
+
// Map after all both codes becomes lower case and underscore
|
26 |
+
|
27 |
+
// Map en iubenda language to wordpress languages en_us
|
28 |
+
if ($iub_lang_code == 'en' && $lower_wordpress_locale == 'en_us') {
|
29 |
+
$result[] = $lang_code;
|
30 |
+
continue;
|
31 |
+
}
|
32 |
+
|
33 |
+
// Map iubenda language to wordpress languages
|
34 |
+
if ($iub_lang_code == $lower_wordpress_locale) {
|
35 |
+
$result[] = $lang_code;
|
36 |
+
continue;
|
37 |
+
}
|
38 |
+
|
39 |
+
// Map any pt iubenda language to any wordpress languages starts with pt
|
40 |
+
if (strpos($iub_lang_code, 'pt_') === 0 && strpos($lower_wordpress_locale, 'pt') === 0) {
|
41 |
+
$result[] = $lang_code;
|
42 |
+
continue;
|
43 |
+
}
|
44 |
+
|
45 |
+
// Cases iubenda languages without _ mapped to
|
46 |
+
if ($iub_lang_code == strstr($lower_wordpress_locale, '_', true)) {
|
47 |
+
$result[] = $lang_code;
|
48 |
+
continue;
|
49 |
+
}
|
50 |
+
// Map any XX_ iubenda language to any wordpress languages starts with XX_
|
51 |
+
if ((strpos($iub_lang_code, '_') === 0 && strstr($iub_lang_code, '_', true)) && (strpos($lower_wordpress_locale, '_') === 0 && strstr($lower_wordpress_locale, '_', true))) {
|
52 |
+
$result[] = $lang_code;
|
53 |
+
continue;
|
54 |
+
}
|
55 |
+
|
56 |
+
if ($lower_wordpress_locale == $iub_lang_code) {
|
57 |
+
$result[] = $lang_code;
|
58 |
+
continue;
|
59 |
+
}
|
60 |
+
}
|
61 |
+
|
62 |
+
return $result;
|
63 |
+
}
|
64 |
+
|
65 |
+
public function quick_generator_api()
|
66 |
+
{
|
67 |
+
$public_ids = [];
|
68 |
+
$privacy_policies = [];
|
69 |
+
$site_id = null;
|
70 |
+
|
71 |
+
$body = iub_array_get($_POST, 'payload');
|
72 |
+
$user = iub_array_get($body, 'user');
|
73 |
+
|
74 |
+
$multi_lang = boolval(iubenda()->multilang && !empty(iubenda()->languages));
|
75 |
+
|
76 |
+
foreach (iub_array_get($body, 'privacy_policies', []) ?? [] as $key => $privacy_policy) {
|
77 |
+
//getting site id to save it into Iubenda global option
|
78 |
+
if(!$site_id){
|
79 |
+
$site_id = iub_array_get($privacy_policy, 'site_id');
|
80 |
+
}
|
81 |
+
|
82 |
+
if($multi_lang){
|
83 |
+
if($local_lang_codes = $this->get_mapped_language_on_local($privacy_policy['lang'])){
|
84 |
+
foreach ($local_lang_codes as $local_lang_code){
|
85 |
+
$privacy_policies[$local_lang_code] = $privacy_policy;
|
86 |
+
|
87 |
+
//getting public id to save it into Iubenda global option default lang
|
88 |
+
$public_ids[$local_lang_code] = iub_array_get($privacy_policy, 'public_id');
|
89 |
+
}
|
90 |
+
}
|
91 |
+
|
92 |
+
// Getting supported local languages intersect with iubenda supported languages
|
93 |
+
$iubenda_intersect_supported_langs = (new ProductHelper())->get_local_supported_language();
|
94 |
+
|
95 |
+
// Fallback to default language if no supported local languages intersect with iubenda supported languages
|
96 |
+
if (empty($iubenda_intersect_supported_langs)) {
|
97 |
+
$public_ids[iubenda()->lang_default] = iub_array_get($privacy_policy, 'public_id');
|
98 |
+
}
|
99 |
+
}else{
|
100 |
+
$privacy_policies['default'] = $privacy_policy;
|
101 |
+
|
102 |
+
//getting public id to save it into Iubenda global option default lang
|
103 |
+
$public_ids['default'] = iub_array_get($privacy_policy, 'public_id');
|
104 |
+
}
|
105 |
+
}
|
106 |
+
|
107 |
+
$configuration = [
|
108 |
+
'website' => iub_array_get($_POST, 'website'),
|
109 |
+
'user' => [
|
110 |
+
'id' => iub_array_get($user, 'id'),
|
111 |
+
'email' => iub_array_get($user, 'email'),
|
112 |
+
],
|
113 |
+
'privacy_policies' => $privacy_policies,
|
114 |
+
];
|
115 |
+
|
116 |
+
update_option(iubenda_Settings::IUB_QG_Response, $configuration);
|
117 |
+
update_option( 'iubenda_global_options', ['site_id' => $site_id, 'public_ids' => $public_ids] );
|
118 |
+
|
119 |
+
iubenda()->settings->add_notice( 'iub_integrated_success', __( 'Your website has been created and your legal documents have been generated. Setup your cookie banner and privacy policy button to complete the integration.', 'iubenda' ), 'success' );
|
120 |
+
|
121 |
+
echo json_encode([
|
122 |
+
'status' => 'done',
|
123 |
+
'redirect' => admin_url( 'admin.php?page=iubenda&view=integrate-setup') ,
|
124 |
+
]);
|
125 |
+
wp_die();
|
126 |
+
}
|
127 |
+
|
128 |
+
public function integrate_setup()
|
129 |
+
{
|
130 |
+
// Saving iubenda plugin settings
|
131 |
+
$this->plugin_settings_save_options();
|
132 |
+
|
133 |
+
if(iub_array_get($_POST, 'cookie_law') == 'on'){
|
134 |
+
// Saving CS data with CS function
|
135 |
+
$this->cs_save_options();
|
136 |
+
}
|
137 |
+
|
138 |
+
if(iub_array_get($_POST, 'privacy_policy') == 'on'){
|
139 |
+
// Saving PP data with PP function
|
140 |
+
$this->pp_save_options();
|
141 |
+
}
|
142 |
+
|
143 |
+
if (iub_array_get($_POST, 'cookie_law') == 'on' || iub_array_get($_POST, 'privacy_policy') == 'on') {
|
144 |
+
//add notice that`s notice user the integrate has been done successfully
|
145 |
+
iubenda()->settings->add_notice('iub_integrated_success', __('Our products has been integrated successfully, now customize all products to increase the compliance rating and make your website fully compliant.', 'iubenda'), 'success');
|
146 |
+
}
|
147 |
+
|
148 |
+
// Encourage user to verify his account
|
149 |
+
$iub_notifications = get_option(iubenda_Settings::IUB_NOTIFICATIONS, []) ?: [];
|
150 |
+
$iub_notifications['iub_user_needs_to_verify_his_account'] = true;
|
151 |
+
update_option(iubenda_Settings::IUB_NOTIFICATIONS, $iub_notifications);
|
152 |
+
|
153 |
+
echo json_encode(['status' => 'done']);
|
154 |
+
wp_die();
|
155 |
+
}
|
156 |
+
|
157 |
+
public function save_public_api_key()
|
158 |
+
{
|
159 |
+
if(empty(iub_array_get($_POST, 'public_api_key'))){
|
160 |
+
echo json_encode(['status' => 'error', 'responseText' => "invalid public API key" ]);
|
161 |
+
wp_die();
|
162 |
+
}
|
163 |
+
update_option('iubenda_consent_solution', ['public_api_key' => iub_array_get($_POST, 'public_api_key')]);
|
164 |
+
|
165 |
+
$iubenda_activated_products = get_option('iubenda_activated_products');
|
166 |
+
$iubenda_activated_products['iubenda_consent_solution'] = 'true';
|
167 |
+
update_option('iubenda_activated_products', $iubenda_activated_products);
|
168 |
+
|
169 |
+
echo json_encode(['status' => 'done']);
|
170 |
+
wp_die();
|
171 |
+
}
|
172 |
+
|
173 |
+
public function auto_detect_forms()
|
174 |
+
{
|
175 |
+
iubenda()->forms->autodetect_forms();
|
176 |
+
|
177 |
+
require_once IUBENDA_PLUGIN_PATH . 'views/partials/auto_detect_forms.php';
|
178 |
+
wp_die();
|
179 |
+
|
180 |
+
}
|
181 |
+
|
182 |
+
public function add_footer()
|
183 |
+
{
|
184 |
+
if(iub_array_get(iubenda()->settings->services, 'pp.status') == 'true' && iub_array_get(iubenda()->options['pp'], 'button_position') == 'automatic'){
|
185 |
+
echo $this->pp_button();
|
186 |
+
}
|
187 |
+
if(iub_array_get(iubenda()->settings->services, 'tc.status') == 'true' && iub_array_get(iubenda()->options['tc'], 'button_position') == 'automatic'){
|
188 |
+
echo $this->tc_button();
|
189 |
+
}
|
190 |
+
}
|
191 |
+
|
192 |
+
public function tc_button_shortcode(){
|
193 |
+
if ((iub_array_get(iubenda()->settings->services, 'tc.status') == 'true') && (iub_array_get(iubenda()->options['tc'], 'button_position') == 'manual')) {
|
194 |
+
return $this->tc_button();
|
195 |
+
}
|
196 |
+
return "[iub-tc-button]";
|
197 |
+
}
|
198 |
+
|
199 |
+
public function tc_button(){
|
200 |
+
if ( iubenda()->multilang && ! empty( iubenda()->lang_current ) ) {
|
201 |
+
$code = iub_array_get(iubenda()->options, 'tc.code_'.iubenda()->lang_current) ?? null;
|
202 |
+
} else {
|
203 |
+
$code = iub_array_get(iubenda()->options, 'tc.code_default') ?? null;
|
204 |
+
}
|
205 |
+
|
206 |
+
return $code;
|
207 |
+
}
|
208 |
+
|
209 |
+
public function pp_button_shortcode(){
|
210 |
+
if (iub_array_get(iubenda()->settings->services, 'pp.status') == 'true' && iub_array_get(iubenda()->options['pp'], 'button_position') != 'automatic') {
|
211 |
+
return $this->pp_button();
|
212 |
+
}
|
213 |
+
return "[iub-pp-button]";
|
214 |
+
}
|
215 |
+
|
216 |
+
public function pp_button(){
|
217 |
+
$privacy_policy_generator = new PrivacyPolicyGenerator();
|
218 |
+
|
219 |
+
if ( iubenda()->multilang && ! empty( iubenda()->lang_current ) ) {
|
220 |
+
$code = iub_array_get(iubenda()->options, 'pp.code_'.iubenda()->lang_current) ?? null;
|
221 |
+
} else {
|
222 |
+
$code = iub_array_get(iubenda()->options, 'pp.code_default') ?? null;
|
223 |
+
}
|
224 |
+
|
225 |
+
if (!$code){
|
226 |
+
if ( iubenda()->multilang && ! empty( iubenda()->lang_current ) ) {
|
227 |
+
$public_id = iub_array_get(iubenda()->options['global_options'], 'public_ids.'.iubenda()->lang_current);
|
228 |
+
} else {
|
229 |
+
$public_id = iub_array_get(iubenda()->options['global_options'], 'public_ids.default');
|
230 |
+
}
|
231 |
+
|
232 |
+
$code = $privacy_policy_generator->handle('default', $public_id, iub_array_get(iubenda()->options, 'pp.button_style'));
|
233 |
+
}
|
234 |
+
|
235 |
+
return $code;
|
236 |
+
}
|
237 |
+
|
238 |
+
public function ajax_save_options()
|
239 |
+
{
|
240 |
+
$iubenda_section_name = iub_array_get($_POST, 'iubenda_section_name');
|
241 |
+
$iubenda_section_key = iub_array_get($_POST, 'iubenda_section_key');
|
242 |
+
|
243 |
+
// If section == CS save by CS function
|
244 |
+
if($iubenda_section_key == 'cs'){
|
245 |
+
$this->cs_save_options(false);
|
246 |
+
}
|
247 |
+
|
248 |
+
// Elseif section == Plugin-settings save by plugin settings function
|
249 |
+
elseif($iubenda_section_key == 'plugin-settings'){
|
250 |
+
$this->plugin_settings_save_options(false);
|
251 |
+
}
|
252 |
+
|
253 |
+
else{
|
254 |
+
$codes_statues = [];
|
255 |
+
$global_options = iubenda()->options['global_options'];
|
256 |
+
|
257 |
+
$section_new_option = iub_array_get($_POST, $iubenda_section_name);
|
258 |
+
$old_section_options = iubenda()->options[$iubenda_section_key];
|
259 |
+
|
260 |
+
if($iubenda_section_name == 'iubenda_terms_conditions_solution') {
|
261 |
+
foreach($section_new_option as $index => $option) {
|
262 |
+
if(substr( $index, 0, 5 ) === "code_"){
|
263 |
+
$parsed_code = iubenda()->parse_tc_pp_configuration(stripslashes_deep($option));
|
264 |
+
|
265 |
+
if ($parsed_code) {
|
266 |
+
$codes_statues["{$iubenda_section_name}_codes"][] = true;
|
267 |
+
$global_options['public_ids'][substr($index, 5)] = iub_array_get($parsed_code, 'cookie_policy_id');
|
268 |
+
}else{
|
269 |
+
$codes_statues["{$iubenda_section_name}_codes"][] = false;
|
270 |
+
}
|
271 |
+
}
|
272 |
+
}
|
273 |
+
|
274 |
+
// validating Embed Codes of TC contains at least one valid code
|
275 |
+
if(count(array_filter($codes_statues["{$iubenda_section_name}_codes"])) == 0){
|
276 |
+
echo json_encode(['status' => 'error', 'responseText' => "( {$iubenda_section_name} ) At least one code must be valid."]);
|
277 |
+
wp_die();
|
278 |
+
}
|
279 |
+
}
|
280 |
+
|
281 |
+
// Update buttons style & position
|
282 |
+
// Privacy policy Button
|
283 |
+
if($iubenda_section_name == 'iubenda_privacy_policy_solution') {
|
284 |
+
// Add a widget in the sidebar if the button is positioned automatically
|
285 |
+
if('automatic' === iub_array_get($section_new_option, 'button_position')){
|
286 |
+
iubenda()->assign_legal_block_or_widget();
|
287 |
+
}
|
288 |
+
|
289 |
+
// Merge old old PP options with new options to update codes with new style
|
290 |
+
$old_section_options = $old_section_options ? $this->stripslashes_deep($old_section_options) : [];
|
291 |
+
$section_new_option = array_merge($old_section_options, $section_new_option);
|
292 |
+
|
293 |
+
// Update PP codes with new button style
|
294 |
+
$section_new_option = $this->update_button_style($section_new_option, 'pp');
|
295 |
+
}
|
296 |
+
|
297 |
+
// Terms and conditions Button
|
298 |
+
if($iubenda_section_name == 'iubenda_terms_conditions_solution') {
|
299 |
+
// Add a widget in the sidebar if the button is positioned automatically
|
300 |
+
if('automatic' === iub_array_get($section_new_option, 'button_position')){
|
301 |
+
iubenda()->assign_legal_block_or_widget();
|
302 |
+
}
|
303 |
+
|
304 |
+
// Update TC codes with new button style
|
305 |
+
$section_new_option = $this->update_button_style($section_new_option, 'tc');
|
306 |
+
}
|
307 |
+
|
308 |
+
//set the product configured option true
|
309 |
+
$section_new_option['configured'] = 'true';
|
310 |
+
|
311 |
+
$iubenda_activated_products = get_option('iubenda_activated_products');
|
312 |
+
$iubenda_activated_products[$iubenda_section_name] = 'true';
|
313 |
+
update_option('iubenda_activated_products', $iubenda_activated_products);
|
314 |
+
|
315 |
+
$section_new_option = $this->stripslashes_deep($section_new_option);
|
316 |
+
if($old_section_options){
|
317 |
+
$old_section_options = $this->stripslashes_deep($old_section_options);
|
318 |
+
$section_new_option = array_merge($old_section_options, $section_new_option);
|
319 |
+
}
|
320 |
+
update_option($iubenda_section_name, $section_new_option);
|
321 |
+
|
322 |
+
//update iubenda global options (public_ids)
|
323 |
+
update_option( 'iubenda_global_options', $global_options );
|
324 |
+
}
|
325 |
+
|
326 |
+
echo json_encode(['status' => 'done']);
|
327 |
+
wp_die();
|
328 |
+
}
|
329 |
+
|
330 |
+
private function prepare_custom_scripts_iframes($data, $flag ) {
|
331 |
+
return array_combine(
|
332 |
+
iub_array_get($data, $flag),
|
333 |
+
iub_array_get($data, 'type')
|
334 |
+
);
|
335 |
+
}
|
336 |
+
|
337 |
+
private function stripslashes_deep($value)
|
338 |
+
{
|
339 |
+
$value = is_array($value) ?
|
340 |
+
array_map('stripslashes_deep', $value) :
|
341 |
+
stripslashes($value);
|
342 |
+
|
343 |
+
return $value;
|
344 |
+
}
|
345 |
+
|
346 |
+
/**.
|
347 |
+
* Update button style in options
|
348 |
+
*
|
349 |
+
* @param $options
|
350 |
+
* @param $service
|
351 |
+
* @return array
|
352 |
+
*/
|
353 |
+
public function update_button_style($options, $service): array
|
354 |
+
{
|
355 |
+
if($service == 'pp'){
|
356 |
+
$privacy_policy_generator = new PrivacyPolicyGenerator();
|
357 |
+
}
|
358 |
+
|
359 |
+
$new_options = [];
|
360 |
+
$button_style = iub_array_get($options, 'button_style');
|
361 |
+
|
362 |
+
foreach($options as $key => $index){
|
363 |
+
$new_options[$key] = $index;
|
364 |
+
|
365 |
+
if(substr( $key, 0, 5 ) === "code_"){
|
366 |
+
if($service == 'pp'){
|
367 |
+
// Get public_id for this language
|
368 |
+
$public_id = iub_array_get(iubenda()->options['global_options'], "public_ids.".substr( $key, 5 ), false) ?: false;
|
369 |
+
|
370 |
+
if ((!$index || empty($index)) && $public_id) {
|
371 |
+
$index = $privacy_policy_generator->handle(substr( $key, 5 ), $public_id, iubenda()->options['pp']);
|
372 |
+
}
|
373 |
+
}
|
374 |
+
|
375 |
+
$new_code = str_replace(['iubenda-black', 'iubenda-white'], "iubenda-{$button_style}",$index);
|
376 |
+
$new_options[$key] = $new_code;
|
377 |
+
}
|
378 |
+
}
|
379 |
+
return $new_options;
|
380 |
+
}
|
381 |
+
|
382 |
+
/**
|
383 |
+
* saving Iubenda cookie law solution options
|
384 |
+
* @param bool $default_options
|
385 |
+
*/
|
386 |
+
private function cs_save_options($default_options = true)
|
387 |
+
{
|
388 |
+
$iubenda_cookie_solution_generator = new CookieSolutionGenerator;
|
389 |
+
$global_options = iubenda()->options['global_options'];
|
390 |
+
|
391 |
+
$codes_statues = [];
|
392 |
+
$site_id = null;
|
393 |
+
$new_cs_option = iub_array_get($_POST, 'iubenda_cookie_law_solution');
|
394 |
+
|
395 |
+
if (!$default_options) {
|
396 |
+
//CS plugin general options
|
397 |
+
$new_cs_option['parse'] = (bool)isset($new_cs_option['parse']);
|
398 |
+
$new_cs_option['parser_engine'] = isset($new_cs_option['parser_engine']) && in_array($new_cs_option['parser_engine'], ['default', 'new']) ? $new_cs_option['parser_engine'] : iubenda()->defaults['cs']['parser_engine'];
|
399 |
+
$new_cs_option['skip_parsing'] = (bool)isset($new_cs_option['skip_parsing']);
|
400 |
+
$new_cs_option['amp_support'] = iub_array_get($new_cs_option, 'amp_support', false) ?: false;
|
401 |
+
}
|
402 |
+
|
403 |
+
if(isset($new_cs_option['custom_scripts'])){
|
404 |
+
$new_cs_option['custom_scripts'] = $this->prepare_custom_scripts_iframes( iub_array_get($new_cs_option, 'custom_scripts'), 'script');
|
405 |
+
|
406 |
+
// Set all selected values Int to not break compatibility with old version
|
407 |
+
$new_cs_option['custom_scripts'] = array_map('intval' , $new_cs_option['custom_scripts']);
|
408 |
+
}else{
|
409 |
+
$new_cs_option['custom_scripts'] = [];
|
410 |
+
}
|
411 |
+
|
412 |
+
if(isset($new_cs_option['custom_iframes'])){
|
413 |
+
$new_cs_option['custom_iframes'] = $this->prepare_custom_scripts_iframes( iub_array_get($new_cs_option, 'custom_iframes'), 'iframe');
|
414 |
+
|
415 |
+
// Set all selected values Int to not break compatibility with old version
|
416 |
+
$new_cs_option['custom_iframes'] = array_map('intval' , $new_cs_option['custom_iframes']);
|
417 |
+
}else{
|
418 |
+
$new_cs_option['custom_iframes'] = [];
|
419 |
+
}
|
420 |
+
|
421 |
+
if ('simplified' === iub_array_get($new_cs_option, 'configuration_type')) {
|
422 |
+
// Check explicit accept & reject forced on if TCF is on
|
423 |
+
if(true == iub_array_get($new_cs_option, 'simplified.tcf')){
|
424 |
+
$new_cs_option['simplified']['explicit_accept'] = 'on';
|
425 |
+
$new_cs_option['simplified']['explicit_reject'] = 'on';
|
426 |
+
}
|
427 |
+
$languages = (new ProductHelper())->get_languages();
|
428 |
+
// loop on iubenda->>language
|
429 |
+
foreach ($languages as $lang_id => $lang_name) {
|
430 |
+
$privacy_policy_id = iub_array_get($global_options, "public_ids.{$lang_id}");
|
431 |
+
|
432 |
+
if(!$privacy_policy_id){
|
433 |
+
continue;
|
434 |
+
}
|
435 |
+
|
436 |
+
$site_id = iub_array_get(iubenda()->options, 'global_options.site_id') ?: null;
|
437 |
+
|
438 |
+
// Generating CS Simplified code
|
439 |
+
$cs_embed_code = $iubenda_cookie_solution_generator->handle($lang_id, $site_id, $privacy_policy_id, iub_array_get($new_cs_option, 'simplified'));
|
440 |
+
|
441 |
+
$new_cs_option["code_{$lang_id}"] = $this->stripslashes_deep($cs_embed_code);
|
442 |
+
|
443 |
+
// generate amp template file if the code is valid
|
444 |
+
if($cs_embed_code){
|
445 |
+
// generate amp template file
|
446 |
+
if ($new_cs_option['amp_support']) {
|
447 |
+
$template_done[$lang_id] = false;
|
448 |
+
|
449 |
+
$template_done[$lang_id] = (bool)iubenda()->AMP->generate_amp_template($cs_embed_code, $lang_id);
|
450 |
+
|
451 |
+
// Check if AMP is checked and the auto generated option is selected
|
452 |
+
if ("1" == $new_cs_option['amp_support'] && 'local' == $new_cs_option['amp_source']) {
|
453 |
+
|
454 |
+
if (is_bool($template_done[$lang_id]) && false === $template_done[$lang_id]) {
|
455 |
+
$this->add_amp_permission_error();
|
456 |
+
}
|
457 |
+
}
|
458 |
+
|
459 |
+
$new_cs_option['amp_template_done'] = $template_done;
|
460 |
+
|
461 |
+
// TODO need to checked with AMP files url
|
462 |
+
if (is_array($new_cs_option['amp_template'])) {
|
463 |
+
foreach ($new_cs_option['amp_template'] as $lang => $template) {
|
464 |
+
$new_cs_option['amp_template'][$lang] = esc_url($template);
|
465 |
+
}
|
466 |
+
} else {
|
467 |
+
$new_cs_option['amp_template'] = esc_url($new_cs_option['amp_template']);
|
468 |
+
}
|
469 |
+
}
|
470 |
+
}
|
471 |
+
}
|
472 |
+
}
|
473 |
+
elseif('manual' === iub_array_get($new_cs_option, 'configuration_type')){
|
474 |
+
foreach($new_cs_option as $index => $option) {
|
475 |
+
//check code if valid or not
|
476 |
+
if (substr($index, 0, 5) === "code_" && !empty($option)) {
|
477 |
+
// Getting data from embed code
|
478 |
+
$parsed_code = iubenda()->parse_configuration(stripslashes_deep($option));
|
479 |
+
|
480 |
+
// if code parsed correctly
|
481 |
+
// if(!$parsed_code){
|
482 |
+
// $codes_statues[substr($index, 5)] = false;
|
483 |
+
// continue;
|
484 |
+
// }
|
485 |
+
$new_cs_option['manual_'."$index"] = $option;
|
486 |
+
$codes_statues[substr($index, 5)] = true;
|
487 |
+
|
488 |
+
//getting cookiePolicyId to save it into Iubenda global option
|
489 |
+
if(iub_array_get($parsed_code, 'cookiePolicyId') ?: null){
|
490 |
+
$global_options['public_ids'][substr($index, 5)] = iub_array_get($parsed_code, 'cookiePolicyId');
|
491 |
+
}
|
492 |
+
|
493 |
+
//getting site id to save it into Iubenda global option
|
494 |
+
if(!$site_id && iub_array_get($parsed_code, 'siteId') ?: null){
|
495 |
+
$site_id = iub_array_get($parsed_code, 'siteId');
|
496 |
+
}
|
497 |
+
|
498 |
+
// generate amp template file
|
499 |
+
if ($new_cs_option['amp_support']) {
|
500 |
+
$lang_id = substr($index, 5);
|
501 |
+
$template_done[$lang_id] = false;
|
502 |
+
|
503 |
+
$template_done[$lang_id] = (bool)iubenda()->AMP->generate_amp_template(stripslashes_deep($option), $lang_id);
|
504 |
+
|
505 |
+
// Check if AMP is checked and the auto generated option is selected
|
506 |
+
if ("1" == $new_cs_option['amp_support'] && 'local' == $new_cs_option['amp_source']) {
|
507 |
+
|
508 |
+
if (is_bool($template_done[$lang_id]) && false === $template_done[$lang_id]) {
|
509 |
+
$this->add_amp_permission_error();
|
510 |
+
}
|
511 |
+
}
|
512 |
+
|
513 |
+
$new_cs_option['amp_template_done'] = $template_done;
|
514 |
+
|
515 |
+
// TODO need to checked with AMP files url
|
516 |
+
if (is_array($new_cs_option['amp_template'])) {
|
517 |
+
foreach ($new_cs_option['amp_template'] as $lang => $template) {
|
518 |
+
$new_cs_option['amp_template'][$lang] = esc_url($template);
|
519 |
+
}
|
520 |
+
} else {
|
521 |
+
$new_cs_option['amp_template'] = esc_url($new_cs_option['amp_template']);
|
522 |
+
}
|
523 |
+
}
|
524 |
+
}
|
525 |
+
}
|
526 |
+
// validating Embed Codes of CS contains at least one valid code
|
527 |
+
if(count(array_filter($codes_statues)) == 0){
|
528 |
+
echo json_encode(['status' => 'error', 'responseText' => "( Iubenda cookie law solution ) At least one code must be valid."]);
|
529 |
+
wp_die();
|
530 |
+
}
|
531 |
+
}
|
532 |
+
|
533 |
+
//set the product configured option true
|
534 |
+
$new_cs_option['configured'] = 'true';
|
535 |
+
|
536 |
+
// update only cs make it activated service
|
537 |
+
iubenda()->options['activated_products']['iubenda_cookie_law_solution'] = 'true';
|
538 |
+
update_option('iubenda_activated_products', iubenda()->options['activated_products']);
|
539 |
+
|
540 |
+
// saving new options merged by old options
|
541 |
+
$new_cs_option = $this->stripslashes_deep($new_cs_option);
|
542 |
+
$old_cs_options = $this->stripslashes_deep(iubenda()->options['cs']);
|
543 |
+
|
544 |
+
$new_cs_option = array_merge($old_cs_options, $new_cs_option);
|
545 |
+
update_option('iubenda_cookie_law_solution', $new_cs_option);
|
546 |
+
|
547 |
+
// save site ID into Iubenda global option
|
548 |
+
if($site_id){
|
549 |
+
$global_options['site_id'] = $site_id;
|
550 |
+
}
|
551 |
+
|
552 |
+
//update iubenda global options (site_id & public_ids)
|
553 |
+
iubenda()->options['global_options'] = $global_options;
|
554 |
+
update_option( 'iubenda_global_options', $global_options );
|
555 |
+
}
|
556 |
+
|
557 |
+
/**
|
558 |
+
* Saving iubenda plugin settings
|
559 |
+
* @param bool $default_options
|
560 |
+
*/
|
561 |
+
private function plugin_settings_save_options($default_options = true)
|
562 |
+
{
|
563 |
+
$new_options = iub_array_get($_POST, 'iubenda_plugin_settings', []) ?: [];
|
564 |
+
|
565 |
+
if (!$default_options) {
|
566 |
+
$new_options['ctype'] = (bool)isset($new_options['ctype']);
|
567 |
+
$new_options['output_feed'] = (bool)isset($new_options['output_feed']);
|
568 |
+
$new_options['output_post'] = (bool)isset($new_options['output_post']);
|
569 |
+
$new_options['menu_position'] = (bool)isset($new_options['menu_position']) ? $new_options['menu_position'] : iubenda()->defaults['cs']['menu_position'];
|
570 |
+
$new_options['deactivation'] = (bool)isset($new_options['deactivation']);
|
571 |
+
}
|
572 |
+
|
573 |
+
$old_cs_options = $this->stripslashes_deep(iubenda()->options['cs']);
|
574 |
+
$new_cs_option = array_merge($old_cs_options, $new_options);
|
575 |
+
update_option('iubenda_cookie_law_solution', $new_cs_option);
|
576 |
+
}
|
577 |
+
|
578 |
+
/**
|
579 |
+
* saving Iubenda privacy policy solution options
|
580 |
+
*/
|
581 |
+
private function pp_save_options()
|
582 |
+
{
|
583 |
+
// TODO enhance more
|
584 |
+
$privacy_policy_generator = new PrivacyPolicyGenerator();
|
585 |
+
$global_options = iubenda()->options['global_options'];
|
586 |
+
|
587 |
+
$languages = (new ProductHelper())->get_languages();
|
588 |
+
// loop on iubenda->>language
|
589 |
+
foreach ($languages as $lang_id => $v) {
|
590 |
+
$privacy_policy_id = null;
|
591 |
+
|
592 |
+
// getting privacy policy id from saved QG response
|
593 |
+
$privacy_policy_id = iub_array_get($global_options, "public_ids.{$lang_id}");
|
594 |
+
|
595 |
+
if(!$privacy_policy_id){
|
596 |
+
continue;
|
597 |
+
}
|
598 |
+
|
599 |
+
// Insert PP Simplified code into options
|
600 |
+
$pp_embed_code = $privacy_policy_generator->handle($lang_id, $privacy_policy_id, iub_array_get($_POST, 'iubenda_privacy_policy_solution.button_style'));
|
601 |
+
|
602 |
+
$pp_data["code_{$lang_id}"] = $pp_embed_code;
|
603 |
+
|
604 |
+
//getting public id to save it into Iubenda global option for each lang
|
605 |
+
$global_options['public_ids'][$lang_id] = $privacy_policy_id;
|
606 |
+
}
|
607 |
+
|
608 |
+
// Add a widget in the sidebar if the button is positioned automatically
|
609 |
+
if('automatic' === iub_array_get($_POST, 'iubenda_privacy_policy_solution.button_position')){
|
610 |
+
iubenda()->assign_legal_block_or_widget();
|
611 |
+
}
|
612 |
+
|
613 |
+
// Set the version of PP service as Simplified
|
614 |
+
$pp_data["version"] = 'Simplified';
|
615 |
+
|
616 |
+
// Set the configured status as true
|
617 |
+
$pp_data["configured"] = 'true';
|
618 |
+
|
619 |
+
update_option("iubenda_privacy_policy_solution", array_merge($pp_data, iub_array_get($_POST, 'iubenda_privacy_policy_solution')));
|
620 |
+
|
621 |
+
// update only pp make it activated service
|
622 |
+
iubenda()->options['activated_products']['iubenda_privacy_policy_solution'] = 'true';
|
623 |
+
update_option('iubenda_activated_products', iubenda()->options['activated_products']);
|
624 |
+
|
625 |
+
//update iubenda global options (site_id & public_ids)
|
626 |
+
iubenda()->options['global_options'] = $global_options;
|
627 |
+
update_option( 'iubenda_global_options', $global_options );
|
628 |
+
}
|
629 |
+
|
630 |
+
private function add_amp_permission_error()
|
631 |
+
{
|
632 |
+
$file_path = IUBENDA_PLUGIN_PATH . 'templates' . DIRECTORY_SEPARATOR;
|
633 |
+
$message = sprintf( __( 'Currently, you do not have write permission for <i class="text-bold">%s</i>. For instructions on how to fix this, please read <a class="link-underline" target="_blank" href="%s">our guide</a>.', 'iubenda' ), $file_path, iubenda()->settings->links['amp_permission_support']);
|
634 |
+
|
635 |
+
add_settings_error('cs_settings_errors', 'iub_cs_settings_updated', $message, 'error');
|
636 |
+
iubenda()->settings->add_notice( 'iub_integrated_success', $message, 'error' );
|
637 |
+
}
|
638 |
+
}
|
includes/RadarService.php
ADDED
@@ -0,0 +1,176 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// exit if accessed directly
|
3 |
+
if ( ! defined( 'ABSPATH' ) )
|
4 |
+
exit;
|
5 |
+
|
6 |
+
|
7 |
+
/**
|
8 |
+
* Class Radar_API
|
9 |
+
*/
|
10 |
+
class RadarService {
|
11 |
+
|
12 |
+
private $authorization = [
|
13 |
+
'username' => 'devops',
|
14 |
+
'password' => 'orIDiVvPVdHvwyjM4',
|
15 |
+
];
|
16 |
+
private $serviceRating = '';
|
17 |
+
|
18 |
+
private $url = [
|
19 |
+
'match-async' => 'https://radar.iubenda.com/api/match-async',
|
20 |
+
'match-progress' => 'https://radar.iubenda.com/api/match-progress',
|
21 |
+
];
|
22 |
+
|
23 |
+
public $apiConfiguration = [];
|
24 |
+
|
25 |
+
private $updateMessage = "Please, make also sure the plugin is updated to the <a target='_blank' href='https://wordpress.org/plugins/iubenda-cookie-law-solution/'><u> latest version.</u></a>";
|
26 |
+
|
27 |
+
public function __construct(){
|
28 |
+
$this->serviceRating = new ServiceRating();
|
29 |
+
$this->apiConfiguration = get_option('iubenda_radar_api_configuration', []) ?: [];
|
30 |
+
}
|
31 |
+
|
32 |
+
public function ask_radar_to_send_request(){
|
33 |
+
if (!empty($this->apiConfiguration)) {
|
34 |
+
return $this->send_radar_progress_request();
|
35 |
+
}
|
36 |
+
|
37 |
+
return $this->send_radar_sync_request();
|
38 |
+
}
|
39 |
+
|
40 |
+
public function force_delete_radar_configuration(){
|
41 |
+
delete_option('iubenda_radar_api_configuration');
|
42 |
+
return true;
|
43 |
+
}
|
44 |
+
|
45 |
+
public function calculate_radar_percentage(){
|
46 |
+
$services['pp'] = $this->serviceRating->is_privacy_policy_activated();
|
47 |
+
$services['cs'] = $this->serviceRating->is_cookie_solution_activated();
|
48 |
+
$services['cons'] = boolval($this->serviceRating->is_cookie_solution_activated() && $this->serviceRating->is_cookie_solution_automatically_parse_enabled());
|
49 |
+
$services['tc'] = $this->serviceRating->is_terms_conditions_activated();
|
50 |
+
|
51 |
+
return [
|
52 |
+
'percentage' => (count(array_filter($services)) / count($services)) * 100,
|
53 |
+
'services' => $services
|
54 |
+
];
|
55 |
+
}
|
56 |
+
|
57 |
+
private function send_radar_sync_request()
|
58 |
+
{
|
59 |
+
$website = get_site_url();
|
60 |
+
$data = ['timeout' => 30,
|
61 |
+
'redirection' => 5,
|
62 |
+
'httpversion' => '1.0',
|
63 |
+
'headers' => ['Authorization' => 'Basic ' . base64_encode($this->authorization['username'] . ':' . $this->authorization['password'])],
|
64 |
+
'body' => ['url' => $website, 'detectLegalDocuments' => 'true'],
|
65 |
+
];
|
66 |
+
|
67 |
+
$response = wp_remote_get(iub_array_get($this->url, 'match-async'), $data);
|
68 |
+
$responseCode = wp_remote_retrieve_response_code($response);
|
69 |
+
|
70 |
+
//check response code
|
71 |
+
$this->check_response($response, $responseCode);
|
72 |
+
|
73 |
+
$body = json_decode(iub_array_get($response, 'body'), true);
|
74 |
+
|
75 |
+
$body['trial_num'] = 1;
|
76 |
+
$body['next_trial'] = time();
|
77 |
+
|
78 |
+
update_option('iubenda_radar_api_configuration', $body);
|
79 |
+
|
80 |
+
if (defined('DOING_AJAX') && DOING_AJAX) {
|
81 |
+
wp_send_json(['code' => $responseCode, 'status' => 'progress',]);
|
82 |
+
wp_die();
|
83 |
+
}
|
84 |
+
|
85 |
+
return true;
|
86 |
+
}
|
87 |
+
|
88 |
+
private function send_radar_progress_request()
|
89 |
+
{
|
90 |
+
$iubendaRadarApiConfiguration = $this->apiConfiguration;
|
91 |
+
|
92 |
+
|
93 |
+
if (iub_array_get($iubendaRadarApiConfiguration, 'status') == 'completed') {
|
94 |
+
if (defined('DOING_AJAX') && DOING_AJAX) {
|
95 |
+
wp_send_json(['code' => '200', 'status' => 'complete', 'data' => $this->calculate_radar_percentage(),]);
|
96 |
+
wp_die();
|
97 |
+
}
|
98 |
+
|
99 |
+
return true;
|
100 |
+
}
|
101 |
+
|
102 |
+
// Check if the next trial is not now
|
103 |
+
if(intval(iub_array_get($iubendaRadarApiConfiguration, 'next_trial')) > time()){
|
104 |
+
if (defined('DOING_AJAX') && DOING_AJAX) {
|
105 |
+
$nextRequestInSec = intval(iub_array_get($iubendaRadarApiConfiguration, 'next_trial')) - (time());
|
106 |
+
|
107 |
+
wp_send_json(['code' => '200', 'status' => 'timeout', 'data' => $nextRequestInSec,]);
|
108 |
+
wp_die();
|
109 |
+
}
|
110 |
+
|
111 |
+
return true;
|
112 |
+
}
|
113 |
+
|
114 |
+
$nextTrial = time();
|
115 |
+
$trialNum = intval(iub_array_get($iubendaRadarApiConfiguration, 'trial_num', 1) ?? 1);
|
116 |
+
|
117 |
+
// Check if 3 trials were made in this round
|
118 |
+
if(is_int($trialNum / 3)){
|
119 |
+
$rounds = $trialNum / 3 ;
|
120 |
+
$nextTrial = time() + (pow(30, $rounds));
|
121 |
+
}
|
122 |
+
$trialNum++;
|
123 |
+
|
124 |
+
$id = iub_array_get($iubendaRadarApiConfiguration, 'id');
|
125 |
+
|
126 |
+
$data = [
|
127 |
+
'timeout' => 30,
|
128 |
+
'redirection' => 5,
|
129 |
+
'httpversion' => '1.0',
|
130 |
+
'headers' => ['Authorization' => 'Basic ' . base64_encode($this->authorization['username'] . ':' . $this->authorization['password'])],
|
131 |
+
'body' => ['id' => $id],
|
132 |
+
];
|
133 |
+
|
134 |
+
$response = wp_remote_get(iub_array_get($this->url, 'match-progress'), $data);
|
135 |
+
$responseCode = wp_remote_retrieve_response_code($response);
|
136 |
+
|
137 |
+
//check response code
|
138 |
+
$this->check_response($response, $responseCode);
|
139 |
+
|
140 |
+
$body = json_decode(iub_array_get($response, 'body'), true);
|
141 |
+
$body['trial_num'] = $trialNum;
|
142 |
+
$body['next_trial'] = $nextTrial;
|
143 |
+
|
144 |
+
update_option('iubenda_radar_api_configuration', $body);
|
145 |
+
|
146 |
+
if (defined('DOING_AJAX') && DOING_AJAX) {
|
147 |
+
wp_send_json(['code' => $responseCode, 'status' => 'progress',]);
|
148 |
+
wp_die();
|
149 |
+
}
|
150 |
+
|
151 |
+
return true;
|
152 |
+
}
|
153 |
+
|
154 |
+
private function check_response($response, $responseCode)
|
155 |
+
{
|
156 |
+
if (is_wp_error($response) || $responseCode != 200) {
|
157 |
+
if (!is_numeric($responseCode)) {
|
158 |
+
$message = $this->updateMessage;
|
159 |
+
} elseif ($responseCode == 408) {
|
160 |
+
//408 error code it`s mean request timeout
|
161 |
+
$message = $this->updateMessage;
|
162 |
+
} elseif (is_numeric(substr($responseCode, 0, 1)) == 4) {
|
163 |
+
//4xx error codes
|
164 |
+
$message = $this->updateMessage;
|
165 |
+
} else {
|
166 |
+
$message = "Something went wrong: " . $response->get_error_message();
|
167 |
+
}
|
168 |
+
|
169 |
+
if (defined('DOING_AJAX') && DOING_AJAX) {
|
170 |
+
wp_send_json(['code' => $responseCode, 'status' => 'error', 'message' => $message]);
|
171 |
+
wp_die();
|
172 |
+
}
|
173 |
+
return true;
|
174 |
+
}
|
175 |
+
}
|
176 |
+
}
|
includes/ServiceRating.php
ADDED
@@ -0,0 +1,133 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// exit if accessed directly
|
3 |
+
if ( ! defined( 'ABSPATH' ) )
|
4 |
+
exit;
|
5 |
+
|
6 |
+
|
7 |
+
/**
|
8 |
+
* Class ServiceRating
|
9 |
+
*/
|
10 |
+
class ServiceRating {
|
11 |
+
public $radar_api_configuration = [];
|
12 |
+
|
13 |
+
public function __construct(){
|
14 |
+
$this->radar_api_configuration = get_option('iubenda_radar_api_configuration', []) ?: [];
|
15 |
+
}
|
16 |
+
|
17 |
+
public function is_cookie_solution_activated(){
|
18 |
+
if(iub_array_get(iubenda()->settings->services, 'cs.status') == 'true'){
|
19 |
+
return true;
|
20 |
+
}
|
21 |
+
|
22 |
+
if($this->is_service_detected_or_installed_by_radar('cp') == true){
|
23 |
+
return true;
|
24 |
+
}
|
25 |
+
return false;
|
26 |
+
}
|
27 |
+
|
28 |
+
public function is_cookie_solution_automatically_parse_enabled(){
|
29 |
+
if((bool) iub_array_get(iubenda()->options, 'cs.parse') == true){
|
30 |
+
return true;
|
31 |
+
}
|
32 |
+
|
33 |
+
if($this->is_service_detected_or_installed_by_radar('cp') == true){
|
34 |
+
return true;
|
35 |
+
}
|
36 |
+
return false;
|
37 |
+
}
|
38 |
+
|
39 |
+
public function is_privacy_policy_activated(){
|
40 |
+
if(iub_array_get(iubenda()->settings->services, 'pp.status') == 'true'){
|
41 |
+
return true;
|
42 |
+
}
|
43 |
+
|
44 |
+
if($this->is_service_detected_or_installed_by_radar('pp') == true){
|
45 |
+
return true;
|
46 |
+
}
|
47 |
+
return false;
|
48 |
+
}
|
49 |
+
|
50 |
+
public function is_terms_conditions_activated(){
|
51 |
+
if(iub_array_get(iubenda()->settings->services, 'tc.status') == 'true'){
|
52 |
+
return true;
|
53 |
+
}
|
54 |
+
|
55 |
+
if($this->is_service_detected_or_installed_by_radar('tc') == true){
|
56 |
+
return true;
|
57 |
+
}
|
58 |
+
return false;
|
59 |
+
}
|
60 |
+
|
61 |
+
private function is_service_installed_by_radar($service){
|
62 |
+
if(iub_array_get($this->radar_api_configuration, 'status') == 'completed'){
|
63 |
+
return iub_array_get($this->radar_api_configuration, 'result.meta.'.$service.'_installed');
|
64 |
+
}
|
65 |
+
return false;
|
66 |
+
}
|
67 |
+
|
68 |
+
private function is_service_detected_by_radar($service){
|
69 |
+
if(iub_array_get($this->radar_api_configuration, 'status') == 'completed'){
|
70 |
+
return boolval(iub_array_get($this->radar_api_configuration, 'result.meta.'.'detected_'.$service));
|
71 |
+
}
|
72 |
+
return false;
|
73 |
+
}
|
74 |
+
|
75 |
+
public function check_service_status($service){
|
76 |
+
if($service == 'cs'){
|
77 |
+
return $this->is_cookie_solution_activated();
|
78 |
+
}
|
79 |
+
if($service == 'cons'){
|
80 |
+
return $this->is_cookie_solution_automatically_parse_enabled();
|
81 |
+
}
|
82 |
+
if($service == 'pp'){
|
83 |
+
return $this->is_privacy_policy_activated();
|
84 |
+
}
|
85 |
+
if($service == 'tc'){
|
86 |
+
return $this->is_terms_conditions_activated();
|
87 |
+
}
|
88 |
+
|
89 |
+
return false;
|
90 |
+
}
|
91 |
+
|
92 |
+
public function services_percentage(){
|
93 |
+
$services['pp'] = $this->is_privacy_policy_activated();
|
94 |
+
$services['cs'] = $this->is_cookie_solution_activated();
|
95 |
+
$services['cons'] = boolval($this->is_cookie_solution_activated() && $this->is_cookie_solution_automatically_parse_enabled());
|
96 |
+
$services['tc'] = $this->is_terms_conditions_activated();
|
97 |
+
|
98 |
+
return (count(array_filter($services)) / count($services)) * 100;
|
99 |
+
}
|
100 |
+
|
101 |
+
public function rating_calculation_components(){
|
102 |
+
return [
|
103 |
+
'cs' => [
|
104 |
+
'status' => $this->is_cookie_solution_activated(),
|
105 |
+
'label' => __('Set up a cookie banner', 'iubenda'),
|
106 |
+
'paragraph'=> __('This accounts for 25% of your score. Your cookie banner should inform your users about your use of cookies and similar tracking technologies, and their rights in this regard. You may need a banner if either the GDPR, CCPA or ePrivacy apply to you.', 'iubenda')
|
107 |
+
],
|
108 |
+
'cons' => [
|
109 |
+
'status' => boolval($this->is_cookie_solution_activated() && $this->is_cookie_solution_automatically_parse_enabled()),
|
110 |
+
'label' => __('Only track users that give consent', 'iubenda'),
|
111 |
+
'paragraph'=> __('This accounts for 25% of your score. If you’re based in Europe or have Europe-based users, you likely need to block cookies from running until you receive user consent. To do this, select “Automatically block scripts detected by the plugin”.', 'iubenda')
|
112 |
+
],
|
113 |
+
'pp' => [
|
114 |
+
'status' => $this->is_privacy_policy_activated(),
|
115 |
+
'label' => __('Set up a privacy policy', 'iubenda'),
|
116 |
+
'paragraph'=> __('This accounts for 25% of your score. A privacy policy is a requirement under most privacy laws around the world. This document typically includes legally required disclosures about the type of personal data you process, why you need to process it, how the processing is done and the user’s rights under applicable law.', 'iubenda')
|
117 |
+
],
|
118 |
+
'tc' => [
|
119 |
+
'status' => $this->is_terms_conditions_activated(),
|
120 |
+
'label' => __('Set up terms and conditions', 'iubenda'),
|
121 |
+
'paragraph'=> __('This accounts for 25% of your score. Terms and conditions help to protect you, the website owner, from potential liabilities and more. Furthermore, if you run an e-commerce site or app, having this document may be legally required as Terms typically contain legally mandatory disclosures. Terms are legally binding documents, and therefore it’s important to ensure that they actually fit your specific scenario.', 'iubenda')
|
122 |
+
],
|
123 |
+
];
|
124 |
+
}
|
125 |
+
|
126 |
+
private function is_service_detected_or_installed_by_radar(string $string) {
|
127 |
+
if($this->is_service_installed_by_radar($string) == true || $this->is_service_detected_by_radar($string) == true){
|
128 |
+
return true;
|
129 |
+
}
|
130 |
+
return false;
|
131 |
+
}
|
132 |
+
|
133 |
+
}
|
includes/amp.php
CHANGED
@@ -20,7 +20,8 @@ class iubenda_AMP {
|
|
20 |
'acceptButtonDisplay' => true,
|
21 |
'customizeButtonDisplay' => true,
|
22 |
'rejectButtonDisplay' => true,
|
23 |
-
'backgroundOverlay' => true
|
|
|
24 |
);
|
25 |
|
26 |
/**
|
@@ -358,7 +359,17 @@ class iubenda_AMP {
|
|
358 |
$has_www = strpos( $parsed_file['host'], 'www.' ) === 0;
|
359 |
|
360 |
// add or remove www from url string to make iframe url pass AMP validation
|
361 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
362 |
|
363 |
// generate new url
|
364 |
$tweaked_url = $parsed_file['scheme'] . '://' . $tweaked_host . ( isset( $parsed_file['port'] ) ? ':' . $parsed_file['port'] : '' ) . $parsed_file['path'] . ( ! empty( $parsed_file['query'] ) ? '?' . $parsed_file['query'] : '' );
|
20 |
'acceptButtonDisplay' => true,
|
21 |
'customizeButtonDisplay' => true,
|
22 |
'rejectButtonDisplay' => true,
|
23 |
+
'backgroundOverlay' => true,
|
24 |
+
'applyStyles' => true
|
25 |
);
|
26 |
|
27 |
/**
|
359 |
$has_www = strpos( $parsed_file['host'], 'www.' ) === 0;
|
360 |
|
361 |
// add or remove www from url string to make iframe url pass AMP validation
|
362 |
+
#1 Check if not localhost and not subdomain or doesn't have www
|
363 |
+
if ( ! $is_localhost && ! $has_www ) {
|
364 |
+
#2 Append www if not exist
|
365 |
+
$tweaked_host = 'www.' . $parsed_file['host'];
|
366 |
+
} else if ( ! $is_localhost && $has_www ) {
|
367 |
+
#3 Remove www if exist
|
368 |
+
$tweaked_host = preg_replace( '/^www\./i', '', $parsed_file['host'] );
|
369 |
+
} else {
|
370 |
+
#4 else Get the current host normally
|
371 |
+
$tweaked_host = $parsed_file['host'];
|
372 |
+
}
|
373 |
|
374 |
// generate new url
|
375 |
$tweaked_url = $parsed_file['scheme'] . '://' . $tweaked_host . ( isset( $parsed_file['port'] ) ? ':' . $parsed_file['port'] : '' ) . $parsed_file['path'] . ( ! empty( $parsed_file['query'] ) ? '?' . $parsed_file['query'] : '' );
|
includes/block/IubendaLegalBlock.php
ADDED
@@ -0,0 +1,405 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
|
4 |
+
class IubendaLegalBlock
|
5 |
+
{
|
6 |
+
const IUB_LEGAL_BLOCK_NAME = 'iubenda/legal-block'; // IUB legal block Name
|
7 |
+
const IUB_LEGAL_BLOCK_SHORTCODE = 'iub-wp-block-buttons'; // IUB legal block Shortcode
|
8 |
+
|
9 |
+
/**
|
10 |
+
* IubendaLegalBlock constructor.
|
11 |
+
*/
|
12 |
+
public function __construct()
|
13 |
+
{
|
14 |
+
add_action('iubenda_attach_block_in_footer', [$this, 'attach_legal_block_into_footer']);
|
15 |
+
|
16 |
+
// Change preregistered default footer content
|
17 |
+
add_action('init', [$this, 'change_pre_registered_default_footer_content'], 10, 0);
|
18 |
+
|
19 |
+
// Attach IUB legal block into WP blocks area
|
20 |
+
add_action('admin_init', [$this, 'attach_legal_block_into_block_area'], 10, 0);
|
21 |
+
|
22 |
+
// Register IUB Legal block shortcode
|
23 |
+
add_action('after_setup_theme', [$this, 'register_shortcode']);
|
24 |
+
}
|
25 |
+
|
26 |
+
/**
|
27 |
+
* Register IUB Legal block shortcode function.
|
28 |
+
*
|
29 |
+
* @return void
|
30 |
+
*/
|
31 |
+
public function register_shortcode() {
|
32 |
+
add_shortcode(static::IUB_LEGAL_BLOCK_SHORTCODE, [$this, 'render_iub_legal_block']);
|
33 |
+
}
|
34 |
+
|
35 |
+
/**
|
36 |
+
* Attach iubenda legal block in footer
|
37 |
+
*/
|
38 |
+
public function attach_legal_block_into_footer()
|
39 |
+
{
|
40 |
+
// if current theme doesn't supports blocks -> return
|
41 |
+
if (!$this->check_current_theme_supports_blocks()) {
|
42 |
+
return;
|
43 |
+
}
|
44 |
+
|
45 |
+
// Check if IUB short code exist in footer
|
46 |
+
if ($this->check_iub_block_shortcode_exists_in_the_footer()) {
|
47 |
+
return;
|
48 |
+
}
|
49 |
+
|
50 |
+
$this->force_append_legal_block_in_footer();
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
* Detach iubenda legal block from footer
|
55 |
+
*/
|
56 |
+
public function detach_legal_block_from_footer()
|
57 |
+
{
|
58 |
+
// if current theme doesn't supports blocks -> return
|
59 |
+
if (!$this->check_current_theme_supports_blocks()) {
|
60 |
+
return;
|
61 |
+
}
|
62 |
+
|
63 |
+
// Check if IUB short code exist in footer
|
64 |
+
if ($this->check_iub_block_shortcode_exists_in_the_footer()) {
|
65 |
+
$this->force_detach_legal_block_from_footer();
|
66 |
+
return;
|
67 |
+
}
|
68 |
+
}
|
69 |
+
|
70 |
+
/**
|
71 |
+
* Attach iubenda legal block in WP blocks area
|
72 |
+
*/
|
73 |
+
public function attach_legal_block_into_block_area()
|
74 |
+
{
|
75 |
+
// Register IUB js block
|
76 |
+
wp_register_script('iubenda-block-editor', IUBENDA_PLUGIN_URL . '/assets/js/legal_block.js', ['wp-blocks', 'wp-block-editor'], iubenda()->version);
|
77 |
+
register_block_type(static::IUB_LEGAL_BLOCK_NAME, ['editor_script' => 'iubenda-block-editor',]);
|
78 |
+
|
79 |
+
// Send iub vars from backend to JS file
|
80 |
+
wp_localize_script('iubenda-block-editor', 'iub_block_js_vars', [
|
81 |
+
'block_name' => 'iubenda/legal-block',
|
82 |
+
'iub_legal_block_shortcode' => static::IUB_LEGAL_BLOCK_SHORTCODE,
|
83 |
+
'iub_legal_block_short_title' => __('Legal', 'iubenda'),
|
84 |
+
]);
|
85 |
+
}
|
86 |
+
|
87 |
+
/**
|
88 |
+
* Render iubenda legal block and apply filters
|
89 |
+
* @return mixed
|
90 |
+
*/
|
91 |
+
public function render_iub_legal_block()
|
92 |
+
{
|
93 |
+
$html = '';
|
94 |
+
$html = apply_filters('before_iub_legal_block_section', $html);
|
95 |
+
$html .= '<section>' . $this->iub_legal_block_html($html) . '</section>';
|
96 |
+
$html = apply_filters('after_iub_legal_block_section', $html);
|
97 |
+
|
98 |
+
return $html;
|
99 |
+
}
|
100 |
+
|
101 |
+
/**
|
102 |
+
* Check if the current theme support WP blocks or not
|
103 |
+
* @return bool
|
104 |
+
*/
|
105 |
+
public function check_current_theme_supports_blocks()
|
106 |
+
{
|
107 |
+
// Condition if there is no sidebar and the activated theme is working by WP blocks
|
108 |
+
global $wp_registered_sidebars;
|
109 |
+
|
110 |
+
if (!boolval(iub_array_get($wp_registered_sidebars, 'sidebar-1'))) {
|
111 |
+
return true;
|
112 |
+
}
|
113 |
+
|
114 |
+
return false;
|
115 |
+
}
|
116 |
+
|
117 |
+
/**
|
118 |
+
* Iubenda legal block html
|
119 |
+
* @param $html
|
120 |
+
* @return mixed|string
|
121 |
+
*/
|
122 |
+
private function iub_legal_block_html($html)
|
123 |
+
{
|
124 |
+
$quick_generator_service = new QuickGeneratorService();
|
125 |
+
|
126 |
+
$pp_status = iub_array_get(iubenda()->settings->services, 'pp.status') == 'true';
|
127 |
+
$pp_position = iub_array_get(iubenda()->options['pp'], 'button_position') == 'automatic';
|
128 |
+
$tc_status = iub_array_get(iubenda()->settings->services, 'tc.status') == 'true';
|
129 |
+
$tc_position = iub_array_get(iubenda()->options['tc'], 'button_position') == 'automatic';
|
130 |
+
|
131 |
+
if ($pp_status && $pp_position) {
|
132 |
+
$html .= $quick_generator_service->pp_button();
|
133 |
+
}
|
134 |
+
|
135 |
+
if (($pp_status && $pp_position) && ($tc_status && $tc_position)) {
|
136 |
+
$html .= '<br>';
|
137 |
+
}
|
138 |
+
|
139 |
+
if (($tc_status == 'true') && ($tc_position == 'automatic')) {
|
140 |
+
$html .= $quick_generator_service->tc_button();
|
141 |
+
}
|
142 |
+
|
143 |
+
return $html;
|
144 |
+
}
|
145 |
+
|
146 |
+
/**
|
147 |
+
* Get footer post from database
|
148 |
+
* @return mixed|null
|
149 |
+
*/
|
150 |
+
private function get_footer_from_database()
|
151 |
+
{
|
152 |
+
// Default arguments
|
153 |
+
$args = [
|
154 |
+
'post_type' => 'wp_template_part',
|
155 |
+
'post_status' => 'publish',
|
156 |
+
'tax_query' => [
|
157 |
+
[
|
158 |
+
'taxonomy' => 'wp_theme',
|
159 |
+
'field' => 'slug',
|
160 |
+
'terms' => [ get_stylesheet() ],
|
161 |
+
],
|
162 |
+
],
|
163 |
+
'posts_per_page' => 1,
|
164 |
+
'no_found_rows' => true,
|
165 |
+
];
|
166 |
+
|
167 |
+
// Search for footer in database
|
168 |
+
$args['name'] = 'footer';
|
169 |
+
|
170 |
+
// Run WP Query with new args
|
171 |
+
$footer_query = new WP_Query($args);
|
172 |
+
$footer = $footer_query->have_posts() ? $footer_query->next_post() : null;
|
173 |
+
|
174 |
+
// Footer exist in database
|
175 |
+
if ($footer) {
|
176 |
+
return $footer;
|
177 |
+
}
|
178 |
+
|
179 |
+
// Search if it is inserted as a default footer in the database
|
180 |
+
$args['name'] = 'default-footer';
|
181 |
+
|
182 |
+
// Run WP Query with new args
|
183 |
+
$footer_query = new WP_Query($args);
|
184 |
+
$footer = $footer_query->have_posts() ? $footer_query->next_post() : null;
|
185 |
+
|
186 |
+
return $footer;
|
187 |
+
}
|
188 |
+
|
189 |
+
/**
|
190 |
+
* Check if IUB short code exist in footer
|
191 |
+
* @return bool
|
192 |
+
*/
|
193 |
+
private function check_iub_block_shortcode_exists_in_the_footer()
|
194 |
+
{
|
195 |
+
$footer = $this->get_footer_from_database();
|
196 |
+
|
197 |
+
if ($footer && $this->check_iub_block_shortcode_exists_in_the_footer_content($footer->post_content)) {
|
198 |
+
return true;
|
199 |
+
}
|
200 |
+
|
201 |
+
return false;
|
202 |
+
}
|
203 |
+
|
204 |
+
/**
|
205 |
+
* Force append IUB legal block in footer
|
206 |
+
*/
|
207 |
+
private function force_append_legal_block_in_footer()
|
208 |
+
{
|
209 |
+
$footer = $this->get_footer_from_database();
|
210 |
+
|
211 |
+
if ($footer) {
|
212 |
+
$footer->post_content = $this->insert_iub_block_shortcode_into_footer_by_dom($footer->post_content);
|
213 |
+
|
214 |
+
$this->update_the_footer_into_database($footer);
|
215 |
+
}
|
216 |
+
|
217 |
+
// There is no footer stored in database then
|
218 |
+
// Attach legal block into WP_Block_Patterns as WP default footer and insert this footer into database
|
219 |
+
$this->change_pre_registered_default_footer_content(true);
|
220 |
+
}
|
221 |
+
|
222 |
+
/**
|
223 |
+
* Insert Legal block into WP content by php DOMDocument
|
224 |
+
*
|
225 |
+
* @param $footer_content
|
226 |
+
* @return false|string
|
227 |
+
*/
|
228 |
+
private function insert_iub_block_shortcode_into_footer_by_dom($footer_content)
|
229 |
+
{
|
230 |
+
if($this->check_iub_block_shortcode_exists_in_the_footer_content($footer_content)){
|
231 |
+
return $footer_content;
|
232 |
+
}
|
233 |
+
|
234 |
+
$dom = new DOMDocument();
|
235 |
+
$previous_value = libxml_use_internal_errors(TRUE);
|
236 |
+
$dom->loadHTML((string)$footer_content, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
|
237 |
+
libxml_clear_errors();
|
238 |
+
libxml_use_internal_errors($previous_value);
|
239 |
+
|
240 |
+
$target_div = $dom->getElementsByTagName('div')->item(1);
|
241 |
+
|
242 |
+
if(!$target_div){
|
243 |
+
return '';
|
244 |
+
}
|
245 |
+
|
246 |
+
// insert End of Iubenda legal block before start
|
247 |
+
$template = $dom->createDocumentFragment();
|
248 |
+
$template->appendXML(' <!-- /wp:'. static::IUB_LEGAL_BLOCK_NAME .' --> ');
|
249 |
+
$target_div->insertBefore($template, $target_div->firstChild);
|
250 |
+
|
251 |
+
// Create container div with class 'wp-block-iubenda-legal-block'
|
252 |
+
$div = $dom->createElement("div");
|
253 |
+
$div->setAttribute("class", "wp-block-iubenda-legal-block");
|
254 |
+
|
255 |
+
// Append the block title
|
256 |
+
$div->appendChild($dom->createElement('p', __('Legal', 'iubenda')));
|
257 |
+
|
258 |
+
// Append the block content
|
259 |
+
$div->appendChild($dom->createElement('p', '[iub-wp-block-buttons]'));
|
260 |
+
|
261 |
+
// Insert the block into the footer
|
262 |
+
$target_div->insertBefore($div, $target_div->firstChild);
|
263 |
+
|
264 |
+
// Append Start of Iubenda legal block
|
265 |
+
$template = $dom->createDocumentFragment();
|
266 |
+
$template->appendXML(' <!-- wp:'. static::IUB_LEGAL_BLOCK_NAME .' --> ');
|
267 |
+
$target_div->insertBefore($template, $target_div->firstChild);
|
268 |
+
|
269 |
+
return $dom->saveHTML();
|
270 |
+
}
|
271 |
+
|
272 |
+
/**
|
273 |
+
* Remove Legal block from WP content
|
274 |
+
*
|
275 |
+
* @param $footer_content
|
276 |
+
* @return false|string
|
277 |
+
*/
|
278 |
+
private function remove_iub_block_shortcode_from_footer($footer_content)
|
279 |
+
{
|
280 |
+
$start_of_iub_legal_block = '<!-- wp:'. static::IUB_LEGAL_BLOCK_NAME .' -->';
|
281 |
+
$end_of_iub_legal_block = '<!-- /wp:'. static::IUB_LEGAL_BLOCK_NAME .' -->';
|
282 |
+
|
283 |
+
return $this->iub_delete_in_between($start_of_iub_legal_block, $end_of_iub_legal_block, $footer_content);
|
284 |
+
}
|
285 |
+
|
286 |
+
/**
|
287 |
+
* Update the current footer
|
288 |
+
*
|
289 |
+
* @param $footer
|
290 |
+
*/
|
291 |
+
private function update_the_footer_into_database($footer)
|
292 |
+
{
|
293 |
+
return wp_update_post($footer);
|
294 |
+
}
|
295 |
+
|
296 |
+
/**
|
297 |
+
* Attach legal block into WP_Block_Patterns as WP default footer
|
298 |
+
* if $insert_into_database is true insert default footer into database
|
299 |
+
*
|
300 |
+
* @param bool $insert_into_database
|
301 |
+
* @return void
|
302 |
+
*/
|
303 |
+
public function change_pre_registered_default_footer_content($insert_into_database = false)
|
304 |
+
{
|
305 |
+
$public_id = (new ProductHelper())->get_public_id_for_current_language();
|
306 |
+
|
307 |
+
// Return false if there is no public id for current language
|
308 |
+
if (!($public_id)) {
|
309 |
+
return;
|
310 |
+
}
|
311 |
+
|
312 |
+
// Check for PP & TC service status and codes
|
313 |
+
if (!(new ProductHelper())->check_pp_tc_status_and_position()) {
|
314 |
+
return;
|
315 |
+
}
|
316 |
+
|
317 |
+
$block_registry = WP_Block_Patterns_Registry::get_instance();
|
318 |
+
|
319 |
+
foreach ( $block_registry->get_all_registered() as $block) {
|
320 |
+
$block_name = iub_array_get($block, 'name') ?: null;
|
321 |
+
|
322 |
+
if (strpos($block_name, 'footer-default') !== false) {
|
323 |
+
// Unregister default footer
|
324 |
+
$block_registry->unregister(iub_array_get($block, 'name'));
|
325 |
+
|
326 |
+
// Attach Iubenda legal block in footer content
|
327 |
+
$block['content'] = $this->insert_iub_block_shortcode_into_footer_by_dom(iub_array_get($block, 'content'));
|
328 |
+
|
329 |
+
// Register footer after attached Iubenda legal block on it
|
330 |
+
$block_registry->register(iub_array_get($block, 'name'), $block);
|
331 |
+
|
332 |
+
if ($insert_into_database) {
|
333 |
+
// Insert the footer into database
|
334 |
+
$this->insert_default_footer_into_database($block);
|
335 |
+
}
|
336 |
+
}
|
337 |
+
}
|
338 |
+
}
|
339 |
+
|
340 |
+
/**
|
341 |
+
* Insert default footer into database
|
342 |
+
*
|
343 |
+
* @param $block
|
344 |
+
* @return int|WP_Error
|
345 |
+
*/
|
346 |
+
private function insert_default_footer_into_database($block)
|
347 |
+
{
|
348 |
+
// taxonomies
|
349 |
+
$taxonomies = [
|
350 |
+
'wp_template_part_area' => 'footer',
|
351 |
+
'wp_theme' => get_stylesheet(), // Current active theme slug
|
352 |
+
];
|
353 |
+
|
354 |
+
// New footer data
|
355 |
+
$footer = [
|
356 |
+
'post_title' => 'Footer',
|
357 |
+
'post_content' => $block['content'],
|
358 |
+
'post_status' => 'publish',
|
359 |
+
'post_author' => 1,
|
360 |
+
'post_type' => 'wp_template_part',
|
361 |
+
'post_category' => [ 'footer' ],
|
362 |
+
'tax_input' => $taxonomies
|
363 |
+
];
|
364 |
+
|
365 |
+
// Insert the new footer into the database
|
366 |
+
wp_insert_post($footer);
|
367 |
+
}
|
368 |
+
|
369 |
+
/**
|
370 |
+
* Force detach IUB legal block from footer
|
371 |
+
*/
|
372 |
+
private function force_detach_legal_block_from_footer()
|
373 |
+
{
|
374 |
+
$footer = $this->get_footer_from_database();
|
375 |
+
|
376 |
+
if ($footer) {
|
377 |
+
$footer->post_content = $this->remove_iub_block_shortcode_from_footer($footer->post_content);
|
378 |
+
|
379 |
+
$this->update_the_footer_into_database($footer);
|
380 |
+
}
|
381 |
+
}
|
382 |
+
|
383 |
+
private function iub_delete_in_between($beginning, $end, $string) {
|
384 |
+
$beginning_pos = strpos($string, $beginning);
|
385 |
+
$end_pos = strpos($string, $end);
|
386 |
+
if ($beginning_pos === false || $end_pos === false) {
|
387 |
+
return $string;
|
388 |
+
}
|
389 |
+
|
390 |
+
$text_to_delete = substr($string, $beginning_pos, ($end_pos + strlen($end)) - $beginning_pos);
|
391 |
+
|
392 |
+
return $this->iub_delete_in_between($beginning, $end, str_replace($text_to_delete, '', $string)); // recursion to ensure occurrences are removed
|
393 |
+
}
|
394 |
+
|
395 |
+
/**
|
396 |
+
* Check IUB block shortcode exists in the footer content
|
397 |
+
* @param $footer_content
|
398 |
+
* @return bool
|
399 |
+
*/
|
400 |
+
private function check_iub_block_shortcode_exists_in_the_footer_content($footer_content)
|
401 |
+
{
|
402 |
+
return strpos($footer_content, '[iub-wp-block-buttons]') !== false;
|
403 |
+
}
|
404 |
+
|
405 |
+
}
|
includes/forms-list-table.php
CHANGED
@@ -19,13 +19,14 @@ class iubenda_List_Table_Forms extends WP_List_Table {
|
|
19 |
*/
|
20 |
public function __construct() {
|
21 |
global $status, $page;
|
|
|
22 |
|
23 |
// set parent defaults
|
24 |
parent::__construct( array(
|
25 |
'ajax' => false
|
26 |
) );
|
27 |
|
28 |
-
$this->base_url = esc_url_raw( add_query_arg( array( '
|
29 |
}
|
30 |
|
31 |
|
@@ -43,13 +44,7 @@ class iubenda_List_Table_Forms extends WP_List_Table {
|
|
43 |
$order = ( isset( $_GET['order'] ) ) && in_array( $_GET['order'], array( 'asc', 'desc' ) ) ? esc_attr( $_GET['order'] ) : 'desc';
|
44 |
|
45 |
$per_page = 20;
|
46 |
-
|
47 |
-
if ( isset( $_GET['number'] ) ) {
|
48 |
-
$number = (int) $_GET['number'];
|
49 |
-
} else {
|
50 |
-
$number = $per_page + min( 8, $per_page ); // grab a few extra
|
51 |
-
}
|
52 |
-
$page = $this->get_pagenum();
|
53 |
|
54 |
$args = array(
|
55 |
'orderby' => $orderby,
|
@@ -63,8 +58,9 @@ class iubenda_List_Table_Forms extends WP_List_Table {
|
|
63 |
|
64 |
// echo '<pre>'; print_r( $items ); echo '</pre>';
|
65 |
|
|
|
66 |
if ( is_array( $items ) ) {
|
67 |
-
$this->items = array_slice( $items,
|
68 |
$this->extra_items = array_slice( $items, $per_page );
|
69 |
}
|
70 |
|
@@ -88,7 +84,6 @@ class iubenda_List_Table_Forms extends WP_List_Table {
|
|
88 |
*/
|
89 |
public function get_columns() {
|
90 |
$columns = array(
|
91 |
-
'cb' => '<input type="checkbox"/>',
|
92 |
'title' => __( 'Form Title', 'iubenda' ),
|
93 |
'ID' => __( 'Form ID', 'iubenda' ),
|
94 |
'source' => __( 'Form Source', 'iubenda' ),
|
@@ -153,8 +148,8 @@ class iubenda_List_Table_Forms extends WP_List_Table {
|
|
153 |
|
154 |
$del_nonce = esc_html( '_wpnonce=' . wp_create_nonce( "delete-form_{$item->ID}" ) );
|
155 |
$url = add_query_arg( array( 'form_id' => $item->ID ), $this->base_url );
|
156 |
-
$edit_url = add_query_arg( array( '
|
157 |
-
$delete_url = add_query_arg(
|
158 |
|
159 |
// preorder it: View | Approve | Unapprove | Delete
|
160 |
$actions = array(
|
@@ -162,7 +157,7 @@ class iubenda_List_Table_Forms extends WP_List_Table {
|
|
162 |
'delete' => ''
|
163 |
);
|
164 |
|
165 |
-
$actions['view'] = "<a href='$edit_url' aria-label='" . esc_attr__( 'Edit this form', 'iubenda' ) . "'>" . __( 'Edit' ) . '</a>';
|
166 |
$actions['delete'] = "<a href='$delete_url' aria-label='" . esc_attr__( 'Delete this form', 'iubenda' ) . "'>" . __( 'Delete', 'iubenda' ) . '</a>';
|
167 |
|
168 |
$i = 0;
|
@@ -228,17 +223,6 @@ class iubenda_List_Table_Forms extends WP_List_Table {
|
|
228 |
return $output;
|
229 |
}
|
230 |
|
231 |
-
/**
|
232 |
-
* Display checkboxex callback.
|
233 |
-
*
|
234 |
-
* @return string
|
235 |
-
*/
|
236 |
-
public function column_cb( $item ) {
|
237 |
-
return sprintf(
|
238 |
-
'<input type="checkbox" name="%1$s[]" value="%2$s" />', 'form', $item->ID
|
239 |
-
);
|
240 |
-
}
|
241 |
-
|
242 |
/**
|
243 |
* Generate the table navigation above or below the table
|
244 |
*
|
@@ -274,7 +258,7 @@ class iubenda_List_Table_Forms extends WP_List_Table {
|
|
274 |
|
275 |
if ( ! empty( $output ) ) {
|
276 |
echo $output;
|
277 |
-
submit_button( __( 'Filter' ), '', 'filter_action', false, array( 'id' => 'post-query-submit' ) );
|
278 |
}
|
279 |
}
|
280 |
?>
|
@@ -344,7 +328,7 @@ class iubenda_List_Table_Forms extends WP_List_Table {
|
|
344 |
}
|
345 |
|
346 |
$views = $items_total > 0 ? array(
|
347 |
-
'all' => '<a href="' . $this->base_url . '"' . ($status === '' ? ' class="current"' : '') . '>' . esc_html__( 'All' ) . ' <span class="count">(' . $items_total . ')</span></a>'
|
348 |
) : '';
|
349 |
|
350 |
foreach ( iubenda()->forms->statuses as $key => $view ) {
|
@@ -364,4 +348,89 @@ class iubenda_List_Table_Forms extends WP_List_Table {
|
|
364 |
echo __( 'No forms found.', 'iubenda' );
|
365 |
}
|
366 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
367 |
}
|
19 |
*/
|
20 |
public function __construct() {
|
21 |
global $status, $page;
|
22 |
+
$GLOBALS['hook_suffix'] = isset($GLOBALS['hook_suffix']) ? $GLOBALS['hook_suffix'] : '';
|
23 |
|
24 |
// set parent defaults
|
25 |
parent::__construct( array(
|
26 |
'ajax' => false
|
27 |
) );
|
28 |
|
29 |
+
$this->base_url = esc_url_raw( add_query_arg( array( 'view' => 'cons-configuration' ), iubenda()->base_url ) );
|
30 |
}
|
31 |
|
32 |
|
44 |
$order = ( isset( $_GET['order'] ) ) && in_array( $_GET['order'], array( 'asc', 'desc' ) ) ? esc_attr( $_GET['order'] ) : 'desc';
|
45 |
|
46 |
$per_page = 20;
|
47 |
+
$page = $this->get_pagenum();
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
|
49 |
$args = array(
|
50 |
'orderby' => $orderby,
|
58 |
|
59 |
// echo '<pre>'; print_r( $items ); echo '</pre>';
|
60 |
|
61 |
+
$offset = ($page * $per_page) - $per_page;
|
62 |
if ( is_array( $items ) ) {
|
63 |
+
$this->items = array_slice( $items, $offset, $per_page );
|
64 |
$this->extra_items = array_slice( $items, $per_page );
|
65 |
}
|
66 |
|
84 |
*/
|
85 |
public function get_columns() {
|
86 |
$columns = array(
|
|
|
87 |
'title' => __( 'Form Title', 'iubenda' ),
|
88 |
'ID' => __( 'Form ID', 'iubenda' ),
|
89 |
'source' => __( 'Form Source', 'iubenda' ),
|
148 |
|
149 |
$del_nonce = esc_html( '_wpnonce=' . wp_create_nonce( "delete-form_{$item->ID}" ) );
|
150 |
$url = add_query_arg( array( 'form_id' => $item->ID ), $this->base_url );
|
151 |
+
$edit_url = add_query_arg( array( 'view' => 'cons-form-edit' ), $url );
|
152 |
+
$delete_url = add_query_arg( ['view' => 'cons-configuration', 'action' => 'delete'], $url ) . "&$del_nonce";
|
153 |
|
154 |
// preorder it: View | Approve | Unapprove | Delete
|
155 |
$actions = array(
|
157 |
'delete' => ''
|
158 |
);
|
159 |
|
160 |
+
$actions['view'] = "<a href='$edit_url' aria-label='" . esc_attr__( 'Edit this form', 'iubenda' ) . "'>" . __( 'Edit', 'iubenda' ) . '</a>';
|
161 |
$actions['delete'] = "<a href='$delete_url' aria-label='" . esc_attr__( 'Delete this form', 'iubenda' ) . "'>" . __( 'Delete', 'iubenda' ) . '</a>';
|
162 |
|
163 |
$i = 0;
|
223 |
return $output;
|
224 |
}
|
225 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
226 |
/**
|
227 |
* Generate the table navigation above or below the table
|
228 |
*
|
258 |
|
259 |
if ( ! empty( $output ) ) {
|
260 |
echo $output;
|
261 |
+
submit_button( __( 'Filter', 'iubenda' ), '', 'filter_action', false, array( 'id' => 'post-query-submit' ) );
|
262 |
}
|
263 |
}
|
264 |
?>
|
328 |
}
|
329 |
|
330 |
$views = $items_total > 0 ? array(
|
331 |
+
'all' => '<a href="' . $this->base_url . '"' . ($status === '' ? ' class="current"' : '') . '>' . esc_html__( 'All', 'iubenda' ) . ' <span class="count">(' . $items_total . ')</span></a>'
|
332 |
) : '';
|
333 |
|
334 |
foreach ( iubenda()->forms->statuses as $key => $view ) {
|
348 |
echo __( 'No forms found.', 'iubenda' );
|
349 |
}
|
350 |
|
351 |
+
/**
|
352 |
+
* Prints column headers, accounting for hidden and sortable columns.
|
353 |
+
*
|
354 |
+
* @since 3.1.0
|
355 |
+
*
|
356 |
+
* @param bool $with_id Whether to set the ID attribute or not
|
357 |
+
*/
|
358 |
+
public function print_column_headers( $with_id = true ) {
|
359 |
+
list( $columns, $hidden, $sortable, $primary ) = $this->get_column_info();
|
360 |
+
|
361 |
+
$current_url = remove_query_arg( 'paged', $this->base_url );
|
362 |
+
|
363 |
+
if ( isset( $_GET['orderby'] ) ) {
|
364 |
+
$current_orderby = $_GET['orderby'];
|
365 |
+
} else {
|
366 |
+
$current_orderby = '';
|
367 |
+
}
|
368 |
+
|
369 |
+
if ( isset( $_GET['order'] ) && 'desc' === $_GET['order'] ) {
|
370 |
+
$current_order = 'desc';
|
371 |
+
} else {
|
372 |
+
$current_order = 'asc';
|
373 |
+
}
|
374 |
+
|
375 |
+
if ( ! empty( $columns['cb'] ) ) {
|
376 |
+
static $cb_counter = 1;
|
377 |
+
$columns['cb'] = '<label class="screen-reader-text" for="cb-select-all-' . $cb_counter . '">' . __( 'Select All', 'iubenda' ) . '</label>'
|
378 |
+
. '<input id="cb-select-all-' . $cb_counter . '" type="checkbox" />';
|
379 |
+
$cb_counter++;
|
380 |
+
}
|
381 |
+
|
382 |
+
foreach ( $columns as $column_key => $column_display_name ) {
|
383 |
+
$class = array( 'manage-column', "column-$column_key" );
|
384 |
+
|
385 |
+
if ( in_array( $column_key, $hidden, true ) ) {
|
386 |
+
$class[] = 'hidden';
|
387 |
+
}
|
388 |
+
|
389 |
+
if ( 'cb' === $column_key ) {
|
390 |
+
$class[] = 'check-column';
|
391 |
+
} elseif ( in_array( $column_key, array( 'posts', 'comments', 'links' ), true ) ) {
|
392 |
+
$class[] = 'num';
|
393 |
+
}
|
394 |
+
|
395 |
+
if ( $column_key === $primary ) {
|
396 |
+
$class[] = 'column-primary';
|
397 |
+
}
|
398 |
+
|
399 |
+
if ( isset( $sortable[ $column_key ] ) ) {
|
400 |
+
list( $orderby, $desc_first ) = $sortable[ $column_key ];
|
401 |
+
|
402 |
+
if ( $current_orderby === $orderby ) {
|
403 |
+
$order = 'asc' === $current_order ? 'desc' : 'asc';
|
404 |
+
|
405 |
+
$class[] = 'sorted';
|
406 |
+
$class[] = $current_order;
|
407 |
+
} else {
|
408 |
+
$order = strtolower( $desc_first );
|
409 |
+
|
410 |
+
if ( ! in_array( $order, array( 'desc', 'asc' ), true ) ) {
|
411 |
+
$order = $desc_first ? 'desc' : 'asc';
|
412 |
+
}
|
413 |
+
|
414 |
+
$class[] = 'sortable';
|
415 |
+
$class[] = 'desc' === $order ? 'asc' : 'desc';
|
416 |
+
}
|
417 |
+
|
418 |
+
$column_display_name = sprintf(
|
419 |
+
'<a href="%s"><span>%s</span><span class="sorting-indicator"></span></a>',
|
420 |
+
esc_url( add_query_arg( compact( 'orderby', 'order' ), $current_url ) ),
|
421 |
+
$column_display_name
|
422 |
+
);
|
423 |
+
}
|
424 |
+
|
425 |
+
$tag = ( 'cb' === $column_key ) ? 'td' : 'th';
|
426 |
+
$scope = ( 'th' === $tag ) ? 'scope="col"' : '';
|
427 |
+
$id = $with_id ? "id='$column_key'" : '';
|
428 |
+
|
429 |
+
if ( ! empty( $class ) ) {
|
430 |
+
$class = "class='" . implode( ' ', $class ) . "'";
|
431 |
+
}
|
432 |
+
|
433 |
+
echo "<$tag $scope $id $class>$column_display_name</$tag>";
|
434 |
+
}
|
435 |
+
}
|
436 |
}
|
includes/forms.php
CHANGED
@@ -46,9 +46,9 @@ class iubenda_Forms {
|
|
46 |
return;
|
47 |
}
|
48 |
|
49 |
-
$form_id =
|
50 |
$form_args = array(
|
51 |
-
'post_status' => array(
|
52 |
'source' => 'wpforms',
|
53 |
'id' => $form_id,
|
54 |
);
|
@@ -115,12 +115,12 @@ class iubenda_Forms {
|
|
115 |
*/
|
116 |
public function wp_enqueue_scripts() {
|
117 |
if ( ! empty( iubenda()->options['cons']['public_api_key'] ) ) {
|
118 |
-
wp_register_script( 'iubenda-forms', IUBENDA_PLUGIN_URL . '/js/frontend.js', array( 'jquery' ), iubenda()->version, true );
|
119 |
|
120 |
$args = array();
|
121 |
|
122 |
$form_args = array(
|
123 |
-
'post_status' => array( 'mapped'
|
124 |
);
|
125 |
|
126 |
$forms = $this->get_forms( $form_args );
|
@@ -468,7 +468,7 @@ class iubenda_Forms {
|
|
468 |
// Is multi dimensions array
|
469 |
// Check if the existing form fields is not equal the new form fields
|
470 |
if ( is_array( current( $formdata['form_fields'] ) ) ) {
|
471 |
-
$new_fields = md5( json_encode( $this->
|
472 |
}else{
|
473 |
// check for fields changes
|
474 |
$new_fields = array_merge( array_diff( $formdata['form_fields'], $exists->form_fields ), array_diff( $exists->form_fields, $formdata['form_fields'] ) );
|
@@ -512,7 +512,8 @@ class iubenda_Forms {
|
|
512 |
$restricted_fields = apply_filters( "iub_{$source}_restricted_fields", array(
|
513 |
'submit',
|
514 |
'file',
|
515 |
-
'quiz'
|
|
|
516 |
) );
|
517 |
|
518 |
// Do what you want before preparing the form
|
@@ -682,6 +683,10 @@ class iubenda_Forms {
|
|
682 |
foreach ( $fields_raw as $field ) {
|
683 |
// specific field types only
|
684 |
if ( ! empty( $field['basetype'] ) && ! in_array( $field['basetype'], $restricted_fields ) ) {
|
|
|
|
|
|
|
|
|
685 |
$formdata['form_fields'][] = $field['name'];
|
686 |
}
|
687 |
}
|
@@ -749,7 +754,7 @@ class iubenda_Forms {
|
|
749 |
|
750 |
// Integrate with mailchimp
|
751 |
$mc_integration = get_option( 'mc4wp_integrations' );
|
752 |
-
if ( is_array( $mc_integration ) && '1' ===
|
753 |
do_action( 'woocommerce_review_order_before_submit' );
|
754 |
}
|
755 |
|
@@ -760,6 +765,14 @@ class iubenda_Forms {
|
|
760 |
)
|
761 |
);
|
762 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
763 |
$checkout_form = ob_get_contents();
|
764 |
ob_end_clean();
|
765 |
|
@@ -969,6 +982,8 @@ class iubenda_Forms {
|
|
969 |
break;
|
970 |
}
|
971 |
|
|
|
|
|
972 |
return $forms;
|
973 |
}
|
974 |
|
@@ -994,8 +1009,8 @@ class iubenda_Forms {
|
|
994 |
)
|
995 |
),
|
996 |
'post_type' => 'iubenda_form',
|
997 |
-
|
998 |
-
|
999 |
'fields' => 'ids'
|
1000 |
);
|
1001 |
|
@@ -1020,12 +1035,12 @@ class iubenda_Forms {
|
|
1020 |
*
|
1021 |
* @return array
|
1022 |
*/
|
1023 |
-
public function
|
1024 |
$results = array();
|
1025 |
|
1026 |
foreach ( $array as $key => $value ) {
|
1027 |
if ( is_array( $value ) && ! empty( $value ) ) {
|
1028 |
-
$results = array_merge( $results, $this->
|
1029 |
} else {
|
1030 |
$results[ $prepend . $key ] = $value;
|
1031 |
}
|
@@ -1095,35 +1110,6 @@ class iubenda_Forms {
|
|
1095 |
return $args;
|
1096 |
}
|
1097 |
|
1098 |
-
private function array_get( $array, $key, $default = null ) {
|
1099 |
-
$value = $default;
|
1100 |
-
if ( ! is_array( $array ) ) {
|
1101 |
-
return $value( $array );
|
1102 |
-
}
|
1103 |
-
|
1104 |
-
if ( is_null( $key ) ) {
|
1105 |
-
return $array;
|
1106 |
-
}
|
1107 |
-
|
1108 |
-
if ( array_key_exists( $key, $array ) ) {
|
1109 |
-
return $array[ $key ];
|
1110 |
-
}
|
1111 |
-
|
1112 |
-
if ( strpos( $key, '.' ) === false ) {
|
1113 |
-
return $array[ $key ] ?: $default;
|
1114 |
-
}
|
1115 |
-
|
1116 |
-
foreach ( explode( '.', $key ) as $segment ) {
|
1117 |
-
if ( ( is_array( $array ) || $array instanceof ArrayAccess ) && array_key_exists( $segment, $array ) ) {
|
1118 |
-
$array = $array[ $segment ];
|
1119 |
-
} else {
|
1120 |
-
return $default;
|
1121 |
-
}
|
1122 |
-
}
|
1123 |
-
|
1124 |
-
return $array;
|
1125 |
-
}
|
1126 |
-
|
1127 |
/**
|
1128 |
* Prepare data for subject and preferences
|
1129 |
*
|
@@ -1152,9 +1138,42 @@ class iubenda_Forms {
|
|
1152 |
continue;
|
1153 |
}
|
1154 |
|
1155 |
-
|
1156 |
-
$array_key = substr( str_replace( '][', '.', $
|
1157 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1158 |
}
|
1159 |
|
1160 |
return $data;
|
46 |
return;
|
47 |
}
|
48 |
|
49 |
+
$form_id = iub_array_get( $_POST, 'wpforms.id' );
|
50 |
$form_args = array(
|
51 |
+
'post_status' => array('mapped'),
|
52 |
'source' => 'wpforms',
|
53 |
'id' => $form_id,
|
54 |
);
|
115 |
*/
|
116 |
public function wp_enqueue_scripts() {
|
117 |
if ( ! empty( iubenda()->options['cons']['public_api_key'] ) ) {
|
118 |
+
wp_register_script( 'iubenda-forms', IUBENDA_PLUGIN_URL . '/assets/js/frontend.js', array( 'jquery' ), iubenda()->version, true );
|
119 |
|
120 |
$args = array();
|
121 |
|
122 |
$form_args = array(
|
123 |
+
'post_status' => array( 'mapped' )
|
124 |
);
|
125 |
|
126 |
$forms = $this->get_forms( $form_args );
|
468 |
// Is multi dimensions array
|
469 |
// Check if the existing form fields is not equal the new form fields
|
470 |
if ( is_array( current( $formdata['form_fields'] ) ) ) {
|
471 |
+
$new_fields = md5( json_encode( $this->iub_array_dot( $formdata['form_fields'] ) ) ) !== md5( json_encode( $this->iub_array_dot( $exists->form_fields ) ) );
|
472 |
}else{
|
473 |
// check for fields changes
|
474 |
$new_fields = array_merge( array_diff( $formdata['form_fields'], $exists->form_fields ), array_diff( $exists->form_fields, $formdata['form_fields'] ) );
|
512 |
$restricted_fields = apply_filters( "iub_{$source}_restricted_fields", array(
|
513 |
'submit',
|
514 |
'file',
|
515 |
+
'quiz',
|
516 |
+
'recaptcha'
|
517 |
) );
|
518 |
|
519 |
// Do what you want before preparing the form
|
683 |
foreach ( $fields_raw as $field ) {
|
684 |
// specific field types only
|
685 |
if ( ! empty( $field['basetype'] ) && ! in_array( $field['basetype'], $restricted_fields ) ) {
|
686 |
+
// Track exclusive fields only [ex: name=field[] not supported by cons]
|
687 |
+
if ( 'checkbox' == $field['type'] && ! in_array( 'exclusive', $field['options'] ) ) {
|
688 |
+
continue;
|
689 |
+
}
|
690 |
$formdata['form_fields'][] = $field['name'];
|
691 |
}
|
692 |
}
|
754 |
|
755 |
// Integrate with mailchimp
|
756 |
$mc_integration = get_option( 'mc4wp_integrations' );
|
757 |
+
if ( is_array( $mc_integration ) && '1' === iub_array_get( $mc_integration, 'woocommerce.enabled' ) ) {
|
758 |
do_action( 'woocommerce_review_order_before_submit' );
|
759 |
}
|
760 |
|
765 |
)
|
766 |
);
|
767 |
|
768 |
+
// Germanized for WooCommerce
|
769 |
+
if (class_exists('WooCommerce_Germanized')) {
|
770 |
+
woocommerce_gzd_template_render_checkout_checkboxes();
|
771 |
+
}
|
772 |
+
|
773 |
+
// Allow users integrate with other plugins
|
774 |
+
do_action("iub_render_{$source}_form");
|
775 |
+
|
776 |
$checkout_form = ob_get_contents();
|
777 |
ob_end_clean();
|
778 |
|
982 |
break;
|
983 |
}
|
984 |
|
985 |
+
$forms = apply_filters("iub_after_call_{$source}_forms", $forms);
|
986 |
+
|
987 |
return $forms;
|
988 |
}
|
989 |
|
1009 |
)
|
1010 |
),
|
1011 |
'post_type' => 'iubenda_form',
|
1012 |
+
'post_status' => isset($args['post_status']) ? $args['post_status'] : 'any',
|
1013 |
+
'posts_per_page' => '1',
|
1014 |
'fields' => 'ids'
|
1015 |
);
|
1016 |
|
1035 |
*
|
1036 |
* @return array
|
1037 |
*/
|
1038 |
+
public function iub_array_dot( $array, $prepend = '' ) {
|
1039 |
$results = array();
|
1040 |
|
1041 |
foreach ( $array as $key => $value ) {
|
1042 |
if ( is_array( $value ) && ! empty( $value ) ) {
|
1043 |
+
$results = array_merge( $results, $this->iub_array_dot( $value, $prepend . $key . '.' ) );
|
1044 |
} else {
|
1045 |
$results[ $prepend . $key ] = $value;
|
1046 |
}
|
1110 |
return $args;
|
1111 |
}
|
1112 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1113 |
/**
|
1114 |
* Prepare data for subject and preferences
|
1115 |
*
|
1138 |
continue;
|
1139 |
}
|
1140 |
|
1141 |
+
$name = trim( $form->form_fields[ $index ]['name'] ?: '', 'wpforms' );
|
1142 |
+
$array_key = substr( str_replace( '][', '.', $name ), 1, - 1 );
|
1143 |
+
// Special handling for checkboxes, By checking the name is ending with array brackets
|
1144 |
+
if ( '[]' === substr( $name, - 2 ) ) {
|
1145 |
+
$array_key .= '0';
|
1146 |
+
}
|
1147 |
+
|
1148 |
+
$data[ $key ][ $map_key ] = iub_array_get( $entry, $array_key );
|
1149 |
+
|
1150 |
+
// Special handling for preferences to cast into boolean if the field type is checkbox
|
1151 |
+
if ( 'preferences' == $key && 'checkbox' == $form->form_fields[ $index ]['type'] ) {
|
1152 |
+
$wpform_content = wpforms()->form->get( $form->object_id )->post_content;
|
1153 |
+
$wpform_content = json_decode( $wpform_content, true );
|
1154 |
+
$choices = iub_array_get( $wpform_content, substr( $array_key, 0, - 2 ) . '.choices' );
|
1155 |
+
|
1156 |
+
$index = null;
|
1157 |
+
// Check preference field is entered
|
1158 |
+
if ( ! empty( $data[ $key ][ $map_key ] ) ) {
|
1159 |
+
// Reset the array keys
|
1160 |
+
foreach ( array_values($choices) as $i => $choice ) {
|
1161 |
+
// Priority to check the choice value
|
1162 |
+
if ( $data[ $key ][ $map_key ] == $choice['value'] ) {
|
1163 |
+
$index = intval( $i );
|
1164 |
+
break;
|
1165 |
+
}
|
1166 |
+
|
1167 |
+
// Then check the choice label [WPForms the label and value are always the same]
|
1168 |
+
if ( $data[ $key ][ $map_key ] == $choice['label'] ) {
|
1169 |
+
$index = intval( $i );
|
1170 |
+
}
|
1171 |
+
}
|
1172 |
+
}
|
1173 |
+
|
1174 |
+
// If index isset and map to first choice then it's true exactly like the Frontend Cons behavior
|
1175 |
+
$data[ $key ][ $map_key ] = ($index === 0) ? true : false;
|
1176 |
+
}
|
1177 |
}
|
1178 |
|
1179 |
return $data;
|
includes/settings.php
CHANGED
@@ -9,37 +9,69 @@ if ( ! defined( 'ABSPATH' ) )
|
|
9 |
* @class Post_Views_Counter_Settings
|
10 |
*/
|
11 |
class iubenda_Settings {
|
12 |
-
|
13 |
-
|
|
|
14 |
public $action = '';
|
15 |
-
public $links =
|
16 |
-
public $notice_types =
|
17 |
-
public $subject_fields =
|
|
|
|
|
|
|
18 |
|
19 |
public function __construct() {
|
|
|
|
|
|
|
|
|
20 |
// actions
|
21 |
add_action( 'after_setup_theme', array( $this, 'load_defaults' ) );
|
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_init', array( $this, 'maybe_show_notice' ) );
|
27 |
add_action( 'admin_menu', array( $this, 'admin_menu_options' ) );
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
}
|
37 |
|
38 |
/**
|
39 |
* Load default settings.
|
40 |
*/
|
41 |
public function load_defaults() {
|
42 |
-
|
|
|
|
|
43 |
'id' => __( 'string', 'iubenda' ),
|
44 |
'email' => __( 'string', 'iubenda' ),
|
45 |
'first_name' => __( 'string', 'iubenda' ),
|
@@ -77,93 +109,236 @@ class iubenda_Settings {
|
|
77 |
4 => __( 'Analytics', 'iubenda' ),
|
78 |
5 => __( 'Targeting & Advertising', 'iubenda' )
|
79 |
);
|
|
|
|
|
|
|
80 |
|
81 |
$links = array(
|
82 |
'en' => array(
|
83 |
'iab' => 'https://www.iubenda.com/en/help/7440-enable-preference-management-iab-framework',
|
84 |
-
|
|
|
85 |
'plugin_page' => 'https://www.iubenda.com/en/help/posts/1215',
|
86 |
-
'generating_code' => 'https://www.iubenda.com/en/help/1177-cookie-solution-getting-started',
|
87 |
'support_forum' => 'https://support.iubenda.com/support/home',
|
88 |
-
'documentation' => 'https://www.iubenda.com/en/help/posts/1215'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
),
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
);
|
99 |
|
100 |
-
|
101 |
-
|
|
|
|
|
|
|
|
|
102 |
|
103 |
// assign links
|
104 |
-
$this->links = in_array( $
|
105 |
|
106 |
// handle actions
|
107 |
if ( ! empty( $_POST['save'] ) ) {
|
108 |
// update item action
|
109 |
$this->action = 'save';
|
110 |
} else {
|
111 |
-
$this->action = isset( $
|
112 |
-
$this->action = isset( $
|
113 |
}
|
114 |
}
|
115 |
|
116 |
-
/**
|
117 |
-
* Register plugin options.
|
118 |
-
*
|
119 |
-
* @return void
|
120 |
-
*/
|
121 |
-
public function register_options() {
|
122 |
-
register_setting( 'iubenda_cookie_law_solution', 'iubenda_cookie_law_solution', array( $this, 'save_cookie_law_options' ) );
|
123 |
-
|
124 |
-
add_settings_section( 'iubenda_cookie_law_solution', '', '', 'iubenda_cookie_law_solution' );
|
125 |
-
add_settings_field( 'iub_code', __( 'Code', 'iubenda' ), array( $this, 'iub_code' ), 'iubenda_cookie_law_solution', 'iubenda_cookie_law_solution' );
|
126 |
-
add_settings_field( 'iub_amp_support', __( 'Google AMP', 'iubenda' ), array( $this, 'iub_amp_support' ), 'iubenda_cookie_law_solution', 'iubenda_cookie_law_solution' );
|
127 |
-
add_settings_field( 'iub_parse', __( 'Script blocking', 'iubenda' ), array( $this, 'iub_parse' ), 'iubenda_cookie_law_solution', 'iubenda_cookie_law_solution' );
|
128 |
-
add_settings_field( 'iub_custom_scripts', __( 'Custom scripts', 'iubenda' ), array( $this, 'iub_custom_scripts' ), 'iubenda_cookie_law_solution', 'iubenda_cookie_law_solution' );
|
129 |
-
add_settings_field( 'iub_ctype', __( 'Content type', 'iubenda' ), array( $this, 'iub_ctype' ), 'iubenda_cookie_law_solution', 'iubenda_cookie_law_solution' );
|
130 |
-
add_settings_field( 'iub_output_feed', __( 'RSS feed', 'iubenda' ), array( $this, 'iub_output_feed' ), 'iubenda_cookie_law_solution', 'iubenda_cookie_law_solution' );
|
131 |
-
add_settings_field( 'iub_output_post', __( 'POST requests', 'iubenda' ), array( $this, 'iub_output_post' ), 'iubenda_cookie_law_solution', 'iubenda_cookie_law_solution' );
|
132 |
-
add_settings_field( 'iub_menu_position', __( 'Menu position', 'iubenda' ), array( $this, 'iub_menu_position' ), 'iubenda_cookie_law_solution', 'iubenda_cookie_law_solution' );
|
133 |
-
add_settings_field( 'iub_deactivation', __( 'Deactivation', 'iubenda' ), array( $this, 'iub_deactivation' ), 'iubenda_cookie_law_solution', 'iubenda_cookie_law_solution' );
|
134 |
-
|
135 |
-
// forms list
|
136 |
-
if ( ! in_array( $this->action, array( 'save', 'edit' ) ) ) {
|
137 |
-
register_setting( 'iubenda_consent_solution', 'iubenda_consent_solution', array( $this, 'save_consent_options' ) );
|
138 |
-
add_settings_section( 'iubenda_consent_solution', __( 'Forms', 'iubenda' ), '', 'iubenda_consent_solution' );
|
139 |
-
add_settings_field( 'iub_public_api_key', __( 'Public Api Key', 'iubenda' ), array( $this, 'iub_public_api_key' ), 'iubenda_consent_solution', 'iubenda_consent_solution' );
|
140 |
-
// only if api key is given
|
141 |
-
if ( ! empty( iubenda()->options['cons']['public_api_key'] ) )
|
142 |
-
add_settings_section( 'iubenda_consent_forms', __( 'Field Mapping', 'iubenda' ), array( $this, 'iubenda_consent_forms' ), 'iubenda_consent_solution' );
|
143 |
-
// single form
|
144 |
-
} else {
|
145 |
-
register_setting( 'iubenda_consent_solution', 'iubenda_consent_forms' );
|
146 |
-
add_settings_section( 'iubenda_consent_form', __( 'Field Mapping', 'iubenda' ), array( $this, 'iubenda_consent_form' ), 'iubenda_consent_solution' );
|
147 |
-
}
|
148 |
-
}
|
149 |
-
|
150 |
-
/**
|
151 |
-
* Display errors and notices.
|
152 |
-
*
|
153 |
-
* @global string $pagenow
|
154 |
-
*/
|
155 |
-
public function settings_errors() {
|
156 |
-
global $pagenow;
|
157 |
-
|
158 |
-
// force display notices in top menu settings page
|
159 |
-
if ( $pagenow == 'options-general.php' )
|
160 |
-
return;
|
161 |
-
|
162 |
-
$tab_key = ! empty( $_GET['tab'] ) ? esc_attr( $_GET['tab'] ) : 'cs';
|
163 |
-
|
164 |
-
settings_errors( "{$tab_key}_settings_errors" );
|
165 |
-
}
|
166 |
-
|
167 |
/**
|
168 |
* Add submenu.
|
169 |
*
|
@@ -180,297 +355,133 @@ class iubenda_Settings {
|
|
180 |
add_menu_page(
|
181 |
'iubenda', 'iubenda', apply_filters( 'iubenda_cookie_law_cap', 'manage_options' ), 'iubenda', array( $this, 'options_page' ), 'none'
|
182 |
);
|
183 |
-
add_submenu_page( 'iubenda', __( 'Cookie Solution', 'iubenda' ), __( 'Cookie Solution', 'iubenda' ), apply_filters( 'iubenda_cookie_law_cap', 'manage_options' ), 'iubenda', array( $this, 'options_page' ) );
|
184 |
-
add_submenu_page( 'iubenda', __( 'Consent Solution', 'iubenda' ), __( 'Consent Solution', 'iubenda' ), apply_filters( 'iubenda_cookie_law_cap', 'manage_options' ), 'iubenda&tab=cons', array( $this, 'options_page' ) );
|
185 |
-
}
|
186 |
-
}
|
187 |
-
|
188 |
-
/**
|
189 |
-
* Load admin scripts and styles.
|
190 |
-
*
|
191 |
-
* @param string $page
|
192 |
-
* @return void
|
193 |
-
*/
|
194 |
-
public function admin_enqueue_scripts( $page ) {
|
195 |
-
wp_enqueue_style( 'iubenda-admin', IUBENDA_PLUGIN_URL . '/css/admin.css' );
|
196 |
-
|
197 |
-
if ( ! in_array( $page, array( 'toplevel_page_iubenda', 'settings_page_iubenda' ) ) )
|
198 |
-
return;
|
199 |
-
|
200 |
-
wp_enqueue_script(
|
201 |
-
'iubenda-admin', IUBENDA_PLUGIN_URL . '/js/admin.js', array( 'jquery' )
|
202 |
-
);
|
203 |
-
|
204 |
-
$args = array(
|
205 |
-
'formId' => 0,
|
206 |
-
'deleteForm' => __( 'Are you sure you want to delete this form?', 'iubenda' )
|
207 |
-
);
|
208 |
-
|
209 |
-
// get form data on edit screen
|
210 |
-
if ( in_array( $this->action, array( 'edit' ) ) ) {
|
211 |
-
$form_id = ! empty( $_GET['form_id'] ) ? absint( $_GET['form_id'] ) : 0;
|
212 |
-
$form = ! empty( $form_id ) ? iubenda()->forms->get_form( $form_id ) : array();
|
213 |
-
|
214 |
-
$args['formId'] = $form_id;
|
215 |
-
}
|
216 |
-
|
217 |
-
wp_localize_script(
|
218 |
-
'iubenda-admin',
|
219 |
-
'iubAdminArgs',
|
220 |
-
$args
|
221 |
-
);
|
222 |
-
}
|
223 |
-
|
224 |
-
/**
|
225 |
-
* Load admin style inline, for menu icon only.
|
226 |
-
*
|
227 |
-
* @return mixed
|
228 |
-
*/
|
229 |
-
public function admin_print_styles() {
|
230 |
-
echo '
|
231 |
-
<style>
|
232 |
-
a.toplevel_page_iubenda .wp-menu-image {
|
233 |
-
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj48c3ZnIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAyMzIgNTAzIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbDpzcGFjZT0icHJlc2VydmUiIHhtbG5zOnNlcmlmPSJodHRwOi8vd3d3LnNlcmlmLmNvbS8iIHN0eWxlPSJmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MS40MTQyMTsiPiAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDEzNi4yNDcsMjY4LjgzMSkiPiAgICAgICAgPHBhdGggZD0iTTAsLTM1LjgxTC0zNi4zLDAuNDg5TC0zNi4zLDE0MC45NzhMMCwxNDAuOTc4TDAsLTM1LjgxWk0tMjAuOTM4LC0xMjkuODAyQy02LjI4NywtMTI5LjgwMiA1LjU4NywtMTQxLjU2NSA1LjU4NywtMTU2LjA2QzUuNTg3LC0xNzAuNTU2IC02LjI4NywtMTgyLjMwOCAtMjAuOTM4LC0xODIuMzA4Qy0zNS42LC0xODIuMzA4IC00Ny40NzQsLTE3MC41NTYgLTQ3LjQ3NCwtMTU2LjA2Qy00Ny40NzQsLTE0MS41NjUgLTM1LjYsLTEyOS44MDIgLTIwLjkzOCwtMTI5LjgwMk04OS4zNiwtMTU0LjQxNkM4OS4zNiwtMTI3LjgyNSA3OS41NzUsLTEwMy40OTkgNjMuMjY5LC04NC42NzJMODYuNjk0LDIyNi42MjhMLTEyMi43MjgsMjI2LjYyOEwtMTAwLjAyNCwtNzkuMjI5Qy0xMTkuMzUxLC05OC42NjggLTEzMS4yNDcsLTEyNS4xNTkgLTEzMS4yNDcsLTE1NC40MTZDLTEzMS4yNDcsLTIxNC4wODYgLTgxLjg3NCwtMjYyLjQzOCAtMjAuOTM4LC0yNjIuNDM4QzM5Ljk5OSwtMjYyLjQzOCA4OS4zNiwtMjE0LjA4NiA4OS4zNiwtMTU0LjQxNiIgc3R5bGU9ImZpbGw6d2hpdGU7ZmlsbC1ydWxlOm5vbnplcm87Ii8+ICAgIDwvZz48L3N2Zz4=);
|
234 |
-
background-position: center center;
|
235 |
-
background-repeat: no-repeat;
|
236 |
-
background-size: 7px auto;
|
237 |
-
}
|
238 |
-
</style>
|
239 |
-
';
|
240 |
-
}
|
241 |
-
|
242 |
-
/**
|
243 |
-
* Highlight comments cookies opt-in checkbox option.
|
244 |
-
*
|
245 |
-
* @return mixed
|
246 |
-
*/
|
247 |
-
public function admin_footer() {
|
248 |
-
if ( ! empty( $_GET['iub-highlight'] ) ) {
|
249 |
-
echo '
|
250 |
-
<style>
|
251 |
-
label[for=show_comments_cookies_opt_in] {
|
252 |
-
border: 1px dashed red;
|
253 |
-
}
|
254 |
-
</style>
|
255 |
-
';
|
256 |
}
|
257 |
}
|
258 |
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
</span>
|
384 |
-
</p>
|
385 |
-
</div>
|
386 |
-
</div>
|
387 |
-
<?php } ?>
|
388 |
-
<?php
|
389 |
-
}
|
390 |
-
|
391 |
-
/**
|
392 |
-
* Print admin scripts.
|
393 |
-
*
|
394 |
-
* @return void
|
395 |
-
*/
|
396 |
-
public function admin_inline_js() {
|
397 |
-
if ( ! current_user_can( 'install_plugins' ) )
|
398 |
-
return;
|
399 |
-
|
400 |
-
$delay = MONTH_IN_SECONDS * 6;
|
401 |
-
?>
|
402 |
-
<script type="text/javascript">
|
403 |
-
( function ( $ ) {
|
404 |
-
$( document ).ready( function () {
|
405 |
-
// step 1
|
406 |
-
$( '.iubenda-notice .step-1 a' ).on( 'click', function ( e ) {
|
407 |
-
e.preventDefault();
|
408 |
-
|
409 |
-
$( '.iubenda-notice .step-1' ).slideUp( 'fast' );
|
410 |
-
|
411 |
-
if ( $( e.target ).hasClass( 'reply-yes' ) ) {
|
412 |
-
$( '.iubenda-notice .step-2.step-yes' ).slideDown( 'fast' );
|
413 |
-
} else {
|
414 |
-
$( '.iubenda-notice .step-2.step-no' ).slideDown( 'fast' );
|
415 |
-
};
|
416 |
-
} );
|
417 |
-
// step 2
|
418 |
-
$( '.iubenda-notice.is-dismissible' ).on( 'click', '.notice-dismiss, .step-2 a', function ( e ) {
|
419 |
-
// console.log( $( e ) );
|
420 |
-
|
421 |
-
var delay = <?php echo $delay; ?>;
|
422 |
-
|
423 |
-
if ( $( e.target ).hasClass( 'reply-yes' ) ) {
|
424 |
-
delay = 0;
|
425 |
-
}
|
426 |
-
|
427 |
-
$.post( ajaxurl, {
|
428 |
-
action: 'iubenda_dismiss_notice',
|
429 |
-
delay: delay,
|
430 |
-
url: '<?php echo admin_url( 'admin-ajax.php' ); ?>',
|
431 |
-
iubenda_nonce: '<?php echo wp_create_nonce( 'iubenda_dismiss_notice' ); ?>'
|
432 |
-
} );
|
433 |
-
|
434 |
-
$( e.delegateTarget ).slideUp( 'fast' );
|
435 |
-
} );
|
436 |
-
} );
|
437 |
-
} )( jQuery );
|
438 |
-
</script>
|
439 |
-
<?php
|
440 |
-
}
|
441 |
-
|
442 |
-
/**
|
443 |
-
* Dismiss notice.
|
444 |
-
*
|
445 |
-
* @return void
|
446 |
-
*/
|
447 |
-
public function dismiss_notice() {
|
448 |
-
$result = false;
|
449 |
-
|
450 |
-
if ( ! current_user_can( 'install_plugins' ) )
|
451 |
-
return $result;
|
452 |
-
|
453 |
-
$nonce = wp_verify_nonce( $_REQUEST['iubenda_nonce'], 'iubenda_dismiss_notice' );
|
454 |
-
|
455 |
-
if ( $nonce ) {
|
456 |
-
$delay = ! empty( $_REQUEST['delay'] ) ? absint( $_REQUEST['delay'] ) : 0;
|
457 |
-
$activation = (array) get_option( 'iubenda_activation_data', iubenda()->activation );
|
458 |
-
|
459 |
-
// delay notice
|
460 |
-
if ( $delay > 0 ) {
|
461 |
-
$activation = array_merge( $activation, array( 'update_delay_date' => time() + $delay ) );
|
462 |
-
// hide notice permanently
|
463 |
-
} else {
|
464 |
-
$activation = array_merge( $activation, array( 'update_delay_date' => 0, 'update_notice' => false ) );
|
465 |
-
}
|
466 |
-
|
467 |
-
// update activation options
|
468 |
-
$result = update_option( 'iubenda_activation_data', $activation );
|
469 |
-
}
|
470 |
-
|
471 |
-
echo json_encode( $result );
|
472 |
-
exit;
|
473 |
-
}
|
474 |
|
475 |
/**
|
476 |
* Plugin options migration for versions < 1.14.0
|
@@ -486,13 +497,12 @@ class iubenda_Settings {
|
|
486 |
|
487 |
if ( $db_version != false ) {
|
488 |
if ( version_compare( $db_version, '1.14.0', '<' ) ) {
|
489 |
-
$options =
|
490 |
|
491 |
$old_new = array(
|
492 |
'iubenda_parse' => 'parse',
|
493 |
'skip_parsing' => 'skip_parsing',
|
494 |
'iubenda_ctype' => 'ctype',
|
495 |
-
'iubenda_parse' => 'parse',
|
496 |
'parser_engine' => 'parser_engine',
|
497 |
'iubenda_output_feed' => 'output_feed',
|
498 |
'iubenda-code-default' => 'code_default',
|
@@ -525,1299 +535,943 @@ class iubenda_Settings {
|
|
525 |
|
526 |
add_option( 'iubenda_cookie_law_solution', $options, '', 'no' );
|
527 |
add_option( 'iubenda_cookie_law_version', iubenda()->version, '', 'no' );
|
528 |
-
|
529 |
-
}
|
530 |
-
}
|
531 |
-
|
532 |
-
/**
|
533 |
-
* Load admin options page.
|
534 |
-
*
|
535 |
-
* @return void
|
536 |
-
*/
|
537 |
-
public function options_page() {
|
538 |
-
global $pagenow;
|
539 |
-
|
540 |
-
if ( ! current_user_can( apply_filters( 'iubenda_cookie_law_cap', 'manage_options' ) ) ) {
|
541 |
-
wp_die( __( "You don't have permission to access this page.", 'iubenda' ) );
|
542 |
-
}
|
543 |
-
|
544 |
-
$tab_key = ! empty( $_GET['tab'] ) ? esc_attr( $_GET['tab'] ) : 'cs';
|
545 |
-
|
546 |
-
// get redirect url
|
547 |
-
if ( iubenda()->options['cs']['menu_position'] === 'submenu' && $pagenow === 'admin.php' ) {
|
548 |
-
// sub menu
|
549 |
-
$redirect_to = admin_url( 'options-general.php?page=iubenda&tab=' . $tab_key );
|
550 |
-
} else {
|
551 |
-
// top menu
|
552 |
-
$redirect_to = admin_url( 'admin.php?page=iubenda&tab=' . $tab_key );
|
553 |
-
}
|
554 |
-
?>
|
555 |
-
<div class="wrap">
|
556 |
-
|
557 |
-
<div id="iubenda-header">
|
558 |
-
<?php
|
559 |
-
echo '
|
560 |
-
<a class="iubenda-link" href="http://iubenda.com" title="iubenda" title="_blank">
|
561 |
-
<img id="iubenda-logo" alt="iubenda logo" width="300" height="90" src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNjM3LjggMjgzLjUiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDYzNy44IDI4My41OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4uc3Qwe2ZpbGw6IzFDQzY5MTt9LnN0MXtmaWxsOiM1MTUyNTQ7fTwvc3R5bGU+PHBhdGggY2xhc3M9InN0MCIgZD0iTTE3OC45LDk5LjljMCw4LjItMywxNS42LTgsMjEuNGw3LjIsOTUuNGgtNjQuMmw3LTkzLjhjLTUuOS02LTkuNi0xNC4xLTkuNi0yMy4xYzAtMTguMywxNS4xLTMzLjEsMzMuOC0zMy4xUzE3OC45LDgxLjYsMTc4LjksOTkuOSBNMTQ1LjEsMTA3LjRjNC41LDAsOC4xLTMuNiw4LjEtOC4xcy0zLjYtOC04LjEtOGMtNC41LDAtOC4xLDMuNi04LjEsOFMxNDAuNiwxMDcuNCwxNDUuMSwxMDcuNCBNMTUxLjUsMTM2LjJsLTExLjEsMTEuMXY0My4xaDExLjFWMTM2LjJ6Ii8+PHBhdGggY2xhc3M9InN0MSIgZD0iTTI2NS40LDE3OC42Yy0yLjMsMS4yLTQuNywxLjgtNy4yLDEuOGMtMi44LDAtNS4zLTAuOC03LjQtMi40Yy0yLjEtMS42LTMuNS0zLjctNC4zLTYuMmMtMC44LTIuNS0xLjItNi4xLTEuMi0xMC44di0xOC4yYzAsMCwwLTAuOSwwLTIuOGMwLTAuNSwwLTIuOC0xLjUtMy41Yy0wLjItMC4xLTAuNi0wLjItMS4yLTAuM2MtMC40LDAtMC44LTAuNC0wLjgtMC44bDAtMi40YzAtMC41LDAuNC0wLjksMC44LTAuOWg5LjNjMS4zLDAsMi40LDEuMSwyLjQsMi40VjE0N2wwLDE1LjVjMCw0LjYsMC44LDcuNywyLjUsOS4xYzEuNiwxLjUsMy42LDIuMiw1LjksMi4yYzEuNiwwLDMuNC0wLjUsNS40LTEuNWMyLTEsNS4zLTIuOCw4LjEtNS42bDAtMi40bDAtMjIuMlYxNDBjMC0wLjUsMC0yLjgtMS40LTMuNWMtMC4yLTAuMS0wLjYtMC4yLTEuMS0wLjNjLTAuNC0wLjEtMC44LTAuNC0wLjgtMC44bDAtMi40YzAtMC41LDAuNC0wLjksMC45LTAuOWg5LjJjMS4zLDAsMi40LDEuMSwyLjQsMi40djhjMCwwLjEsMCwwLjEsMCwwLjJ2MTYuNmMwLDMuOCwwLDcuNCwwLDEwLjZjMCwwLjcsMCwxLjIsMCwxLjJjMCwwLjUtMC4xLDMuMSwxLjQsMy44YzAuMiwwLjEsMC42LDAuMiwxLjIsMC4zYzAuNCwwLDAuOCwwLjQsMC44LDAuOGwwLDIuNGMwLDAuNS0wLjQsMC44LTAuOSwwLjloLTkuMmMtMS4zLDAtMi40LTEuMS0yLjQtMi40bDAtNC41bDAtMi41QzI3MS45LDE3NC41LDI2Ny43LDE3Ny40LDI2NS40LDE3OC42Ii8+PHBhdGggY2xhc3M9InN0MSIgZD0iTTMwOS4yLDE3NmMxLjksMC45LDMuOSwxLjMsNiwxLjNjMy4yLDAsNi4zLTEuNyw5LTUuMmMyLjgtMy41LDQuMi04LjUsNC4yLTE1LjJjMC02LjEtMS40LTEwLjgtNC4yLTE0LjFjLTIuOC0zLjMtNi00LjktOS41LTQuOWMtMS45LDAtMy44LDAuNS01LjcsMS40Yy0xLjIsMC42LTIuOCwxLjgtNC43LDMuNGMtMC41LDAuNS0wLjgsMS4xLTAuOCwxLjhWMTcxYzAsMC43LDAuMywxLjQsMC44LDEuOEMzMDYsMTc0LjIsMzA3LjYsMTc1LjMsMzA5LjIsMTc2IE0yOTQuOCwxMThjMC0wLjUsMC0yLjctMS40LTMuNGMtMC4yLTAuMS0wLjMtMC4xLTAuNi0wLjJjLTAuNC0wLjEtMC42LTAuNC0wLjYtMC44bDAtMi4zYzAtMC41LDAuNC0wLjgsMC45LTAuOWgxLjhoNi41YzEuMywwLDIuMywxLDIuMywyLjNsMCwxMnYxNS40YzQuNy02LjQsOS44LTkuNiwxNS4zLTkuNmM1LDAsOS40LDIuMSwxMy4xLDYuM2MzLjcsNC4yLDUuNiw5LjksNS42LDE3LjJjMCw4LjUtMi45LDE1LjMtOC42LDIwLjVjLTQuOSw0LjQtMTAuNSw2LjctMTYuNSw2LjdjLTIuOCwwLTUuNy0wLjUtOC43LTEuNWMtMi41LTAuOS01LjEtMi4xLTcuNy0zLjdjLTAuOC0wLjUtMS4zLTEuNC0xLjMtMi40di00NmMwLTAuOSwwLTIsMC0zLjNMMjk0LjgsMTE4eiIvPjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0zODkuMywxNzkuMWMtMC41LDAtMC45LTAuNC0wLjktMC45bDAtMi4zYzAtMC40LDAuMy0wLjgsMC43LTAuOGMwLjUtMC4xLDAuOC0wLjEsMS0wLjJjMS40LTAuNywxLjQtMi45LDEuNC0zLjR2LTIuN2MwLDAsMC01LjgsMC0xNy41YzAtMS45LDAtMy44LDAuMS01LjVsMC00LjZjMC0wLjUsMC0xLDAtMS41YzAtMC42LDAtMi44LTEuNC0zLjVjLTAuMS0wLjEtMC4zLTAuMS0wLjUtMC4yYy0wLjQtMC4xLTAuNi0wLjQtMC42LTAuOGwwLTIuM2MwLTAuNSwwLjQtMC44LDAuOS0wLjloOC4xYzEuMywwLDIuMywxLDIuMywyLjN2My40YzAsMCwwLDAuNiwwLDEuOGMwLDAuMywwLjIsMC42LDAuNiwwLjZjMC4yLDAsMC4zLTAuMSwwLjQtMC4yYzUuNC01LjksMTIuMy04LjgsMTcuMi04LjhjMi43LDAsNSwwLjYsNi45LDEuOWMxLjksMS4zLDMuNCwzLjQsNC42LDYuM2MwLjgsMi4xLDEuMiw1LjIsMS4yLDkuNHYxNi41bDAsNi4zYzAsMC41LDAsMi43LDEuNCwzLjRjMC4yLDAuMSwwLjQsMC4yLDAuOCwwLjJjMC40LDAuMSwwLjcsMC40LDAuNywwLjhsMCwyLjNjMCwwLjUtMC40LDAuOC0wLjgsMC45Yy0wLjgsMC0xLjUsMC0yLDBoLTYuNWMtMC4xLDAtMC4zLDAtMC40LDBoLTMuMWMtMS4xLDAtMi0wLjktMi0yYzAtMSwwLjctMS45LDEuNi0yLjJjMC4xLDAsMC4xLDAsMC4yLTAuMWMxLTAuNSwxLjMtMS44LDEuNC0yLjd2LTcuNGwwLTE1LjJjMC00LjMtMC42LTcuNC0xLjctOS4zYy0xLjItMS45LTMuMS0yLjktNS44LTIuOWMtNC4yLDAtMTAuMywyLjItMTQuNCw2Ljd2MjAuOHYwLjNsMCw2LjRjMCwwLjUsMCwyLjgsMS40LDMuNWMwLjEsMCwwLjEsMCwwLjIsMC4xYzEsMC4zLDEuNiwxLjIsMS42LDIuMmMwLDEuMS0wLjksMi0yLDJIMzk0QzM5NCwxNzkuMSwzOTIuNCwxNzkuMSwzODkuMywxNzkuMSIvPjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik01MTUsMTUzLjRjLTYuNiwxLjMtMTAuNCwyLjItMTEuNCwyLjVjLTMuNywxLjItNi42LDIuNi02LjgsOC43Yy0wLjEsMi41LDAuOCw0LjcsMi4zLDYuM2MxLjUsMS43LDMuMywyLjUsNS4zLDIuNWMyLjUsMCw1LjctMS44LDkuNi00LjhjMC43LTAuNSwxLjEtMS4zLDEuMS0yLjJWMTUzLjR6IE01MjMuOCwxNzAuOGMwLDAuMSwwLDAuMiwwLDAuMmMwLDAuMiwwLDAuMywwLDAuNGMwLjEsMS40LDAuNiwyLjQsMS40LDIuOGMwLjIsMC4xLDAuNCwwLjIsMC42LDAuMmMwLjQsMC4xLDAuNywwLjQsMC43LDAuOGwwLDIuNGMwLDAuNS0wLjQsMC44LTAuOSwwLjloLTguM2MtMS4zLDAtMi4zLTEtMi4zLTIuM3YtNC41Yy01LDMuOS04LjIsNi4xLTkuNSw2LjdjLTEuOSwwLjktNCwxLjMtNi4xLDEuM2MtMy40LDAtNi4yLTEuMi04LjQtMy40Yy0yLjItMi4zLTMuMy01LjMtMy4zLTkuMWMwLTIuNCwwLjUtNC40LDEuNi02LjJjMS41LTIuNCwzLjctNS4yLDcuNi02LjhjNC0xLjYsNy4zLTIsMTgtNC40YzAtMC4zLDAtNCwwLTQuM2MwLTQuNS0wLjgtOS4yLTguNC04LjdjLTUuMywwLjMtMTAuMiwyLTE0LjcsNWMtMC40LDAuMy0wLjksMC4yLTEuMi0wLjJjLTAuMS0wLjEtMC4xLTAuMy0wLjEtMC41di0yLjhjMC0xLjUsMC4zLTIuNCwwLjktMi45YzMuMS0yLjUsMTAuOS01LjUsMTguNS01YzguNCwwLjYsMTEuNCw0LDEyLjksOS4zYzAuNSwxLjYsMSwyLjgsMSw3LjV2MTQuNWMwLDIsMCw0LDAsNS44VjE3MC44eiIvPjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik00NjUuNCwxMzcuOGMtMS43LTEtMy40LTEuNS01LTEuNWMtMywwLTUuOCwxLjMtOC4zLDMuOGMtMi43LDIuOC00LjYsNi41LTQuNiwxMy41YzAsNywxLjUsMTIuNCw0LjYsMTYuMmMzLDMuNyw2LjQsNS42LDEwLjIsNS42YzIuNywwLDUuMy0xLjEsNy44LTMuNGMwLjktMC44LDEuNC0xLjksMS40LTN2LTIwLjhDNDcxLjQsMTQzLjksNDY5LjEsMTQwLDQ2NS40LDEzNy44IE00ODEuMywxNzQuNmMwLjEsMC4xLDAuMywwLjEsMC41LDAuMmMwLjQsMC4xLDAuNiwwLjQsMC42LDAuOGwwLDIuM2MwLDAuNS0wLjQsMC44LTAuOSwwLjloLThjLTEuMiwwLTIuMy0xLTIuMy0yLjJ2LTIuMmMtMi4zLDIuNC00LjYsNC4yLTYuOCw1LjNjLTIuMiwxLjEtNC42LDEuNi03LjEsMS42Yy01LjIsMC05LjctMi4yLTEzLjYtNi42Yy0zLjktNC40LTUuOC0xMC01LjgtMTYuOXMyLjEtMTMuMSw2LjQtMTguOGM0LjMtNS43LDkuOC04LjUsMTYuNS04LjVjNC4yLDAsNy42LDEuMywxMC40LDR2LTE2LjdjMC0wLjUsMC0yLjctMS40LTMuNGMtMC4xLTAuMS0wLjMtMC4xLTAuNS0wLjJjLTAuNC0wLjEtMC42LTAuNC0wLjYtMC44bDAtMi40YzAtMC41LDAuNC0wLjksMC45LTAuOWg3LjljMS4yLDAsMi4zLDEsMi4zLDIuMnY1OC45QzQ3OS45LDE3MS44LDQ3OS45LDE3My45LDQ4MS4zLDE3NC42Ii8+PHBhdGggY2xhc3M9InN0MSIgZD0iTTM1MCwxNTAuMmMwLDAuMSwwLDAuMywwLjEsMC4zYzAuMSwwLjEsMC4yLDAuMSwwLjQsMC4xaDIzLjljMC4zLDAsMC41LTAuMiwwLjUtMC40YzAuMy0yLjUsMC40LTctMy4zLTEwLjhjLTEuOC0xLjktNC4xLTIuOC04LjMtMi44QzM1NS43LDEzNi42LDM1MC44LDE0My45LDM1MCwxNTAuMiBNMzQ3LjUsMTc0LjljLTMuOS00LjMtNS45LTExLjMtNS45LTE4LjJjMC03LjMsMi4zLTEzLjksNi40LTE4LjdjNC4zLTUsMTAuMi03LjcsMTcuMS03LjdjNS44LDAsMTAuMiwyLDEzLjIsNS44YzIuNywzLjYsNC4xLDguOCw0LjEsMTUuNGMwLDAuOCwwLDEuOS0wLjEsMy4zYy0wLjEsMC45LTAuOCwxLjYtMS43LDEuNmgtMjkuOGMtMC4xLDAtMC4zLDAuMS0wLjQsMC4xYy0wLjEsMC4xLTAuMSwwLjItMC4xLDAuNGMwLjEsNS40LDEuOCwxMCw1LDEzLjJjMy4xLDMuMiw3LjQsNC45LDEyLjQsNC45YzMuNywwLDguNi0xLDEyLjQtMi4xYzAuNS0wLjIsMS4xLDAuMSwxLjMsMC43YzAuMSwwLjIsMC4xLDAuNCwwLDAuNWwtMC41LDEuOWMtMC4yLDAuNy0wLjcsMS4zLTEuMywxLjZjLTMuNywxLjgtOS4zLDMuNS0xNSwzLjVDMzU3LjYsMTgxLjIsMzUxLjYsMTc5LjUsMzQ3LjUsMTc0LjkiLz48cGF0aCBjbGFzcz0ic3QxIiBkPSJNMjMxLjEsMTM1Ljl2MzYuOWMwLDEsMC42LDEuOSwxLjQsMi4zYzAuOSwwLjQsMS40LDEuMywxLjQsMi4zdjAuN2MwLDAuOC0wLjYsMS40LTEuNCwxLjRIMjIwYy0wLjgsMC0xLjQtMC42LTEuNC0xLjR2LTAuN2MwLTEsMC42LTEuOSwxLjQtMi4zYzAuOS0wLjQsMS40LTEuMywxLjQtMi4zdi0zNS43YzAtMC41LTAuNC0wLjktMC45LTAuOXMtMC45LTAuNC0wLjktMC45di0xLjJjMC0xLjIsMC45LTIuMSwyLjEtMi4xaDUuNkMyMjkuNCwxMzIsMjMxLjEsMTMzLjcsMjMxLjEsMTM1LjkiLz48cGF0aCBjbGFzcz0ic3QxIiBkPSJNMjI2LjMsMTEwLjhjMy4zLDAsNiwyLjcsNiw1LjljMCwzLjMtMi43LDUuOS02LDUuOXMtNi0yLjctNi01LjlDMjIwLjMsMTEzLjUsMjIzLDExMC44LDIyNi4zLDExMC44Ii8+PC9zdmc+"/>
|
562 |
-
</a>';
|
563 |
-
|
564 |
-
if ( $tab_key === 'cs' ) {
|
565 |
-
echo '
|
566 |
-
<p class="iubenda-text">
|
567 |
-
' . __( "This plugin is the easiest and most comprehensive way to adapt your WordPress site to the ePrivacy (EU Cookie Law). Upon your users' first visit, the plugin will take care of collecting their consent, blocking the most popular cookie-scripts and subsequently reactivating these scripts as soon as consent is provided. The basic settings include obtaining consent by a simple scroll action (the most effective method) and script reactivation without refreshing the page (asynchronous script reactivation).", 'iubenda' ) . '
|
568 |
-
</p>
|
569 |
-
<p class="iubenda-text">
|
570 |
-
<span class="iubenda-title">' . __( "Does the Cookie Solution support IAB's Transparency and Consent Framework?", 'iubenda' ) . '</span><br />
|
571 |
-
' . sprintf( __( "Yes it does. You can read more about it <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">here.</a>", 'iubenda' ), $this->links['iab'] ) . '
|
572 |
-
</p>
|
573 |
-
<p class="iubenda-text">
|
574 |
-
<span class="iubenda-title">' . __( "Would you like to know more about the cookie law?", 'iubenda' ) . '</span><br />
|
575 |
-
' . sprintf( __( "Read our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">complete guide to the cookie law.</a>", 'iubenda' ), $this->links['guide'] ) . '
|
576 |
-
</p>
|
577 |
-
<p class="iubenda-text">
|
578 |
-
<span class="iubenda-title">' . __( "What is the full functionality of the plugin?", 'iubenda' ) . '</span><br />
|
579 |
-
' . sprintf( __( "Visit our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">plugin page.</a>", 'iubenda' ), $this->links['plugin_page'] ) . '
|
580 |
-
</p>
|
581 |
-
<p class="iubenda-text">
|
582 |
-
<span class="iubenda-title">' . __( "Enter the iubenda code for the Cookie Solution below.", 'iubenda' ) . '</span><br />
|
583 |
-
' . sprintf( __( "In order to run the plugin, you need to enter the iubenda code that activates the cookie law banner and the cookie policy in the form below. This code can be generated on www.iubenda.com, following <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">this guide.</a>", 'iubenda' ), $this->links['generating_code'] ) . '
|
584 |
-
</p>';
|
585 |
-
} else {
|
586 |
-
echo '
|
587 |
-
<p class="iubenda-text">
|
588 |
-
' . __( 'Maintaining comprehensive records of consent is a vital part of privacy compliance in general but is specifically required under the GDPR. These records should include a way of identifying the user, store proof of consent, record of the consenting action, and the legal documents available to the user at the time of consent, among other things. You can read about the <a href="https://www.iubenda.com/en/help/5428-gdpr-guide#records-of-consent" target="_blank">full requirements here</a>.', 'iubenda' ) . '
|
589 |
-
</p>';
|
590 |
-
}
|
591 |
-
?>
|
592 |
-
</div>
|
593 |
-
|
594 |
-
<?php
|
595 |
-
if ( $tab_key === 'cs' ) {
|
596 |
-
// add per-purpose notice
|
597 |
-
if ( iubenda()->options['cs']['skip_parsing'] ) {
|
598 |
-
$iubenda_code = '';
|
599 |
-
|
600 |
-
if ( iubenda()->multilang === true && defined( 'ICL_LANGUAGE_CODE' ) && isset( iubenda()->options['cs']['code_' . ICL_LANGUAGE_CODE] ) ) {
|
601 |
-
$iubenda_code = iubenda()->options['cs']['code_' . ICL_LANGUAGE_CODE];
|
602 |
-
|
603 |
-
// no code for current language, use default
|
604 |
-
if ( ! $iubenda_code )
|
605 |
-
$iubenda_code = iubenda()->options['cs']['code_default'];
|
606 |
-
} else
|
607 |
-
$iubenda_code = iubenda()->options['cs']['code_default'];
|
608 |
-
|
609 |
-
$per_purpose_enabled = preg_match( '/(?:"|\')perPurposeConsent(?:"|\')\: *(?:"|\'*)true(?:"|\'*)/', $iubenda_code );
|
610 |
-
$reject_enabled = preg_match( '/(?:"|\')rejectButtonDisplay(?:"|\')\: *(?:"|\'*)true(?:"|\'*)/', $iubenda_code );
|
611 |
-
|
612 |
-
if ( $per_purpose_enabled || $reject_enabled )
|
613 |
-
$this->add_notice( 'iub_per_purpose_enabled', sprintf( __( 'If you are using per-purpose script blocking or Reject option 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' );
|
614 |
-
}
|
615 |
-
|
616 |
-
// add AMP notice
|
617 |
-
if ( iubenda()->options['cs']['amp_support'] && iubenda()->options['cs']['amp_template_done'] ) {
|
618 |
-
$ssl_support = true;
|
619 |
-
|
620 |
-
// multilang support
|
621 |
-
if ( iubenda()->multilang && ! empty( iubenda()->languages ) ) {
|
622 |
-
foreach ( iubenda()->languages as $lang_id => $lang_name ) {
|
623 |
-
$url = iubenda()->options['cs']['amp_source'] === 'remote' ? iubenda()->options['cs']['amp_template'][$lang_id] : iubenda()->AMP->get_amp_template_url( $lang_id );
|
624 |
-
$bits = explode( '/', $url );
|
625 |
-
|
626 |
-
if ( $bits[0] === 'http:' )
|
627 |
-
$ssl_support = false;
|
628 |
-
}
|
629 |
-
} else {
|
630 |
-
$url = iubenda()->options['cs']['amp_source'] === 'remote' ? iubenda()->options['cs']['amp_template'] : iubenda()->AMP->get_amp_template_url();
|
631 |
-
$bits = explode( '/', $url );
|
632 |
-
|
633 |
-
if ( $bits[0] === 'http:' )
|
634 |
-
$ssl_support = false;
|
635 |
-
}
|
636 |
-
|
637 |
-
if ( ! $ssl_support )
|
638 |
-
$this->add_notice( 'iub_amp_ssl_required', __( 'AMP configuration file requires HTTPS. Make sure your SSL Certificate is configured correctly.', 'iubenda' ), 'error' );
|
639 |
-
}
|
640 |
-
|
641 |
-
}
|
642 |
-
|
643 |
-
// render custom notices
|
644 |
-
$this->print_notices();
|
645 |
-
?>
|
646 |
-
|
647 |
-
<h2 style="display: none;"></h2>
|
648 |
-
<h2 class="nav-tab-wrapper iubenda-tab-wrapper">
|
649 |
-
<a class="nav-tab<?php echo $tab_key == 'cs' ? ' nav-tab-active' : ''; ?>" href="<?php echo esc_url( iubenda()->base_url ); ?>"><?php _e( 'Cookie Solution', 'iubenda' ); ?></a>
|
650 |
-
<a class="nav-tab<?php echo $tab_key == 'cons' ? ' nav-tab-active' : ''; ?>" href="<?php echo esc_url( add_query_arg( array( 'tab' => 'cons' ), iubenda()->base_url ) ); ?>"><?php _e( 'Consent Solution', 'iubenda' ); ?></a>
|
651 |
-
</h2>
|
652 |
-
|
653 |
-
<div id="iubenda-settings">
|
654 |
-
|
655 |
-
<form id="iubenda-tabs" action="options.php" method="post">
|
656 |
-
|
657 |
-
|
658 |
-
<?php
|
659 |
-
if ( $tab_key === 'cs' ) {
|
660 |
-
echo '<p>' . sprintf( __( 'This plugin drastically reduces the need for direct interventions in the code of the site by integrating with iubenda\'s Cookie Solution. It provides a fully customizable cookie banner, dynamically generates a cookie policy <a href="%s" target="_blank">to match the services in use on your site</a>, and, fully manages cookie-related consent - including the blocking of the most common widgets and third-party cookies before consent is received - in order to comply with the GDPR and ePrivacy.', 'iubenda' ), 'https://www.iubenda.com/en/help/19004-how-to-use-the-site-scanner-from-within-the-generator' ) . '</p>';
|
661 |
-
} else {
|
662 |
-
echo '<p>' . __( 'Maintaining valid records of consent is a vital part of privacy compliance in general, and it is specifically required under the GDPR. These records should include a userid, timestamp, consent proof, record of the consenting action, and the legal documents available to the user at the time of consent, among other things. This plugin is THE most complete solution for recording, sorting and maintaining GDPR records of consent*. The plugin also boasts built-in compatibility with WordPress comment form, Contact Form 7 and WP Forms plugins for your convenience, but can be manually integrated with any type of web-form and can even store consent proofs for consents collected offline (e.g in-store sign-ups) via WP media upload.' ) . '</p>';
|
663 |
-
}
|
664 |
-
?>
|
665 |
-
|
666 |
-
<?php
|
667 |
-
settings_fields( $this->tabs[$tab_key]['key'] );
|
668 |
-
do_settings_sections( $this->tabs[$tab_key]['key'] );
|
669 |
-
|
670 |
-
if ( ! in_array( $this->action, array( 'save', 'edit' ) ) ) {
|
671 |
-
echo ' <p class="submit submit-' . $tab_key . '">';
|
672 |
-
|
673 |
-
// consent solution tab only
|
674 |
-
if ( $tab_key != 'cs' && ! empty( iubenda()->options['cons']['public_api_key'] ) ) {
|
675 |
-
echo '<a href="' . esc_url( add_query_arg( array( 'tab' => 'cons', 'action' => 'autodetect' ), iubenda()->base_url ) ) . '" class="button button-primary button-large iub-autodetect-forms">' . esc_html__( 'Autodetect Forms', 'iubenda' ) . '</a>';
|
676 |
-
echo '<br />';
|
677 |
-
}
|
678 |
-
submit_button( '', 'primary', $this->tabs[$tab_key]['submit'], false );
|
679 |
-
echo ' ';
|
680 |
-
submit_button( __( 'Reset to defaults', 'iubenda' ), 'secondary', $this->tabs[$tab_key]['reset'], false );
|
681 |
-
echo ' </p>';
|
682 |
-
}
|
683 |
-
?>
|
684 |
-
|
685 |
-
</form>
|
686 |
-
|
687 |
-
</div>
|
688 |
-
|
689 |
-
<div id="iubenda-footer">
|
690 |
-
<?php echo '
|
691 |
-
<p class="iubenda-text">
|
692 |
-
<span class="iubenda-title">' . __( 'Need support for this plugin?', 'iubenda' ) . '</span><br />
|
693 |
-
' . sprintf( __( "Visit our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">support forum.</a>", 'iubenda' ), $this->links['support_forum'] ) . '
|
694 |
-
</p>';
|
695 |
-
?>
|
696 |
-
</div>
|
697 |
-
|
698 |
-
<div class="clear"></div>
|
699 |
-
</div>
|
700 |
-
<?php
|
701 |
-
}
|
702 |
-
|
703 |
-
/**
|
704 |
-
* Code option.
|
705 |
-
*
|
706 |
-
* @return mixed
|
707 |
-
*/
|
708 |
-
public function iub_code() {
|
709 |
-
// multilang support
|
710 |
-
if ( iubenda()->multilang && ! empty( iubenda()->languages ) ) {
|
711 |
-
echo '
|
712 |
-
<div id="contextual-help-wrap" class="contextual-help-wrap hidden" tabindex="-1" style="display: block;">
|
713 |
-
<div id="contextual-help-back" class="contextual-help-back"></div>
|
714 |
-
<div id="contextual-help-columns" class="contextual-help-columns">
|
715 |
-
<div class="contextual-help-tabs">
|
716 |
-
<ul>';
|
717 |
-
foreach ( iubenda()->languages as $lang_id => $lang_name ) {
|
718 |
-
echo '
|
719 |
-
<li class="' . ( iubenda()->lang_default == $lang_id ? 'active' : '' ) . '">
|
720 |
-
<a href="#tab-panel-' . $lang_id . '" aria-controls="tab-panel-' . $lang_id . '">' . $lang_name . '</a>
|
721 |
-
</li>';
|
722 |
-
}
|
723 |
-
echo '
|
724 |
-
</ul>
|
725 |
-
</div>
|
726 |
-
|
727 |
-
<div id="contextual-help-tabs-wrap" class="contextual-help-tabs-wrap">';
|
728 |
-
foreach ( iubenda()->languages as $lang_id => $lang_name ) {
|
729 |
-
// get code for the language
|
730 |
-
$code = ! empty( iubenda()->options['cs']['code_' . $lang_id] ) ? html_entity_decode( iubenda()->parse_code( iubenda()->options['cs']['code_' . $lang_id] ) ) : '';
|
731 |
-
// handle default, if empty
|
732 |
-
$code = empty( $code ) && $lang_id == iubenda()->lang_default ? html_entity_decode( iubenda()->parse_code( iubenda()->options['cs']['code_default'] ) ) : $code;
|
733 |
-
|
734 |
-
echo '
|
735 |
-
<div id="tab-panel-' . $lang_id . '" class="help-tab-content' . ( iubenda()->lang_default == $lang_id ? ' active' : '' ) . '">
|
736 |
-
<textarea name="iubenda_cookie_law_solution[code_' . $lang_id . ']" class="large-text" cols="50" rows="10">' . $code . '</textarea>
|
737 |
-
<p class="description">' . sprintf( __( 'Enter the iubenda code for %s.', 'iubenda' ), $lang_name ) . '</p>
|
738 |
-
</div>';
|
739 |
-
}
|
740 |
-
echo '
|
741 |
-
</div>
|
742 |
-
</div>
|
743 |
-
</div>';
|
744 |
-
} else {
|
745 |
-
echo '
|
746 |
-
<div id="iub_code_default">
|
747 |
-
<textarea name="iubenda_cookie_law_solution[code_default]" class="large-text" cols="50" rows="10">' . html_entity_decode( iubenda()->parse_code( iubenda()->options['cs']['code_default'] ) ) . '</textarea>
|
748 |
-
<p class="description">' . __( 'Enter the iubenda code.', 'iubenda' ) . '</p>
|
749 |
-
</div>';
|
750 |
}
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
-
|
755 |
-
|
756 |
-
|
757 |
-
|
758 |
-
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
763 |
-
|
764 |
-
|
765 |
-
|
766 |
-
|
767 |
-
|
768 |
-
|
769 |
-
|
770 |
-
|
771 |
-
|
772 |
-
|
773 |
-
|
774 |
-
|
775 |
-
|
776 |
-
|
777 |
-
|
778 |
-
|
779 |
-
|
780 |
-
|
781 |
-
|
782 |
-
|
783 |
-
|
784 |
-
|
785 |
-
|
786 |
-
|
787 |
-
|
788 |
-
|
789 |
-
|
790 |
-
|
791 |
-
|
792 |
-
|
793 |
-
|
794 |
-
|
795 |
-
|
796 |
-
|
797 |
-
|
798 |
-
|
799 |
-
|
800 |
-
|
801 |
-
|
802 |
-
|
803 |
-
|
804 |
-
|
805 |
-
|
806 |
-
|
807 |
-
|
808 |
-
|
809 |
-
|
810 |
-
|
811 |
-
|
812 |
-
|
813 |
-
|
814 |
-
|
815 |
-
|
816 |
-
|
817 |
-
|
818 |
-
|
819 |
-
|
820 |
-
|
821 |
-
|
822 |
-
|
823 |
-
|
824 |
-
|
825 |
-
|
826 |
-
|
827 |
-
|
828 |
-
|
829 |
-
|
830 |
-
|
831 |
-
|
832 |
-
|
833 |
-
|
834 |
-
|
835 |
-
|
836 |
-
|
837 |
-
|
838 |
-
|
839 |
-
|
840 |
-
|
841 |
-
|
842 |
-
|
843 |
-
|
844 |
-
|
845 |
-
|
846 |
-
|
847 |
-
|
848 |
-
|
849 |
-
|
850 |
-
|
851 |
-
|
852 |
-
|
853 |
-
|
854 |
-
|
855 |
-
|
856 |
-
|
857 |
-
|
858 |
-
|
859 |
-
|
860 |
-
|
861 |
-
|
862 |
-
|
863 |
-
|
864 |
-
|
865 |
-
|
866 |
-
|
867 |
-
|
868 |
-
|
869 |
-
|
870 |
-
|
871 |
-
|
872 |
-
|
873 |
-
|
874 |
-
|
875 |
-
|
876 |
-
|
877 |
-
|
878 |
-
|
879 |
-
|
880 |
-
|
881 |
-
|
882 |
-
|
883 |
-
|
884 |
-
|
885 |
-
public function iub_output_post() {
|
886 |
-
echo '
|
887 |
-
<div id="iub_output_post_container">
|
888 |
-
<label><input id="iub_output_post" type="checkbox" name="iubenda_cookie_law_solution[output_post]" value="1" ' . checked( true, (bool) iubenda()->options['cs']['output_post'], false ) . '/>' . __( 'Do not run the plugin on POST requests (recommended)', 'iubenda' ) . '</label>
|
889 |
-
</div>';
|
890 |
-
}
|
891 |
-
|
892 |
-
/**
|
893 |
-
* Menu option.
|
894 |
-
*
|
895 |
-
* @return mixed
|
896 |
-
*/
|
897 |
-
public function iub_menu_position() {
|
898 |
-
echo '
|
899 |
-
<div id="iub_menu_position_container">
|
900 |
-
<label><input id="iub_menu_position-topmenu" type="radio" name="iubenda_cookie_law_solution[menu_position]" value="topmenu" ' . checked( 'topmenu', iubenda()->options['cs']['menu_position'], false ) . ' />' . __( 'Top menu', 'iubenda' ) . '</label>
|
901 |
-
<label><input id="iub_menu_position-submenu" type="radio" name="iubenda_cookie_law_solution[menu_position]" value="submenu" ' . checked( 'submenu', iubenda()->options['cs']['menu_position'], false ) . ' />' . __( 'Submenu', 'iubenda' ) . '</label>
|
902 |
-
<p class="description">' . __( 'Select whether to display iubenda in a top admin menu or the Settings submenu.', 'iubenda' ) . '</p>
|
903 |
-
</div>';
|
904 |
-
}
|
905 |
-
|
906 |
-
/**
|
907 |
-
* Google AMP support option.
|
908 |
-
*
|
909 |
-
* @return mixed
|
910 |
-
*/
|
911 |
-
public function iub_amp_support() {
|
912 |
-
echo '
|
913 |
-
<div id="iub_amp_support_container">
|
914 |
-
<label><input id="iub_amp_support" type="checkbox" name="iubenda_cookie_law_solution[amp_support]" value="1" ' . checked( true, (bool) iubenda()->options['cs']['amp_support'], false ) . '/>' . __( 'Enable Google AMP support.', 'iubenda' ) . '</label>
|
915 |
-
<p class="description">' . sprintf( __( 'This feature enables iubenda on AMP pages via the <a href="%s" target="_blank">AMP</a> and <a href="%s" target="_blank">AMP for WP</a> plugins. AMP requires specific configuration parameters and a page hosted on your domain where the configuration is loaded from. <a href="%s" target="_blank">Learn more on iubenda and AMP</a>.', 'iubenda' ), 'https://wordpress.org/plugins/amp/', 'https://wordpress.org/plugins/accelerated-mobile-pages/', 'https://www.iubenda.com/en/help/22135-cookie-solution-amp#wordpress' ) . '</p>
|
916 |
-
<div id="iub_amp_options_container"' . ( iubenda()->options['cs']['amp_support'] === false ? ' style="display: none;"' : '' ) . '>
|
917 |
-
<div>
|
918 |
-
<label><input id="iub_amp_source-local" class="iub_amp_source" type="radio" name="iubenda_cookie_law_solution[amp_source]" value="local" ' . checked( 'local', iubenda()->options['cs']['amp_source'], false ) . ' />' . __( 'Auto-generated configuration file', 'iubenda' ) . '</label>
|
919 |
-
<label><input id="iub_amp_source-remote" class="iub_amp_source" type="radio" name="iubenda_cookie_law_solution[amp_source]" value="remote" ' . checked( 'remote', iubenda()->options['cs']['amp_source'], false ) . ' />' . __( 'Custom configuration file', 'iubenda' ) . '</label>
|
920 |
-
<p class="description">' . __( 'Select the iubenda AMP configuration file location.', 'iubenda' ) . '</p>
|
921 |
-
</div>
|
922 |
-
<div id="iub_amp_template-local"' . ( iubenda()->options['cs']['amp_source'] === 'remote' ? ' style="display: none;"' : '' ) . '>';
|
923 |
-
if ( empty( iubenda()->options['cs']['amp_template_done'] ) ) {
|
924 |
-
echo '
|
925 |
-
<p class="description">' . __( 'No file available. Save changes to generate iubenda AMP configuration file.', 'iubenda' ) . '</p>';
|
926 |
-
} else {
|
927 |
-
// multilang support
|
928 |
-
if ( iubenda()->multilang && ! empty( iubenda()->languages ) ) {
|
929 |
-
foreach ( iubenda()->languages as $lang_id => $lang_name ) {
|
930 |
-
echo $lang_name . ':
|
931 |
-
<a href="' . iubenda()->AMP->get_amp_template_url( $lang_id ) . '" target="_blank">' . iubenda()->AMP->get_amp_template_url( $lang_id ) . '</a><br />';
|
932 |
-
}
|
933 |
-
} else {
|
934 |
-
echo '
|
935 |
-
<a href="' . iubenda()->AMP->get_amp_template_url() . '" target="_blank">' . iubenda()->AMP->get_amp_template_url() . '</a>';
|
936 |
-
}
|
937 |
-
}
|
938 |
-
echo '
|
939 |
-
</div>
|
940 |
-
<div id="iub_amp_template-remote"' . ( iubenda()->options['cs']['amp_source'] === 'local' ? ' style="display: none;"' : '' ) . '>';
|
941 |
-
|
942 |
-
// multilang support
|
943 |
-
if ( iubenda()->multilang && ! empty( iubenda()->languages ) ) {
|
944 |
-
foreach ( iubenda()->languages as $lang_id => $lang_name ) {
|
945 |
-
echo $lang_name . ':
|
946 |
-
<label><input id="iub_amp_template-' . $lang_id . '" type="text" class="regular-text" name="iubenda_cookie_law_solution[amp_template][' . $lang_id . ']" value="' . ( isset( iubenda()->options['cs']['amp_template'][$lang_id] ) ? esc_url( iubenda()->options['cs']['amp_template'][$lang_id] ) : '' ) . '" /></label><br />';
|
947 |
-
}
|
948 |
-
} else {
|
949 |
-
echo '
|
950 |
-
<label><input id="iub_amp_template" type="text" class="regular-text" name="iubenda_cookie_law_solution[amp_template]" value="' . ( isset( iubenda()->options['cs']['amp_template'] ) ? esc_url( iubenda()->options['cs']['amp_template'] ) : '' ) . '" /></label>';
|
951 |
-
}
|
952 |
-
echo '
|
953 |
-
<p class="description">' . __( 'If you\'re experiencing issues with AMP setup download the generated iubenda AMP configuration file, upload it to any SSL server and paste the file link to the field above.', 'iubenda' ) . '</p>
|
954 |
-
</div>
|
955 |
-
<p class="description">' . sprintf( __( 'Seeing the AMP cookie notice when testing from Google but not when visiting your AMP pages directly? <a href="%s" target="_blank">Learn how to fix it</a>.', 'iubenda' ), 'https://www.iubenda.com/en/help/22135-cookie-solution-amp-wordpress#amp-domain' ) . '</p>
|
956 |
-
</div>
|
957 |
-
</div>';
|
958 |
-
}
|
959 |
-
|
960 |
-
/**
|
961 |
-
* Deactivation option.
|
962 |
-
*
|
963 |
-
* @return mixed
|
964 |
-
*/
|
965 |
-
public function iub_deactivation() {
|
966 |
-
echo '
|
967 |
-
<div id="iub_deactivation_container">
|
968 |
-
<label><input id="iub_deactivation" type="checkbox" name="iubenda_cookie_law_solution[deactivation]" value="1" ' . checked( true, (bool) iubenda()->options['cs']['deactivation'], false ) . '/>' . __( 'Delete all plugin data upon deactivation', 'iubenda' ) . '</label>
|
969 |
-
</div>';
|
970 |
-
}
|
971 |
-
|
972 |
-
/**
|
973 |
-
* Public API Key option.
|
974 |
-
*
|
975 |
-
* @return mixed
|
976 |
-
*/
|
977 |
-
public function iub_public_api_key() {
|
978 |
-
echo '
|
979 |
-
<div id="iub_public_api_key_container">
|
980 |
-
<label><input id="iub_public_api_key" type="text" class="regular-text" name="iubenda_consent_solution[public_api_key]" value="' . iubenda()->options['cons']['public_api_key'] . '" /></label>
|
981 |
-
<p class="description">' . __( 'Enter your iubenda Javascript library public API key.', 'iubenda' ) . '</p>
|
982 |
-
</div>';
|
983 |
-
}
|
984 |
-
|
985 |
-
/**
|
986 |
-
* Forms list.
|
987 |
-
*
|
988 |
-
* @return mixed
|
989 |
-
*/
|
990 |
-
public function iubenda_consent_forms() {
|
991 |
-
$form_id = ! empty( $_GET['form_id'] ) ? absint( $_GET['form_id'] ) : 0;
|
992 |
-
$form = ! empty( $form_id ) ? iubenda()->forms->get_form( $form_id ) : false;
|
993 |
-
|
994 |
-
$supported_forms = iubenda()->forms->sources;
|
995 |
-
|
996 |
-
echo '
|
997 |
-
<p class="description">' . __( 'This section lists the forms available for field mapping. The plugin currently supports & detects: WordPress Comment, Contact Form 7, WooCommerce Checkout and WP Forms.', 'iubenda' ) . '</p>';
|
998 |
-
|
999 |
-
// list screen
|
1000 |
-
if ( ! class_exists( 'WP_List_Table' ) )
|
1001 |
-
include_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );
|
1002 |
-
|
1003 |
-
include_once( IUBENDA_PLUGIN_PATH . '/includes/forms-list-table.php' );
|
1004 |
-
|
1005 |
-
$list_table = new iubenda_List_Table_Forms();
|
1006 |
-
|
1007 |
-
echo '
|
1008 |
-
<div id="iubenda-consent-forms">';
|
1009 |
-
$list_table->views();
|
1010 |
-
$list_table->prepare_items();
|
1011 |
-
$list_table->display();
|
1012 |
-
|
1013 |
-
echo '
|
1014 |
-
</div>';
|
1015 |
-
}
|
1016 |
-
|
1017 |
-
/**
|
1018 |
-
* Single form.
|
1019 |
-
*
|
1020 |
-
* @return mixed
|
1021 |
-
*/
|
1022 |
-
public function iubenda_consent_form() {
|
1023 |
-
$form_id = ! empty( $_GET['form_id'] ) ? absint( $_GET['form_id'] ) : 0;
|
1024 |
-
$form = ! empty( $form_id ) ? iubenda()->forms->get_form( $form_id ) : false;
|
1025 |
-
|
1026 |
-
if ( ! $form )
|
1027 |
-
return;
|
1028 |
-
|
1029 |
-
$status = isset( $form->post_status ) && in_array( $form->post_status, array_keys( iubenda()->forms->statuses ) ) ? esc_attr( $form->post_status ) : 'publish';
|
1030 |
-
$subject = isset( $form->form_subject ) && is_array( $form->form_subject ) ? array_map( 'esc_attr', $form->form_subject ) : array();
|
1031 |
-
$preferences = isset( $form->form_preferences ) && is_array( $form->form_preferences ) ? array_map( 'esc_attr', $form->form_preferences ) : array();
|
1032 |
-
$exclude = isset( $form->form_exclude ) && is_array( $form->form_exclude ) ? array_map( 'esc_attr', $form->form_exclude ) : array();
|
1033 |
-
$legal_notices = isset( $form->form_legal_notices ) && is_array( $form->form_legal_notices ) ? array_map( 'esc_attr', $form->form_legal_notices ) : array();
|
1034 |
-
|
1035 |
-
$available_fields = array();
|
1036 |
-
|
1037 |
-
if ( ! empty( $form->form_fields ) && is_array( $form->form_fields ) ) {
|
1038 |
-
foreach ( $form->form_fields as $index => $form_field ) {
|
1039 |
-
if ( is_array( $form_field ) ) {
|
1040 |
-
// print_r( $form_field );
|
1041 |
-
$available_fields[] = $form_field['label'] . ' (' . $form_field['type'] . ')';
|
1042 |
-
} else {
|
1043 |
-
$available_fields[] = $form_field;
|
1044 |
-
}
|
1045 |
-
}
|
1046 |
-
}
|
1047 |
-
|
1048 |
-
// print_r( $form );
|
1049 |
-
|
1050 |
-
echo '
|
1051 |
-
<div id="poststuff">
|
1052 |
-
<div id="post-body" class="metabox-holder columns-2">
|
1053 |
-
<div id="post-body-content">
|
1054 |
-
<div id="titlediv">
|
1055 |
-
<div id="titlewrap">
|
1056 |
-
<h1>' . $form->post_title . '</h1>
|
1057 |
-
</div>
|
1058 |
-
<p class="description">' . sprintf( __( '%s form title.', 'iubenda' ), ( array_key_exists( $form->form_source, iubenda()->forms->sources ) ? iubenda()->forms->sources[$form->form_source] : __( 'Unknown', 'iubenda' ) ) ) . '</p>
|
1059 |
-
|
1060 |
-
<div style="margin-top: 18px"><strong>' . __( 'Available form fields:', 'iubenda' ) . '</strong><br /><p class="description">' . implode( ', ', $available_fields ) . '</p></div>
|
1061 |
-
</div>
|
1062 |
-
</div>
|
1063 |
-
<div id="postbox-container-1" class="postbox-container">
|
1064 |
-
<div id="side-sortables" class="">
|
1065 |
-
<div id="submitdiv" class="postbox ">
|
1066 |
-
<h3 class="hndle"><span>' . __( 'Publish' ) . '</span></h3>
|
1067 |
-
<div class="inside">
|
1068 |
-
<div id="submitpost" class="submitbox">
|
1069 |
-
<div id="minor-publishing">
|
1070 |
-
<div class="misc-pub-section misc-pub-post-status">
|
1071 |
-
<label for="status">' . __( 'Status' ) . ':</label>
|
1072 |
-
<div id="status-select" class="" style="margin: 3px 0 0;">
|
1073 |
-
<select id="status" name="status">';
|
1074 |
-
foreach ( iubenda()->forms->statuses as $name => $label ) {
|
1075 |
-
echo '
|
1076 |
-
<option value="' . $name . '"' . selected( $form->post_status, $name, true ) . '>' . $label . '</option>';
|
1077 |
-
}
|
1078 |
-
echo '
|
1079 |
-
</select>
|
1080 |
-
</div>
|
1081 |
-
</div>
|
1082 |
-
<div id="major-publishing-actions">
|
1083 |
-
<div id="delete-action">
|
1084 |
-
<a class="submitdelete deletion" href="' . esc_url( add_query_arg( array( 'tab' => 'cons' ), iubenda()->base_url ) ) . '">' . __( 'Cancel' ) . '</a>
|
1085 |
-
</div>
|
1086 |
-
<div id="publishing-action">
|
1087 |
-
<span class="spinner"></span>
|
1088 |
-
<input type="hidden" value="' . $form->ID . '" name="form_id">
|
1089 |
-
<input id="publish" class="button button-primary button-large" type="submit" value="' . __( 'Save' ) . '" name="save">
|
1090 |
-
</div>
|
1091 |
-
<div class="clear"></div>
|
1092 |
-
</div>
|
1093 |
-
</div>
|
1094 |
-
</div>
|
1095 |
-
</div>
|
1096 |
-
</div>
|
1097 |
-
</div>
|
1098 |
-
</div>
|
1099 |
-
<div id="postbox-container-2" class="postbox-container">
|
1100 |
-
<div id="normal-sortables" class="meta-box-sortables">
|
1101 |
-
<div id="map-fields" class="postbox">
|
1102 |
-
<h3 class="hndle ui-sortable-handle"><span>' . __( 'Map fields', 'iubenda' ) . '</span></h3>
|
1103 |
-
<div class="inside">
|
1104 |
-
<table class="widefat">
|
1105 |
-
<tbody>
|
1106 |
-
<tr>
|
1107 |
-
<td class="label table-label">
|
1108 |
-
<h4>' . __( 'Subject fields', 'iubenda' ) . ' <span class="required">(required)</span></h4>
|
1109 |
-
<p class="description">' . __( 'Subject fields allow you to store a series of identifying values about your individual subjects/users. Please map the subject field with the corresponding form fields where applicable.', 'iubenda' ) . '</p>
|
1110 |
-
</td>
|
1111 |
-
<td>
|
1112 |
-
<table class="widefat subject-table">
|
1113 |
-
<thead>
|
1114 |
-
<td class="label">' . __( 'Subject field', 'iubenda' ) . '</td>
|
1115 |
-
<td class="label">' . __( 'Form field', 'iubenda' ) . '</td>
|
1116 |
-
</thead>
|
1117 |
-
<tbody>';
|
1118 |
-
|
1119 |
-
foreach ( $this->subject_fields as $field_name => $field_label ) {
|
1120 |
-
$selected = isset( $subject[$field_name] ) ? $subject[$field_name] : '';
|
1121 |
-
$none = $field_name == 'id' ? __( 'Autogenerated', 'iubenda' ) : __( 'None', 'iubenda' );
|
1122 |
-
|
1123 |
-
echo '
|
1124 |
-
<tr class="subject-field options-field">
|
1125 |
-
<td>' . $field_name . ' (' . $field_label . ')' . '</td>
|
1126 |
-
<td>
|
1127 |
-
<select class="subject-fields-select select-' . $field_name . '" name="subject[' . $field_name . ']">
|
1128 |
-
<option value="" ' . selected( $selected, '', false ) . '>' . $none . '</option>';
|
1129 |
-
if ( ! empty( $form->form_fields ) ) {
|
1130 |
-
foreach ( $form->form_fields as $index => $form_field ) {
|
1131 |
-
// get field data
|
1132 |
-
$form_field_value = is_array( $form_field ) ? $index : $form_field;
|
1133 |
-
$form_field_label = is_array( $form_field ) ? $form_field['label'] . ' (' . $form_field['type'] . ')' : $form_field;
|
1134 |
-
$form_field_selected = is_array( $form_field ) ? $index : $form_field;
|
1135 |
-
|
1136 |
-
echo '<option value="' . $form_field_value . '" ' . selected( $selected, $form_field_selected, false ) . '>' . $form_field_label . '</option>';
|
1137 |
-
}
|
1138 |
-
}
|
1139 |
-
echo '
|
1140 |
-
</select>
|
1141 |
-
</td>
|
1142 |
-
</tr>
|
1143 |
-
';
|
1144 |
-
}
|
1145 |
-
echo '
|
1146 |
-
</tbody>
|
1147 |
-
</table>
|
1148 |
-
</td>
|
1149 |
-
</tr>
|
1150 |
-
<tr>
|
1151 |
-
<td class="label table-label">
|
1152 |
-
<h4>' . __( 'Preferences fields', 'iubenda' ) . ' <span class="required">(required)</span></h4>
|
1153 |
-
<p class="description">' . __( 'Preferences fields allow you to store a record of the various opt-ins points at which the user has agreed or given consent, such as fields for agreeing to terms and conditions, newsletter, profiling, etc. *Please create at least one preference field.', 'iubenda' ) . '</p>
|
1154 |
-
</td>
|
1155 |
-
<td>
|
1156 |
-
<table class="widefat preferences-table">
|
1157 |
-
<thead>
|
1158 |
-
<td class="label">' . __( 'Preferences field', 'iubenda' ) . '</td>
|
1159 |
-
<td class="label">' . __( 'Form field', 'iubenda' ) . '</td>
|
1160 |
-
</thead>
|
1161 |
-
<tbody>';
|
1162 |
-
echo '
|
1163 |
-
<tr id="preferences-field-template" class="template-field" style="display: none;">
|
1164 |
-
<td><input type="text" class="regular-text" value="" name="preferences[__PREFERENCE_ID__][field]" placeholder="' . __( 'Enter field name', 'iubenda' ) . '" /></td>
|
1165 |
-
<td>
|
1166 |
-
<select class="preferences-fields-select select-' . $field_name . '" name="preferences[__PREFERENCE_ID__][value]">';
|
1167 |
-
if ( ! empty( $form->form_fields ) ) {
|
1168 |
-
foreach ( $form->form_fields as $index => $form_field ) {
|
1169 |
-
// get field data
|
1170 |
-
$form_field_value = is_array( $form_field ) ? $index : $form_field;
|
1171 |
-
$form_field_label = is_array( $form_field ) ? $form_field['label'] . ' (' . $form_field['type'] . ')' : $form_field;
|
1172 |
-
|
1173 |
-
echo '<option value="' . $form_field_value . '">' . $form_field_label . '</option>';
|
1174 |
-
}
|
1175 |
-
}
|
1176 |
-
echo '
|
1177 |
-
</select>
|
1178 |
-
<a href="javascript:void(0)" class="remove-preferences-field button-secondary" title="' . __( 'Remove', 'iubenda' ) . '">-</a>
|
1179 |
-
</td>
|
1180 |
-
</tr>';
|
1181 |
-
|
1182 |
-
if ( $preferences ) {
|
1183 |
-
$index = 0;
|
1184 |
-
|
1185 |
-
foreach ( $preferences as $field_name => $field_value ) {
|
1186 |
-
$selected = isset( $preferences[$field_name] ) ? $preferences[$field_name] : '';
|
1187 |
-
|
1188 |
-
echo '
|
1189 |
-
<tr class="preferences-field options-field">
|
1190 |
-
<td><input type="text" class="regular-text" value="' . $field_name . '" name="preferences[' . $index . '][field]" placeholder="' . __( 'Enter field name', 'iubenda' ) . '" /></td>
|
1191 |
-
<td>
|
1192 |
-
<select class="preferences-fields-select select-' . $field_name . '" name="preferences[' . $index . '][value]">';
|
1193 |
-
if ( ! empty( $form->form_fields ) ) {
|
1194 |
-
foreach ( $form->form_fields as $index => $form_field ) {
|
1195 |
-
// get field data
|
1196 |
-
$form_field_value = is_array( $form_field ) ? $index : $form_field;
|
1197 |
-
$form_field_label = is_array( $form_field ) ? $form_field['label'] . ' (' . $form_field['type'] . ')' : $form_field;
|
1198 |
-
$form_field_selected = is_array( $form_field ) ? $index : $form_field;
|
1199 |
-
|
1200 |
-
echo '<option value="' . $form_field_value . '" ' . selected( $selected, $form_field_selected, false ) . '>' . $form_field_label . '</option>';
|
1201 |
-
}
|
1202 |
-
}
|
1203 |
-
echo '
|
1204 |
-
</select>
|
1205 |
-
<a href="javascript:void(0)" class="remove-preferences-field button-secondary" title="' . __( 'Remove', 'iubenda' ) . '">-</a>
|
1206 |
-
</td>
|
1207 |
-
</tr>';
|
1208 |
-
|
1209 |
-
$index++;
|
1210 |
-
}
|
1211 |
-
}
|
1212 |
-
|
1213 |
-
echo '
|
1214 |
-
<tr class="submit-field"><td colspan="2"><a href="javascript:void(0)" class="add-preferences-field button-secondary">' . __( 'Add New Preference', 'iubenda' ) . '</a></td></tr>
|
1215 |
-
</tbody>
|
1216 |
-
</table>
|
1217 |
-
</td>
|
1218 |
-
</tr>
|
1219 |
-
<tr>
|
1220 |
-
<td class="label table-label">
|
1221 |
-
<h4>' . __( 'Exclude fields', 'iubenda' ) . '</h4>
|
1222 |
-
<p class="description">' . __( 'Exclude fields allow you to create a list of fields that you would like to exclude from your Consent Solution recorded proofs (for e.g. password or other fields not related to the consent).', 'iubenda' ) . '</p>
|
1223 |
-
</td>
|
1224 |
-
<td>
|
1225 |
-
<table class="widefat exclude-table">
|
1226 |
-
<thead>
|
1227 |
-
<td class="label">' . __( 'Exclude field', 'iubenda' ) . '</td>
|
1228 |
-
<td class="label"></td>
|
1229 |
-
</thead>
|
1230 |
-
<tbody>';
|
1231 |
-
echo '
|
1232 |
-
<tr id="exclude-field-template" class="template-field" style="display: none;">
|
1233 |
-
<td>
|
1234 |
-
<select class="exclude-fields-select select-' . $field_name . '" name="exclude[__EXCLUDE_ID__][field]">';
|
1235 |
-
if ( ! empty( $form->form_fields ) ) {
|
1236 |
-
foreach ( $form->form_fields as $index => $form_field ) {
|
1237 |
-
// get field data
|
1238 |
-
$form_field_value = is_array( $form_field ) ? $index : $form_field;
|
1239 |
-
$form_field_label = is_array( $form_field ) ? $form_field['label'] . ' (' . $form_field['type'] . ')' : $form_field;
|
1240 |
-
|
1241 |
-
echo '<option value="' . $form_field_value . '">' . $form_field_label . '</option>';
|
1242 |
-
}
|
1243 |
-
}
|
1244 |
-
echo '
|
1245 |
-
</select>
|
1246 |
-
<a href="javascript:void(0)" class="remove-exclude-field button-secondary" title="' . __( 'Remove', 'iubenda' ) . '">-</a>
|
1247 |
-
</td>
|
1248 |
-
<td></td>
|
1249 |
-
|
1250 |
-
</tr>';
|
1251 |
-
|
1252 |
-
if ( $exclude ) {
|
1253 |
-
$index = 0;
|
1254 |
-
|
1255 |
-
foreach ( $exclude as $index => $field_name ) {
|
1256 |
-
$selected = isset( $exclude[$index] ) ? $exclude[$index] : '';
|
1257 |
-
|
1258 |
-
echo '
|
1259 |
-
<tr class="exclude-field options-field">
|
1260 |
-
<td>
|
1261 |
-
<select class="exclude-fields-select select-' . $field_name . '" name="exclude[' . $index . '][field]">';
|
1262 |
-
if ( ! empty( $form->form_fields ) ) {
|
1263 |
-
foreach ( $form->form_fields as $index => $form_field ) {
|
1264 |
-
// get field data
|
1265 |
-
$form_field_value = is_array( $form_field ) ? $index : $form_field;
|
1266 |
-
$form_field_label = is_array( $form_field ) ? $form_field['label'] . ' (' . $form_field['type'] . ')' : $form_field;
|
1267 |
-
$form_field_selected = is_array( $form_field ) ? $index : $form_field;
|
1268 |
-
|
1269 |
-
echo '<option value="' . $form_field_value . '" ' . selected( $selected, $form_field_selected, false ) . '>' . $form_field_label . '</option>';
|
1270 |
-
}
|
1271 |
-
}
|
1272 |
-
echo '
|
1273 |
-
</select>
|
1274 |
-
<a href="javascript:void(0)" class="remove-exclude-field button-secondary" title="' . __( 'Remove', 'iubenda' ) . '">-</a>
|
1275 |
-
</td>
|
1276 |
-
<td></td>
|
1277 |
-
</tr>';
|
1278 |
-
|
1279 |
-
$index++;
|
1280 |
-
}
|
1281 |
-
}
|
1282 |
-
|
1283 |
-
echo '
|
1284 |
-
<tr class="submit-field"><td colspan="2"><a href="javascript:void(0)" class="add-exclude-field button-secondary">' . __( 'Add New Exclude', 'iubenda' ) . '</a></td></tr>
|
1285 |
-
</tbody>
|
1286 |
-
</table>
|
1287 |
-
</td>
|
1288 |
-
</tr>
|
1289 |
-
</tbody>
|
1290 |
-
</table>
|
1291 |
-
</div>
|
1292 |
-
</div>
|
1293 |
-
<div id="legal-notices" class="postbox">
|
1294 |
-
<h3 class="hndle ui-sortable-handle"><span>' . __( 'Legal Notices', 'iubenda' ) . '</span></h3>
|
1295 |
-
<div class="inside">
|
1296 |
-
<table class="widefat">
|
1297 |
-
<tbody>
|
1298 |
-
<tr>
|
1299 |
-
<td class="label table-label">
|
1300 |
-
<h4>' . __( 'Legal documents', 'iubenda' ) . '</h4>
|
1301 |
-
<p class="description">' . __( 'In general, it\'s important that you declare which legal documents are being agreed upon when each consent is collected. However, if you use iubenda for your legal documents, it is *required* that you identify the documents by selecting them here.', 'iubenda' ) . '</p>
|
1302 |
-
</td>
|
1303 |
-
<td>
|
1304 |
-
<table class="widefat legal_notices-table">
|
1305 |
-
<thead>
|
1306 |
-
<td class="label">' . __( 'Identifier', 'iubenda' ) . '</td>
|
1307 |
-
<td class="label"></td>
|
1308 |
-
</thead>
|
1309 |
-
<tbody>';
|
1310 |
-
|
1311 |
-
// default identifiers
|
1312 |
-
foreach ( $this->legal_notices as $index => $field_name ) {
|
1313 |
-
echo '
|
1314 |
-
<tr class="legal_notices-field default-field">
|
1315 |
-
<td>' . ( $index === 0 ? '<p class="description">' . __( 'Please select each legal document available on your site.', 'iubenda' ) . '</p>' : '' ) . '<label for="legal_notices-default-field=' . $index . '"><input id="legal_notices-default-field=' . $index . '" type="checkbox" value="' . $field_name . '" name="legal_notices[' . $index . '][field]"' . checked( in_array( $field_name, $legal_notices, true ), true, false ) . 'placeholder="' . __( 'Enter field name', 'iubenda' ) . '" />' . $field_name . '</label></td>
|
1316 |
-
<td></td>
|
1317 |
-
</tr>';
|
1318 |
-
}
|
1319 |
-
|
1320 |
-
$index++;
|
1321 |
-
|
1322 |
-
// custom identifiers
|
1323 |
-
echo '
|
1324 |
-
<tr id="legal_notices-field-template" class="template-field" style="display: none;">
|
1325 |
-
<td><input type="text" class="regular-text" value="" name="legal_notices[__LEGAL_NOTICE_ID__][field]" placeholder="' . __( 'Enter field name', 'iubenda' ) . '" /> <a href="javascript:void(0)" class="remove-legal_notices-field button-secondary" title="' . __( 'Remove', 'iubenda' ) . '">-</a></td>
|
1326 |
-
<td></td>
|
1327 |
-
</tr>';
|
1328 |
-
|
1329 |
-
echo '
|
1330 |
-
<tr>
|
1331 |
-
<td colspan="2"><p class="description" style="margin-bottom: 0;">' . __( 'Alternatively, you may add your own custom document identifiers.', 'iubenda' ) . '</p></td>
|
1332 |
-
</tr>';
|
1333 |
-
|
1334 |
-
if ( $legal_notices ) {
|
1335 |
-
foreach ( $legal_notices as $field_name ) {
|
1336 |
-
if ( in_array( $field_name, $this->legal_notices, true ) )
|
1337 |
-
continue;
|
1338 |
-
|
1339 |
-
echo '
|
1340 |
-
<tr class="legal_notices-field options-field">
|
1341 |
-
<td><input type="text" class="regular-text" value="' . $field_name . '" name="legal_notices[' . $index . '][field]" placeholder="' . __( 'Enter field name', 'iubenda' ) . '" /> <a href="javascript:void(0)" class="remove-legal_notices-field button-secondary" title="' . __( 'Remove', 'iubenda' ) . '">-</a></td>
|
1342 |
-
<td></td>
|
1343 |
-
</tr>';
|
1344 |
-
|
1345 |
-
$index++;
|
1346 |
-
}
|
1347 |
-
}
|
1348 |
-
|
1349 |
-
echo '
|
1350 |
-
<tr class="submit-field"><td colspan="2"><a href="javascript:void(0)" class="add-legal_notices-field button-secondary">' . __( 'Add New Document', 'iubenda' ) . '</a></td></tr>';
|
1351 |
-
echo '
|
1352 |
-
</tbody>
|
1353 |
-
</table>
|
1354 |
-
</td>
|
1355 |
-
</tr>
|
1356 |
-
</tbody>
|
1357 |
-
</table>
|
1358 |
-
</div>
|
1359 |
-
</div>
|
1360 |
-
</div>
|
1361 |
-
</div>
|
1362 |
-
</div>
|
1363 |
-
</div>
|
1364 |
-
<div class="clear"></div>';
|
1365 |
-
|
1366 |
-
// echo '<pre>'; print_r( $form ); echo '</pre>';
|
1367 |
-
}
|
1368 |
-
|
1369 |
-
/**
|
1370 |
-
* Save cookie solution options.
|
1371 |
-
*
|
1372 |
-
* @return void
|
1373 |
-
*/
|
1374 |
-
public function save_cookie_law_options( $input ) {
|
1375 |
-
if ( ! current_user_can( apply_filters( 'iubenda_cookie_law_cap', 'manage_options' ) ) )
|
1376 |
-
return $input;
|
1377 |
-
|
1378 |
-
// save options
|
1379 |
-
if ( isset( $_POST['save_iubenda_options'] ) ) {
|
1380 |
-
$input['parse'] = (bool) isset( $input['parse'] );
|
1381 |
-
$input['parser_engine'] = isset( $input['parser_engine'] ) && in_array( $input['parser_engine'], array( 'default', 'new' ) ) ? $input['parser_engine'] : iubenda()->defaults['cs']['parser_engine'];
|
1382 |
-
$input['skip_parsing'] = (bool) isset( $input['skip_parsing'] );
|
1383 |
-
$input['ctype'] = (bool) isset( $input['ctype'] );
|
1384 |
-
$input['output_feed'] = (bool) isset( $input['output_feed'] );
|
1385 |
-
$input['output_post'] = (bool) isset( $input['output_post'] );
|
1386 |
-
$input['menu_position'] = isset( $input['menu_position'] ) && in_array( $input['menu_position'], array( 'topmenu', 'submenu' ) ) ? $input['menu_position'] : iubenda()->defaults['cs']['menu_position'];
|
1387 |
-
$input['amp_support'] = (bool) isset( $input['amp_support'] );
|
1388 |
-
$input['deactivation'] = (bool) isset( $input['deactivation'] );
|
1389 |
-
|
1390 |
-
// multilang support
|
1391 |
-
if ( iubenda()->multilang && ! empty( iubenda()->languages ) ) {
|
1392 |
-
$iubenda_code = array();
|
1393 |
-
|
1394 |
-
foreach ( iubenda()->languages as $lang_id => $lang_name ) {
|
1395 |
-
$input['code_' . $lang_id] = $iubenda_code[$lang_id] = ! empty( $input['code_' . $lang_id] ) ? iubenda()->parse_code( $input['code_' . $lang_id] ) : '';
|
1396 |
-
|
1397 |
-
// handle default lang too
|
1398 |
-
if ( $lang_id == iubenda()->lang_default ) {
|
1399 |
-
$input['code_default'] = ! empty( $input['code_' . $lang_id] ) ? iubenda()->parse_code( $input['code_' . $lang_id] ) : iubenda()->options['cs']['code_default'];
|
1400 |
-
}
|
1401 |
-
}
|
1402 |
-
} else {
|
1403 |
-
$iubenda_code = '';
|
1404 |
-
|
1405 |
-
$input['code_default'] = $iubenda_code = ! empty( $input['code_default'] ) ? iubenda()->parse_code( $input['code_default'] ) : '';
|
1406 |
-
}
|
1407 |
-
|
1408 |
-
// generate amp template file
|
1409 |
-
if ( isset( $input['amp_support'] ) ) {
|
1410 |
-
$template_done = false;
|
1411 |
-
|
1412 |
-
if ( ! empty( $iubenda_code ) ) {
|
1413 |
-
if ( is_array( $iubenda_code ) ) {
|
1414 |
-
$template_done = array();
|
1415 |
-
|
1416 |
-
foreach ( $iubenda_code as $lang => $code ) {
|
1417 |
-
$template_done[$lang] = (bool) iubenda()->AMP->generate_amp_template( $code, $lang );
|
1418 |
-
}
|
1419 |
-
} else {
|
1420 |
-
$template_done = (bool) iubenda()->AMP->generate_amp_template( $iubenda_code );
|
1421 |
-
}
|
1422 |
-
}
|
1423 |
-
|
1424 |
-
// Check if AMP is checked and the auto generated option is selected
|
1425 |
-
if ("1" == $input['amp_support'] && 'local' == $input['amp_source']) {
|
1426 |
-
if (is_bool($template_done) && false === $template_done) {
|
1427 |
-
$message = "Currently, you do not have write permission for <i>%s</i>. For instructions on how to fix this, please read <a target=\"_blank\" href=\"%s\">our guide</a>.";
|
1428 |
-
$our_guide_URL = 'https://www.iubenda.com/en/help/1215-cookie-solution-wordpress-plugin-installation-guide#amp-permissions';
|
1429 |
-
$file_path = IUBENDA_PLUGIN_PATH . 'templates' . DIRECTORY_SEPARATOR;
|
1430 |
-
add_settings_error('cs_settings_errors', 'iub_cs_settings_updated', __(sprintf($message, $file_path, $our_guide_URL), 'iubenda'), 'error');
|
1431 |
}
|
1432 |
}
|
1433 |
|
1434 |
-
|
1435 |
-
|
1436 |
-
|
1437 |
-
|
1438 |
-
|
1439 |
-
|
1440 |
-
|
1441 |
-
$input['amp_template'] = esc_url( $input['amp_template'] );
|
1442 |
-
}
|
1443 |
-
}
|
1444 |
-
|
1445 |
-
// scripts
|
1446 |
-
if ( ! empty( $input['custom_scripts'] ) && ! empty( $input['custom_scripts']['script'] ) && ! empty( $input['custom_scripts']['type'] ) ) {
|
1447 |
-
$scripts = array();
|
1448 |
-
|
1449 |
-
// first field is template
|
1450 |
-
if ( count( $input['custom_scripts']['script'] ) > 1 ) {
|
1451 |
-
foreach ( $input['custom_scripts']['script'] as $number => $script ) {
|
1452 |
-
$trimmed = trim( $script );
|
1453 |
-
|
1454 |
-
if ( $trimmed !== '' )
|
1455 |
-
$scripts[$trimmed] = (int) $input['custom_scripts']['type'][$number];
|
1456 |
-
}
|
1457 |
-
}
|
1458 |
-
|
1459 |
-
$input['custom_scripts'] = $scripts;
|
1460 |
-
} else
|
1461 |
-
$input['custom_scripts'] = array();
|
1462 |
-
|
1463 |
-
// iframes
|
1464 |
-
if ( ! empty( $input['custom_iframes'] ) && ! empty( $input['custom_iframes']['iframe'] ) && ! empty( $input['custom_iframes']['type'] ) ) {
|
1465 |
-
$iframes = array();
|
1466 |
-
|
1467 |
-
// first field is template
|
1468 |
-
if ( count( $input['custom_iframes']['iframe'] ) > 1 ) {
|
1469 |
-
foreach ( $input['custom_iframes']['iframe'] as $number => $iframe ) {
|
1470 |
-
$trimmed = trim( $iframe );
|
1471 |
-
|
1472 |
-
if ( $trimmed !== '' )
|
1473 |
-
$iframes[$trimmed] = (int) $input['custom_iframes']['type'][$number];
|
1474 |
-
}
|
1475 |
-
}
|
1476 |
-
|
1477 |
-
$input['custom_iframes'] = $iframes;
|
1478 |
-
} else
|
1479 |
-
$input['custom_iframes'] = array();
|
1480 |
-
|
1481 |
-
add_settings_error( 'cs_settings_errors', 'iub_cs_settings_updated', __( 'Settings saved.', 'iubenda' ), 'updated' );
|
1482 |
-
// reset options
|
1483 |
-
} elseif ( isset( $_POST['reset_iubenda_options'] ) ) {
|
1484 |
-
$input = iubenda()->defaults['cs'];
|
1485 |
-
|
1486 |
-
// multilang support
|
1487 |
-
if ( iubenda()->multilang && ! empty( iubenda()->languages ) ) {
|
1488 |
-
foreach ( iubenda()->languages as $lang_id => $lang_name ) {
|
1489 |
-
$input['code_' . $lang_id] = '';
|
1490 |
-
}
|
1491 |
-
}
|
1492 |
-
|
1493 |
-
add_settings_error( 'cs_settings_errors', 'iub_cs_settings_restored', __( 'Settings restored to defaults.', 'iubenda' ), 'updated' );
|
1494 |
-
}
|
1495 |
-
|
1496 |
-
return $input;
|
1497 |
-
}
|
1498 |
-
|
1499 |
-
/**
|
1500 |
-
* Save consent solution options.
|
1501 |
-
*
|
1502 |
-
* @return void
|
1503 |
-
*/
|
1504 |
-
public function save_consent_options( $input ) {
|
1505 |
-
|
1506 |
-
if ( ! current_user_can( apply_filters( 'iubenda_cookie_law_cap', 'manage_options' ) ) )
|
1507 |
-
return $input;
|
1508 |
-
|
1509 |
-
// save options
|
1510 |
-
if ( isset( $_POST['save_consent_options'] ) ) {
|
1511 |
-
$input['public_api_key'] = isset( $input['public_api_key'] ) ? esc_attr( $input['public_api_key'] ) : '';
|
1512 |
-
|
1513 |
-
add_settings_error( 'cons_settings_errors', 'iub_cons_settings_updated', __( 'Settings saved.', 'iubenda' ), 'updated' );
|
1514 |
-
// reset options
|
1515 |
-
} elseif ( isset( $_POST['reset_consent_options'] ) ) {
|
1516 |
-
$input = iubenda()->defaults['cons'];
|
1517 |
|
1518 |
-
|
1519 |
-
|
|
|
|
|
|
|
|
|
|
|
1520 |
|
1521 |
-
|
1522 |
-
|
|
|
|
|
1523 |
|
1524 |
-
|
1525 |
-
|
1526 |
-
|
1527 |
-
|
1528 |
-
|
1529 |
-
public function process_actions() {
|
1530 |
-
global $pagenow;
|
1531 |
-
|
1532 |
-
$page = ! empty( $_POST['option_page'] ) ? esc_attr( $_POST['option_page'] ) : ( ! empty( $_GET['page'] ) ? esc_attr( $_GET['page'] ) : '' );
|
1533 |
-
$id = isset( $_REQUEST['form_id'] ) ? ( is_array( $_REQUEST['form_id'] ) ? array_map( 'ansint', $_REQUEST['form_id'] ) : absint( $_REQUEST['form_id'] ) ) : false;
|
1534 |
-
$tab_key = ! empty( $_GET['tab'] ) ? esc_attr( $_GET['tab'] ) : 'cs';
|
1535 |
-
|
1536 |
-
if ( ! $page )
|
1537 |
-
return;
|
1538 |
-
|
1539 |
-
// get redirect url
|
1540 |
-
if ( iubenda()->options['cs']['menu_position'] === 'submenu' && $pagenow === 'admin.php' ) {
|
1541 |
-
// sub menu
|
1542 |
-
$redirect_to = admin_url( 'options-general.php?page=iubenda&tab=' . $tab_key );
|
1543 |
-
} else {
|
1544 |
-
// top menu
|
1545 |
-
$redirect_to = admin_url( 'admin.php?page=iubenda&tab=' . $tab_key );
|
1546 |
-
}
|
1547 |
|
1548 |
-
|
1549 |
-
|
1550 |
-
|
|
|
|
|
1551 |
|
1552 |
-
|
1553 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1554 |
}
|
1555 |
-
|
1556 |
-
|
1557 |
-
|
1558 |
-
|
1559 |
-
|
1560 |
-
|
1561 |
-
|
1562 |
-
|
1563 |
-
|
1564 |
-
|
1565 |
-
|
1566 |
-
|
1567 |
-
|
1568 |
-
|
1569 |
-
|
1570 |
-
|
1571 |
-
|
1572 |
-
|
1573 |
-
|
1574 |
-
|
1575 |
-
|
1576 |
-
|
1577 |
-
|
1578 |
-
|
1579 |
-
|
1580 |
-
|
1581 |
-
|
1582 |
-
|
1583 |
-
|
1584 |
-
|
1585 |
-
$form = iubenda()->forms->get_form( $id );
|
1586 |
-
|
1587 |
-
if ( $form->ID != $id )
|
1588 |
-
return;
|
1589 |
-
|
1590 |
-
$status = isset( $_POST['status'] ) && in_array( $_POST['status'], array_keys( iubenda()->forms->statuses ) ) ? esc_attr( $_POST['status'] ) : 'publish';
|
1591 |
-
$subject = isset( $_POST['subject'] ) && is_array( $_POST['subject'] ) ? array_map( 'esc_attr', $_POST['subject'] ) : array();
|
1592 |
-
$preferences = array();
|
1593 |
-
$exclude = array();
|
1594 |
-
$legal_notices = array();
|
1595 |
-
|
1596 |
-
$preferences_raw = isset( $_POST['preferences'] ) && is_array( $_POST['preferences'] ) ? array_map( array( $this, 'array_map_callback' ), $_POST['preferences'] ) : array();
|
1597 |
-
$exclude_raw = isset( $_POST['exclude'] ) && is_array( $_POST['exclude'] ) ? array_map( array( $this, 'array_map_callback' ), $_POST['exclude'] ) : array();
|
1598 |
-
$legal_notices_raw = isset( $_POST['legal_notices'] ) && is_array( $_POST['legal_notices'] ) ? array_map( array( $this, 'array_map_callback' ), $_POST['legal_notices'] ) : array();
|
1599 |
-
|
1600 |
-
// format preferences data
|
1601 |
-
if ( ! empty( $preferences_raw ) && is_array( $preferences_raw ) ) {
|
1602 |
-
foreach ( $preferences_raw as $index => $data ) {
|
1603 |
-
if ( ! empty( $data['field'] ) && ( ! is_null( $data['value'] ) || ! "" == $data['value'] ) ) {
|
1604 |
-
$preferences[ sanitize_key( $data['field'] ) ] = $data['value'];
|
1605 |
-
}
|
1606 |
-
}
|
1607 |
-
}
|
1608 |
-
|
1609 |
-
// format exclude data
|
1610 |
-
if ( ! empty( $exclude_raw ) && is_array( $exclude_raw ) ) {
|
1611 |
-
foreach ( $exclude_raw as $index => $data ) {
|
1612 |
-
if ( ! empty( $data['field'] ) )
|
1613 |
-
$exclude[] = $data['field'];
|
1614 |
-
}
|
1615 |
-
}
|
1616 |
-
|
1617 |
-
// format legal notices data
|
1618 |
-
if ( ! empty( $legal_notices_raw ) && is_array( $legal_notices_raw ) ) {
|
1619 |
-
foreach ( $legal_notices_raw as $index => $data ) {
|
1620 |
-
if ( ! empty( $data['field'] ) )
|
1621 |
-
$legal_notices[] = $data['field'];
|
1622 |
-
}
|
1623 |
-
}
|
1624 |
-
|
1625 |
-
// form first save, update status to mapped automatically
|
1626 |
-
if ( empty( $form->form_subject ) && empty( $form->form_preferences ) ) {
|
1627 |
-
$status = 'mapped';
|
1628 |
-
}
|
1629 |
-
|
1630 |
-
// echo '<pre>'; print_r( $_POST ); echo '</pre>'; exit;
|
1631 |
-
|
1632 |
-
// bail if empty fields
|
1633 |
-
if ( empty( $subject ) || empty( $preferences ) ) {
|
1634 |
-
$this->add_notice( 'iub_form_fields_missing', __( 'Form saving failed. Please fill the Subject and Preferences fields.', 'iubenda' ), 'error' );
|
1635 |
-
return;
|
1636 |
-
}
|
1637 |
-
|
1638 |
-
$args = array(
|
1639 |
-
'ID' => $form->ID,
|
1640 |
-
'status' => $status,
|
1641 |
-
'object_type' => $form->object_type,
|
1642 |
-
'object_id' => $form->object_id,
|
1643 |
-
'form_source' => $form->form_source,
|
1644 |
-
'form_title' => $form->post_title,
|
1645 |
-
'form_date' => $form->post_modified,
|
1646 |
-
'form_fields' => $form->form_fields,
|
1647 |
-
'form_subject' => $subject,
|
1648 |
-
'form_preferences' => $preferences,
|
1649 |
-
'form_exclude' => $exclude,
|
1650 |
-
'form_legal_notices' => $legal_notices
|
1651 |
-
);
|
1652 |
-
|
1653 |
-
$result = iubenda()->forms->save_form( $args );
|
1654 |
-
|
1655 |
-
if ( $result ) {
|
1656 |
-
// form save, inform about form status update
|
1657 |
-
if ( empty( $form->form_subject ) && empty( $form->form_preferences ) ) {
|
1658 |
-
$this->add_notice( 'iub_form_saved', __( 'Form saved successfully - form status changed to Mapped.', 'iubenda' ), 'success' );
|
1659 |
-
// form update
|
1660 |
-
} else {
|
1661 |
-
$this->add_notice( 'iub_form_updated', __( 'Form updated successfully.', 'iubenda' ), 'success' );
|
1662 |
-
}
|
1663 |
-
} else {
|
1664 |
-
$this->add_notice( 'iub_form_failed', __( 'Form saving failed.', 'iubenda' ), 'error' );
|
1665 |
-
}
|
1666 |
-
|
1667 |
-
break;
|
1668 |
-
|
1669 |
-
case 'delete' :
|
1670 |
-
if ( ! $id )
|
1671 |
-
return;
|
1672 |
-
|
1673 |
-
$form = iubenda()->forms->get_form( $id );
|
1674 |
-
|
1675 |
-
if ( empty( $form ) )
|
1676 |
-
return;
|
1677 |
-
|
1678 |
-
$result = iubenda()->forms->delete_form( $id );
|
1679 |
-
|
1680 |
-
if ( $result )
|
1681 |
-
$this->add_notice( 'iub_form_deleted', __( 'Form deleted successfully.', 'iubenda' ), 'success' );
|
1682 |
-
else
|
1683 |
-
$this->add_notice( 'iub_form_delete_failed', __( 'Form delete failed.', 'iubenda' ), 'error' );
|
1684 |
-
|
1685 |
-
// make sure it's current host location
|
1686 |
-
wp_safe_redirect( $redirect_to );
|
1687 |
-
exit;
|
1688 |
-
|
1689 |
-
break;
|
1690 |
-
|
1691 |
-
case 'disable_skip_parsing' :
|
1692 |
-
|
1693 |
-
// disable skip parsing option
|
1694 |
-
$options = iubenda()->options['cs'];
|
1695 |
-
$options['skip_parsing'] = false;
|
1696 |
-
|
1697 |
-
update_option( 'iubenda_cookie_law_solution', $options );
|
1698 |
-
|
1699 |
-
$this->add_notice( 'iub_settings_updated', __( 'Settings saved.', 'iubenda' ), 'success' );
|
1700 |
-
|
1701 |
-
// make sure it's current host location
|
1702 |
-
wp_safe_redirect( $redirect_to );
|
1703 |
-
exit;
|
1704 |
-
|
1705 |
-
break;
|
1706 |
-
|
1707 |
-
default :
|
1708 |
-
return;
|
1709 |
-
}
|
1710 |
-
|
1711 |
-
if ( ! empty ( $result ) ) {
|
1712 |
-
//
|
1713 |
-
} else {
|
1714 |
-
//
|
1715 |
-
}
|
1716 |
-
}
|
1717 |
-
|
1718 |
-
/**
|
1719 |
-
* Add admin notice.
|
1720 |
-
*
|
1721 |
-
* @param mixed $message
|
1722 |
-
* @param string $notice_type
|
1723 |
-
*/
|
1724 |
-
public function add_notice( $key, $message, $notice_type = 'notice' ) {
|
1725 |
-
$key = ! empty( $key ) ? sanitize_key( $key ) : '';
|
1726 |
-
$message = ! empty( $message ) ? wp_kses_post( $message ) : '';
|
1727 |
-
$notice_type = ! empty( $notice_type ) && in_array( $notice_type, $this->notice_types ) ? $notice_type : 'notice';
|
1728 |
-
|
1729 |
-
if ( ! $key || ! $message )
|
1730 |
-
return;
|
1731 |
-
|
1732 |
-
$notices = get_transient( 'iubenda_dashboard_notices' );
|
1733 |
-
$delay = MINUTE_IN_SECONDS * 2;
|
1734 |
-
|
1735 |
-
// Check notice type is exist before checking the key
|
1736 |
-
if ( empty( $notices ) || ( isset( $notices[ $notice_type ] ) && ! array_key_exists( $key, $notices[ $notice_type ] ) ) ) {
|
1737 |
-
$notices[$notice_type][$key] = $message;
|
1738 |
-
|
1739 |
-
set_transient( 'iubenda_dashboard_notices', $notices, $delay );
|
1740 |
-
}
|
1741 |
-
}
|
1742 |
-
|
1743 |
-
/**
|
1744 |
-
* Display admin notices.
|
1745 |
-
*
|
1746 |
-
* @return mixed
|
1747 |
-
*/
|
1748 |
-
public function print_notices() {
|
1749 |
-
$notices = get_transient( 'iubenda_dashboard_notices' );
|
1750 |
-
$notices_array = array();
|
1751 |
-
|
1752 |
-
foreach ( $this->notice_types as $notice_type ) {
|
1753 |
-
if ( $this->notice_count( $notices, $notice_type ) > 0 ) {
|
1754 |
-
echo '<div class="notice notice-' . ( $notice_type === 'notice' ? 'info' : $notice_type ) . ' below-h2 is-dismissible">';
|
1755 |
-
|
1756 |
-
foreach ( $notices[$notice_type] as $key => $notice ) {
|
1757 |
-
echo '<p><strong>' . wp_kses_post( $notice ) . '</strong></p>';
|
1758 |
-
}
|
1759 |
-
|
1760 |
-
echo '<button type="button" class="notice-dismiss"><span class="screen-reader-text">' . __( 'Dismiss this notice.' ) . '</span></button>';
|
1761 |
|
1762 |
-
|
1763 |
-
|
1764 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1765 |
|
1766 |
-
|
1767 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1768 |
|
1769 |
-
/**
|
1770 |
-
* Count notices function.
|
1771 |
-
*
|
1772 |
-
* @param string $notice_type
|
1773 |
-
* @return int
|
1774 |
-
*/
|
1775 |
-
public function notice_count( $all_notices = array(), $notice_type = '' ) {
|
1776 |
-
$notice_count = 0;
|
1777 |
-
|
1778 |
-
if ( isset( $all_notices[$notice_type] ) ) {
|
1779 |
-
$notice_count = absint( sizeof( $all_notices[$notice_type] ) );
|
1780 |
-
} elseif ( empty( $notice_type ) ) {
|
1781 |
-
foreach ( $all_notices as $notices ) {
|
1782 |
-
$notice_count += absint( sizeof( $all_notices ) );
|
1783 |
-
}
|
1784 |
-
}
|
1785 |
|
1786 |
-
|
1787 |
-
|
|
|
|
|
1788 |
|
1789 |
-
|
1790 |
-
|
1791 |
-
|
1792 |
-
|
1793 |
-
* @return type
|
1794 |
-
*/
|
1795 |
-
public function submenu_file( $submenu_file, $parent_file ) {
|
1796 |
-
global $menu, $submenu;
|
1797 |
|
1798 |
-
|
1799 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1800 |
|
1801 |
-
|
1802 |
-
|
1803 |
-
|
1804 |
-
|
1805 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1806 |
|
1807 |
-
return $submenu_file;
|
1808 |
-
}
|
1809 |
|
1810 |
-
|
1811 |
-
|
1812 |
-
|
1813 |
-
|
1814 |
-
* @return array
|
1815 |
-
*/
|
1816 |
-
public function array_map_callback( $array ) {
|
1817 |
-
if ( ! is_array( $array ) )
|
1818 |
-
return array();
|
1819 |
|
1820 |
-
|
1821 |
-
|
|
|
|
|
1822 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1823 |
}
|
9 |
* @class Post_Views_Counter_Settings
|
10 |
*/
|
11 |
class iubenda_Settings {
|
12 |
+
const IUB_QG_Response = 'iubenda_quick_generator_response';
|
13 |
+
const IUB_NOTIFICATIONS = 'iubenda_notifications';
|
14 |
+
public $tabs = [];
|
15 |
public $action = '';
|
16 |
+
public $links = [];
|
17 |
+
public $notice_types = ['error', 'success', 'notice'];
|
18 |
+
public $subject_fields = [];
|
19 |
+
public $quick_generator = [];
|
20 |
+
public $services = [];
|
21 |
+
|
22 |
|
23 |
public function __construct() {
|
24 |
+
if(iub_array_get($_GET, 'page') == 'iubenda'){
|
25 |
+
add_action('admin_head', array( $this, 'iubdena_hide_notices_wp' ));
|
26 |
+
}
|
27 |
+
|
28 |
// actions
|
29 |
add_action( 'after_setup_theme', array( $this, 'load_defaults' ) );
|
|
|
30 |
add_action( 'admin_init', array( $this, 'update_plugin' ), 9 );
|
|
|
|
|
|
|
31 |
add_action( 'admin_menu', array( $this, 'admin_menu_options' ) );
|
32 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
|
33 |
+
add_action( 'admin_print_styles', array( $this, 'admin_print_styles' ) );
|
34 |
+
add_action( 'admin_init', array( $this, 'process_actions' ), 20 );
|
35 |
+
add_action( 'admin_init', array( $this, 'maybe_show_notice' ) );
|
36 |
+
add_action( 'wp_ajax_iubenda_dismiss_notice', array( $this, 'dismiss_notice' ) );
|
37 |
+
add_action( 'wp_ajax_iubenda_dismiss_notification_alert', array( $this,
|
38 |
+
'dismiss_notification_alert'
|
39 |
+
) );
|
40 |
+
|
41 |
+
add_action( 'wp_ajax_update_options', array($this, 'update_options'));
|
42 |
+
|
43 |
+
add_action( 'wp_ajax_quick_generator_api', array(new QuickGeneratorService(), 'quick_generator_api'));
|
44 |
+
add_action( 'wp_ajax_integrate_setup', array(new QuickGeneratorService(), 'integrate_setup'));
|
45 |
+
add_action( 'wp_ajax_cs_configuration', array(new QuickGeneratorService(), 'cs_configuration')); //todo - not in the right place
|
46 |
+
add_action( 'wp_ajax_pp_configuration', array(new QuickGeneratorService(), 'pp_configuration')); //todo - not in the right place
|
47 |
+
add_action( 'wp_ajax_tc_configuration', array(new QuickGeneratorService(), 'tc_configuration')); //todo - not in the right place
|
48 |
+
add_action( 'wp_ajax_cons_configuration', array(new QuickGeneratorService(), 'cons_configuration')); //todo - not in the right place
|
49 |
+
add_action( 'wp_ajax_toggle_services', array($this, 'toggle_services'));
|
50 |
+
add_action( 'wp_ajax_save_public_api_key', array(new QuickGeneratorService(), 'save_public_api_key')); //todo - not in the right place
|
51 |
+
add_action( 'wp_ajax_auto_detect_forms', array(new QuickGeneratorService(), 'auto_detect_forms')); //todo - not in the right place
|
52 |
+
|
53 |
+
add_action( 'wp_ajax_ajax_save_options', array(new QuickGeneratorService(), 'ajax_save_options'));
|
54 |
+
|
55 |
+
add_action('wp_ajax_radar_percentage_reload', array(new RadarService(), 'ask_radar_to_send_request')); //todo - not in the right place
|
56 |
+
|
57 |
+
// Getting main div in frontpage with updated data
|
58 |
+
add_action( 'wp_ajax_frontpage_main_box', [$this, 'get_frontpage_main_box']);
|
59 |
+
|
60 |
+
register_setting( 'iubenda_consent_solution_forms', 'status' );
|
61 |
+
|
62 |
+
register_setting( 'iubenda_consent_solution', 'iubenda_consent_forms' );
|
63 |
+
add_shortcode( 'iub-tc-button', array( new QuickGeneratorService(), 'tc_button_shortcode' ) );
|
64 |
+
add_shortcode( 'iub-pp-button', array( new QuickGeneratorService(), 'pp_button_shortcode' ) );
|
65 |
+
|
66 |
}
|
67 |
|
68 |
/**
|
69 |
* Load default settings.
|
70 |
*/
|
71 |
public function load_defaults() {
|
72 |
+
$this->services = $this->services_option();
|
73 |
+
|
74 |
+
$this->subject_fields = array(
|
75 |
'id' => __( 'string', 'iubenda' ),
|
76 |
'email' => __( 'string', 'iubenda' ),
|
77 |
'first_name' => __( 'string', 'iubenda' ),
|
109 |
4 => __( 'Analytics', 'iubenda' ),
|
110 |
5 => __( 'Targeting & Advertising', 'iubenda' )
|
111 |
);
|
112 |
+
$siteId = iub_array_get(iubenda()->options['global_options'], 'site_id');
|
113 |
+
|
114 |
+
$QG_Response = (new QuickGeneratorService())->QG_Response;
|
115 |
|
116 |
$links = array(
|
117 |
'en' => array(
|
118 |
'iab' => 'https://www.iubenda.com/en/help/7440-enable-preference-management-iab-framework',
|
119 |
+
'enable_iab' => 'https://www.iubenda.com/en/help/7440-iab-framework-cmp#why-publishers-should-enable-the-transparency-and-consent-framework',
|
120 |
+
'guide' => 'https://www.iubenda.com/en/cookie-solution',
|
121 |
'plugin_page' => 'https://www.iubenda.com/en/help/posts/1215',
|
|
|
122 |
'support_forum' => 'https://support.iubenda.com/support/home',
|
123 |
+
'documentation' => 'https://www.iubenda.com/en/help/posts/1215',
|
124 |
+
'how_generate_tc' => 'https://www.iubenda.com/en/help/19461',
|
125 |
+
'how_generate_cs' => 'https://www.iubenda.com/en/help/1177',
|
126 |
+
'how_generate_pp' => 'https://www.iubenda.com/en/help/463-generate-privacy-policy',
|
127 |
+
'how_generate_cons' => 'https://www.iubenda.com/en/help/6473-consent-solution-js-documentation#generate-embed',
|
128 |
+
'about_pp' => 'https://www.iubenda.com/en/privacy-and-cookie-policy-generator',
|
129 |
+
'about_cs' => 'https://www.iubenda.com/en/cookie-solution',
|
130 |
+
'about_tc' => 'https://www.iubenda.com/en/terms-and-conditions-generator',
|
131 |
+
'flow_page' => "https://www.iubenda.com/en/flow/{$siteId}",
|
132 |
+
'about_cons' => 'https://www.iubenda.com/en/consent-solution',
|
133 |
+
'amp_support' => 'https://www.iubenda.com/en/help/22135-cookie-solution-amp-wordpress#amp-domain',
|
134 |
+
'enable_amp_support' => 'https://www.iubenda.com/en/help/22135-cookie-solution-amp-wordpress#step-2-enable-the-google-amp-support',
|
135 |
+
'wordpress_support' => 'https://www.iubenda.com/en/help/370-how-to-use-iubenda-privacy-and-cookie-policy-on-a-wordpress-website',
|
136 |
+
'privacy_policy_generator_edit' => iub_array_get($QG_Response, 'privacy_policies.en.edit_url', '') ?? '',
|
137 |
+
'privacy_policy_generator_setup' => iub_array_get($QG_Response, 'privacy_policies.en.setup_url', '') ?? '',
|
138 |
+
'automatic_block_scripts' => 'https://www.iubenda.com/en/help/1215-cookie-solution-wordpress-plugin-installation-guide#functionality',
|
139 |
+
'how_cs_rate' => 'https://www.iubenda.com/en/help/21985-cookie-banner-do-you-really-need-one-and-how-can-you-get-a-cookie-notice-for-your-website',
|
140 |
+
'how_cons_rate' => 'https://www.iubenda.com/en/help/3081-prior-blocking-of-cookie-scripts#wordpress',
|
141 |
+
'how_pp_rate' => 'https://www.iubenda.com/en/help/6187-what-should-be-in-a-privacy-policy',
|
142 |
+
'how_tc_rate' => 'https://www.iubenda.com/en/help/19482-what-should-basic-terms-and-conditions-include',
|
143 |
+
'user_account' => 'https://www.iubenda.com/en/account',
|
144 |
+
'amp_permission_support' => 'https://www.iubenda.com/en/help/1215#amp-permissions'
|
145 |
),
|
146 |
+
'it' => array(
|
147 |
+
'iab' => 'https://www.iubenda.com/it/help/7440-enable-preference-management-iab-framework',
|
148 |
+
'enable_iab' => 'https://www.iubenda.com/it/help/7440-iab-framework-cmp#why-publishers-should-enable-the-transparency-and-consent-framework',
|
149 |
+
'guide' => 'https://www.iubenda.com/it/cookie-solution',
|
150 |
+
'plugin_page' => 'https://www.iubenda.com/it/help/posts/810',
|
151 |
+
'support_forum' => 'https://support.iubenda.com/support/home',
|
152 |
+
'documentation' => 'https://www.iubenda.com/it/help/posts/810',
|
153 |
+
'how_generate_tc' => 'https://www.iubenda.com/it/help/19394',
|
154 |
+
'how_generate_cs' => 'https://www.iubenda.com/it/help/680',
|
155 |
+
'how_generate_pp' => 'https://www.iubenda.com/it/help/463-generate-privacy-policy',
|
156 |
+
'how_generate_cons' => 'https://www.iubenda.com/it/help/6473-consent-solution-js-documentation#generate-embed',
|
157 |
+
'about_pp' => 'https://www.iubenda.com/it/privacy-and-cookie-policy-generator',
|
158 |
+
'about_cs' => 'https://www.iubenda.com/it/cookie-solution',
|
159 |
+
'about_tc' => 'https://www.iubenda.com/it/terms-and-conditions-generator',
|
160 |
+
'flow_page' => "https://www.iubenda.com/it/flow/{$siteId}",
|
161 |
+
'about_cons' => 'https://www.iubenda.com/it/consent-solution',
|
162 |
+
'amp_support' => 'https://www.iubenda.com/it/help/22135-cookie-solution-amp-wordpress#amp-domain',
|
163 |
+
'enable_amp_support' => 'https://www.iubenda.com/it/help/22135-cookie-solution-amp-wordpress#step-2-enable-the-google-amp-support',
|
164 |
+
'wordpress_support' => 'https://www.iubenda.com/it/help/370-how-to-use-iubenda-privacy-and-cookie-policy-on-a-wordpress-website',
|
165 |
+
'privacy_policy_generator_edit' => iub_array_get($QG_Response, 'privacy_policies.it.edit_url', '') ?? '',
|
166 |
+
'privacy_policy_generator_setup' => iub_array_get($QG_Response, 'privacy_policies.it.setup_url', '') ?? '',
|
167 |
+
'automatic_block_scripts' => 'https://www.iubenda.com/it/help/1215-cookie-solution-wordpress-plugin-installation-guide#functionality',
|
168 |
+
'how_cs_rate' => 'https://www.iubenda.com/it/help/21985-cookie-banner-do-you-really-need-one-and-how-can-you-get-a-cookie-notice-for-your-website',
|
169 |
+
'how_cons_rate' => 'https://www.iubenda.com/it/help/3081-prior-blocking-of-cookie-scripts#wordpress',
|
170 |
+
'how_pp_rate' => 'https://www.iubenda.com/it/help/6187-what-should-be-in-a-privacy-policy',
|
171 |
+
'how_tc_rate' => 'https://www.iubenda.com/it/help/19482-what-should-basic-terms-and-conditions-include',
|
172 |
+
'user_account' => 'https://www.iubenda.com/it/account',
|
173 |
+
'amp_permission_support' => 'https://www.iubenda.com/it/help/1215#amp-permissions'
|
174 |
+
),
|
175 |
+
'de' => array(
|
176 |
+
'iab' => 'https://www.iubenda.com/de/help/7440-enable-preference-management-iab-framework',
|
177 |
+
'enable_iab' => 'https://www.iubenda.com/de/help/7440-iab-framework-cmp#why-publishers-should-enable-the-transparency-and-consent-framework',
|
178 |
+
'guide' => 'https://www.iubenda.com/de/cookie-solution',
|
179 |
+
'plugin_page' => 'https://www.iubenda.com/de/help/posts/810',
|
180 |
+
'support_forum' => 'https://support.iubenda.com/support/home',
|
181 |
+
'documentation' => 'https://www.iubenda.com/de/help/posts/810',
|
182 |
+
'how_generate_tc' => 'https://www.iubenda.com/de/help/19394',
|
183 |
+
'how_generate_cs' => 'https://www.iubenda.com/de/help/680',
|
184 |
+
'how_generate_pp' => 'https://www.iubenda.com/de/help/463-generate-privacy-policy',
|
185 |
+
'how_generate_cons' => 'https://www.iubenda.com/de/help/6473-consent-solution-js-documentation#generate-embed',
|
186 |
+
'about_pp' => 'https://www.iubenda.com/de/privacy-and-cookie-policy-generator',
|
187 |
+
'about_cs' => 'https://www.iubenda.com/de/cookie-solution',
|
188 |
+
'about_tc' => 'https://www.iubenda.com/de/terms-and-conditions-generator',
|
189 |
+
'flow_page' => "https://www.iubenda.com/de/flow/{$siteId}",
|
190 |
+
'about_cons' => 'https://www.iubenda.com/de/consent-solution',
|
191 |
+
'amp_support' => 'https://www.iubenda.com/de/help/22135-cookie-solution-amp-wordpress#amp-domain',
|
192 |
+
'enable_amp_support' => 'https://www.iubenda.com/de/help/22135-cookie-solution-amp-wordpress#step-2-enable-the-google-amp-support',
|
193 |
+
'wordpress_support' => 'https://www.iubenda.com/de/help/370-how-to-use-iubenda-privacy-and-cookie-policy-on-a-wordpress-website',
|
194 |
+
'privacy_policy_generator_edit' => iub_array_get($QG_Response, 'privacy_policies.de.edit_url', '') ?? '',
|
195 |
+
'privacy_policy_generator_setup' => iub_array_get($QG_Response, 'privacy_policies.de.setup_url', '') ?? '',
|
196 |
+
'automatic_block_scripts' => 'https://www.iubenda.com/de/help/1215-cookie-solution-wordpress-plugin-installation-guide#functionality',
|
197 |
+
'how_cs_rate' => 'https://www.iubenda.com/de/help/21985-cookie-banner-do-you-really-need-one-and-how-can-you-get-a-cookie-notice-for-your-website',
|
198 |
+
'how_cons_rate' => 'https://www.iubenda.com/de/help/3081-prior-blocking-of-cookie-scripts#wordpress',
|
199 |
+
'how_pp_rate' => 'https://www.iubenda.com/de/help/6187-what-should-be-in-a-privacy-policy',
|
200 |
+
'how_tc_rate' => 'https://www.iubenda.com/de/help/19482-what-should-basic-terms-and-conditions-include',
|
201 |
+
'user_account' => 'https://www.iubenda.com/de/account',
|
202 |
+
'amp_permission_support' => 'https://www.iubenda.com/de/help/1215#amp-permissions'
|
203 |
+
),
|
204 |
+
'es' => array(
|
205 |
+
'iab' => 'https://www.iubenda.com/es/help/7440-enable-preference-management-iab-framework',
|
206 |
+
'enable_iab' => 'https://www.iubenda.com/es/help/7440-iab-framework-cmp#why-publishers-should-enable-the-transparency-and-consent-framework',
|
207 |
+
'guide' => 'https://www.iubenda.com/es/cookie-solution',
|
208 |
+
'plugin_page' => 'https://www.iubenda.com/es/help/posts/810',
|
209 |
+
'support_forum' => 'https://support.iubenda.com/support/home',
|
210 |
+
'documentation' => 'https://www.iubenda.com/es/help/posts/810',
|
211 |
+
'how_generate_tc' => 'https://www.iubenda.com/es/help/19394',
|
212 |
+
'how_generate_cs' => 'https://www.iubenda.com/es/help/680',
|
213 |
+
'how_generate_pp' => 'https://www.iubenda.com/es/help/463-generate-privacy-policy',
|
214 |
+
'how_generate_cons' => 'https://www.iubenda.com/es/help/6473-consent-solution-js-documentation#generate-embed',
|
215 |
+
'about_pp' => 'https://www.iubenda.com/es/privacy-and-cookie-policy-generator',
|
216 |
+
'about_cs' => 'https://www.iubenda.com/es/cookie-solution',
|
217 |
+
'about_tc' => 'https://www.iubenda.com/es/terms-and-conditions-generator',
|
218 |
+
'flow_page' => "https://www.iubenda.com/es/flow/{$siteId}",
|
219 |
+
'about_cons' => 'https://www.iubenda.com/es/consent-solution',
|
220 |
+
'amp_support' => 'https://www.iubenda.com/es/help/22135-cookie-solution-amp-wordpress#amp-domain',
|
221 |
+
'enable_amp_support' => 'https://www.iubenda.com/es/help/22135-cookie-solution-amp-wordpress#step-2-enable-the-google-amp-support',
|
222 |
+
'wordpress_support' => 'https://www.iubenda.com/es/help/370-how-to-use-iubenda-privacy-and-cookie-policy-on-a-wordpress-website',
|
223 |
+
'privacy_policy_generator_edit' => iub_array_get($QG_Response, 'privacy_policies.es.edit_url', '') ?? '',
|
224 |
+
'privacy_policy_generator_setup' => iub_array_get($QG_Response, 'privacy_policies.es.setup_url', '') ?? '',
|
225 |
+
'automatic_block_scripts' => 'https://www.iubenda.com/es/help/1215-cookie-solution-wordpress-plugin-installation-guide#functionality',
|
226 |
+
'how_cs_rate' => 'https://www.iubenda.com/es/help/21985-cookie-banner-do-you-really-need-one-and-how-can-you-get-a-cookie-notice-for-your-website',
|
227 |
+
'how_cons_rate' => 'https://www.iubenda.com/es/help/3081-prior-blocking-of-cookie-scripts#wordpress',
|
228 |
+
'how_pp_rate' => 'https://www.iubenda.com/es/help/6187-what-should-be-in-a-privacy-policy',
|
229 |
+
'how_tc_rate' => 'https://www.iubenda.com/es/help/19482-what-should-basic-terms-and-conditions-include',
|
230 |
+
'user_account' => 'https://www.iubenda.com/es/account',
|
231 |
+
'amp_permission_support' => 'https://www.iubenda.com/es/help/1215#amp-permissions'
|
232 |
+
),
|
233 |
+
'fr' => array(
|
234 |
+
'iab' => 'https://www.iubenda.com/fr/help/7440-enable-preference-management-iab-framework',
|
235 |
+
'enable_iab' => 'https://www.iubenda.com/fr/help/7440-iab-framework-cmp#why-publishers-should-enable-the-transparency-and-consent-framework',
|
236 |
+
'guide' => 'https://www.iubenda.com/fr/cookie-solution',
|
237 |
+
'plugin_page' => 'https://www.iubenda.com/fr/help/posts/810',
|
238 |
+
'support_forum' => 'https://support.iubenda.com/support/home',
|
239 |
+
'documentation' => 'https://www.iubenda.com/fr/help/posts/810',
|
240 |
+
'how_generate_tc' => 'https://www.iubenda.com/fr/help/19394',
|
241 |
+
'how_generate_cs' => 'https://www.iubenda.com/fr/help/680',
|
242 |
+
'how_generate_pp' => 'https://www.iubenda.com/fr/help/463-generate-privacy-policy',
|
243 |
+
'how_generate_cons' => 'https://www.iubenda.com/fr/help/6473-consent-solution-js-documentation#generate-embed',
|
244 |
+
'about_pp' => 'https://www.iubenda.com/fr/privacy-and-cookie-policy-generator',
|
245 |
+
'about_cs' => 'https://www.iubenda.com/fr/cookie-solution',
|
246 |
+
'about_tc' => 'https://www.iubenda.com/fr/terms-and-conditions-generator',
|
247 |
+
'flow_page' => "https://www.iubenda.com/fr/flow/{$siteId}",
|
248 |
+
'about_cons' => 'https://www.iubenda.com/fr/consent-solution',
|
249 |
+
'amp_support' => 'https://www.iubenda.com/fr/help/22135-cookie-solution-amp-wordpress#amp-domain',
|
250 |
+
'enable_amp_support' => 'https://www.iubenda.com/fr/help/22135-cookie-solution-amp-wordpress#step-2-enable-the-google-amp-support',
|
251 |
+
'wordpress_support' => 'https://www.iubenda.com/fr/help/370-how-to-use-iubenda-privacy-and-cookie-policy-on-a-wordpress-website',
|
252 |
+
'privacy_policy_generator_edit' => iub_array_get($QG_Response, 'privacy_policies.fr.edit_url', '') ?? '',
|
253 |
+
'privacy_policy_generator_setup' => iub_array_get($QG_Response, 'privacy_policies.fr.setup_url', '') ?? '',
|
254 |
+
'automatic_block_scripts' => 'https://www.iubenda.com/fr/help/1215-cookie-solution-wordpress-plugin-installation-guide#functionality',
|
255 |
+
'how_cs_rate' => 'https://www.iubenda.com/fr/help/21985-cookie-banner-do-you-really-need-one-and-how-can-you-get-a-cookie-notice-for-your-website',
|
256 |
+
'how_cons_rate' => 'https://www.iubenda.com/fr/help/3081-prior-blocking-of-cookie-scripts#wordpress',
|
257 |
+
'how_pp_rate' => 'https://www.iubenda.com/fr/help/6187-what-should-be-in-a-privacy-policy',
|
258 |
+
'how_tc_rate' => 'https://www.iubenda.com/fr/help/19482-what-should-basic-terms-and-conditions-include',
|
259 |
+
'user_account' => 'https://www.iubenda.com/fr/account',
|
260 |
+
'amp_permission_support' => 'https://www.iubenda.com/fr/help/1215#amp-permissions'
|
261 |
+
),
|
262 |
+
'pt-br' => array(
|
263 |
+
'iab' => 'https://www.iubenda.com/pt-br/help/7440-enable-preference-management-iab-framework',
|
264 |
+
'enable_iab' => 'https://www.iubenda.com/pt-br/help/7440-iab-framework-cmp#why-publishers-should-enable-the-transparency-and-consent-framework',
|
265 |
+
'guide' => 'https://www.iubenda.com/pt-br/cookie-solution',
|
266 |
+
'plugin_page' => 'https://www.iubenda.com/pt-br/help/45342-cookie-solution-manual-de-instalacao-do-plugin-do-wordpress',
|
267 |
+
'support_forum' => 'https://support.iubenda.com/support/home',
|
268 |
+
'documentation' => 'https://www.iubenda.com/pt-br/help/45342-cookie-solution-manual-de-instalacao-do-plugin-do-wordpress',
|
269 |
+
'how_generate_tc' => 'https://www.iubenda.com/pt-br/help/19394',
|
270 |
+
'how_generate_cs' => 'https://www.iubenda.com/pt-br/help/680',
|
271 |
+
'how_generate_pp' => 'https://www.iubenda.com/pt-br/help/463-generate-privacy-policy',
|
272 |
+
'how_generate_cons' => 'https://www.iubenda.com/pt-br/help/6473-consent-solution-js-documentation#generate-embed',
|
273 |
+
'about_pp' => 'https://www.iubenda.com/pt-br/privacy-and-cookie-policy-generator',
|
274 |
+
'about_cs' => 'https://www.iubenda.com/pt-br/cookie-solution',
|
275 |
+
'about_tc' => 'https://www.iubenda.com/pt-br/terms-and-conditions-generator',
|
276 |
+
'flow_page' => "https://www.iubenda.com/pt-br/flow/{$siteId}",
|
277 |
+
'about_cons' => 'https://www.iubenda.com/pt-br/consent-solution',
|
278 |
+
'amp_support' => 'https://www.iubenda.com/pt-br/help/22135-cookie-solution-amp-wordpress#amp-domain',
|
279 |
+
'enable_amp_support' => 'https://www.iubenda.com/pt-br/help/22135-cookie-solution-amp-wordpress#step-2-enable-the-google-amp-support',
|
280 |
+
'wordpress_support' => 'https://www.iubenda.com/pt-br/help/370-how-to-use-iubenda-privacy-and-cookie-policy-on-a-wordpress-website',
|
281 |
+
'privacy_policy_generator_edit' => iub_array_get($QG_Response, 'privacy_policies.pt-br.edit_url', '') ?? '',
|
282 |
+
'privacy_policy_generator_setup' => iub_array_get($QG_Response, 'privacy_policies.pt-br.setup_url', '') ?? '',
|
283 |
+
'automatic_block_scripts' => 'https://www.iubenda.com/pt-br/help/1215-cookie-solution-wordpress-plugin-installation-guide#functionality',
|
284 |
+
'how_cs_rate' => 'https://www.iubenda.com/pt-br/help/21985-cookie-banner-do-you-really-need-one-and-how-can-you-get-a-cookie-notice-for-your-website',
|
285 |
+
'how_cons_rate' => 'https://www.iubenda.com/pt-br/help/3081-prior-blocking-of-cookie-scripts#wordpress',
|
286 |
+
'how_pp_rate' => 'https://www.iubenda.com/pt-br/help/6187-what-should-be-in-a-privacy-policy',
|
287 |
+
'how_tc_rate' => 'https://www.iubenda.com/pt-br/help/19482-what-should-basic-terms-and-conditions-include',
|
288 |
+
'user_account' => 'https://www.iubenda.com/pt-br/account',
|
289 |
+
'amp_permission_support' => 'https://www.iubenda.com/pt-br/help/1215#amp-permissions'
|
290 |
+
),
|
291 |
+
'nl' => array(
|
292 |
+
'iab' => 'https://www.iubenda.com/nl/help/7440-enable-preference-management-iab-framework',
|
293 |
+
'enable_iab' => 'https://www.iubenda.com/nl/help/7440-iab-framework-cmp#why-publishers-should-enable-the-transparency-and-consent-framework',
|
294 |
+
'guide' => 'https://www.iubenda.com/nl/cookie-solution',
|
295 |
+
'plugin_page' => 'https://www.iubenda.com/nl/help/posts/810',
|
296 |
+
'support_forum' => 'https://support.iubenda.com/support/home',
|
297 |
+
'documentation' => 'https://www.iubenda.com/nl/help/posts/810',
|
298 |
+
'how_generate_tc' => 'https://www.iubenda.com/nl/help/19394',
|
299 |
+
'how_generate_cs' => 'https://www.iubenda.com/nl/help/680',
|
300 |
+
'how_generate_pp' => 'https://www.iubenda.com/nl/help/463-generate-privacy-policy',
|
301 |
+
'how_generate_cons' => 'https://www.iubenda.com/nl/help/6473-consent-solution-js-documentation#generate-embed',
|
302 |
+
'about_pp' => 'https://www.iubenda.com/nl/privacy-and-cookie-policy-generator',
|
303 |
+
'about_cs' => 'https://www.iubenda.com/nl/cookie-solution',
|
304 |
+
'about_tc' => 'https://www.iubenda.com/nl/terms-and-conditions-generator',
|
305 |
+
'flow_page' => "https://www.iubenda.com/nl/flow/{$siteId}",
|
306 |
+
'about_cons' => 'https://www.iubenda.com/nl/consent-solution',
|
307 |
+
'amp_support' => 'https://www.iubenda.com/nl/help/22135-cookie-solution-amp-wordpress#amp-domain',
|
308 |
+
'enable_amp_support' => 'https://www.iubenda.com/nl/help/22135-cookie-solution-amp-wordpress#step-2-enable-the-google-amp-support',
|
309 |
+
'wordpress_support' => 'https://www.iubenda.com/nl/help/370-how-to-use-iubenda-privacy-and-cookie-policy-on-a-wordpress-website',
|
310 |
+
'privacy_policy_generator_edit' => iub_array_get($QG_Response, 'privacy_policies.nl.edit_url', '') ?? '',
|
311 |
+
'privacy_policy_generator_setup' => iub_array_get($QG_Response, 'privacy_policies.nl.setup_url', '') ?? '',
|
312 |
+
'automatic_block_scripts' => 'https://www.iubenda.com/nl/help/1215-cookie-solution-wordpress-plugin-installation-guide#functionality',
|
313 |
+
'how_cs_rate' => 'https://www.iubenda.com/nl/help/21985-cookie-banner-do-you-really-need-one-and-how-can-you-get-a-cookie-notice-for-your-website',
|
314 |
+
'how_cons_rate' => 'https://www.iubenda.com/nl/help/3081-prior-blocking-of-cookie-scripts#wordpress',
|
315 |
+
'how_pp_rate' => 'https://www.iubenda.com/nl/help/6187-what-should-be-in-a-privacy-policy',
|
316 |
+
'how_tc_rate' => 'https://www.iubenda.com/nl/help/19482-what-should-basic-terms-and-conditions-include',
|
317 |
+
'user_account' => 'https://www.iubenda.com/nl/account',
|
318 |
+
'amp_permission_support' => 'https://www.iubenda.com/nl/help/1215#amp-permissions'
|
319 |
+
)
|
320 |
);
|
321 |
|
322 |
+
foreach ($this->services as $name => $service) {
|
323 |
+
$this->services[$name]['status'] = iub_array_get(iubenda()->options, "activated_products.{$service['key']}", 'false');
|
324 |
+
}
|
325 |
+
$this->quick_generator = get_option(static::IUB_QG_Response) ?: [];
|
326 |
+
|
327 |
+
$user_profile_language = (new LanguageHelper())->get_user_profile_language_code(true);
|
328 |
|
329 |
// assign links
|
330 |
+
$this->links = in_array( $user_profile_language, array_keys( $links ) ) ? $links[$user_profile_language] : $links['en'];
|
331 |
|
332 |
// handle actions
|
333 |
if ( ! empty( $_POST['save'] ) ) {
|
334 |
// update item action
|
335 |
$this->action = 'save';
|
336 |
} else {
|
337 |
+
$this->action = isset( $_GET['action'] ) && -1 != $_GET['action'] ? esc_attr( $_GET['action'] ) : '';
|
338 |
+
$this->action = isset( $_GET['action2'] ) && -1 != $_GET['action2'] ? esc_attr( $_GET['action2'] ) : $this->action;
|
339 |
}
|
340 |
}
|
341 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
342 |
/**
|
343 |
* Add submenu.
|
344 |
*
|
355 |
add_menu_page(
|
356 |
'iubenda', 'iubenda', apply_filters( 'iubenda_cookie_law_cap', 'manage_options' ), 'iubenda', array( $this, 'options_page' ), 'none'
|
357 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
358 |
}
|
359 |
}
|
360 |
|
361 |
+
private function check_site_is_already_made_setup() {
|
362 |
+
$result = array_filter(array_column($this->services, 'status'), function ($service) { return (stripos($service, 'false') === false); });
|
363 |
+
|
364 |
+
if ($result) {
|
365 |
+
return true;
|
366 |
+
}
|
367 |
+
|
368 |
+
// Check if the services are configured
|
369 |
+
$result = array_filter(array_column(iubenda()->options, 'configured'), function ($service) { return (stripos($service, 'false') === false); });
|
370 |
+
|
371 |
+
if ($result) {
|
372 |
+
return true;
|
373 |
+
}
|
374 |
+
|
375 |
+
return false;
|
376 |
+
}
|
377 |
+
|
378 |
+
/**
|
379 |
+
* Load admin options page.
|
380 |
+
*
|
381 |
+
* @return void
|
382 |
+
*/
|
383 |
+
public function options_page() {
|
384 |
+
global $pagenow;
|
385 |
+
|
386 |
+
$show_products_page = $this->check_site_is_already_made_setup();
|
387 |
+
|
388 |
+
if ( ! current_user_can( apply_filters( 'iubenda_cookie_law_cap', 'manage_options' ) ) ) {
|
389 |
+
wp_die( __( "You don't have permission to access this page.", 'iubenda' ) );
|
390 |
+
}
|
391 |
+
$default = 'frontpage';
|
392 |
+
|
393 |
+
if($show_products_page){
|
394 |
+
$default = 'products-page';
|
395 |
+
}elseif(!empty((new QuickGeneratorService())->QG_Response)){
|
396 |
+
$default = 'integrate-setup';
|
397 |
+
}
|
398 |
+
$view = iub_array_get($_GET, 'view', $default);
|
399 |
+
|
400 |
+
switch ($view) {
|
401 |
+
case "plugin-settings":
|
402 |
+
$pageLabels = [['title' => __('Plugin settings', 'iubenda')]];
|
403 |
+
require_once IUBENDA_PLUGIN_PATH . 'views/plugin-settings.php';
|
404 |
+
break;
|
405 |
+
case "integrate-setup":
|
406 |
+
require_once IUBENDA_PLUGIN_PATH . 'views/integrate-setup.php';
|
407 |
+
break;
|
408 |
+
case 'products-page':
|
409 |
+
require_once IUBENDA_PLUGIN_PATH . 'views/products-page.php';
|
410 |
+
break;
|
411 |
+
case "tc-configuration":
|
412 |
+
$pageLabels = [['title' => __('Terms and condition', 'iubenda')]];
|
413 |
+
$key = 'tc';
|
414 |
+
$service = iub_array_get(iubenda()->settings->services, $key);
|
415 |
+
require_once IUBENDA_PLUGIN_PATH . 'views/tc-configuration.php';
|
416 |
+
break;
|
417 |
+
case "pp-configuration":
|
418 |
+
$pageLabels = [['title' => __('Privacy and Cookie Policy', 'iubenda')]];
|
419 |
+
$key = 'pp';
|
420 |
+
$service = iub_array_get(iubenda()->settings->services, $key);
|
421 |
+
require_once IUBENDA_PLUGIN_PATH . 'views/pp-configuration.php';
|
422 |
+
break;
|
423 |
+
case "cs-configuration":
|
424 |
+
$pageLabels = [['title' => __('Cookie Solution', 'iubenda')]];
|
425 |
+
$key = 'cs';
|
426 |
+
$service = iub_array_get(iubenda()->settings->services, $key);
|
427 |
+
require_once IUBENDA_PLUGIN_PATH . 'views/cs-configuration.php';
|
428 |
+
break;
|
429 |
+
case "cons-configuration":
|
430 |
+
$pageLabels = [['title' => __('Consent Solution', 'iubenda')]];
|
431 |
+
require_once IUBENDA_PLUGIN_PATH . 'views/cons-configuration.php';
|
432 |
+
break;
|
433 |
+
case "cons-form-edit":
|
434 |
+
$form_id = ! empty( $_GET['form_id'] ) ? absint( $_GET['form_id'] ) : 0;
|
435 |
+
$form = ! empty( $form_id ) ? iubenda()->forms->get_form( $form_id ) : false;
|
436 |
+
|
437 |
+
if ( ! $form ){
|
438 |
+
return;
|
439 |
+
}
|
440 |
+
$pageLabels = [
|
441 |
+
['title' => __('Consent Solution', 'iubenda'), 'href' => add_query_arg( array( 'view' => 'cons-configuration' ), iubenda()->base_url )],
|
442 |
+
['title' => $form->post_title]
|
443 |
+
];
|
444 |
+
require_once IUBENDA_PLUGIN_PATH . 'views/cons-single-form.php';
|
445 |
+
break;
|
446 |
+
default:
|
447 |
+
if ($show_products_page) {
|
448 |
+
require_once IUBENDA_PLUGIN_PATH . 'views/products-page.php';
|
449 |
+
}
|
450 |
+
else {
|
451 |
+
require_once IUBENDA_PLUGIN_PATH . 'views/frontpage.php';
|
452 |
+
}
|
453 |
+
}
|
454 |
+
}
|
455 |
+
|
456 |
+
public function admin_enqueue_scripts($page) {
|
457 |
+
if ( ! in_array( $page, array( 'toplevel_page_iubenda', 'settings_page_iubenda' ) ) ){
|
458 |
+
wp_enqueue_style( 'iubenda-admin', IUBENDA_PLUGIN_URL . '/assets/css/admin.css' );
|
459 |
+
return;
|
460 |
+
}
|
461 |
+
wp_enqueue_style('iubenda-admin', IUBENDA_PLUGIN_URL . '/assets/css/style.css');
|
462 |
+
wp_enqueue_script('iubenda-admin', IUBENDA_PLUGIN_URL . '/assets/js/admin.js','','',true);
|
463 |
+
|
464 |
+
// Add analytics script to the plugin
|
465 |
+
wp_enqueue_script('iubenda-admin-matomo', IUBENDA_PLUGIN_URL . '/assets/js/matomo.js','','',true);
|
466 |
+
|
467 |
+
// Get radar api status
|
468 |
+
$iubendaRadarApiConfiguration = get_option('iubenda_radar_api_configuration', []) ?: [];
|
469 |
+
|
470 |
+
// Localize the script with new data
|
471 |
+
$iub_js_vars = [
|
472 |
+
'site_url' => get_site_url(),
|
473 |
+
'plugin_url' => IUBENDA_PLUGIN_URL,
|
474 |
+
'site_language' => iubenda()->lang_current,
|
475 |
+
'site_locale' => get_locale(),
|
476 |
+
'radar_status' => iub_array_get($iubendaRadarApiConfiguration, 'status'),
|
477 |
+
'form_id' => iub_array_get($_GET,'form_id', 0),
|
478 |
+
'iub_dismiss_notification_alert_nonce' => wp_create_nonce( 'iub_dismiss_notification_alert_nonce' ),
|
479 |
+
];
|
480 |
+
|
481 |
+
wp_localize_script( 'iubenda-admin', 'iub_js_vars', $iub_js_vars );
|
482 |
+
wp_register_script('iubenda-admin-tabs', IUBENDA_PLUGIN_URL . '/assets/js/tabs.js');
|
483 |
+
wp_enqueue_script('iubenda-admin-tabs', IUBENDA_PLUGIN_URL . '/assets/js/tabs.js', array(''), false, true);
|
484 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
485 |
|
486 |
/**
|
487 |
* Plugin options migration for versions < 1.14.0
|
497 |
|
498 |
if ( $db_version != false ) {
|
499 |
if ( version_compare( $db_version, '1.14.0', '<' ) ) {
|
500 |
+
$options = [];
|
501 |
|
502 |
$old_new = array(
|
503 |
'iubenda_parse' => 'parse',
|
504 |
'skip_parsing' => 'skip_parsing',
|
505 |
'iubenda_ctype' => 'ctype',
|
|
|
506 |
'parser_engine' => 'parser_engine',
|
507 |
'iubenda_output_feed' => 'output_feed',
|
508 |
'iubenda-code-default' => 'code_default',
|
535 |
|
536 |
add_option( 'iubenda_cookie_law_solution', $options, '', 'no' );
|
537 |
add_option( 'iubenda_cookie_law_version', iubenda()->version, '', 'no' );
|
538 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
539 |
}
|
540 |
+
}
|
541 |
+
|
542 |
+
public function update_options($data = []){
|
543 |
+
$data = $data ?: $_POST;
|
544 |
+
|
545 |
+
$products = [
|
546 |
+
'iubenda_privacy_policy_solution' => 'pp',
|
547 |
+
'iubenda_cookie_law_solution' => 'cs',
|
548 |
+
'iubenda_terms_conditions_solution' => 'tc',
|
549 |
+
'iubenda_consent_solution' => 'cons',
|
550 |
+
];
|
551 |
+
|
552 |
+
$result = $this->init_prepare_product_options($products, $data);
|
553 |
+
|
554 |
+
// Validate whether the product (CS) is active or not
|
555 |
+
$iubenda_cookie_law_solution_status = iub_array_get($result, 'iubenda_activated_products.iubenda_cookie_law_solution', 'false') ?: 'false';
|
556 |
+
if($iubenda_cookie_law_solution_status != 'true'){
|
557 |
+
echo json_encode(['status' => 'error', 'responseText' => "( CS ) must be activated."]);
|
558 |
+
wp_die();
|
559 |
+
}
|
560 |
+
|
561 |
+
// validating Embed Codes of product contains at least one valid code if the product is activated
|
562 |
+
foreach (iub_array_get($result, 'iubenda_activated_products', []) ?: [] as $product_name => $product_status) {
|
563 |
+
if($product_status == 'false' || $product_name == 'iubenda_consent_solution'){
|
564 |
+
continue;
|
565 |
+
}
|
566 |
+
|
567 |
+
// Count valid codes per $product_name and return error if doesn't have at least 1 valid code
|
568 |
+
if(count(array_filter(iub_array_get($result, "codes_statues.{$product_name}_codes", []) ?: [])) == 0){
|
569 |
+
echo json_encode(['status' => 'error', 'responseText' => "( {$product_name} ) At least one code must be valid."]);
|
570 |
+
wp_die();
|
571 |
+
}
|
572 |
+
}
|
573 |
+
|
574 |
+
$this->save_init_prepared_product_options($products, $result);
|
575 |
+
|
576 |
+
$data = [
|
577 |
+
'status' => 'done',
|
578 |
+
];
|
579 |
+
echo json_encode($data);
|
580 |
+
wp_die();
|
581 |
+
}
|
582 |
+
|
583 |
+
public function toggle_services(){
|
584 |
+
$name = iub_array_get($_POST, 'name');
|
585 |
+
$status = iub_array_get($_POST, 'status');
|
586 |
+
|
587 |
+
if($status != 'true'){
|
588 |
+
$status = 'false';
|
589 |
+
}
|
590 |
+
|
591 |
+
$iubenda_activated_products = get_option( 'iubenda_activated_products');
|
592 |
+
$iubenda_activated_products[$name] = $status;
|
593 |
+
|
594 |
+
update_option( 'iubenda_activated_products', $iubenda_activated_products );
|
595 |
+
|
596 |
+
// Reload Options and activated products
|
597 |
+
iubenda()->options['activated_products'] = get_option( 'iubenda_activated_products', [] );
|
598 |
+
$this->load_defaults();
|
599 |
+
|
600 |
+
$data = ['status' => 'done', 'rating_percentage' => iubenda()->serviceRating->services_percentage()];
|
601 |
+
echo json_encode($data);
|
602 |
+
wp_die();
|
603 |
+
}
|
604 |
+
|
605 |
+
/**
|
606 |
+
* Process the bulk actions
|
607 |
+
*
|
608 |
+
* @return void
|
609 |
+
*/
|
610 |
+
public function process_actions() {
|
611 |
+
global $pagenow;
|
612 |
+
|
613 |
+
$page = ! empty( $_POST['option_page'] ) ? esc_attr( $_POST['option_page'] ) : ( ! empty( $_GET['page'] ) ? esc_attr( $_GET['page'] ) : '' );
|
614 |
+
$id = isset( $_REQUEST['form_id'] ) ? ( is_array( $_REQUEST['form_id'] ) ? array_map( 'ansint', $_REQUEST['form_id'] ) : absint( $_REQUEST['form_id'] ) ) : false;
|
615 |
+
$view_key = ! empty( $_GET['view'] ) ? esc_attr( $_GET['view'] ) : null;
|
616 |
+
|
617 |
+
if ( ! $page )
|
618 |
+
return;
|
619 |
+
|
620 |
+
// get redirect url
|
621 |
+
if ( iubenda()->options['cs']['menu_position'] === 'submenu' && $pagenow === 'admin.php' ) {
|
622 |
+
// sub menu
|
623 |
+
$redirect_to = admin_url( 'options-general.php?page=iubenda&view=' . $view_key );
|
624 |
+
} else {
|
625 |
+
// top menu
|
626 |
+
$redirect_to = admin_url( 'admin.php?page=iubenda&view=' . $view_key );
|
627 |
+
}
|
628 |
+
|
629 |
+
// add comments cookie option notice
|
630 |
+
if ( $view_key == 'cons-configuration' && ! empty( iubenda()->options['cons']['public_api_key'] ) ) {
|
631 |
+
$cookies_enabled = get_option( 'show_comments_cookies_opt_in' );
|
632 |
+
if ( ! $cookies_enabled ) {
|
633 |
+
$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' );
|
634 |
+
}
|
635 |
+
}
|
636 |
+
|
637 |
+
$result = null;
|
638 |
+
|
639 |
+
switch ( $this->action ) {
|
640 |
+
case 'autodetect' :
|
641 |
+
$result = iubenda()->forms->autodetect_forms();
|
642 |
+
|
643 |
+
// make sure it's current host location
|
644 |
+
wp_safe_redirect( $redirect_to );
|
645 |
+
exit;
|
646 |
+
|
647 |
+
break;
|
648 |
+
|
649 |
+
case 'save' :
|
650 |
+
if ( ! $id )
|
651 |
+
return;
|
652 |
+
|
653 |
+
$form = iubenda()->forms->get_form( $id );
|
654 |
+
|
655 |
+
if ( $form->ID != $id )
|
656 |
+
return;
|
657 |
+
|
658 |
+
$status = isset( $_POST['status'] ) && in_array( $_POST['status'], array_keys( iubenda()->forms->statuses ) ) ? esc_attr( $_POST['status'] ) : 'publish';
|
659 |
+
$subject = isset( $_POST['subject'] ) && is_array( $_POST['subject'] ) ? array_map( 'esc_attr', $_POST['subject'] ) : array();
|
660 |
+
$preferences = array();
|
661 |
+
$exclude = array();
|
662 |
+
$legal_notices = array();
|
663 |
+
|
664 |
+
$preferences_raw = isset( $_POST['preferences'] ) && is_array( $_POST['preferences'] ) ? array_map( array( $this, 'array_map_callback' ), $_POST['preferences'] ) : array();
|
665 |
+
$exclude_raw = isset( $_POST['exclude'] ) && is_array( $_POST['exclude'] ) ? array_map( array( $this, 'array_map_callback' ), $_POST['exclude'] ) : array();
|
666 |
+
$legal_notices_raw = isset( $_POST['legal_notices'] ) && is_array( $_POST['legal_notices'] ) ? array_map( array( $this, 'array_map_callback' ), $_POST['legal_notices'] ) : array();
|
667 |
+
|
668 |
+
// format preferences data
|
669 |
+
if ( ! empty( $preferences_raw ) && is_array( $preferences_raw ) ) {
|
670 |
+
foreach ( $preferences_raw as $index => $data ) {
|
671 |
+
if ( ! empty( $data['field'] ) && ( ! is_null( $data['value'] ) || ! "" == $data['value'] ) ) {
|
672 |
+
$preferences[ sanitize_key( $data['field'] ) ] = $data['value'];
|
673 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
674 |
}
|
675 |
}
|
676 |
|
677 |
+
// format exclude data
|
678 |
+
if ( ! empty( $exclude_raw ) && is_array( $exclude_raw ) ) {
|
679 |
+
foreach ( $exclude_raw as $index => $data ) {
|
680 |
+
if ( ! empty( $data['field'] ) )
|
681 |
+
$exclude[] = $data['field'];
|
682 |
+
}
|
683 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
684 |
|
685 |
+
// format legal notices data
|
686 |
+
if ( ! empty( $legal_notices_raw ) && is_array( $legal_notices_raw ) ) {
|
687 |
+
foreach ( $legal_notices_raw as $index => $data ) {
|
688 |
+
if ( ! empty( $data['field'] ) )
|
689 |
+
$legal_notices[] = $data['field'];
|
690 |
+
}
|
691 |
+
}
|
692 |
|
693 |
+
// form first save, update status to mapped automatically
|
694 |
+
if ( empty( $form->form_subject ) && empty( $form->form_preferences ) ) {
|
695 |
+
$status = 'mapped';
|
696 |
+
}
|
697 |
|
698 |
+
// echo '<pre>'; print_r( $_POST ); echo '</pre>'; exit;
|
699 |
+
$filtered_subjects = array_filter($subject, array(
|
700 |
+
$this,
|
701 |
+
'is_not_empty'
|
702 |
+
));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
703 |
|
704 |
+
// bail if empty fields
|
705 |
+
if ( ! count( $filtered_subjects ) ) {
|
706 |
+
$this->add_notice( 'iub_form_fields_missing', __( 'Form saving failed. Please fill the Subject fields.', 'iubenda' ), 'error' );
|
707 |
+
return;
|
708 |
+
}
|
709 |
|
710 |
+
$args = array(
|
711 |
+
'ID' => $form->ID,
|
712 |
+
'status' => $status,
|
713 |
+
'object_type' => $form->object_type,
|
714 |
+
'object_id' => $form->object_id,
|
715 |
+
'form_source' => $form->form_source,
|
716 |
+
'form_title' => $form->post_title,
|
717 |
+
'form_date' => $form->post_modified,
|
718 |
+
'form_fields' => $form->form_fields,
|
719 |
+
'form_subject' => $subject,
|
720 |
+
'form_preferences' => $preferences,
|
721 |
+
'form_exclude' => $exclude,
|
722 |
+
'form_legal_notices' => $legal_notices
|
723 |
+
);
|
724 |
+
|
725 |
+
$result = iubenda()->forms->save_form( $args );
|
726 |
+
|
727 |
+
break;
|
728 |
+
|
729 |
+
case 'delete' :
|
730 |
+
if ( ! $id )
|
731 |
+
return;
|
732 |
+
|
733 |
+
$form = iubenda()->forms->get_form( $id );
|
734 |
+
|
735 |
+
if ( empty( $form ) )
|
736 |
+
return;
|
737 |
+
|
738 |
+
$result = iubenda()->forms->delete_form( $id );
|
739 |
+
|
740 |
+
// make sure it's current host location
|
741 |
+
wp_safe_redirect( $redirect_to );
|
742 |
+
exit;
|
743 |
+
|
744 |
+
break;
|
745 |
+
|
746 |
+
case 'disable_skip_parsing' :
|
747 |
+
|
748 |
+
// disable skip parsing option
|
749 |
+
$options = iubenda()->options['cs'];
|
750 |
+
$options['skip_parsing'] = false;
|
751 |
+
|
752 |
+
update_option( 'iubenda_cookie_law_solution', $options );
|
753 |
+
|
754 |
+
$this->add_notice( 'iub_settings_updated', __( 'Settings saved.', 'iubenda' ), 'success' );
|
755 |
+
|
756 |
+
// make sure it's current host location
|
757 |
+
wp_safe_redirect( $redirect_to );
|
758 |
+
exit;
|
759 |
+
|
760 |
+
break;
|
761 |
+
|
762 |
+
default :
|
763 |
+
return;
|
764 |
+
}
|
765 |
+
|
766 |
+
if ( ! empty ( $result ) ) {
|
767 |
+
//
|
768 |
+
} else {
|
769 |
+
//
|
770 |
+
}
|
771 |
+
}
|
772 |
+
|
773 |
+
/**
|
774 |
+
* Add admin notice.
|
775 |
+
*
|
776 |
+
* @param mixed $message
|
777 |
+
* @param string $notice_type
|
778 |
+
*/
|
779 |
+
public function add_notice( $key, $message, $notice_type = 'notice' ) {
|
780 |
+
$key = ! empty( $key ) ? sanitize_key( $key ) : '';
|
781 |
+
$message = ! empty( $message ) ? wp_kses_post( $message ) : '';
|
782 |
+
$notice_type = ! empty( $notice_type ) && in_array( $notice_type, $this->notice_types ) ? $notice_type : 'notice';
|
783 |
+
|
784 |
+
if ( ! $key || ! $message )
|
785 |
+
return;
|
786 |
+
|
787 |
+
$notices = get_transient( 'iubenda_dashboard_notices' ) ?: [];
|
788 |
+
$delay = MINUTE_IN_SECONDS * 2;
|
789 |
+
|
790 |
+
// Check notice type is exist before checking the key
|
791 |
+
if ( empty( $notices ) || ( isset( $notices[ $notice_type ] ) && ! array_key_exists( $key, $notices[ $notice_type ] ) ) ) {
|
792 |
+
$notices[$notice_type][$key] = $message;
|
793 |
+
|
794 |
+
set_transient( 'iubenda_dashboard_notices', $notices, $delay );
|
795 |
+
}
|
796 |
+
}
|
797 |
+
|
798 |
+
/**
|
799 |
+
* Display admin notices.
|
800 |
+
*
|
801 |
+
* @return mixed
|
802 |
+
*/
|
803 |
+
public function print_notices() {
|
804 |
+
$notices = get_transient( 'iubenda_dashboard_notices' );
|
805 |
+
foreach ( $this->notice_types as $notice_type ) {
|
806 |
+
if ( $this->notice_count( $notices, $notice_type ) > 0 ) {
|
807 |
+
require IUBENDA_PLUGIN_PATH . '/views/partials/alert.php';
|
808 |
+
}
|
809 |
+
}
|
810 |
+
delete_transient( 'iubenda_dashboard_notices' );
|
811 |
+
}
|
812 |
+
|
813 |
+
public function has_notices() {
|
814 |
+
$notices = get_transient( 'iubenda_dashboard_notices' );
|
815 |
+
foreach ( $this->notice_types as $notice_type ) {
|
816 |
+
if ( $this->notice_count( $notices, $notice_type ) > 0 ) {
|
817 |
+
return true;
|
818 |
+
}
|
819 |
+
}
|
820 |
+
|
821 |
+
return false;
|
822 |
+
}
|
823 |
+
|
824 |
+
/**
|
825 |
+
* Count notices function.
|
826 |
+
*
|
827 |
+
* @param string $notice_type
|
828 |
+
* @return int
|
829 |
+
*/
|
830 |
+
public function notice_count( $all_notices = array(), $notice_type = '' ) {
|
831 |
+
$notice_count = 0;
|
832 |
+
|
833 |
+
if ( isset( $all_notices[$notice_type] ) ) {
|
834 |
+
$notice_count = absint( sizeof( $all_notices[$notice_type] ) );
|
835 |
+
} elseif ( empty( $notice_type ) ) {
|
836 |
+
foreach ( $all_notices as $notices ) {
|
837 |
+
$notice_count += absint( sizeof( $all_notices ) );
|
838 |
+
}
|
839 |
+
}
|
840 |
+
|
841 |
+
return $notice_count;
|
842 |
+
}
|
843 |
+
|
844 |
+
/**
|
845 |
+
* Perform show notice on plugin installation/upgrade.
|
846 |
+
*
|
847 |
+
* @return void
|
848 |
+
*/
|
849 |
+
public function maybe_show_notice() {
|
850 |
+
if ( ! current_user_can( 'install_plugins' ) )
|
851 |
+
return;
|
852 |
+
|
853 |
+
$current_update = 10;
|
854 |
+
$activation = (array) get_option( 'iubenda_activation_data', iubenda()->activation );
|
855 |
+
|
856 |
+
// delete_option( 'iubenda_activation_data' );
|
857 |
+
// echo '<pre>'; print_r( $activation ); echo '</pre>'; exit;
|
858 |
+
|
859 |
+
// get current time
|
860 |
+
$current_time = time();
|
861 |
+
|
862 |
+
if ( $activation['update_version'] < $current_update ) {
|
863 |
+
// check version, if update ver is lower than plugin ver, set update notice to true
|
864 |
+
$activation = array_merge( $activation, array( 'update_version' => $current_update, 'update_notice' => true ) );
|
865 |
+
|
866 |
+
// set activation date if not set
|
867 |
+
if ( $activation['update_date'] == false )
|
868 |
+
$activation = array_merge( $activation, array( 'update_date' => $current_time ) );
|
869 |
+
|
870 |
+
update_option( 'iubenda_activation_data', $activation );
|
871 |
+
}
|
872 |
+
|
873 |
+
// display current version notice
|
874 |
+
if ( $activation['update_notice'] === true ) {
|
875 |
+
// include notice js, only if needed
|
876 |
+
add_action( 'admin_print_scripts', array( $this, 'admin_inline_js' ), 999 );
|
877 |
+
|
878 |
+
// get activation date
|
879 |
+
$activation_date = $activation['update_date'];
|
880 |
+
|
881 |
+
// set delay in seconds
|
882 |
+
$delay = WEEK_IN_SECONDS;
|
883 |
+
|
884 |
+
if ( (int) $activation['update_delay_date'] === 0 ) {
|
885 |
+
if ( $activation_date + $delay > $current_time )
|
886 |
+
$activation['update_delay_date'] = $activation_date + $delay;
|
887 |
+
else
|
888 |
+
$activation['update_delay_date'] = $current_time;
|
889 |
+
|
890 |
+
update_option( 'iubenda_activation_data', $activation );
|
891 |
+
}
|
892 |
+
|
893 |
+
if ( ( ! empty( $activation['update_delay_date'] ) ? (int) $activation['update_delay_date'] : $current_time ) <= $current_time ) {
|
894 |
+
// add notice
|
895 |
+
add_action( 'admin_notices', array( $this, 'show_notice' ) );
|
896 |
+
}
|
897 |
+
}
|
898 |
+
|
899 |
+
// Display notification to encourage user to verify his account
|
900 |
+
$notifications = get_option(iubenda_Settings::IUB_NOTIFICATIONS, []) ?: [];
|
901 |
+
if ( iub_array_get($notifications, 'iub_user_needs_to_verify_his_account') ) {
|
902 |
+
$url = 'javascript:void(0)';
|
903 |
+
|
904 |
+
if (!empty(iubenda()->settings->links['privacy_policy_generator_edit'])) {
|
905 |
+
$url = iubenda()->settings->links['privacy_policy_generator_edit'];
|
906 |
+
}elseif(iub_array_get(iubenda()->options['global_options'], 'site_id')){
|
907 |
+
$url = iubenda()->settings->links['user_account'];
|
908 |
+
}
|
909 |
+
|
910 |
+
iubenda()->settings->add_notice('iub_user_needs_to_verify_his_account', sprintf( __( 'To ensure regular scans and full support, <span class="text-bold">verify your account</span>. Check your mailbox now and validate your email address, or check <a href="%s" target="_blank" class="link-underline">your account</a> on iubenda.com. If you already did that, you can safely <a href="javascript:void(0)" class="notice-dismiss-by-text dismiss-notification-alert link-underline" data-dismiss-key="iub_user_needs_to_verify_his_account">dismiss this reminder</a>.', 'iubenda' ), $url ), 'error');
|
911 |
+
}
|
912 |
+
}
|
913 |
+
|
914 |
+
/**
|
915 |
+
* Display admin notices at iubenda settings.
|
916 |
+
*/
|
917 |
+
public function show_notice() {
|
918 |
+
?>
|
919 |
+
<div id="iubenda-rate" class="iubenda-notice notice is-dismissible">
|
920 |
+
<div>
|
921 |
+
<p class="step-1">
|
922 |
+
<span class="notice-question"><?php _e( 'Enjoying the iubenda Cookie & Consent Solution Plugin?', 'iubenda' ); ?></span>
|
923 |
+
<span class="notice-reply">
|
924 |
+
<a href="#" class="reply-yes"><?php _e( 'Yes', 'iubenda' ); ?></a>
|
925 |
+
<a href="#" class="reply-no"><?php _e( 'No', 'iubenda' ); ?></a>
|
926 |
+
</span>
|
927 |
+
</p>
|
928 |
+
<p class="step-2 step-yes">
|
929 |
+
<span class="notice-question"><?php _e( "Whew, what a relief!? We've worked countless hours to make this plugin as useful as possible - so we're pretty happy that you're enjoying it. While you here, would you mind leaving us a 5 star rating? It would really help us out.", 'iubenda' ); ?></span>
|
930 |
+
<span class="notice-reply">
|
931 |
+
<a href="https://wordpress.org/support/plugin/iubenda-cookie-law-solution/reviews/?filter=5" target="_blank" class="reply-yes"><?php _e( 'Sure!', 'iubenda' ); ?></a>
|
932 |
+
<a href="javascript:void(0)" class="reply-no"><?php _e( 'No thanks', 'iubenda' ); ?></a>
|
933 |
+
</span>
|
934 |
+
</p>
|
935 |
+
<p class="step-2 step-no">
|
936 |
+
<span class="notice-question"><?php _e( "We're sorry to hear that. Would you mind giving us some feedback?", 'iubenda' ); ?></span>
|
937 |
+
<span class="notice-reply">
|
938 |
+
<a href="https://iubenda.typeform.com/to/BXuSMZ" target="_blank" class="reply-yes"><?php _e( 'Ok sure!', 'iubenda' ); ?></a>
|
939 |
+
<a href="javascript:void(0)" class="reply-no"><?php _e( 'No thanks', 'iubenda' ); ?></a>
|
940 |
+
</span>
|
941 |
+
</p>
|
942 |
+
</div>
|
943 |
+
</div>
|
944 |
+
<?php
|
945 |
+
}
|
946 |
+
|
947 |
+
/**
|
948 |
+
* Print admin scripts.
|
949 |
+
*
|
950 |
+
* @return void
|
951 |
+
*/
|
952 |
+
public function admin_inline_js() {
|
953 |
+
if ( ! current_user_can( 'install_plugins' ) )
|
954 |
+
return;
|
955 |
+
|
956 |
+
$delay = MONTH_IN_SECONDS * 6;
|
957 |
+
?>
|
958 |
+
<script type="text/javascript">
|
959 |
+
( function ( $ ) {
|
960 |
+
$( document ).ready( function () {
|
961 |
+
// step 1
|
962 |
+
$( '.iubenda-notice .step-1 a' ).on( 'click', function ( e ) {
|
963 |
+
e.preventDefault();
|
964 |
+
|
965 |
+
$( '.iubenda-notice .step-1' ).slideUp( 'fast' );
|
966 |
+
$( '.iubenda-notice .step-1' ).hide( 'fast' );
|
967 |
+
|
968 |
+
if ( $( e.target ).hasClass( 'reply-yes' ) ) {
|
969 |
+
$( '.iubenda-notice .step-2.step-yes' ).show( 'fast' );
|
970 |
+
} else {
|
971 |
+
$( '.iubenda-notice .step-2.step-no' ).show( 'fast' );
|
972 |
+
};
|
973 |
+
} );
|
974 |
+
// step 2
|
975 |
+
$( '.iubenda-notice.is-dismissible' ).on( 'click', '.notice-dismiss, .step-2 a', function ( e ) {
|
976 |
+
// console.log( $( e ) );
|
977 |
+
|
978 |
+
var delay = <?php echo $delay; ?>;
|
979 |
+
|
980 |
+
if ( $( e.target ).hasClass( 'reply-yes' ) ) {
|
981 |
+
delay = 0;
|
982 |
+
}
|
983 |
+
|
984 |
+
$.post( ajaxurl, {
|
985 |
+
action: 'iubenda_dismiss_notice',
|
986 |
+
delay: delay,
|
987 |
+
url: '<?php echo admin_url( 'admin-ajax.php' ); ?>',
|
988 |
+
iubenda_nonce: '<?php echo wp_create_nonce( 'iubenda_dismiss_notice' ); ?>'
|
989 |
+
} );
|
990 |
+
|
991 |
+
$( e.delegateTarget ).slideUp( 'fast' );
|
992 |
+
} );
|
993 |
+
} );
|
994 |
+
} )( jQuery );
|
995 |
+
</script>
|
996 |
+
<?php
|
997 |
+
}
|
998 |
+
|
999 |
+
/**
|
1000 |
+
* Dismiss notice.
|
1001 |
+
*
|
1002 |
+
* @return void
|
1003 |
+
*/
|
1004 |
+
public function dismiss_notice() {
|
1005 |
+
$result = false;
|
1006 |
+
|
1007 |
+
if ( ! current_user_can( 'install_plugins' ) )
|
1008 |
+
return $result;
|
1009 |
+
|
1010 |
+
$nonce = wp_verify_nonce( $_REQUEST['iubenda_nonce'], 'iubenda_dismiss_notice' );
|
1011 |
+
|
1012 |
+
if ( $nonce ) {
|
1013 |
+
$delay = ! empty( $_REQUEST['delay'] ) ? absint( $_REQUEST['delay'] ) : 0;
|
1014 |
+
$activation = (array) get_option( 'iubenda_activation_data', iubenda()->activation );
|
1015 |
+
|
1016 |
+
// delay notice
|
1017 |
+
if ( $delay > 0 ) {
|
1018 |
+
$activation = array_merge( $activation, array( 'update_delay_date' => time() + $delay ) );
|
1019 |
+
// hide notice permanently
|
1020 |
+
} else {
|
1021 |
+
$activation = array_merge( $activation, array( 'update_delay_date' => 0, 'update_notice' => false ) );
|
1022 |
+
}
|
1023 |
+
|
1024 |
+
// update activation options
|
1025 |
+
$result = update_option( 'iubenda_activation_data', $activation );
|
1026 |
+
}
|
1027 |
+
|
1028 |
+
echo json_encode( $result );
|
1029 |
+
exit;
|
1030 |
+
}
|
1031 |
+
|
1032 |
+
/**
|
1033 |
+
* Dismiss alerts inside iubenda plugin.
|
1034 |
+
*
|
1035 |
+
* @return void
|
1036 |
+
*/
|
1037 |
+
public function dismiss_notification_alert() {
|
1038 |
+
$result = false;
|
1039 |
+
|
1040 |
+
if ( ! current_user_can( 'install_plugins' ) )
|
1041 |
+
return $result;
|
1042 |
+
|
1043 |
+
$nonce = wp_verify_nonce( $_REQUEST['iubenda_nonce'], 'iub_dismiss_notification_alert_nonce' );
|
1044 |
+
|
1045 |
+
if ( $nonce ) {
|
1046 |
+
$dismiss_key = $_REQUEST['dismiss_key'] ?: '';
|
1047 |
+
|
1048 |
+
// Dismiss alert Encourage users to validate their account
|
1049 |
+
if(iub_array_get(get_option(iubenda_Settings::IUB_NOTIFICATIONS, []) ?: [], $dismiss_key) === true){
|
1050 |
+
$iub_notifications = get_option(iubenda_Settings::IUB_NOTIFICATIONS, []) ?: [];
|
1051 |
+
$iub_notifications[$dismiss_key] = false;
|
1052 |
+
$result = update_option(iubenda_Settings::IUB_NOTIFICATIONS, $iub_notifications);
|
1053 |
+
|
1054 |
+
$notices = get_transient( 'iubenda_dashboard_notices' );
|
1055 |
+
if(iub_array_get($notices, "error.{$dismiss_key}") ?: null){
|
1056 |
+
unset($notices['error'][$dismiss_key]);
|
1057 |
+
}
|
1058 |
+
set_transient( 'iubenda_dashboard_notices' , $notices);
|
1059 |
+
|
1060 |
+
echo json_encode( $result );
|
1061 |
+
exit;
|
1062 |
+
}
|
1063 |
+
}
|
1064 |
+
|
1065 |
+
echo json_encode( $result );
|
1066 |
+
exit;
|
1067 |
+
}
|
1068 |
+
|
1069 |
+
/**
|
1070 |
+
* Sanitize array helper function.
|
1071 |
+
*
|
1072 |
+
* @param array $array
|
1073 |
+
* @return array
|
1074 |
+
*/
|
1075 |
+
public function array_map_callback( $array ) {
|
1076 |
+
if ( ! is_array( $array ) )
|
1077 |
+
return array();
|
1078 |
+
|
1079 |
+
return array_map( 'esc_attr', $array );
|
1080 |
+
}
|
1081 |
+
|
1082 |
+
/**
|
1083 |
+
* Check the value is not empty and check it contains any value even 0
|
1084 |
+
*
|
1085 |
+
* @param $value
|
1086 |
+
* @return bool
|
1087 |
+
*/
|
1088 |
+
private function is_not_empty($value) {
|
1089 |
+
if(is_null($value) || '' === $value){
|
1090 |
+
return false;
|
1091 |
+
}
|
1092 |
+
|
1093 |
+
return true;
|
1094 |
+
}
|
1095 |
+
|
1096 |
+
/**
|
1097 |
+
* Load admin style inline, for menu icon only.
|
1098 |
+
*
|
1099 |
+
* @return mixed
|
1100 |
+
*/
|
1101 |
+
public function admin_print_styles() {
|
1102 |
+
echo '
|
1103 |
+
<style>
|
1104 |
+
a.toplevel_page_iubenda .wp-menu-image {
|
1105 |
+
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj48c3ZnIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAyMzIgNTAzIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbDpzcGFjZT0icHJlc2VydmUiIHhtbG5zOnNlcmlmPSJodHRwOi8vd3d3LnNlcmlmLmNvbS8iIHN0eWxlPSJmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MS40MTQyMTsiPiAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDEzNi4yNDcsMjY4LjgzMSkiPiAgICAgICAgPHBhdGggZD0iTTAsLTM1LjgxTC0zNi4zLDAuNDg5TC0zNi4zLDE0MC45NzhMMCwxNDAuOTc4TDAsLTM1LjgxWk0tMjAuOTM4LC0xMjkuODAyQy02LjI4NywtMTI5LjgwMiA1LjU4NywtMTQxLjU2NSA1LjU4NywtMTU2LjA2QzUuNTg3LC0xNzAuNTU2IC02LjI4NywtMTgyLjMwOCAtMjAuOTM4LC0xODIuMzA4Qy0zNS42LC0xODIuMzA4IC00Ny40NzQsLTE3MC41NTYgLTQ3LjQ3NCwtMTU2LjA2Qy00Ny40NzQsLTE0MS41NjUgLTM1LjYsLTEyOS44MDIgLTIwLjkzOCwtMTI5LjgwMk04OS4zNiwtMTU0LjQxNkM4OS4zNiwtMTI3LjgyNSA3OS41NzUsLTEwMy40OTkgNjMuMjY5LC04NC42NzJMODYuNjk0LDIyNi42MjhMLTEyMi43MjgsMjI2LjYyOEwtMTAwLjAyNCwtNzkuMjI5Qy0xMTkuMzUxLC05OC42NjggLTEzMS4yNDcsLTEyNS4xNTkgLTEzMS4yNDcsLTE1NC40MTZDLTEzMS4yNDcsLTIxNC4wODYgLTgxLjg3NCwtMjYyLjQzOCAtMjAuOTM4LC0yNjIuNDM4QzM5Ljk5OSwtMjYyLjQzOCA4OS4zNiwtMjE0LjA4NiA4OS4zNiwtMTU0LjQxNiIgc3R5bGU9ImZpbGw6d2hpdGU7ZmlsbC1ydWxlOm5vbnplcm87Ii8+ICAgIDwvZz48L3N2Zz4=);
|
1106 |
+
background-position: center center;
|
1107 |
+
background-repeat: no-repeat;
|
1108 |
+
background-size: 7px auto;
|
1109 |
}
|
1110 |
+
</style>
|
1111 |
+
';
|
1112 |
+
}
|
1113 |
+
|
1114 |
+
private function services_option() {
|
1115 |
+
$cs_settings = [];
|
1116 |
+
if(iub_array_get(iubenda()->options['cs'], 'configuration_type') == 'simplified'){
|
1117 |
+
$legislation = iub_array_get(iubenda()->options['cs'], 'simplified.legislation') == 'both' ? 'GDPR/CCPA' : strtoupper(iub_array_get(iubenda()->options['cs'], 'simplified.legislation'));
|
1118 |
+
$cs_settings = [
|
1119 |
+
['label' => __('Style', 'iubenda'), 'value' => ucwords(iub_array_get(iubenda()->options['cs'], 'simplified.banner_style'))],
|
1120 |
+
['label' => __('Position', 'iubenda'), 'value' => ucwords(iub_array_get(iubenda()->options['cs'], 'simplified.position'))],
|
1121 |
+
['label' => __('legislation', 'iubenda'), 'value' => $legislation],
|
1122 |
+
];
|
1123 |
+
}else{
|
1124 |
+
$languages = (new ProductHelper())->get_languages();
|
1125 |
+
foreach ($languages as $k => $v) {
|
1126 |
+
$code = iub_array_get(iubenda()->options['cs'], "code_{$k}");
|
1127 |
+
if($code){
|
1128 |
+
$banner = iubenda()->parse_configuration($code, ['mode' => 'banner']);
|
1129 |
+
$options = iubenda()->parse_configuration($code);
|
1130 |
+
|
1131 |
+
$style = iub_array_get($banner, 'backgroundColor') ? 'White' : 'Dark';
|
1132 |
+
if(iub_array_get($options, 'enableGdpr') === null && iub_array_get($options, 'ccpaApplies') == 1){
|
1133 |
+
$legislation = 'GDPR/CCPA';
|
1134 |
+
}elseif(iub_array_get($options, 'enableGdpr') === null){
|
1135 |
+
$legislation = 'GDPR';
|
1136 |
+
}else{
|
1137 |
+
$legislation = 'CCPA';
|
1138 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1139 |
|
1140 |
+
$cs_settings = [
|
1141 |
+
['label' => __('Style', 'iubenda'), 'value' => $style],
|
1142 |
+
['label' => __('Position', 'iubenda'), 'value' => ucwords(iub_array_get($banner, 'position', 'full-top'))],
|
1143 |
+
['label' => __('legislation', 'iubenda'), 'value' => $legislation],
|
1144 |
+
];
|
1145 |
+
break;
|
1146 |
+
}
|
1147 |
+
}
|
1148 |
+
}
|
1149 |
+
|
1150 |
+
|
1151 |
+
return [
|
1152 |
+
'pp' => [
|
1153 |
+
'status' => false,
|
1154 |
+
'configured' => iub_array_get(iubenda()->options['pp'], 'configured'),
|
1155 |
+
'label' => __('Privacy and Cookie Policy', 'iubenda'),
|
1156 |
+
'name' => 'privacy_policy',
|
1157 |
+
'key' => 'iubenda_privacy_policy_solution',
|
1158 |
+
'settings' => [
|
1159 |
+
['label' => __('Version', 'iubenda'), 'value' => iub_array_get(iubenda()->options['pp'], 'version')],
|
1160 |
+
['label' => __('Style', 'iubenda'), 'value' => iub_array_get(iubenda()->options['pp'], 'button_style')],
|
1161 |
+
['label' => __('Position', 'iubenda'), 'value' => iub_array_get(iubenda()->options['pp'], 'button_position')]
|
1162 |
+
]
|
1163 |
+
],
|
1164 |
+
'cs' => [
|
1165 |
+
'status' => false,
|
1166 |
+
'configured' => iub_array_get(iubenda()->options['cs'], 'configured'),
|
1167 |
+
'label' => __('Cookie Solution', 'iubenda'),
|
1168 |
+
'name' => 'cookie_law',
|
1169 |
+
'key' => 'iubenda_cookie_law_solution',
|
1170 |
+
'settings' => $cs_settings
|
1171 |
+
],
|
1172 |
+
'tc' => [
|
1173 |
+
'status' => false,
|
1174 |
+
'configured' => iub_array_get(iubenda()->options['tc'], 'configured'),
|
1175 |
+
'label' => __('Terms and Conditions', 'iubenda'),
|
1176 |
+
'name' => 'terms_conditions',
|
1177 |
+
'key' => 'iubenda_terms_conditions_solution',
|
1178 |
+
'settings' => [
|
1179 |
+
['label' => __('Version', 'iubenda'), 'value' => '1.5.0'],
|
1180 |
+
['label' => __('Style', 'iubenda'), 'value' => iub_array_get(iubenda()->options['tc'], 'button_style')],
|
1181 |
+
['label' => __('Position', 'iubenda'), 'value' => iub_array_get(iubenda()->options['tc'], 'button_position')]
|
1182 |
+
]
|
1183 |
+
],
|
1184 |
+
'cons' => [
|
1185 |
+
'status' => false,
|
1186 |
+
'configured' => iub_array_get(iubenda()->options['cons'], 'configured'),
|
1187 |
+
'label' => __('Consent Solution', 'iubenda'),
|
1188 |
+
'name' => 'consent',
|
1189 |
+
'key' => 'iubenda_consent_solution',
|
1190 |
+
],
|
1191 |
+
];
|
1192 |
+
|
1193 |
+
}
|
1194 |
+
|
1195 |
+
/**
|
1196 |
+
* Return error to appear alert modal
|
1197 |
+
* @param $index
|
1198 |
+
* @param $section
|
1199 |
+
*/
|
1200 |
+
public function return_alert( $index ,$section) {
|
1201 |
+
$response = $index == 'code_default' ?: "($index)" ;
|
1202 |
+
echo json_encode(['status' => 'error', 'responseText' => "invalid script {$response}", 'focus' => "#{$index}-{$section}_tab" ]);
|
1203 |
+
wp_die();
|
1204 |
+
}
|
1205 |
+
|
1206 |
+
/**
|
1207 |
+
* Check embed code if empty or not valid
|
1208 |
+
* @param $index
|
1209 |
+
* @param $option
|
1210 |
+
* @param $section
|
1211 |
+
* @return bool
|
1212 |
+
*/
|
1213 |
+
public function check_embed_code($index, $option, $section)
|
1214 |
+
{
|
1215 |
+
if(substr( $index, 0, 5 ) === "code_" && empty($option)){
|
1216 |
+
return false;
|
1217 |
+
}
|
1218 |
+
|
1219 |
+
if($section == 'iubenda_privacy_policy_solution' || $section == 'iubenda_terms_conditions_solution'){
|
1220 |
+
if(!iubenda()->parse_tc_pp_configuration(stripslashes_deep($option))){
|
1221 |
+
return false;
|
1222 |
+
}
|
1223 |
+
}
|
1224 |
+
|
1225 |
+
if($section == 'iubenda_cookie_law_solution' && substr( $index, 0, 5 ) === "code_"){
|
1226 |
+
return !empty($option);
|
1227 |
+
}
|
1228 |
+
|
1229 |
+
return true;
|
1230 |
+
}
|
1231 |
+
|
1232 |
+
/**
|
1233 |
+
* Getting main div in frontpage with updated data
|
1234 |
+
*/
|
1235 |
+
public function get_frontpage_main_box()
|
1236 |
+
{
|
1237 |
+
require_once IUBENDA_PLUGIN_PATH . '/views/partials/frontpage_main_box.php';
|
1238 |
+
wp_die();
|
1239 |
+
}
|
1240 |
+
|
1241 |
+
/**
|
1242 |
+
* Hide all notices except iubenda notice
|
1243 |
+
*/
|
1244 |
+
function iubdena_hide_notices_wp()
|
1245 |
+
{
|
1246 |
+
?>
|
1247 |
+
<style>
|
1248 |
+
.error, .notice:not(.iubenda-notice) {
|
1249 |
+
display: none;
|
1250 |
+
}
|
1251 |
+
</style>
|
1252 |
+
<?php
|
1253 |
+
}
|
1254 |
+
|
1255 |
+
/**
|
1256 |
+
* @param $products
|
1257 |
+
* @param $data
|
1258 |
+
* @return array
|
1259 |
+
*/
|
1260 |
+
public function init_prepare_product_options($products, $data)
|
1261 |
+
{
|
1262 |
+
$result = [];
|
1263 |
+
|
1264 |
+
foreach ($products as $product_name => $product_key) {
|
1265 |
+
$product_option = [];
|
1266 |
+
|
1267 |
+
if(iub_array_get($data, "{$product_name}_status") && iub_array_get($data, "{$product_name}_status") == 'true'){
|
1268 |
+
$result['iubenda_activated_products'][$product_name] = 'true';
|
1269 |
+
$product_option['configured'] = 'true';
|
1270 |
+
|
1271 |
+
// Check if product is CONS
|
1272 |
+
if ($product_key == 'cons') {
|
1273 |
+
// iubenda_consent_solution saving data
|
1274 |
+
if(iub_array_get($data, "{$product_name}.public_api_key") ?: null){
|
1275 |
+
$product_option = ['public_api_key' => iub_array_get($data, "{$product_name}.public_api_key")];
|
1276 |
+
}else{
|
1277 |
+
$result['iubenda_activated_products'][$product_name] = 'false';
|
1278 |
+
}
|
1279 |
+
}
|
1280 |
|
1281 |
+
// Check if product in ['PP', 'CS', 'TC'] to check and validate embed codes
|
1282 |
+
if (in_array($product_key, ['pp', 'cs', 'tc'])) {
|
1283 |
+
$languages = (new ProductHelper())->get_languages();
|
1284 |
+
foreach ( $languages as $lang_id => $lang_name ) {
|
1285 |
+
$code = iub_array_get($data, "{$product_name}.code_{$lang_id}");
|
1286 |
+
|
1287 |
+
//check if code is empty or code is invalid
|
1288 |
+
$result['codes_statues']["{$product_name}_codes"][] = $this->check_embed_code("code_{$lang_id}", $code , $product_name);
|
1289 |
+
|
1290 |
+
//get public_id & site_id if only the product key is CS and had a valid embed code
|
1291 |
+
if ($product_key == 'cs' && $parsed_code = iubenda()->parse_configuration(stripslashes_deep($code))) {
|
1292 |
+
//getting site id to save it into Iubenda global option
|
1293 |
+
if (iub_array_get($parsed_code, 'siteId') ?: null) {
|
1294 |
+
$result['site_id'] = iub_array_get($parsed_code, 'siteId');
|
1295 |
+
}
|
1296 |
+
|
1297 |
+
//getting public id to save it into Iubenda global option by lang
|
1298 |
+
if (iub_array_get($parsed_code, 'cookiePolicyId') ?: null) {
|
1299 |
+
$result['public_ids'][$lang_id] = iub_array_get($parsed_code, 'cookiePolicyId');
|
1300 |
+
}
|
1301 |
+
}
|
1302 |
+
|
1303 |
+
if (in_array($product_key, ['pp', 'tc'])) {
|
1304 |
+
$parsed_code = iubenda()->parse_tc_pp_configuration(stripslashes_deep($code));
|
1305 |
+
|
1306 |
+
//getting public id to save it into Iubenda global option lang
|
1307 |
+
if ($parsed_code) {
|
1308 |
+
$result['public_ids'][$lang_id] = iub_array_get($parsed_code, 'cookie_policy_id');
|
1309 |
+
$product_option['button_style'] = iub_array_get($parsed_code, 'button_style');
|
1310 |
+
}
|
1311 |
+
|
1312 |
+
//to make tc/pp button appear in footer by default
|
1313 |
+
$product_option['button_position'] = 'automatic';
|
1314 |
+
|
1315 |
+
// Add a widget in the sidebar
|
1316 |
+
iubenda()->assign_legal_block_or_widget();
|
1317 |
+
}
|
1318 |
+
|
1319 |
+
$product_option["code_{$lang_id}"] = stripslashes($code);
|
1320 |
+
$product_option["manual_code_{$lang_id}"] = stripslashes($code);
|
1321 |
+
}
|
1322 |
+
}
|
1323 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1324 |
|
1325 |
+
if (in_array($product_key, ['pp', 'tc'])) {
|
1326 |
+
// Add a widget in the sidebar if the button is positioned automatically
|
1327 |
+
iubenda()->assign_legal_block_or_widget();
|
1328 |
+
}
|
1329 |
|
1330 |
+
//add version if Iubenda privacy policy solution activated
|
1331 |
+
if ($product_key == 'pp') {
|
1332 |
+
$product_option["version"] = 'Manual';
|
1333 |
+
}
|
|
|
|
|
|
|
|
|
1334 |
|
1335 |
+
// Send options to save it
|
1336 |
+
$result['products_option'][$product_key] = $product_option;
|
1337 |
+
}else{
|
1338 |
+
$result['iubenda_activated_products'][$product_name] = 'false';
|
1339 |
+
}
|
1340 |
+
}
|
1341 |
+
|
1342 |
+
return $result;
|
1343 |
+
}
|
1344 |
+
|
1345 |
+
|
1346 |
+
/**
|
1347 |
+
* @param $products
|
1348 |
+
* @param $data
|
1349 |
+
* @return array
|
1350 |
+
*/
|
1351 |
+
public function init_prepare_product_options_while_upgrading($products, $data)
|
1352 |
+
{
|
1353 |
+
$result = [];
|
1354 |
+
|
1355 |
+
foreach ($products as $product_name => $product_key) {
|
1356 |
+
$product_option = [];
|
1357 |
+
|
1358 |
+
if(iub_array_get($data, "{$product_name}_status") && iub_array_get($data, "{$product_name}_status") == 'true'){
|
1359 |
+
$result['iubenda_activated_products'][$product_name] = 'true';
|
1360 |
+
$product_option['configured'] = 'true';
|
1361 |
+
|
1362 |
+
// Check if product is CONS
|
1363 |
+
if ($product_key == 'cons') {
|
1364 |
+
// iubenda_consent_solution saving data
|
1365 |
+
if(iub_array_get($data, "{$product_name}.public_api_key") ?: null){
|
1366 |
+
$product_option = ['public_api_key' => iub_array_get($data, "{$product_name}.public_api_key")];
|
1367 |
+
}else{
|
1368 |
+
$result['iubenda_activated_products'][$product_name] = 'false';
|
1369 |
+
}
|
1370 |
+
}
|
1371 |
|
1372 |
+
// Check if product in ['PP', 'CS', 'TC'] to check and validate embed codes
|
1373 |
+
if (in_array($product_key, ['pp', 'cs', 'tc'])) {
|
1374 |
+
$languages = (new ProductHelper())->get_languages();
|
1375 |
+
foreach ( $languages as $lang_id => $lang_name ) {
|
1376 |
+
$code = iub_array_get($data, "{$product_name}.code_{$lang_id}");
|
1377 |
+
|
1378 |
+
//check if code is empty or code is invalid
|
1379 |
+
$result['codes_statues']["{$product_name}_codes"][] = !empty($code);
|
1380 |
+
|
1381 |
+
//get public_id & site_id if only the product key is CS and had a valid embed code
|
1382 |
+
if ($product_key == 'cs' && $parsed_code = iubenda()->parse_configuration(stripslashes_deep($code))) {
|
1383 |
+
//getting site id to save it into Iubenda global option
|
1384 |
+
if (iub_array_get($parsed_code, 'siteId') ?: null) {
|
1385 |
+
$result['site_id'] = iub_array_get($parsed_code, 'siteId');
|
1386 |
+
}
|
1387 |
+
|
1388 |
+
//getting public id to save it into Iubenda global option by lang
|
1389 |
+
if (iub_array_get($parsed_code, 'cookiePolicyId') ?: null) {
|
1390 |
+
$result['public_ids'][$lang_id] = iub_array_get($parsed_code, 'cookiePolicyId');
|
1391 |
+
}
|
1392 |
+
}
|
1393 |
+
|
1394 |
+
if (in_array($product_key, ['pp', 'tc'])) {
|
1395 |
+
$parsed_code = iubenda()->parse_tc_pp_configuration(stripslashes_deep($code));
|
1396 |
+
|
1397 |
+
//getting public id to save it into Iubenda global option lang
|
1398 |
+
if ($parsed_code) {
|
1399 |
+
$result['public_ids'][$lang_id] = iub_array_get($parsed_code, 'cookie_policy_id');
|
1400 |
+
$product_option['button_style'] = iub_array_get($parsed_code, 'button_style');
|
1401 |
+
}
|
1402 |
+
|
1403 |
+
//to make tc/pp button appear in footer by default
|
1404 |
+
$product_option['button_position'] = 'automatic';
|
1405 |
+
|
1406 |
+
// Add a widget in the sidebar
|
1407 |
+
iubenda()->assign_legal_block_or_widget();
|
1408 |
+
}
|
1409 |
+
|
1410 |
+
$product_option["code_{$lang_id}"] = stripslashes($code);
|
1411 |
+
$product_option["manual_code_{$lang_id}"] = stripslashes($code);
|
1412 |
+
}
|
1413 |
+
}
|
1414 |
|
|
|
|
|
1415 |
|
1416 |
+
if (in_array($product_key, ['pp', 'tc'])) {
|
1417 |
+
// Add a widget in the sidebar if the button is positioned automatically
|
1418 |
+
iubenda()->assign_legal_block_or_widget();
|
1419 |
+
}
|
|
|
|
|
|
|
|
|
|
|
1420 |
|
1421 |
+
//add version if Iubenda privacy policy solution activated
|
1422 |
+
if ($product_key == 'pp') {
|
1423 |
+
$product_option["version"] = 'Manual';
|
1424 |
+
}
|
1425 |
|
1426 |
+
// Send options to save it
|
1427 |
+
$result['products_option'][$product_key] = $product_option;
|
1428 |
+
}else{
|
1429 |
+
$result['iubenda_activated_products'][$product_name] = 'false';
|
1430 |
+
}
|
1431 |
+
}
|
1432 |
+
|
1433 |
+
return $result;
|
1434 |
+
}
|
1435 |
+
|
1436 |
+
public function save_init_prepared_product_options($products, $result)
|
1437 |
+
{
|
1438 |
+
// Getting product option to save it
|
1439 |
+
foreach ($products as $product_name => $product_key) {
|
1440 |
+
$product_status = iub_array_get($result, "iubenda_activated_products.{$product_name}", 'false') ?: 'false';
|
1441 |
+
if($product_status == 'false'){
|
1442 |
+
continue;
|
1443 |
+
}
|
1444 |
+
|
1445 |
+
$product_option = iub_array_get($result, "products_option.{$product_key}", []) ?: [];
|
1446 |
+
|
1447 |
+
// Merging old $product_name options with new options
|
1448 |
+
update_option( $product_name, array_merge(iubenda()->options[$product_key] ?: [], $product_option));
|
1449 |
+
|
1450 |
+
// Update Iubenda instance with new $product_name options
|
1451 |
+
iubenda()->options[$product_key] = array_merge(iubenda()->options[$product_key] ?: [], $product_option);
|
1452 |
+
}
|
1453 |
+
|
1454 |
+
// Merging old iubenda activated products with new
|
1455 |
+
$old_iubenda_activated_products = iub_array_get(iubenda()->options, 'activated_products', []) ?: [];
|
1456 |
+
$new_iubenda_activated_products = iub_array_get($result, 'iubenda_activated_products', []) ?: [];
|
1457 |
+
update_option( 'iubenda_activated_products', array_merge($old_iubenda_activated_products, $new_iubenda_activated_products));
|
1458 |
+
|
1459 |
+
// Update Iubenda instance with new activated products
|
1460 |
+
iubenda()->options['activated_products'] = array_merge($old_iubenda_activated_products, $new_iubenda_activated_products);
|
1461 |
+
|
1462 |
+
// Merging old iubenda global options with new
|
1463 |
+
$old_iubenda_global_options = iub_array_get(iubenda()->options, 'global_options', []) ?: [];
|
1464 |
+
|
1465 |
+
$new_iubenda_global_options = [];
|
1466 |
+
if(iub_array_get($result, 'site_id') ?: null){
|
1467 |
+
$new_iubenda_global_options['site_id'] = iub_array_get($result, 'site_id');
|
1468 |
+
}
|
1469 |
+
if(iub_array_get($result, 'public_ids', []) ?: null){
|
1470 |
+
$new_iubenda_global_options['public_ids'] = iub_array_get($result, 'public_ids', []);
|
1471 |
+
}
|
1472 |
+
update_option( 'iubenda_global_options', array_merge($old_iubenda_global_options, $new_iubenda_global_options));
|
1473 |
+
iubenda()->options['global_options'] = array_merge($old_iubenda_global_options, $new_iubenda_global_options);
|
1474 |
+
|
1475 |
+
$this->load_defaults();
|
1476 |
+
}
|
1477 |
}
|
includes/widget/IubendaLegalWidget.php
ADDED
@@ -0,0 +1,239 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
|
4 |
+
class IubendaLegalWidget extends WP_Widget
|
5 |
+
{
|
6 |
+
private $widget_id = 'iubenda_legal_widget';
|
7 |
+
|
8 |
+
private $default_widget_title = 'Legal';
|
9 |
+
|
10 |
+
public function __construct()
|
11 |
+
{
|
12 |
+
parent::__construct(
|
13 |
+
|
14 |
+
// Base ID of your widget
|
15 |
+
$this->widget_id,
|
16 |
+
|
17 |
+
// Widget name will appear in UI
|
18 |
+
__('Iubenda legal', 'iubenda'),
|
19 |
+
|
20 |
+
// Widget description
|
21 |
+
['description' => __('Iubenda legal widget for Privacy Policy and Terms & Conditions', 'iubenda'),]
|
22 |
+
);
|
23 |
+
|
24 |
+
add_action( 'iubenda_assign_widget_to_first_sidebar', [$this, 'assign_iubenda_widget'] );
|
25 |
+
$this->init();
|
26 |
+
}
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Register HOOKS
|
30 |
+
*
|
31 |
+
* @return void
|
32 |
+
*/
|
33 |
+
private function init() {
|
34 |
+
add_action('widgets_init', [$this, 'register_widget']);
|
35 |
+
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Set default value for the first Iubenda Legal widget
|
39 |
+
* @return array|array[]|ArrayIterator|ArrayObject|false
|
40 |
+
*/
|
41 |
+
public function get_settings()
|
42 |
+
{
|
43 |
+
$settings = parent::get_settings();
|
44 |
+
// Set default value for the first widget
|
45 |
+
if (!$settings) {
|
46 |
+
return [1 => []];
|
47 |
+
}
|
48 |
+
|
49 |
+
return $settings;
|
50 |
+
}
|
51 |
+
|
52 |
+
/**
|
53 |
+
* Override display callback
|
54 |
+
*
|
55 |
+
* @param $args
|
56 |
+
* @param $widget_args
|
57 |
+
* @return void
|
58 |
+
*/
|
59 |
+
public function display_callback( $args, $widget_args = 1 ) {
|
60 |
+
|
61 |
+
if ( is_numeric( $widget_args ) ) {
|
62 |
+
$widget_args = array( 'number' => $widget_args );
|
63 |
+
}
|
64 |
+
|
65 |
+
$widget_args = wp_parse_args( $widget_args, array( 'number' => -1 ) );
|
66 |
+
$this->_set( $widget_args['number'] );
|
67 |
+
$instances = $this->get_settings();
|
68 |
+
|
69 |
+
// Additional code to add default title widget title if it's not set yet
|
70 |
+
if (!$instances) {
|
71 |
+
$instances[$this->number] = ['title' => __($this->default_widget_title ,'iubenda')];
|
72 |
+
}
|
73 |
+
|
74 |
+
if ( isset( $instances[ $this->number ] ) ) {
|
75 |
+
$instance = $instances[ $this->number ];
|
76 |
+
|
77 |
+
/**
|
78 |
+
* Filters the settings for a particular widget instance.
|
79 |
+
*
|
80 |
+
* Returning false will effectively short-circuit display of the widget.
|
81 |
+
*
|
82 |
+
* @since 2.8.0
|
83 |
+
*
|
84 |
+
* @param array $instance The current widget instance's settings.
|
85 |
+
* @param WP_Widget $widget The current widget instance.
|
86 |
+
* @param array $args An array of default widget arguments.
|
87 |
+
*/
|
88 |
+
$instance = apply_filters( 'widget_display_callback', $instance, $this, $args );
|
89 |
+
|
90 |
+
if ( false === $instance ) {
|
91 |
+
return;
|
92 |
+
}
|
93 |
+
|
94 |
+
$was_cache_addition_suspended = wp_suspend_cache_addition();
|
95 |
+
if ( $this->is_preview() && ! $was_cache_addition_suspended ) {
|
96 |
+
wp_suspend_cache_addition( true );
|
97 |
+
}
|
98 |
+
|
99 |
+
$this->widget( $args, $instance );
|
100 |
+
|
101 |
+
if ( $this->is_preview() ) {
|
102 |
+
wp_suspend_cache_addition( $was_cache_addition_suspended );
|
103 |
+
}
|
104 |
+
}
|
105 |
+
}
|
106 |
+
|
107 |
+
|
108 |
+
// Creating widget front-end
|
109 |
+
public function widget($args, $instance)
|
110 |
+
{
|
111 |
+
$ppStatus = iub_array_get(iubenda()->settings->services, 'pp.status') == 'true';
|
112 |
+
$ppPosition = iub_array_get(iubenda()->options['pp'], 'button_position') == 'automatic';
|
113 |
+
|
114 |
+
$tcStatus = iub_array_get(iubenda()->settings->services, 'tc.status') == 'true';
|
115 |
+
$tcPosition = iub_array_get(iubenda()->options['tc'], 'button_position') == 'automatic';
|
116 |
+
|
117 |
+
// Checking if there is no public id for current language
|
118 |
+
if ( iubenda()->multilang && ! empty( iubenda()->lang_current ) ) {
|
119 |
+
$lang_id = iubenda()->lang_current;
|
120 |
+
} else {
|
121 |
+
$lang_id = 'default';
|
122 |
+
}
|
123 |
+
|
124 |
+
$public_id = iub_array_get(iubenda()->options['global_options'], "public_ids.{$lang_id}", false) ?: false;
|
125 |
+
|
126 |
+
// Return false if there is no public id for current language
|
127 |
+
if (!($public_id)) {
|
128 |
+
return false;
|
129 |
+
}
|
130 |
+
$quickGeneratorService = new QuickGeneratorService();
|
131 |
+
|
132 |
+
if (!($ppStatus && $ppPosition && boolval($quickGeneratorService->pp_button())) && !($tcStatus && $tcPosition && boolval($quickGeneratorService->tc_button()))) {
|
133 |
+
return false;
|
134 |
+
}
|
135 |
+
|
136 |
+
$title = apply_filters('widget_title', iub_array_get($instance, 'title') ?? 'Legal');
|
137 |
+
|
138 |
+
// before and after widget arguments are defined by themes
|
139 |
+
echo $args['before_widget'];
|
140 |
+
if (!empty($title)) echo $args['before_title'] . $title . $args['after_title'];
|
141 |
+
|
142 |
+
// Display TC or PP if activated
|
143 |
+
if (($ppStatus && $ppPosition) || ($tcStatus && $tcPosition)) {
|
144 |
+
|
145 |
+
$legal = '<section>';
|
146 |
+
|
147 |
+
if($ppStatus && $ppPosition){
|
148 |
+
$legal .= $quickGeneratorService->pp_button();
|
149 |
+
}
|
150 |
+
if(($ppStatus && $ppPosition) && ($tcStatus && $tcPosition)){
|
151 |
+
$legal .= '<br>';
|
152 |
+
}
|
153 |
+
if($tcStatus && $tcPosition){
|
154 |
+
$legal .= $quickGeneratorService->tc_button();
|
155 |
+
}
|
156 |
+
|
157 |
+
$legal .= '</section>';
|
158 |
+
|
159 |
+
echo $legal;
|
160 |
+
}
|
161 |
+
echo $args['after_widget'];
|
162 |
+
}
|
163 |
+
|
164 |
+
// Widget Backend
|
165 |
+
public function form($instance)
|
166 |
+
{
|
167 |
+
$title = __('Legal', 'iubenda');
|
168 |
+
|
169 |
+
if (isset($instance['title'])) {
|
170 |
+
$title = $instance['title'];
|
171 |
+
}
|
172 |
+
|
173 |
+
// Widget admin form
|
174 |
+
?>
|
175 |
+
<p>
|
176 |
+
<label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Title:'); ?></label>
|
177 |
+
<input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo esc_attr($title); ?>"/>
|
178 |
+
</p>
|
179 |
+
<?php
|
180 |
+
}
|
181 |
+
|
182 |
+
// Updating widget replacing old instances with new
|
183 |
+
public function update($new_instance, $old_instance)
|
184 |
+
{
|
185 |
+
$instance = [];
|
186 |
+
$instance['title'] = (!empty($new_instance['title'])) ? strip_tags($new_instance['title']) : '';
|
187 |
+
return $instance;
|
188 |
+
}
|
189 |
+
|
190 |
+
/**
|
191 |
+
* Assign iubenda widget to registered sidebar if exists and not registered before
|
192 |
+
*
|
193 |
+
* @return bool
|
194 |
+
*/
|
195 |
+
public function assign_iubenda_widget()
|
196 |
+
{
|
197 |
+
global $wp_registered_sidebars;
|
198 |
+
|
199 |
+
// Check if iubenda widget activated in any sidebar
|
200 |
+
if (is_active_widget(false, false, $this->widget_id)) {
|
201 |
+
return;
|
202 |
+
}
|
203 |
+
|
204 |
+
// If sidebar-1 not registered or not activated
|
205 |
+
if (!iub_array_get($wp_registered_sidebars, 'sidebar-1')) {
|
206 |
+
return;
|
207 |
+
}
|
208 |
+
|
209 |
+
// Iubenda widget in not activated in sidebar and sidebar-1 is registered and activated
|
210 |
+
wp_assign_widget_to_sidebar("{$this->widget_id}-1", 'sidebar-1');
|
211 |
+
}
|
212 |
+
|
213 |
+
/**
|
214 |
+
* Register current widget in WP
|
215 |
+
*
|
216 |
+
* @return void
|
217 |
+
*/
|
218 |
+
public function register_widget() {
|
219 |
+
register_widget(__CLASS__);
|
220 |
+
}
|
221 |
+
|
222 |
+
/**
|
223 |
+
* Check current theme supports widget
|
224 |
+
*/
|
225 |
+
public function check_current_theme_supports_widget()
|
226 |
+
{
|
227 |
+
global $wp_registered_sidebars;
|
228 |
+
|
229 |
+
// If sidebar-1 registered and activated
|
230 |
+
if (iub_array_get($wp_registered_sidebars, 'sidebar-1')) {
|
231 |
+
return true;
|
232 |
+
}
|
233 |
+
|
234 |
+
return false;
|
235 |
+
}
|
236 |
+
}
|
237 |
+
|
238 |
+
|
239 |
+
|
iubenda-cookie-class/README.md
CHANGED
@@ -98,7 +98,17 @@ These operations take place in accordance with the rules explained in [this guid
|
|
98 |
|
99 |
## Changelog
|
100 |
|
101 |
-
##### 4.1.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
* Fix: Avoid overriding the purposes attr if it was set
|
103 |
|
104 |
##### 4.1.7
|
98 |
|
99 |
## Changelog
|
100 |
|
101 |
+
##### 4.1.11
|
102 |
+
* Support PHP 8
|
103 |
+
|
104 |
+
##### 4.1.10
|
105 |
+
* Move www.googletagmanager.com/gtag/js under analytics #4
|
106 |
+
|
107 |
+
##### 4.1.9
|
108 |
+
* Fix SSRF security vulnerability
|
109 |
+
* Remove googletagmanager.com/gtm.js from basic interaction
|
110 |
+
|
111 |
+
##### ``4.1.8
|
112 |
* Fix: Avoid overriding the purposes attr if it was set
|
113 |
|
114 |
##### 4.1.7
|
iubenda-cookie-class/iubenda.class.page.php
CHANGED
@@ -266,10 +266,10 @@ if('callback' in _iub.csConfiguration) {
|
|
266 |
$html = preg_replace( "#google_ad_width =(.*?);#i", "", $html, 1 );
|
267 |
$html = preg_replace( "#google_ad_height =(.*?);#i", "", $html, 1 );
|
268 |
|
269 |
-
$ad_client = trim( $ad_client[1] );
|
270 |
-
$ad_slot = trim( $ad_slot[1] );
|
271 |
-
$ad_width = trim( $ad_width[1] );
|
272 |
-
$ad_height = trim( $ad_height[1] );
|
273 |
|
274 |
$ad_class = 'class="_iub_cs_activate_google_ads"';
|
275 |
$ad_style = 'style="width:' . $ad_width . 'px; height:' . $ad_height . 'px;"';
|
266 |
$html = preg_replace( "#google_ad_width =(.*?);#i", "", $html, 1 );
|
267 |
$html = preg_replace( "#google_ad_height =(.*?);#i", "", $html, 1 );
|
268 |
|
269 |
+
$ad_client = trim( $ad_client[1] ?: '' );
|
270 |
+
$ad_slot = trim( $ad_slot[1] ?: '' );
|
271 |
+
$ad_width = trim( $ad_width[1] ?: '' );
|
272 |
+
$ad_height = trim( $ad_height[1] ?: '' );
|
273 |
|
274 |
$ad_class = 'class="_iub_cs_activate_google_ads"';
|
275 |
$ad_style = 'style="width:' . $ad_width . 'px; height:' . $ad_height . 'px;"';
|
iubenda-cookie-class/iubenda.class.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
* @author iubenda s.r.l
|
6 |
* @copyright 2018-2020, iubenda s.r.l
|
7 |
* @license GNU/GPL
|
8 |
-
* @version 4.1.
|
9 |
* @deprecated
|
10 |
*
|
11 |
* This program is free software: you can redistribute it and/or modify
|
@@ -57,7 +57,6 @@ class iubendaParser {
|
|
57 |
2 => array(
|
58 |
'apis.google.com/js/api.js',
|
59 |
'cse.google.com/cse.js',
|
60 |
-
'googletagmanager.com/gtm.js',
|
61 |
'loader.engage.gsfn.us/loader.js',
|
62 |
'headwayapp.co/widget.js',
|
63 |
'wchat.freshchat.com',
|
@@ -97,7 +96,8 @@ class iubendaParser {
|
|
97 |
'i.kissmetrics.com/i.js',
|
98 |
'cdn.mxpnl.com',
|
99 |
'rum-static.pingdom.net/prum.min.js',
|
100 |
-
'google-analytics.com/analytics.js'
|
|
|
101 |
),
|
102 |
// Targeting & Advertising
|
103 |
5 => array(
|
@@ -105,7 +105,6 @@ class iubendaParser {
|
|
105 |
'securepubads.g.doubleclick.net/tag/js/gpt.js',
|
106 |
'googlesyndication.com/pagead/show_ads.js',
|
107 |
'googleadservices.com/pagead/conversion.js',
|
108 |
-
'www.googletagmanager.com/gtag/js',
|
109 |
'window.adsbygoogle',
|
110 |
'static.ads-twitter.com',
|
111 |
'static.criteo.net/js/',
|
@@ -442,7 +441,7 @@ class iubendaParser {
|
|
442 |
switch ( $element->tag ) {
|
443 |
case 'script':
|
444 |
case 'iframe':
|
445 |
-
$class = trim( $element->class );
|
446 |
$element->class = ( $class !== '' ? $class . ' ' : '' ) . $this->iub_class_skip;
|
447 |
$js .= $element->outertext;
|
448 |
break;
|
@@ -482,7 +481,7 @@ class iubendaParser {
|
|
482 |
// loop through scripts
|
483 |
for ( $j = 0; $j < $count; $j ++ ) {
|
484 |
$s = $scripts[$j];
|
485 |
-
$script_class = trim( $s->class );
|
486 |
|
487 |
if ( $script_class !== '' ) {
|
488 |
$classes = explode( ' ', $script_class );
|
@@ -566,10 +565,10 @@ class iubendaParser {
|
|
566 |
$html = preg_replace( "#google_ad_width =(.*?);#i", "", $html, 1 );
|
567 |
$html = preg_replace( "#google_ad_height =(.*?);#i", "", $html, 1 );
|
568 |
|
569 |
-
$ad_client = trim( $ad_client[1] );
|
570 |
-
$ad_slot = trim( $ad_slot[1] );
|
571 |
-
$ad_width = trim( $ad_width[1] );
|
572 |
-
$ad_height = trim( $ad_height[1] );
|
573 |
|
574 |
$ad_class = 'class="' . $this->iub_class . '_google_ads"';
|
575 |
$ad_style = 'style="width:' . $ad_width . 'px; height:' . $ad_height . 'px;"';
|
@@ -659,7 +658,7 @@ class iubendaParser {
|
|
659 |
if ( ! empty( $scripts ) && is_object( $scripts ) ) {
|
660 |
foreach ( $scripts as $script ) {
|
661 |
$src = $script->getAttribute( 'src' );
|
662 |
-
$script_class = trim( $script->getAttribute( 'class' ) );
|
663 |
|
664 |
if ( $script_class !== '' ) {
|
665 |
$classes = explode( ' ', $script_class );
|
@@ -755,7 +754,7 @@ class iubendaParser {
|
|
755 |
|
756 |
for ( $j = 0; $j < $count; $j ++ ) {
|
757 |
$i = $iframes[$j];
|
758 |
-
$iframe_class = trim( $i->class );
|
759 |
|
760 |
if ( $iframe_class !== '' ) {
|
761 |
$classes = explode( ' ', $iframe_class );
|
@@ -821,7 +820,7 @@ class iubendaParser {
|
|
821 |
if ( ! empty( $iframes ) && is_object( $iframes ) ) {
|
822 |
foreach ( $iframes as $iframe ) {
|
823 |
$src = $iframe->getAttribute( 'src' );
|
824 |
-
$iframe_class = trim( $iframe->getAttribute( 'class' ) );
|
825 |
|
826 |
if ( $iframe_class !== '' ) {
|
827 |
$classes = explode( ' ', $iframe_class );
|
5 |
* @author iubenda s.r.l
|
6 |
* @copyright 2018-2020, iubenda s.r.l
|
7 |
* @license GNU/GPL
|
8 |
+
* @version 4.1.11
|
9 |
* @deprecated
|
10 |
*
|
11 |
* This program is free software: you can redistribute it and/or modify
|
57 |
2 => array(
|
58 |
'apis.google.com/js/api.js',
|
59 |
'cse.google.com/cse.js',
|
|
|
60 |
'loader.engage.gsfn.us/loader.js',
|
61 |
'headwayapp.co/widget.js',
|
62 |
'wchat.freshchat.com',
|
96 |
'i.kissmetrics.com/i.js',
|
97 |
'cdn.mxpnl.com',
|
98 |
'rum-static.pingdom.net/prum.min.js',
|
99 |
+
'google-analytics.com/analytics.js',
|
100 |
+
'www.googletagmanager.com/gtag/js'
|
101 |
),
|
102 |
// Targeting & Advertising
|
103 |
5 => array(
|
105 |
'securepubads.g.doubleclick.net/tag/js/gpt.js',
|
106 |
'googlesyndication.com/pagead/show_ads.js',
|
107 |
'googleadservices.com/pagead/conversion.js',
|
|
|
108 |
'window.adsbygoogle',
|
109 |
'static.ads-twitter.com',
|
110 |
'static.criteo.net/js/',
|
441 |
switch ( $element->tag ) {
|
442 |
case 'script':
|
443 |
case 'iframe':
|
444 |
+
$class = trim( $element->class ?: '' );
|
445 |
$element->class = ( $class !== '' ? $class . ' ' : '' ) . $this->iub_class_skip;
|
446 |
$js .= $element->outertext;
|
447 |
break;
|
481 |
// loop through scripts
|
482 |
for ( $j = 0; $j < $count; $j ++ ) {
|
483 |
$s = $scripts[$j];
|
484 |
+
$script_class = trim( $s->class ?: '' );
|
485 |
|
486 |
if ( $script_class !== '' ) {
|
487 |
$classes = explode( ' ', $script_class );
|
565 |
$html = preg_replace( "#google_ad_width =(.*?);#i", "", $html, 1 );
|
566 |
$html = preg_replace( "#google_ad_height =(.*?);#i", "", $html, 1 );
|
567 |
|
568 |
+
$ad_client = trim( $ad_client[1] ?: '' );
|
569 |
+
$ad_slot = trim( $ad_slot[1] ?: '' );
|
570 |
+
$ad_width = trim( $ad_width[1] ?: '' );
|
571 |
+
$ad_height = trim( $ad_height[1] ?: '' );
|
572 |
|
573 |
$ad_class = 'class="' . $this->iub_class . '_google_ads"';
|
574 |
$ad_style = 'style="width:' . $ad_width . 'px; height:' . $ad_height . 'px;"';
|
658 |
if ( ! empty( $scripts ) && is_object( $scripts ) ) {
|
659 |
foreach ( $scripts as $script ) {
|
660 |
$src = $script->getAttribute( 'src' );
|
661 |
+
$script_class = trim( $script->getAttribute( 'class' ) ?: '' );
|
662 |
|
663 |
if ( $script_class !== '' ) {
|
664 |
$classes = explode( ' ', $script_class );
|
754 |
|
755 |
for ( $j = 0; $j < $count; $j ++ ) {
|
756 |
$i = $iframes[$j];
|
757 |
+
$iframe_class = trim( $i->class ?: '' );
|
758 |
|
759 |
if ( $iframe_class !== '' ) {
|
760 |
$classes = explode( ' ', $iframe_class );
|
820 |
if ( ! empty( $iframes ) && is_object( $iframes ) ) {
|
821 |
foreach ( $iframes as $iframe ) {
|
822 |
$src = $iframe->getAttribute( 'src' );
|
823 |
+
$iframe_class = trim( $iframe->getAttribute( 'class' ) ?: '' );
|
824 |
|
825 |
if ( $iframe_class !== '' ) {
|
826 |
$classes = explode( ' ', $iframe_class );
|
iubenda-cookie-class/listeners/GoogleTagManagerListener.php
CHANGED
@@ -43,7 +43,7 @@ class GoogleTagManagerListener {
|
|
43 |
}
|
44 |
|
45 |
# Avoid non inline-scripts
|
46 |
-
if ( ! trim( $str ) ) {
|
47 |
continue;
|
48 |
}
|
49 |
|
43 |
}
|
44 |
|
45 |
# Avoid non inline-scripts
|
46 |
+
if ( ! trim( $str ?: '' ) ) {
|
47 |
continue;
|
48 |
}
|
49 |
|
iubenda-cookie-class/simple_html_dom.php
CHANGED
@@ -444,7 +444,7 @@ class simple_html_dom_node
|
|
444 |
foreach ($this->nodes as $n) {
|
445 |
// Start paragraph after a blank line
|
446 |
if ($n->tag === 'p') {
|
447 |
-
$ret = trim($ret) . "\n\n";
|
448 |
}
|
449 |
|
450 |
$ret .= $this->convert_text($n->text());
|
@@ -632,7 +632,7 @@ class simple_html_dom_node
|
|
632 |
// Check if ID matches
|
633 |
if ($pass && $id !== '' && isset($node->attr['id'])) {
|
634 |
// Note: Only consider the first ID (as browsers do)
|
635 |
-
$node_id = explode(' ', trim($node->attr['id']))[0];
|
636 |
|
637 |
if($id !== $node_id) { $pass = false; }
|
638 |
}
|
@@ -818,7 +818,7 @@ class simple_html_dom_node
|
|
818 |
* anything (since the words are separated by spaces). Also if
|
819 |
* "val" is the empty string, it will never represent anything.
|
820 |
*/
|
821 |
-
return in_array($pattern, explode(' ', trim($value)), true);
|
822 |
}
|
823 |
return false;
|
824 |
}
|
@@ -876,7 +876,7 @@ class simple_html_dom_node
|
|
876 |
|
877 |
preg_match_all(
|
878 |
$pattern,
|
879 |
-
trim($selector_string) . ' ', // Add final ' ' as pseudo separator
|
880 |
$matches,
|
881 |
PREG_SET_ORDER
|
882 |
);
|
@@ -889,7 +889,7 @@ class simple_html_dom_node
|
|
889 |
$result = array();
|
890 |
|
891 |
foreach ($matches as $m) {
|
892 |
-
$m[0] = trim($m[0]);
|
893 |
|
894 |
// Skip NoOps
|
895 |
if ($m[0] === '' || $m[0] === '/' || $m[0] === '//') { continue; }
|
@@ -915,7 +915,7 @@ class simple_html_dom_node
|
|
915 |
if($m[4] !== '') {
|
916 |
preg_match_all(
|
917 |
"/\[@?(!?[\w:-]+)(?:([!*^$|~]?=)[\"']?(.*?)[\"']?)?(?:\s+?([iIsS])?)?\]/is",
|
918 |
-
trim($m[4]),
|
919 |
$attributes,
|
920 |
PREG_SET_ORDER
|
921 |
);
|
@@ -925,7 +925,7 @@ class simple_html_dom_node
|
|
925 |
|
926 |
foreach($attributes as $att) {
|
927 |
// Skip empty matches
|
928 |
-
if(trim($att[0]) === '') { continue; }
|
929 |
|
930 |
$inverted = (isset($att[1][0]) && $att[1][0] === '!');
|
931 |
$m[4][] = array(
|
@@ -939,10 +939,10 @@ class simple_html_dom_node
|
|
939 |
}
|
940 |
|
941 |
// Sanitize Separator
|
942 |
-
if ($m[5] !== '' && trim($m[5]) === '') { // Descendant Separator
|
943 |
$m[5] = ' ';
|
944 |
} else { // Other Separator
|
945 |
-
$m[5] = trim($m[5]);
|
946 |
}
|
947 |
|
948 |
// Clear Separator if it's a Selector List
|
@@ -1625,7 +1625,7 @@ class simple_html_dom
|
|
1625 |
{
|
1626 |
$this->clear();
|
1627 |
|
1628 |
-
$this->doc = trim($str);
|
1629 |
$this->size = strlen($this->doc);
|
1630 |
$this->original_size = $this->size; // original size of the html
|
1631 |
$this->pos = 0;
|
@@ -2115,7 +2115,7 @@ class simple_html_dom
|
|
2115 |
// PaperG: If this is a "class" selector, lets get rid of the preceeding
|
2116 |
// and trailing space since some people leave it in the multi class case.
|
2117 |
if ($name === 'class') {
|
2118 |
-
$value = trim($value);
|
2119 |
}
|
2120 |
|
2121 |
if (!$is_duplicate) {
|
444 |
foreach ($this->nodes as $n) {
|
445 |
// Start paragraph after a blank line
|
446 |
if ($n->tag === 'p') {
|
447 |
+
$ret = trim($ret ?: '') . "\n\n";
|
448 |
}
|
449 |
|
450 |
$ret .= $this->convert_text($n->text());
|
632 |
// Check if ID matches
|
633 |
if ($pass && $id !== '' && isset($node->attr['id'])) {
|
634 |
// Note: Only consider the first ID (as browsers do)
|
635 |
+
$node_id = explode(' ', trim($node->attr['id'] ?: ''))[0];
|
636 |
|
637 |
if($id !== $node_id) { $pass = false; }
|
638 |
}
|
818 |
* anything (since the words are separated by spaces). Also if
|
819 |
* "val" is the empty string, it will never represent anything.
|
820 |
*/
|
821 |
+
return in_array($pattern, explode(' ', trim($value ?: '')), true);
|
822 |
}
|
823 |
return false;
|
824 |
}
|
876 |
|
877 |
preg_match_all(
|
878 |
$pattern,
|
879 |
+
trim($selector_string ?: '') . ' ', // Add final ' ' as pseudo separator
|
880 |
$matches,
|
881 |
PREG_SET_ORDER
|
882 |
);
|
889 |
$result = array();
|
890 |
|
891 |
foreach ($matches as $m) {
|
892 |
+
$m[0] = trim($m[0] ?: '');
|
893 |
|
894 |
// Skip NoOps
|
895 |
if ($m[0] === '' || $m[0] === '/' || $m[0] === '//') { continue; }
|
915 |
if($m[4] !== '') {
|
916 |
preg_match_all(
|
917 |
"/\[@?(!?[\w:-]+)(?:([!*^$|~]?=)[\"']?(.*?)[\"']?)?(?:\s+?([iIsS])?)?\]/is",
|
918 |
+
trim($m[4] ?: ''),
|
919 |
$attributes,
|
920 |
PREG_SET_ORDER
|
921 |
);
|
925 |
|
926 |
foreach($attributes as $att) {
|
927 |
// Skip empty matches
|
928 |
+
if(trim($att[0] ?: '') === '') { continue; }
|
929 |
|
930 |
$inverted = (isset($att[1][0]) && $att[1][0] === '!');
|
931 |
$m[4][] = array(
|
939 |
}
|
940 |
|
941 |
// Sanitize Separator
|
942 |
+
if ($m[5] !== '' && trim($m[5] ?: '') === '') { // Descendant Separator
|
943 |
$m[5] = ' ';
|
944 |
} else { // Other Separator
|
945 |
+
$m[5] = trim($m[5] ?: '');
|
946 |
}
|
947 |
|
948 |
// Clear Separator if it's a Selector List
|
1625 |
{
|
1626 |
$this->clear();
|
1627 |
|
1628 |
+
$this->doc = trim($str ?: '');
|
1629 |
$this->size = strlen($this->doc);
|
1630 |
$this->original_size = $this->size; // original size of the html
|
1631 |
$this->pos = 0;
|
2115 |
// PaperG: If this is a "class" selector, lets get rid of the preceeding
|
2116 |
// and trailing space since some people leave it in the multi class case.
|
2117 |
if ($name === 'class') {
|
2118 |
+
$value = trim($value ?: '');
|
2119 |
}
|
2120 |
|
2121 |
if (!$is_duplicate) {
|
iubenda-cookie-class/test.php
DELETED
@@ -1,116 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* test.php
|
4 |
-
*
|
5 |
-
* @author iubenda s.r.l
|
6 |
-
* @copyright 2018-2020, iubenda s.r.l
|
7 |
-
* @license GNU/GPL
|
8 |
-
*
|
9 |
-
* This program is free software: you can redistribute it and/or modify
|
10 |
-
* it under the terms of the GNU General Public License as published by
|
11 |
-
* the Free Software Foundation, either version 3 of the License, or
|
12 |
-
* (at your option) any later version.
|
13 |
-
*
|
14 |
-
* This program is distributed in the hope that it will be useful,
|
15 |
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
16 |
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
17 |
-
* GNU General Public License for more details.
|
18 |
-
*
|
19 |
-
* You should have received a copy of the GNU General Public License
|
20 |
-
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
21 |
-
*/
|
22 |
-
|
23 |
-
ini_set( 'max_execution_time', 300 );
|
24 |
-
?>
|
25 |
-
|
26 |
-
<html>
|
27 |
-
<head>
|
28 |
-
<!-- Latest compiled and minified CSS -->
|
29 |
-
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
|
30 |
-
|
31 |
-
<!-- Optional theme -->
|
32 |
-
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap-theme.min.css">
|
33 |
-
<style>
|
34 |
-
ul { margin: 0; padding: 0;}
|
35 |
-
ul li { list-style-type: none; }
|
36 |
-
</style>
|
37 |
-
</head>
|
38 |
-
<body>
|
39 |
-
<div class="container">
|
40 |
-
<div class="row">
|
41 |
-
<div class="col-md-12">
|
42 |
-
<h1>iubenda class test</h1>
|
43 |
-
<form action="" method="POST">
|
44 |
-
<strong>URL WEBSITE</strong><BR>
|
45 |
-
<input type="text" name="url">
|
46 |
-
<input type="submit" class="btn" value="Analyze">
|
47 |
-
</form>
|
48 |
-
</div>
|
49 |
-
|
50 |
-
<?php
|
51 |
-
if ( ! empty( $_POST['url'] ) )
|
52 |
-
if (substr($_POST['url'], 0, 4) == "http") {
|
53 |
-
$url = filter_var( $_POST['url'], FILTER_SANITIZE_URL );
|
54 |
-
}
|
55 |
-
else
|
56 |
-
$url = '';
|
57 |
-
|
58 |
-
if ( $url ) {
|
59 |
-
|
60 |
-
function print_stuff( $array ) {
|
61 |
-
if ( count( $array ) ) {
|
62 |
-
echo "<ul>";
|
63 |
-
foreach ( $array as $r ) {
|
64 |
-
echo "<li><pre><code>" . htmlspecialchars( $r ) . "</code></pre></li>";
|
65 |
-
}
|
66 |
-
echo "</ul>";
|
67 |
-
} else {
|
68 |
-
echo "<p>Nothing</p>";
|
69 |
-
}
|
70 |
-
}
|
71 |
-
|
72 |
-
echo '<div class="col-md-12" style="padding-bottom:150px;"><h2>RESULTS</H2>';
|
73 |
-
|
74 |
-
include_once( 'iubenda.class.php' );
|
75 |
-
|
76 |
-
$content = file_get_contents( $url );
|
77 |
-
|
78 |
-
$type = isset( $_GET['type'] ) && in_array( $_GET['type'], array( 'page', 'faster' ), true ) ? $_GET['type'] : 'page';
|
79 |
-
$iubenda = new iubendaParser( $content, array( 'type' => $type ) );
|
80 |
-
$iubenda->parse();
|
81 |
-
|
82 |
-
$iub_comments_detected = count( $iubenda->iub_comments_detected );
|
83 |
-
$scripts_detected = count( $iubenda->scripts_detected );
|
84 |
-
$iframes_detected = count( $iubenda->iframes_detected );
|
85 |
-
$iframes_converted = count( $iubenda->iframes_converted );
|
86 |
-
$script_inline_detected = count( $iubenda->scripts_inline_detected );
|
87 |
-
$script_inline_converted = count( $iubenda->scripts_inline_converted );
|
88 |
-
$script_converted = count( $iubenda->scripts_converted );
|
89 |
-
|
90 |
-
echo "<p>Iubenda comments detected: $iub_comments_detected<br>Iubenda automatic stuff<br>Iframe detected: $iframes_detected<br>Iframe autoconverted: $iframes_converted<br>Scripts detected: $scripts_detected<br>Scripts autoconverted: $script_converted<br>Inline scripts detected: $script_inline_detected<br>Inline scripts autoconverted: $script_inline_converted</p>";
|
91 |
-
|
92 |
-
echo "<H3>DETAILS</H3>";
|
93 |
-
|
94 |
-
echo "<H4>iubenda comments stuff</h4>";
|
95 |
-
print_stuff( $iubenda->iub_comments_detected );
|
96 |
-
echo "<H4>Script detected</h4>";
|
97 |
-
print_stuff( $iubenda->scripts_detected );
|
98 |
-
echo "<H4>Script converted</h4>";
|
99 |
-
print_stuff( $iubenda->scripts_converted );
|
100 |
-
echo "<H4>Script inline detected</h4>";
|
101 |
-
print_stuff( $iubenda->scripts_inline_detected );
|
102 |
-
echo "<H4>Script inline converted</h4>";
|
103 |
-
print_stuff( $iubenda->scripts_inline_converted );
|
104 |
-
echo "<H4>Iframe detected</h4>";
|
105 |
-
print_stuff( $iubenda->iframes_detected );
|
106 |
-
echo "<H4>Iframe converted</h4>";
|
107 |
-
print_stuff( $iubenda->iframes_converted );
|
108 |
-
|
109 |
-
echo "</div>";
|
110 |
-
}
|
111 |
-
?>
|
112 |
-
</div>
|
113 |
-
</div>
|
114 |
-
|
115 |
-
</body>
|
116 |
-
</html>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
iubenda_cookie_solution.php
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
/*
|
3 |
Plugin Name: Cookie and Consent Solution for the GDPR & ePrivacy
|
4 |
Plugin URI: https://www.iubenda.com
|
5 |
-
Description:
|
6 |
-
Version: 2.5
|
7 |
Author: iubenda
|
8 |
Author URI: https://www.iubenda.com
|
9 |
License: MIT License
|
@@ -31,21 +31,30 @@ define( 'IUB_DEBUG', false );
|
|
31 |
/**
|
32 |
* iubenda final class.
|
33 |
*
|
|
|
|
|
|
|
|
|
34 |
* @class iubenda
|
35 |
-
* @version 2.5
|
36 |
*/
|
37 |
class iubenda {
|
38 |
|
|
|
|
|
|
|
|
|
|
|
39 |
private static $instance;
|
40 |
public $options = array();
|
41 |
public $defaults = array(
|
42 |
'cs' => array(
|
43 |
-
'parse' =>
|
44 |
-
'skip_parsing' =>
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
'code_default' => false, // iubenda-code-default,
|
50 |
'menu_position' => 'topmenu',
|
51 |
'amp_support' => false,
|
@@ -54,7 +63,30 @@ class iubenda {
|
|
54 |
'amp_template' => '',
|
55 |
'custom_scripts' => array(),
|
56 |
'custom_iframes' => array(),
|
57 |
-
'deactivation' => false
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
),
|
59 |
'cons' => array(
|
60 |
'public_api_key' => '',
|
@@ -62,7 +94,7 @@ class iubenda {
|
|
62 |
)
|
63 |
);
|
64 |
public $base_url;
|
65 |
-
public $version = '2.5
|
66 |
public $activation = array(
|
67 |
'update_version' => 0,
|
68 |
'update_notice' => true,
|
@@ -72,8 +104,33 @@ class iubenda {
|
|
72 |
public $no_html = false;
|
73 |
public $multilang = false;
|
74 |
public $languages = array();
|
|
|
75 |
public $lang_default = '';
|
76 |
public $lang_current = '';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
|
78 |
/**
|
79 |
* Disable object clone.
|
@@ -105,10 +162,13 @@ class iubenda {
|
|
105 |
add_action( 'plugins_loaded', array( self::$instance, 'init' ) );
|
106 |
|
107 |
self::$instance->includes();
|
|
|
108 |
|
109 |
self::$instance->AMP = new iubenda_AMP();
|
110 |
self::$instance->forms = new iubenda_Forms();
|
111 |
self::$instance->settings = new iubenda_Settings();
|
|
|
|
|
112 |
}
|
113 |
|
114 |
return self::$instance;
|
@@ -123,6 +183,8 @@ class iubenda {
|
|
123 |
|
124 |
// settings
|
125 |
$cs_options = (array) get_option( 'iubenda_cookie_law_solution', $this->defaults['cs'] );
|
|
|
|
|
126 |
$cons_options = (array) get_option( 'iubenda_consent_solution', $this->defaults['cons'] );
|
127 |
|
128 |
// activate AMP if not available before
|
@@ -132,32 +194,14 @@ class iubenda {
|
|
132 |
}
|
133 |
|
134 |
$this->options['cs'] = array_merge( $this->defaults['cs'], $cs_options );
|
|
|
|
|
135 |
$this->options['cons'] = array_merge( $this->defaults['cons'], $cons_options );
|
|
|
|
|
136 |
|
137 |
$this->base_url = esc_url_raw( add_query_arg( 'page', 'iubenda', admin_url( $this->options['cs']['menu_position'] === 'submenu' ? 'options-general.php' : 'admin.php' ) ) );
|
138 |
|
139 |
-
// check old custom scripts
|
140 |
-
if ( ! empty( $this->options['cs']['custom_scripts'] ) && is_array( $this->options['cs']['custom_scripts'] ) && ! is_int( reset( $this->options['cs']['custom_scripts'] ) ) ) {
|
141 |
-
$data = array();
|
142 |
-
|
143 |
-
foreach ( $this->options['cs']['custom_scripts'] as $script ) {
|
144 |
-
$data[$script] = 0;
|
145 |
-
}
|
146 |
-
|
147 |
-
$this->options['cs']['custom_scripts'] = $data;
|
148 |
-
}
|
149 |
-
|
150 |
-
// check old custom iframes
|
151 |
-
if ( ! empty( $this->options['cs']['custom_iframes'] ) && is_array( $this->options['cs']['custom_iframes'] ) && ! is_int( reset( $this->options['cs']['custom_iframes'] ) ) ) {
|
152 |
-
$data = array();
|
153 |
-
|
154 |
-
foreach ( $this->options['cs']['custom_iframes'] as $iframe ) {
|
155 |
-
$data[$iframe] = 0;
|
156 |
-
}
|
157 |
-
|
158 |
-
$this->options['cs']['custom_iframes'] = $data;
|
159 |
-
}
|
160 |
-
|
161 |
// actions
|
162 |
add_action( 'after_setup_theme', array( $this, 'register_shortcode' ) );
|
163 |
add_action( 'wp_head', array( $this, 'wp_head_cs' ), 0 );
|
@@ -166,7 +210,33 @@ class iubenda {
|
|
166 |
add_action( 'shutdown', array( $this, 'output_end' ), 100 );
|
167 |
add_action( 'template_redirect', array( $this, 'disable_jetpack_tracking' ) );
|
168 |
add_action( 'admin_init', array( $this, 'maybe_do_upgrade' ) );
|
|
|
169 |
add_action( 'upgrader_process_complete', array( $this, 'upgrade' ), 10, 2 );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
170 |
}
|
171 |
|
172 |
/**
|
@@ -188,8 +258,17 @@ class iubenda {
|
|
188 |
private function includes() {
|
189 |
include_once( IUBENDA_PLUGIN_PATH . 'includes/settings.php' );
|
190 |
include_once( IUBENDA_PLUGIN_PATH . 'includes/forms.php' );
|
191 |
-
|
192 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
193 |
|
194 |
/**
|
195 |
* Initialize plugin.
|
@@ -208,8 +287,10 @@ class iubenda {
|
|
208 |
$registered_languages = PLL()->model->get_languages_list();
|
209 |
|
210 |
if ( ! empty( $registered_languages ) ) {
|
211 |
-
foreach ( $registered_languages as $language )
|
212 |
-
|
|
|
|
|
213 |
}
|
214 |
|
215 |
// get default language
|
@@ -227,15 +308,21 @@ class iubenda {
|
|
227 |
$registered_languages = icl_get_languages();
|
228 |
|
229 |
if ( ! empty( $registered_languages ) ) {
|
230 |
-
|
231 |
-
|
232 |
-
|
|
|
|
|
233 |
|
234 |
// get default language
|
235 |
$this->lang_default = $sitepress->get_default_language();
|
236 |
// get current language
|
237 |
$this->lang_current = $sitepress->get_current_language();
|
238 |
-
}
|
|
|
|
|
|
|
|
|
239 |
|
240 |
// load iubenda parser
|
241 |
include_once( dirname( __FILE__ ) . '/iubenda-cookie-class/iubenda.class.php' );
|
@@ -247,12 +334,19 @@ class iubenda {
|
|
247 |
* @return void
|
248 |
*/
|
249 |
public function activation() {
|
|
|
|
|
|
|
250 |
set_transient( 'iub_activation_completed', 1, 3600 );
|
251 |
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
add_option( 'iubenda_activation_data', $this->activation, '', 'no' );
|
|
|
|
|
|
|
|
|
256 |
}
|
257 |
|
258 |
/**
|
@@ -263,11 +357,27 @@ class iubenda {
|
|
263 |
public function deactivation() {
|
264 |
// remove options from database?
|
265 |
if ( $this->options['cs']['deactivation'] ) {
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
270 |
}
|
|
|
|
|
|
|
|
|
271 |
}
|
272 |
|
273 |
/**
|
@@ -313,7 +423,7 @@ class iubenda {
|
|
313 |
* @return void
|
314 |
*/
|
315 |
public function load_textdomain() {
|
316 |
-
load_plugin_textdomain( 'iubenda', false,
|
317 |
}
|
318 |
|
319 |
/**
|
@@ -350,11 +460,14 @@ class iubenda {
|
|
350 |
}
|
351 |
|
352 |
/**
|
353 |
-
* Add wp_head cookie
|
354 |
*
|
355 |
* @return mixed
|
356 |
*/
|
357 |
public function wp_head_cs() {
|
|
|
|
|
|
|
358 |
|
359 |
// check content type
|
360 |
if ( (bool) $this->options['cs']['ctype'] == true ) {
|
@@ -376,17 +489,29 @@ class iubenda {
|
|
376 |
if ( ( $_POST && $this->options['cs']['output_post'] ) || $this->no_html )
|
377 |
return;
|
378 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
379 |
// initial head output
|
380 |
$iubenda_code = '';
|
381 |
|
382 |
-
|
383 |
-
|
|
|
384 |
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
|
|
390 |
|
391 |
$iubenda_code = $this->parse_code( $iubenda_code, true );
|
392 |
|
@@ -484,6 +609,10 @@ class iubenda {
|
|
484 |
)
|
485 |
return $output;
|
486 |
|
|
|
|
|
|
|
|
|
487 |
// bail on admin side
|
488 |
if ( is_admin() )
|
489 |
return $output;
|
@@ -518,6 +647,16 @@ class iubenda {
|
|
518 |
return $output;
|
519 |
}
|
520 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
521 |
// google recaptcha v3 compatibility
|
522 |
if ( class_exists( 'WPCF7' ) && (int) WPCF7::get_option( 'iqfix_recaptcha' ) === 0 && ! iubendaParser::consent_given() )
|
523 |
$this->options['cs']['custom_scripts']['grecaptcha'] = 2;
|
@@ -533,6 +672,11 @@ class iubenda {
|
|
533 |
$scripts = $this->prepare_custom_data( $this->options['cs']['custom_scripts'] );
|
534 |
$iframes = $this->prepare_custom_data( $this->options['cs']['custom_iframes'] );
|
535 |
|
|
|
|
|
|
|
|
|
|
|
536 |
// experimental class
|
537 |
if ( $this->options['cs']['parser_engine'] == 'new' ) {
|
538 |
$iubenda = new iubendaParser( mb_convert_encoding( $output, 'HTML-ENTITIES', 'UTF-8' ), array(
|
@@ -594,7 +738,7 @@ class iubenda {
|
|
594 |
*/
|
595 |
public function parse_code( $source, $display = false ) {
|
596 |
// return $source;
|
597 |
-
|
598 |
|
599 |
preg_match_all( '/(\"(?:html|content)\"(?:\s+)?\:(?:\s+)?)\"((?:.*?)(?:[^\\\\]))\"/s', $source, $matches );
|
600 |
|
@@ -672,6 +816,50 @@ class iubenda {
|
|
672 |
if ( function_exists( 'is_amp_endpoint' ) || function_exists( 'ampforwp_is_amp_endpoint' ) ) {
|
673 |
$this->regenerate_amp_templates();
|
674 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
675 |
}
|
676 |
|
677 |
/**
|
@@ -682,6 +870,11 @@ class iubenda {
|
|
682 |
* @return type
|
683 |
*/
|
684 |
public function parse_configuration( $code, $args = array() ) {
|
|
|
|
|
|
|
|
|
|
|
685 |
$configuration = array();
|
686 |
$defaults = array(
|
687 |
'mode' => 'basic',
|
@@ -751,6 +944,30 @@ class iubenda {
|
|
751 |
return $configuration;
|
752 |
}
|
753 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
754 |
/**
|
755 |
* Domain info helper function.
|
756 |
*
|
@@ -876,12 +1093,257 @@ class iubenda {
|
|
876 |
$code = iubenda()->options['cs']['code_default'];
|
877 |
iubenda()->AMP->generate_amp_template( $code );
|
878 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
879 |
}
|
880 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
881 |
/**
|
882 |
* Initialise iubenda Cookie Solution
|
883 |
*
|
884 |
-
* @return
|
885 |
*/
|
886 |
function iubenda() {
|
887 |
static $instance;
|
2 |
/*
|
3 |
Plugin Name: Cookie and Consent Solution for the GDPR & ePrivacy
|
4 |
Plugin URI: https://www.iubenda.com
|
5 |
+
Description: The iubenda plugin is an <strong>all-in-one</strong>, extremely easy to use 360° compliance solution, with text crafted by actual lawyers, that quickly <strong>scans your site and auto-configures to match your specific setup</strong>. It supports the GDPR (DSGVO, RGPD), UK-GDPR, ePrivacy, LGPD, CCPA, CalOPPA, PECR and more.
|
6 |
+
Version: 3.2.5
|
7 |
Author: iubenda
|
8 |
Author URI: https://www.iubenda.com
|
9 |
License: MIT License
|
31 |
/**
|
32 |
* iubenda final class.
|
33 |
*
|
34 |
+
* @property-read iubenda_Settings $settings
|
35 |
+
* @property IubendaLegalWidget $widget
|
36 |
+
* @property IubendaLegalBlock $block
|
37 |
+
*
|
38 |
* @class iubenda
|
39 |
+
* @version 3.2.5
|
40 |
*/
|
41 |
class iubenda {
|
42 |
|
43 |
+
/**
|
44 |
+
* @var ServiceRating
|
45 |
+
*/
|
46 |
+
public $serviceRating;
|
47 |
+
|
48 |
private static $instance;
|
49 |
public $options = array();
|
50 |
public $defaults = array(
|
51 |
'cs' => array(
|
52 |
+
'parse' => true, // iubenda_parse
|
53 |
+
'skip_parsing' => false, // skip_parsing
|
54 |
+
'ctype' => true, // iubenda_ctype
|
55 |
+
'parser_engine' => 'new', // parser_engine
|
56 |
+
'output_feed' => true, // iubenda_output_feed
|
57 |
+
'output_post' => true,
|
58 |
'code_default' => false, // iubenda-code-default,
|
59 |
'menu_position' => 'topmenu',
|
60 |
'amp_support' => false,
|
63 |
'amp_template' => '',
|
64 |
'custom_scripts' => array(),
|
65 |
'custom_iframes' => array(),
|
66 |
+
'deactivation' => false,
|
67 |
+
'configuration_type'=> 'manual',
|
68 |
+
'simplified' => [
|
69 |
+
'position' => 'float-top-center',
|
70 |
+
'background_overlay' => false,
|
71 |
+
'banner_style' => 'dark',
|
72 |
+
'legislation' => 'gdpr',
|
73 |
+
'require_consent' => 'worldwide',
|
74 |
+
'explicit_accept' => true,
|
75 |
+
'explicit_reject' => true,
|
76 |
+
]
|
77 |
+
),
|
78 |
+
'pp' => array(
|
79 |
+
'version' => '', // Simplified / Embed Code
|
80 |
+
'parse' => false, // iubenda_parse
|
81 |
+
'deactivation' => false,
|
82 |
+
'button_style' => 'white',
|
83 |
+
'button_position' => 'automatic'
|
84 |
+
),
|
85 |
+
'tc' => array(
|
86 |
+
'parse' => false, // iubenda_parse
|
87 |
+
'deactivation' => false,
|
88 |
+
'button_style' => 'white',
|
89 |
+
'button_position' => 'automatic'
|
90 |
),
|
91 |
'cons' => array(
|
92 |
'public_api_key' => '',
|
94 |
)
|
95 |
);
|
96 |
public $base_url;
|
97 |
+
public $version = '3.2.5';
|
98 |
public $activation = array(
|
99 |
'update_version' => 0,
|
100 |
'update_notice' => true,
|
104 |
public $no_html = false;
|
105 |
public $multilang = false;
|
106 |
public $languages = array();
|
107 |
+
public $languages_locale = array();
|
108 |
public $lang_default = '';
|
109 |
public $lang_current = '';
|
110 |
+
public $lang_mapping = [
|
111 |
+
//wordpress language //iubenda language
|
112 |
+
'nl_NL' =>'nl',
|
113 |
+
'en_US' =>'en',
|
114 |
+
'en_UK' =>'en',
|
115 |
+
'en_GB' =>'en-GB',
|
116 |
+
'fr_FR' =>'fr',
|
117 |
+
'de_DE' =>'de',
|
118 |
+
'it_IT' =>'it',
|
119 |
+
'pt_BR' =>'pt-BR',
|
120 |
+
'ru_RU' =>'ru',
|
121 |
+
'es_ES' =>'es',
|
122 |
+
];
|
123 |
+
public $supported_languages = [
|
124 |
+
'nl' => 'Dutch',
|
125 |
+
'en' => 'English (US)',
|
126 |
+
'en-GB' => 'English (UK)',
|
127 |
+
'fr' => 'French',
|
128 |
+
'de' => 'German',
|
129 |
+
'it' => 'Italian',
|
130 |
+
'pt-BR' => 'Portuguese (BR)',
|
131 |
+
'ru' => 'Russian',
|
132 |
+
'es' => 'Spanish',
|
133 |
+
];
|
134 |
|
135 |
/**
|
136 |
* Disable object clone.
|
162 |
add_action( 'plugins_loaded', array( self::$instance, 'init' ) );
|
163 |
|
164 |
self::$instance->includes();
|
165 |
+
self::$instance->serviceRating = new ServiceRating();
|
166 |
|
167 |
self::$instance->AMP = new iubenda_AMP();
|
168 |
self::$instance->forms = new iubenda_Forms();
|
169 |
self::$instance->settings = new iubenda_Settings();
|
170 |
+
self::$instance->widget = new IubendaLegalWidget();
|
171 |
+
self::$instance->block = new IubendaLegalBlock();
|
172 |
}
|
173 |
|
174 |
return self::$instance;
|
183 |
|
184 |
// settings
|
185 |
$cs_options = (array) get_option( 'iubenda_cookie_law_solution', $this->defaults['cs'] );
|
186 |
+
$pp_options = (array) get_option( 'iubenda_privacy_policy_solution', $this->defaults['pp'] );
|
187 |
+
$tc_options = (array) get_option( 'iubenda_terms_conditions_solution', $this->defaults['tc'] );
|
188 |
$cons_options = (array) get_option( 'iubenda_consent_solution', $this->defaults['cons'] );
|
189 |
|
190 |
// activate AMP if not available before
|
194 |
}
|
195 |
|
196 |
$this->options['cs'] = array_merge( $this->defaults['cs'], $cs_options );
|
197 |
+
$this->options['pp'] = array_merge( $this->defaults['pp'], $pp_options );
|
198 |
+
$this->options['tc'] = array_merge( $this->defaults['tc'], $tc_options );
|
199 |
$this->options['cons'] = array_merge( $this->defaults['cons'], $cons_options );
|
200 |
+
$this->options['activated_products'] = get_option( 'iubenda_activated_products', [] ) ?: [];
|
201 |
+
$this->options['global_options'] = get_option( 'iubenda_global_options', [] ) ?: [];
|
202 |
|
203 |
$this->base_url = esc_url_raw( add_query_arg( 'page', 'iubenda', admin_url( $this->options['cs']['menu_position'] === 'submenu' ? 'options-general.php' : 'admin.php' ) ) );
|
204 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
205 |
// actions
|
206 |
add_action( 'after_setup_theme', array( $this, 'register_shortcode' ) );
|
207 |
add_action( 'wp_head', array( $this, 'wp_head_cs' ), 0 );
|
210 |
add_action( 'shutdown', array( $this, 'output_end' ), 100 );
|
211 |
add_action( 'template_redirect', array( $this, 'disable_jetpack_tracking' ) );
|
212 |
add_action( 'admin_init', array( $this, 'maybe_do_upgrade' ) );
|
213 |
+
add_action( 'admin_init', array( $this, 'check_iubenda_version' ) );
|
214 |
add_action( 'upgrader_process_complete', array( $this, 'upgrade' ), 10, 2 );
|
215 |
+
add_filter( 'plugin_action_links', array($this, 'plugin_action_links'), 10, 5 );
|
216 |
+
add_action( 'upgrader_overwrote_package', array( $this, 'do_upgrade_processes' ) );
|
217 |
+
}
|
218 |
+
|
219 |
+
/**
|
220 |
+
* Append settings to plugin action link
|
221 |
+
*
|
222 |
+
* @param $actions
|
223 |
+
* @param $plugin_file
|
224 |
+
*
|
225 |
+
* @return array|mixed
|
226 |
+
*/
|
227 |
+
public function plugin_action_links( $actions, $plugin_file ) {
|
228 |
+
static $plugin;
|
229 |
+
if ( ! isset( $plugin ) ) {
|
230 |
+
$plugin = plugin_basename( __FILE__ );
|
231 |
+
}
|
232 |
+
|
233 |
+
if ( $plugin === $plugin_file ) {
|
234 |
+
$menu_page = esc_url_raw( add_query_arg( 'page', 'iubenda', admin_url( $this->options['cs']['menu_position'] === 'submenu' ? 'options-general.php' : 'admin.php' ) ) );
|
235 |
+
$settings = array( 'settings' => "<a href='{$menu_page}'>" . esc_html__( 'Settings', 'iubenda' ) . '</a>' );
|
236 |
+
$actions = array_merge( $actions, $settings );
|
237 |
+
}
|
238 |
+
|
239 |
+
return $actions;
|
240 |
}
|
241 |
|
242 |
/**
|
258 |
private function includes() {
|
259 |
include_once( IUBENDA_PLUGIN_PATH . 'includes/settings.php' );
|
260 |
include_once( IUBENDA_PLUGIN_PATH . 'includes/forms.php' );
|
261 |
+
include_once( IUBENDA_PLUGIN_PATH . 'includes/amp.php' );
|
262 |
+
include_once( IUBENDA_PLUGIN_PATH . 'includes/QuickGeneratorService.php' );
|
263 |
+
include_once( IUBENDA_PLUGIN_PATH . 'includes/RadarService.php' );
|
264 |
+
include_once( IUBENDA_PLUGIN_PATH . 'includes/CookieSolutionGenerator.php' );
|
265 |
+
include_once( IUBENDA_PLUGIN_PATH . 'includes/PrivacyPolicyGenerator.php' );
|
266 |
+
include_once( IUBENDA_PLUGIN_PATH . 'includes/ServiceRating.php' );
|
267 |
+
include_once( IUBENDA_PLUGIN_PATH . 'includes/widget/IubendaLegalWidget.php' );
|
268 |
+
include_once( IUBENDA_PLUGIN_PATH . 'includes/block/IubendaLegalBlock.php' );
|
269 |
+
include_once( IUBENDA_PLUGIN_PATH . 'includes/ProductHelper.php' );
|
270 |
+
include_once( IUBENDA_PLUGIN_PATH . 'includes/LanguageHelper.php' );
|
271 |
+
}
|
272 |
|
273 |
/**
|
274 |
* Initialize plugin.
|
287 |
$registered_languages = PLL()->model->get_languages_list();
|
288 |
|
289 |
if ( ! empty( $registered_languages ) ) {
|
290 |
+
foreach ( $registered_languages as $language ){
|
291 |
+
$this->languages[$language->slug] = $language->name;
|
292 |
+
$this->languages_locale[$language->locale] = $language->slug;
|
293 |
+
}
|
294 |
}
|
295 |
|
296 |
// get default language
|
308 |
$registered_languages = icl_get_languages();
|
309 |
|
310 |
if ( ! empty( $registered_languages ) ) {
|
311 |
+
foreach ( $registered_languages as $language ){
|
312 |
+
$this->languages[$language['code']] = $language['display_name'];
|
313 |
+
$this->languages_locale[$language['default_locale']] = $language['code'];
|
314 |
+
}
|
315 |
+
}
|
316 |
|
317 |
// get default language
|
318 |
$this->lang_default = $sitepress->get_default_language();
|
319 |
// get current language
|
320 |
$this->lang_current = $sitepress->get_current_language();
|
321 |
+
}else{
|
322 |
+
// if no plugin for multi lang installed
|
323 |
+
$this->lang_default = iub_array_get(iubenda()->lang_mapping, get_locale(), 'en');
|
324 |
+
$this->lang_current = iub_array_get(iubenda()->lang_mapping, get_locale());
|
325 |
+
}
|
326 |
|
327 |
// load iubenda parser
|
328 |
include_once( dirname( __FILE__ ) . '/iubenda-cookie-class/iubenda.class.php' );
|
334 |
* @return void
|
335 |
*/
|
336 |
public function activation() {
|
337 |
+
// Check Iubenda version on plugin activation
|
338 |
+
$this->check_iubenda_version();
|
339 |
+
|
340 |
set_transient( 'iub_activation_completed', 1, 3600 );
|
341 |
|
342 |
+
add_option( 'iubenda_cookie_law_solution', $this->options['cs'], '', 'no' );
|
343 |
+
add_option( 'iubenda_cookie_law_solution', $this->options['cons'], '', 'no' );
|
344 |
+
update_option( 'iubenda_cookie_law_version', $this->version, 'no' );
|
345 |
add_option( 'iubenda_activation_data', $this->activation, '', 'no' );
|
346 |
+
|
347 |
+
// Send a radar request on plugin activation.
|
348 |
+
$radar = new RadarService;
|
349 |
+
$radar->ask_radar_to_send_request();
|
350 |
}
|
351 |
|
352 |
/**
|
357 |
public function deactivation() {
|
358 |
// remove options from database?
|
359 |
if ( $this->options['cs']['deactivation'] ) {
|
360 |
+
delete_option( 'iubenda_activated_products' );
|
361 |
+
delete_option( 'iubenda_activation_data' );
|
362 |
+
delete_option( 'iubenda_consent_forms' );
|
363 |
+
delete_option( 'iubenda_consent_solution' );
|
364 |
+
delete_option( 'iubenda_cookie_law_solution' );
|
365 |
+
delete_option( 'iubenda_cookie_law_version' );
|
366 |
+
delete_option( 'iubenda_cs_page_configuration' );
|
367 |
+
delete_option( 'iubenda_pp_page_configuration' );
|
368 |
+
delete_option( 'iubenda_privacy_policy_solution' );
|
369 |
+
delete_option( 'iubenda_quick_generator_response' );
|
370 |
+
delete_option( 'iubenda_tc_page_configuration' );
|
371 |
+
delete_option( 'iubenda_terms_conditions_solution' );
|
372 |
+
delete_option( iubenda_Settings::IUB_NOTIFICATIONS );
|
373 |
+
|
374 |
+
// Detach iubenda legal block from footer
|
375 |
+
$this->block->detach_legal_block_from_footer();
|
376 |
}
|
377 |
+
|
378 |
+
// remove radar options from database
|
379 |
+
delete_option( 'iubenda_radar_api_configuration' );
|
380 |
+
delete_option( 'iubenda_radar_api_response' );
|
381 |
}
|
382 |
|
383 |
/**
|
423 |
* @return void
|
424 |
*/
|
425 |
public function load_textdomain() {
|
426 |
+
load_plugin_textdomain( 'iubenda', false, IUBENDA_PLUGIN_REL_PATH . 'languages/' );
|
427 |
}
|
428 |
|
429 |
/**
|
460 |
}
|
461 |
|
462 |
/**
|
463 |
+
* Add wp_head cookie solution content.
|
464 |
*
|
465 |
* @return mixed
|
466 |
*/
|
467 |
public function wp_head_cs() {
|
468 |
+
if (!$this->is_cs_service_enabled_and_configured()) {
|
469 |
+
return;
|
470 |
+
}
|
471 |
|
472 |
// check content type
|
473 |
if ( (bool) $this->options['cs']['ctype'] == true ) {
|
489 |
if ( ( $_POST && $this->options['cs']['output_post'] ) || $this->no_html )
|
490 |
return;
|
491 |
|
492 |
+
// bail if current page is page builder of Divi by elegant themes
|
493 |
+
if ( function_exists( 'et_fb_is_enabled' ) && et_fb_is_enabled() ) {
|
494 |
+
return;
|
495 |
+
}
|
496 |
+
|
497 |
+
// bail if current page is builder frame of (Fusion/Avada) theme
|
498 |
+
if ( function_exists( 'fusion_is_builder_frame' ) && fusion_is_builder_frame() ) {
|
499 |
+
return;
|
500 |
+
}
|
501 |
+
|
502 |
// initial head output
|
503 |
$iubenda_code = '';
|
504 |
|
505 |
+
// Check if there is multi language plugin installed and activated
|
506 |
+
if ( $this->multilang === true && defined( 'ICL_LANGUAGE_CODE' ) && isset( $this->options['cs']['code_' . ICL_LANGUAGE_CODE] ) ) {
|
507 |
+
$iubenda_code .= $this->options['cs']['code_' . ICL_LANGUAGE_CODE];
|
508 |
|
509 |
+
// no code for current language, use default
|
510 |
+
if ( ! $iubenda_code )
|
511 |
+
$iubenda_code .= $this->options['cs']['code_default'];
|
512 |
+
} else{
|
513 |
+
$iubenda_code .= $this->options['cs']['code_default'];
|
514 |
+
}
|
515 |
|
516 |
$iubenda_code = $this->parse_code( $iubenda_code, true );
|
517 |
|
609 |
)
|
610 |
return $output;
|
611 |
|
612 |
+
if (!$this->is_cs_service_enabled_and_configured()) {
|
613 |
+
return $output;
|
614 |
+
}
|
615 |
+
|
616 |
// bail on admin side
|
617 |
if ( is_admin() )
|
618 |
return $output;
|
647 |
return $output;
|
648 |
}
|
649 |
|
650 |
+
// bail if current page is builder frame of (Fusion/Avada) theme
|
651 |
+
if ( function_exists( 'fusion_is_builder_frame' ) && fusion_is_builder_frame() ) {
|
652 |
+
return $output;
|
653 |
+
}
|
654 |
+
|
655 |
+
// bail if the current page is page builder for any theme
|
656 |
+
if (is_customize_preview()) {
|
657 |
+
return $output;
|
658 |
+
}
|
659 |
+
|
660 |
// google recaptcha v3 compatibility
|
661 |
if ( class_exists( 'WPCF7' ) && (int) WPCF7::get_option( 'iqfix_recaptcha' ) === 0 && ! iubendaParser::consent_given() )
|
662 |
$this->options['cs']['custom_scripts']['grecaptcha'] = 2;
|
672 |
$scripts = $this->prepare_custom_data( $this->options['cs']['custom_scripts'] );
|
673 |
$iframes = $this->prepare_custom_data( $this->options['cs']['custom_iframes'] );
|
674 |
|
675 |
+
// Check if the current language have a valid CS code or not
|
676 |
+
if (!(new ProductHelper())->check_iub_cs_code_exists_current_lang()) {
|
677 |
+
return $output;
|
678 |
+
}
|
679 |
+
|
680 |
// experimental class
|
681 |
if ( $this->options['cs']['parser_engine'] == 'new' ) {
|
682 |
$iubenda = new iubendaParser( mb_convert_encoding( $output, 'HTML-ENTITIES', 'UTF-8' ), array(
|
738 |
*/
|
739 |
public function parse_code( $source, $display = false ) {
|
740 |
// return $source;
|
741 |
+
$source = trim( $source ?: '' );
|
742 |
|
743 |
preg_match_all( '/(\"(?:html|content)\"(?:\s+)?\:(?:\s+)?)\"((?:.*?)(?:[^\\\\]))\"/s', $source, $matches );
|
744 |
|
816 |
if ( function_exists( 'is_amp_endpoint' ) || function_exists( 'ampforwp_is_amp_endpoint' ) ) {
|
817 |
$this->regenerate_amp_templates();
|
818 |
}
|
819 |
+
|
820 |
+
// Sending a radar request when installing the plugin for the first time
|
821 |
+
$radar = new RadarService;
|
822 |
+
$radar->ask_radar_to_send_request();
|
823 |
+
}
|
824 |
+
|
825 |
+
|
826 |
+
/**
|
827 |
+
* Compare Iubenda plugin versions and
|
828 |
+
* do functions if compare result false (DB_version < Current version of plugin files ).
|
829 |
+
*
|
830 |
+
*/
|
831 |
+
public function check_iubenda_version() {
|
832 |
+
if ($this->compare_iub_plugin_versions()){
|
833 |
+
// Upgrade processes
|
834 |
+
$this->do_upgrade_processes();
|
835 |
+
|
836 |
+
// Update Iubenda plugin version
|
837 |
+
$this->update_iubenda_version();
|
838 |
+
}
|
839 |
+
}
|
840 |
+
|
841 |
+
/**
|
842 |
+
* update Iubenda version in Database.
|
843 |
+
*
|
844 |
+
* @return void
|
845 |
+
*/
|
846 |
+
private function update_iubenda_version() {
|
847 |
+
update_option( 'iubenda_cookie_law_version', $this->version, 'no' );
|
848 |
+
}
|
849 |
+
|
850 |
+
|
851 |
+
/**
|
852 |
+
* Perform processes on plugin upgrade.
|
853 |
+
*
|
854 |
+
* @return void
|
855 |
+
*/
|
856 |
+
public function do_upgrade_processes() {
|
857 |
+
$db_version = get_option( 'iubenda_cookie_law_version' ) ?: '2.5.91';
|
858 |
+
|
859 |
+
// Version 3.0.0 and above
|
860 |
+
if ( version_compare( $db_version, '3.0.6', '<' ) ) {
|
861 |
+
$this->upgrading_to_ver_3_process();
|
862 |
+
}
|
863 |
}
|
864 |
|
865 |
/**
|
870 |
* @return type
|
871 |
*/
|
872 |
public function parse_configuration( $code, $args = array() ) {
|
873 |
+
// Check if the embed code have Callback Functions inside it or not
|
874 |
+
if (strpos($code, 'callback') !== false) {
|
875 |
+
$code = $this->replace_the_callback_functions_to_parse_configuration($code);
|
876 |
+
}
|
877 |
+
|
878 |
$configuration = array();
|
879 |
$defaults = array(
|
880 |
'mode' => 'basic',
|
944 |
return $configuration;
|
945 |
}
|
946 |
|
947 |
+
/**
|
948 |
+
* Get configuration data parsed from TC & PP iubenda code
|
949 |
+
* @param $code
|
950 |
+
* @return array|false
|
951 |
+
*/
|
952 |
+
public function parse_tc_pp_configuration($code) {
|
953 |
+
if (empty($code)) {
|
954 |
+
return false;
|
955 |
+
}
|
956 |
+
|
957 |
+
preg_match_all('/<a[^>]+href=([\'"])(?<href>.+?)\1[^>]*>/i', $code, $result);
|
958 |
+
$url = iub_array_get($result, 'href.0');
|
959 |
+
|
960 |
+
if (!$url) {
|
961 |
+
return false;
|
962 |
+
}
|
963 |
+
|
964 |
+
|
965 |
+
$button_style = strpos(stripslashes($code), 'iubenda-white') !== false ? 'white' : 'black';
|
966 |
+
$cookie_policy_id = basename($url);
|
967 |
+
|
968 |
+
return ['button_style' => $button_style, 'cookie_policy_id' => $cookie_policy_id];
|
969 |
+
}
|
970 |
+
|
971 |
/**
|
972 |
* Domain info helper function.
|
973 |
*
|
1093 |
$code = iubenda()->options['cs']['code_default'];
|
1094 |
iubenda()->AMP->generate_amp_template( $code );
|
1095 |
}
|
1096 |
+
|
1097 |
+
/**
|
1098 |
+
* unification all languages from locale to iub language
|
1099 |
+
*
|
1100 |
+
* @param array $locale_languages
|
1101 |
+
* @return array
|
1102 |
+
*/
|
1103 |
+
public function language_unification_locale_to_iub(array $locale_languages): array
|
1104 |
+
{
|
1105 |
+
$iub_languages = [];
|
1106 |
+
|
1107 |
+
// Workaround to solve return languages if has 'pt' language
|
1108 |
+
if($key = array_search('pt_PT', $locale_languages)){
|
1109 |
+
unset($locale_languages[$key]);
|
1110 |
+
$iub_languages[] = 'pt-BR';
|
1111 |
+
}
|
1112 |
+
if($key = array_search('pt_BR', $locale_languages)){
|
1113 |
+
unset($locale_languages[$key]);
|
1114 |
+
$iub_languages[] = 'pt-BR';
|
1115 |
+
}
|
1116 |
+
if($key = array_search('en_GB', $locale_languages)){
|
1117 |
+
unset($locale_languages[$key]);
|
1118 |
+
$iub_languages[] = 'en-GB';
|
1119 |
+
}
|
1120 |
+
|
1121 |
+
if($key = array_search('en_US', $locale_languages)){
|
1122 |
+
unset($locale_languages[$key]);
|
1123 |
+
$iub_languages[] = 'en';
|
1124 |
+
}
|
1125 |
+
|
1126 |
+
if($key = array_search('en_AU', $locale_languages)){
|
1127 |
+
unset($locale_languages[$key]);
|
1128 |
+
$iub_languages[] = 'en';
|
1129 |
+
}
|
1130 |
+
|
1131 |
+
if($key = array_search('en_CA', $locale_languages)){
|
1132 |
+
unset($locale_languages[$key]);
|
1133 |
+
$iub_languages[] = 'en';
|
1134 |
+
}
|
1135 |
+
|
1136 |
+
foreach ($locale_languages as $language){
|
1137 |
+
if(strpos($language, '_')){
|
1138 |
+
$iub_languages[] = strstr($language, '_', true);
|
1139 |
+
}
|
1140 |
+
}
|
1141 |
+
|
1142 |
+
return $iub_languages;
|
1143 |
+
}
|
1144 |
+
|
1145 |
+
private function upgrading_to_ver_3_process()
|
1146 |
+
{
|
1147 |
+
$products = [
|
1148 |
+
'iubenda_cookie_law_solution' => 'cs',
|
1149 |
+
'iubenda_consent_solution' => 'cons',
|
1150 |
+
];
|
1151 |
+
|
1152 |
+
$old_data = [
|
1153 |
+
'iubenda_cookie_law_solution' => iubenda()->options['cs'],
|
1154 |
+
'iubenda_cookie_law_solution_status' => 'true',
|
1155 |
+
'iubenda_consent_solution' => iubenda()->options['cons'],
|
1156 |
+
'iubenda_consent_solution_status' => 'true',
|
1157 |
+
];
|
1158 |
+
$result = $this->settings->init_prepare_product_options_while_upgrading($products, $old_data);
|
1159 |
+
|
1160 |
+
// Count valid codes for iubenda cookie law solution codes and set the service inactive
|
1161 |
+
if(count(array_filter(iub_array_get($result, "codes_statues.iubenda_cookie_law_solution_codes", []) ?: [])) == 0){
|
1162 |
+
$result['iubenda_activated_products']['iubenda_cookie_law_solution'] = 'false';
|
1163 |
+
}
|
1164 |
+
|
1165 |
+
$this->settings->save_init_prepared_product_options($products, $result);
|
1166 |
+
|
1167 |
+
// Reload Options
|
1168 |
+
$this->settings->load_defaults();
|
1169 |
+
}
|
1170 |
+
|
1171 |
+
/**
|
1172 |
+
* Workaround to replace the callback functions with empty json array to parse configuration
|
1173 |
+
*
|
1174 |
+
* @param $code
|
1175 |
+
* @return string|string[]
|
1176 |
+
*/
|
1177 |
+
private function replace_the_callback_functions_to_parse_configuration($code)
|
1178 |
+
{
|
1179 |
+
$callback_position = strpos($code, 'callback');
|
1180 |
+
$opened_callback_braces = strpos($code, '{', $callback_position);
|
1181 |
+
$closing_callback_braces = $this->find_closing_bracket($code, $opened_callback_braces);
|
1182 |
+
|
1183 |
+
return substr_replace($code, '{', $opened_callback_braces, $closing_callback_braces - $opened_callback_braces);
|
1184 |
+
}
|
1185 |
+
|
1186 |
+
/**
|
1187 |
+
* @param $string
|
1188 |
+
* @param $open_position
|
1189 |
+
* @return mixed
|
1190 |
+
*/
|
1191 |
+
private function find_closing_bracket($string, $open_position)
|
1192 |
+
{
|
1193 |
+
$close_pos = $open_position;
|
1194 |
+
$counter = 1;
|
1195 |
+
while ($counter > 0) {
|
1196 |
+
|
1197 |
+
// To Avoid the infinity loop
|
1198 |
+
if (!isset($string[$close_pos + 1])) {
|
1199 |
+
break;
|
1200 |
+
}
|
1201 |
+
|
1202 |
+
$c = $string[++$close_pos];
|
1203 |
+
if ($c == '{') {
|
1204 |
+
$counter++;
|
1205 |
+
} else if ($c == '}') {
|
1206 |
+
$counter--;
|
1207 |
+
}
|
1208 |
+
}
|
1209 |
+
|
1210 |
+
return $close_pos;
|
1211 |
+
}
|
1212 |
+
|
1213 |
+
/**
|
1214 |
+
* Compare between Iubenda DB version and This version and
|
1215 |
+
*
|
1216 |
+
* return true if DB version is lower than this version
|
1217 |
+
* return false if DB version is equal or more than this version
|
1218 |
+
*
|
1219 |
+
* @return bool|int
|
1220 |
+
*/
|
1221 |
+
private function compare_iub_plugin_versions()
|
1222 |
+
{
|
1223 |
+
$db_version = get_option( 'iubenda_cookie_law_version' ) ?: '2.5.91';
|
1224 |
+
return version_compare( $db_version, $this->version, '<' );
|
1225 |
+
}
|
1226 |
+
|
1227 |
+
/**
|
1228 |
+
* Decide which will be included into footer (Block or Widget)
|
1229 |
+
*/
|
1230 |
+
public function assign_legal_block_or_widget()
|
1231 |
+
{
|
1232 |
+
// If current theme supports widget
|
1233 |
+
if ($this->widget->check_current_theme_supports_widget()) {
|
1234 |
+
do_action('iubenda_assign_widget_to_first_sidebar');
|
1235 |
+
}
|
1236 |
+
|
1237 |
+
// if current theme supports blocks
|
1238 |
+
if ($this->block->check_current_theme_supports_blocks()) {
|
1239 |
+
do_action('iubenda_attach_block_in_footer');
|
1240 |
+
}
|
1241 |
+
}
|
1242 |
+
|
1243 |
+
/**
|
1244 |
+
* Check if we support current theme to attach legal
|
1245 |
+
*/
|
1246 |
+
public function check_if_we_support_current_theme_to_attach_legal()
|
1247 |
+
{
|
1248 |
+
if ($this->widget->check_current_theme_supports_widget() || $this->block->check_current_theme_supports_blocks()) {
|
1249 |
+
return true;
|
1250 |
+
}
|
1251 |
+
|
1252 |
+
return false;
|
1253 |
+
}
|
1254 |
+
|
1255 |
+
/**
|
1256 |
+
* Check if cookie solution service is activated and configured
|
1257 |
+
*/
|
1258 |
+
private function is_cs_service_enabled_and_configured(): bool {
|
1259 |
+
$product_helper = new ProductHelper();
|
1260 |
+
|
1261 |
+
return ($product_helper->is_cs_service_enabled() && $product_helper->is_cs_service_configured());
|
1262 |
+
}
|
1263 |
+
|
1264 |
}
|
1265 |
|
1266 |
+
if (!function_exists('iub_array_get')) {
|
1267 |
+
function iub_array_get($array, $key, $default = null) {
|
1268 |
+
if (!(is_array($array) || $array instanceof ArrayAccess)) {
|
1269 |
+
return $default instanceof Closure ? $default() : $default;
|
1270 |
+
}
|
1271 |
+
|
1272 |
+
if (is_null($key)) {
|
1273 |
+
return $array;
|
1274 |
+
}
|
1275 |
+
|
1276 |
+
if (array_key_exists($key, $array)) {
|
1277 |
+
return $array[$key];
|
1278 |
+
}
|
1279 |
+
|
1280 |
+
if (strpos($key, '.') === false) {
|
1281 |
+
return $array[$key] ?? ($default instanceof Closure ? $default() : $default);
|
1282 |
+
}
|
1283 |
+
|
1284 |
+
foreach (explode('.', $key) as $segment) {
|
1285 |
+
if ((is_array($array) || $array instanceof ArrayAccess) && (array_key_exists($segment, $array))) {
|
1286 |
+
$array = $array[$segment];
|
1287 |
+
} else {
|
1288 |
+
return $default instanceof Closure ? $default() : $default;
|
1289 |
+
}
|
1290 |
+
}
|
1291 |
+
|
1292 |
+
return $array;
|
1293 |
+
}
|
1294 |
+
}
|
1295 |
+
|
1296 |
+
if (!function_exists('__iub_trans')) {
|
1297 |
+
/**
|
1298 |
+
* @param $string
|
1299 |
+
* @param $textDomain
|
1300 |
+
* @param $locale
|
1301 |
+
* @return string|void
|
1302 |
+
*/
|
1303 |
+
function __iub_trans($string, $locale, $textDomain = 'iubenda' ): string
|
1304 |
+
{
|
1305 |
+
global $l10n;
|
1306 |
+
// Take a backup of textDomain
|
1307 |
+
if (isset($l10n[$textDomain])) {
|
1308 |
+
$backup = $l10n[$textDomain];
|
1309 |
+
}
|
1310 |
+
load_textdomain($textDomain, IUBENDA_PLUGIN_PATH . 'languages/'.$textDomain.'-'. $locale . '.mo');
|
1311 |
+
$translation = __($string,$textDomain);
|
1312 |
+
|
1313 |
+
// update back the backup of textDomain if isset
|
1314 |
+
if (isset($backup)) {
|
1315 |
+
$l10n[$textDomain] = $backup;
|
1316 |
+
}
|
1317 |
+
return $translation;
|
1318 |
+
}
|
1319 |
+
}
|
1320 |
+
|
1321 |
+
/**
|
1322 |
+
* add stars in iubenda plugin meta
|
1323 |
+
*/
|
1324 |
+
add_filter('plugin_row_meta' , 'iubenda_add_plugin_meta_links', 10, 2);
|
1325 |
+
if ( ! function_exists('iubenda_add_plugin_meta_links') ) {
|
1326 |
+
function iubenda_add_plugin_meta_links($meta_fields, $file) {
|
1327 |
+
if ( plugin_basename(__FILE__) == $file ) {
|
1328 |
+
$plugin_url = "https://wordpress.org/support/plugin/iubenda-cookie-law-solution/reviews/?rate=5#new-post";
|
1329 |
+
$meta_fields[] = "<a href='" . esc_url($plugin_url) ."' target='_blank' title='" . esc_html__('Rate', 'iubenda') . "'>
|
1330 |
+
<i class='iubenda-rate-stars'>"
|
1331 |
+
. "<svg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-star'><polygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/></svg>"
|
1332 |
+
. "<svg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-star'><polygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/></svg>"
|
1333 |
+
. "<svg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-star'><polygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/></svg>"
|
1334 |
+
. "<svg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-star'><polygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/></svg>"
|
1335 |
+
. "<svg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-star'><polygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/></svg>"
|
1336 |
+
. "</i></a>";
|
1337 |
+
|
1338 |
+
}
|
1339 |
+
|
1340 |
+
return $meta_fields;
|
1341 |
+
}
|
1342 |
+
}
|
1343 |
/**
|
1344 |
* Initialise iubenda Cookie Solution
|
1345 |
*
|
1346 |
+
* @return iubenda
|
1347 |
*/
|
1348 |
function iubenda() {
|
1349 |
static $instance;
|
js/admin.js
DELETED
@@ -1,282 +0,0 @@
|
|
1 |
-
( function ( $ ) {
|
2 |
-
|
3 |
-
$(function() {
|
4 |
-
// parse args
|
5 |
-
var args = iubAdminArgs;
|
6 |
-
|
7 |
-
// parser options
|
8 |
-
$( '#iub_parse' ).change( function () {
|
9 |
-
if ( $( this ).is( ':checked' ) ) {
|
10 |
-
$( '#iub_parser_engine_container' ).slideDown( 'fast' );
|
11 |
-
} else {
|
12 |
-
$( '#iub_parser_engine_container' ).slideUp( 'fast' );
|
13 |
-
}
|
14 |
-
} );
|
15 |
-
|
16 |
-
// amp options
|
17 |
-
$( '#iub_amp_support' ).change( function () {
|
18 |
-
if ( $( this ).is( ':checked' ) ) {
|
19 |
-
$( '#iub_amp_options_container' ).slideDown( 'fast' );
|
20 |
-
} else {
|
21 |
-
$( '#iub_amp_options_container' ).slideUp( 'fast' );
|
22 |
-
}
|
23 |
-
} );
|
24 |
-
|
25 |
-
// amp options
|
26 |
-
$( 'input.iub_amp_source' ).change( function () {
|
27 |
-
var value = $( 'input.iub_amp_source:checked' ).val();
|
28 |
-
|
29 |
-
if ( value === 'remote' ) {
|
30 |
-
$( '#iub_amp_template-local' ).fadeOut( 'fast', function () {
|
31 |
-
$( '#iub_amp_template-remote' ).fadeIn( 'fast' );
|
32 |
-
} );
|
33 |
-
} else {
|
34 |
-
$( '#iub_amp_template-remote' ).fadeOut( 'fast', function () {
|
35 |
-
$( '#iub_amp_template-local' ).fadeIn( 'fast' );
|
36 |
-
} );
|
37 |
-
}
|
38 |
-
} );
|
39 |
-
|
40 |
-
// move notices
|
41 |
-
var errors = $( '.settings-error' ).detach();
|
42 |
-
|
43 |
-
$( '.iubenda-link' ).after( errors );
|
44 |
-
|
45 |
-
// Help tabs
|
46 |
-
$( '.contextual-help-tabs a' ).off( 'click' ).click( function ( e ) {
|
47 |
-
var link = $( this ),
|
48 |
-
panel,
|
49 |
-
panelParent;
|
50 |
-
|
51 |
-
e.preventDefault();
|
52 |
-
|
53 |
-
// don't do anything if the click is for the tab already showing.
|
54 |
-
if ( link.is( '.active a' ) )
|
55 |
-
return false;
|
56 |
-
|
57 |
-
panelParent = link.closest( '.contextual-help-wrap' );
|
58 |
-
|
59 |
-
// links
|
60 |
-
$( panelParent ).find( '.contextual-help-tabs .active' ).removeClass( 'active' );
|
61 |
-
link.parent( 'li' ).addClass( 'active' );
|
62 |
-
|
63 |
-
panel = $( link.attr( 'href' ) );
|
64 |
-
|
65 |
-
// panels
|
66 |
-
$( panelParent ).find( '.help-tab-content' ).not( panel ).removeClass( 'active' ).hide();
|
67 |
-
panel.addClass( 'active' ).show();
|
68 |
-
} );
|
69 |
-
|
70 |
-
// Preferences fields
|
71 |
-
var preferencesID = $( '.preferences-field' ).length;
|
72 |
-
|
73 |
-
// Add new preferences field
|
74 |
-
$( document ).on( 'click', '.add-preferences-field', function ( e ) {
|
75 |
-
e.preventDefault();
|
76 |
-
|
77 |
-
$( '#postbox-container-2' ).change();
|
78 |
-
|
79 |
-
var html = $( '#preferences-field-template' ).html();
|
80 |
-
html = html.replace( /__PREFERENCE_ID__/g, preferencesID++ );
|
81 |
-
|
82 |
-
$( '.preferences-table .add-preferences-field' ).closest( 'tr' ).before( '<tr class="preferences-field options-field" style="display: none;">' + html + '</tr>' );
|
83 |
-
|
84 |
-
var last = $( '.preferences-field' ).last();
|
85 |
-
|
86 |
-
last.fadeIn( 300 );
|
87 |
-
} );
|
88 |
-
|
89 |
-
// Remove preferences field
|
90 |
-
$( document ).on( 'click', '.remove-preferences-field', function ( e ) {
|
91 |
-
e.preventDefault();
|
92 |
-
|
93 |
-
$( '#postbox-container-2' ).change();
|
94 |
-
|
95 |
-
$( this ).closest( '.preferences-field' ).fadeOut( 300, function () {
|
96 |
-
$( this ).remove();
|
97 |
-
} );
|
98 |
-
} );
|
99 |
-
|
100 |
-
// Exclude fields
|
101 |
-
var excludeID = $( '.exclude-field' ).length;
|
102 |
-
|
103 |
-
// Add new preferences field
|
104 |
-
$( document ).on( 'click', '.add-exclude-field', function ( e ) {
|
105 |
-
e.preventDefault();
|
106 |
-
|
107 |
-
console.log( this );
|
108 |
-
|
109 |
-
$( '#postbox-container-2' ).change();
|
110 |
-
|
111 |
-
var html = $( '#exclude-field-template' ).html();
|
112 |
-
html = html.replace( /__EXCLUDE_ID__/g, excludeID++ );
|
113 |
-
|
114 |
-
$( '.exclude-table .add-exclude-field' ).closest( 'tr' ).before( '<tr class="exclude-field options-field" style="display: none;">' + html + '</tr>' );
|
115 |
-
|
116 |
-
var last = $( '.exclude-field' ).last();
|
117 |
-
|
118 |
-
last.fadeIn( 300 );
|
119 |
-
} );
|
120 |
-
|
121 |
-
// Remove exclude field
|
122 |
-
$( document ).on( 'click', '.remove-exclude-field', function ( e ) {
|
123 |
-
e.preventDefault();
|
124 |
-
|
125 |
-
$( '#postbox-container-2' ).change();
|
126 |
-
|
127 |
-
$( this ).closest( '.exclude-field' ).fadeOut( 300, function () {
|
128 |
-
$( this ).remove();
|
129 |
-
} );
|
130 |
-
} );
|
131 |
-
|
132 |
-
// Legal notices fields
|
133 |
-
var legalNoticesID = $( '.legal_notices-field' ).length;
|
134 |
-
|
135 |
-
// Add new preferences field
|
136 |
-
$( document ).on( 'click', '.add-legal_notices-field', function ( e ) {
|
137 |
-
e.preventDefault();
|
138 |
-
|
139 |
-
$( '#postbox-container-2' ).change();
|
140 |
-
|
141 |
-
var html = $( '#legal_notices-field-template' ).html();
|
142 |
-
html = html.replace( /__LEGAL_NOTICE_ID__/g, legalNoticesID++ );
|
143 |
-
|
144 |
-
console.log( html );
|
145 |
-
|
146 |
-
$( '.legal_notices-table .add-legal_notices-field' ).closest( 'tr' ).before( '<tr class="legal_notices-field options-field" style="display: none;">' + html + '</tr>' );
|
147 |
-
|
148 |
-
var last = $( '.legal_notices-field' ).last();
|
149 |
-
|
150 |
-
last.fadeIn( 300 );
|
151 |
-
} );
|
152 |
-
|
153 |
-
// Remove legal notices field
|
154 |
-
$( document ).on( 'click', '.remove-legal_notices-field', function ( e ) {
|
155 |
-
e.preventDefault();
|
156 |
-
|
157 |
-
$( '#postbox-container-2' ).change();
|
158 |
-
|
159 |
-
$( this ).closest( '.legal_notices-field' ).fadeOut( 300, function () {
|
160 |
-
$( this ).remove();
|
161 |
-
} );
|
162 |
-
} );
|
163 |
-
|
164 |
-
// add new script field
|
165 |
-
$( document ).on( 'click', '.add-custom-script-field', function( e ) {
|
166 |
-
e.preventDefault();
|
167 |
-
|
168 |
-
$( this ).before( '<div class="custom-script-field" style="display: none;">' + $( '#custom-script-field-template' ).html() + '</div>' );
|
169 |
-
$( '#tab-panel-scripts' ).find( '.custom-script-field' ).last().fadeIn( 300 );
|
170 |
-
} );
|
171 |
-
|
172 |
-
// remove custom script field
|
173 |
-
$( document ).on( 'click', '.remove-custom-script-field', function( e ) {
|
174 |
-
e.preventDefault();
|
175 |
-
|
176 |
-
$( this ).closest( '.custom-script-field' ).fadeOut( 300, function() {
|
177 |
-
$( this ).remove();
|
178 |
-
} );
|
179 |
-
} );
|
180 |
-
|
181 |
-
// add new iframe field
|
182 |
-
$( document ).on( 'click', '.add-custom-iframe-field', function( e ) {
|
183 |
-
e.preventDefault();
|
184 |
-
|
185 |
-
$( this ).before( '<div class="custom-iframe-field" style="display: none;">' + $( '#custom-iframe-field-template' ).html() + '</div>' );
|
186 |
-
$( '#tab-panel-iframes' ).find( '.custom-iframe-field' ).last().fadeIn( 300 );
|
187 |
-
} );
|
188 |
-
|
189 |
-
// remove custom iframe field
|
190 |
-
$( document ).on( 'click', '.remove-custom-iframe-field', function( e ) {
|
191 |
-
e.preventDefault();
|
192 |
-
|
193 |
-
$( this ).closest( '.custom-iframe-field' ).fadeOut( 300, function() {
|
194 |
-
$( this ).remove();
|
195 |
-
} );
|
196 |
-
} );
|
197 |
-
|
198 |
-
// Remove template fields on save
|
199 |
-
$( document ).on( 'click', '#publish', function () {
|
200 |
-
$( '#preferences-field-template' ).remove();
|
201 |
-
$( '#exclude-field-template' ).remove();
|
202 |
-
$( '#legal_notices-field-template' ).remove();
|
203 |
-
} );
|
204 |
-
|
205 |
-
// Confirm form delete
|
206 |
-
$( document ).on( 'click', '#iubenda-consent-forms .delete-form', function () {
|
207 |
-
return confirm( args.deleteForm );
|
208 |
-
} );
|
209 |
-
|
210 |
-
// Handle form fields data
|
211 |
-
$( document ).on( 'change', '#postbox-container-2', function() {
|
212 |
-
var fields = {},
|
213 |
-
fieldsTypes = [ 'subject', 'preferences', 'exclude' ];
|
214 |
-
|
215 |
-
if ( args.formId > 0 ) {
|
216 |
-
// get all fields
|
217 |
-
fields.all = $( '.subject-fields-select.select-id option:not([value=""])' ).map( function() { return $( this ).val(); } ).get();
|
218 |
-
|
219 |
-
// get specific fields
|
220 |
-
$.each( fieldsTypes, function( index, fieldType ) {
|
221 |
-
fields[fieldType] = [];
|
222 |
-
|
223 |
-
var fieldItems = $( '.' + fieldType + '-field select' );
|
224 |
-
|
225 |
-
// get selected values
|
226 |
-
$.each( fieldItems, function( index, item ) {
|
227 |
-
if ( $( item ).val() != '' )
|
228 |
-
fields[fieldType].push( $( item ).val() );
|
229 |
-
} );
|
230 |
-
|
231 |
-
fields.fieldType = $.unique( fields[fieldType] );
|
232 |
-
|
233 |
-
// remove available fields if needed
|
234 |
-
if ( fields[fieldType].length > 0 ) {
|
235 |
-
|
236 |
-
// get options count
|
237 |
-
var templateItemsCount = $( '.template-field .' + fieldType + '-fields-select option:disabled' ).length;
|
238 |
-
|
239 |
-
// update if options count changed
|
240 |
-
if ( templateItemsCount !== 0 && fields[fieldType].length != templateItemsCount ) {
|
241 |
-
// console.log( fields[fieldType] );
|
242 |
-
}
|
243 |
-
|
244 |
-
// disable add button if needed
|
245 |
-
if ( fields.all.length == fields[fieldType].length ) {
|
246 |
-
$( '.add-' + fieldType + '-field' ).attr( 'disabled', 'disabled' );
|
247 |
-
} else {
|
248 |
-
$( '.add-' + fieldType + '-field' ).attr( 'disabled', false );
|
249 |
-
}
|
250 |
-
|
251 |
-
// adjust disabled options
|
252 |
-
$.each( fields.all, function( index, fieldName ) {
|
253 |
-
if ( $.inArray( fieldName, fields[fieldType] ) < 0 ) {
|
254 |
-
// options field
|
255 |
-
$( '.' + fieldType + '-fields-select option:not(:checked)[value="' + fieldName + '"]' ).attr( 'disabled', false );
|
256 |
-
// template field
|
257 |
-
$( '.template-field .' + fieldType + '-fields-select option[value="' + fieldName + '"]' ).attr( 'disabled', false );
|
258 |
-
} else {
|
259 |
-
$( '.' + fieldType + '-fields-select option:not(:checked)[value="' + fieldName + '"]' ).attr( 'disabled', 'disabled' );
|
260 |
-
$( '.template-field .' + fieldType + '-fields-select option[value="' + fieldName + '"]' ).attr( 'disabled', 'disabled' );
|
261 |
-
}
|
262 |
-
} );
|
263 |
-
}
|
264 |
-
} );
|
265 |
-
|
266 |
-
// console.log( fields );
|
267 |
-
}
|
268 |
-
|
269 |
-
} );
|
270 |
-
|
271 |
-
// Force trigger change on document ready
|
272 |
-
$( function() {
|
273 |
-
$( '#postbox-container-2' ).change();
|
274 |
-
} );
|
275 |
-
|
276 |
-
$( document ).on( 'mouseenter mouseleave', '#postbox-container-2 .options-field, #postbox-container-2 .submit-field', function() {
|
277 |
-
$( '#postbox-container-2' ).change();
|
278 |
-
} );
|
279 |
-
|
280 |
-
} );
|
281 |
-
|
282 |
-
} )( jQuery );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
languages/iubenda-cookie-law-solution-it_IT.mo
DELETED
Binary file
|
languages/iubenda-cookie-law-solution-it_IT.po
DELETED
@@ -1,863 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: Iubenda Cookie Solution\n"
|
4 |
-
"POT-Creation-Date: 2020-02-06 13:33+0100\n"
|
5 |
-
"PO-Revision-Date: 2020-02-06 13:34+0100\n"
|
6 |
-
"Last-Translator: \n"
|
7 |
-
"Language-Team: \n"
|
8 |
-
"Language: it\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 2.3\n"
|
13 |
-
"X-Poedit-Basepath: ..\n"
|
14 |
-
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
15 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
16 |
-
"X-Poedit-KeywordsList: __\n"
|
17 |
-
"X-Poedit-SearchPath-0: .\n"
|
18 |
-
|
19 |
-
#: includes/amp.php:126
|
20 |
-
msgid "Loading"
|
21 |
-
msgstr ""
|
22 |
-
|
23 |
-
#: includes/amp.php:258
|
24 |
-
msgid "AMP Cookie Consent"
|
25 |
-
msgstr ""
|
26 |
-
|
27 |
-
#: includes/forms-list-table.php:92
|
28 |
-
msgid "Form Title"
|
29 |
-
msgstr "Nome del form"
|
30 |
-
|
31 |
-
#: includes/forms-list-table.php:93
|
32 |
-
msgid "Form ID"
|
33 |
-
msgstr "ID del form"
|
34 |
-
|
35 |
-
#: includes/forms-list-table.php:94
|
36 |
-
#, fuzzy
|
37 |
-
#| msgid "Source"
|
38 |
-
msgid "Form Source"
|
39 |
-
msgstr "Fonte"
|
40 |
-
|
41 |
-
#: includes/forms-list-table.php:95
|
42 |
-
msgid "Fields"
|
43 |
-
msgstr "Campi"
|
44 |
-
|
45 |
-
#: includes/forms-list-table.php:96
|
46 |
-
msgid "Date"
|
47 |
-
msgstr "Data"
|
48 |
-
|
49 |
-
#: includes/forms-list-table.php:165
|
50 |
-
msgid "Edit"
|
51 |
-
msgstr "Modifica"
|
52 |
-
|
53 |
-
#: includes/forms-list-table.php:166
|
54 |
-
msgid "Delete"
|
55 |
-
msgstr "Elimina"
|
56 |
-
|
57 |
-
#: includes/forms-list-table.php:277
|
58 |
-
msgid "Filter"
|
59 |
-
msgstr "Filtra"
|
60 |
-
|
61 |
-
#: includes/forms-list-table.php:294
|
62 |
-
msgid "Filter by source"
|
63 |
-
msgstr "Filtra per fonte"
|
64 |
-
|
65 |
-
#: includes/forms-list-table.php:296
|
66 |
-
msgid "All form sources"
|
67 |
-
msgstr "Tutte le fonti"
|
68 |
-
|
69 |
-
#: includes/forms-list-table.php:364
|
70 |
-
msgid "No forms found."
|
71 |
-
msgstr "Nessun form trovato."
|
72 |
-
|
73 |
-
#: includes/forms.php:149 includes/settings.php:138
|
74 |
-
msgid "Forms"
|
75 |
-
msgstr "Form"
|
76 |
-
|
77 |
-
#: includes/forms.php:150
|
78 |
-
msgid "Form"
|
79 |
-
msgstr "Form"
|
80 |
-
|
81 |
-
#: includes/forms.php:566 includes/forms.php:580
|
82 |
-
msgid "First name"
|
83 |
-
msgstr "Nome"
|
84 |
-
|
85 |
-
#: includes/forms.php:572 includes/forms.php:592
|
86 |
-
msgid "Last name"
|
87 |
-
msgstr "Cognome"
|
88 |
-
|
89 |
-
#: includes/forms.php:586
|
90 |
-
msgid "Middle name"
|
91 |
-
msgstr "Secondo nome"
|
92 |
-
|
93 |
-
#: includes/settings.php:43 includes/settings.php:44 includes/settings.php:45
|
94 |
-
#: includes/settings.php:46 includes/settings.php:47
|
95 |
-
msgid "string"
|
96 |
-
msgstr "stringa"
|
97 |
-
|
98 |
-
#: includes/settings.php:59 includes/settings.php:183
|
99 |
-
msgid "Cookie Solution"
|
100 |
-
msgstr "Cookie Solution"
|
101 |
-
|
102 |
-
#: includes/settings.php:65 includes/settings.php:184
|
103 |
-
msgid "Consent Solution"
|
104 |
-
msgstr "Consent Solution"
|
105 |
-
|
106 |
-
#: includes/settings.php:73
|
107 |
-
msgid "Not set"
|
108 |
-
msgstr ""
|
109 |
-
|
110 |
-
#: includes/settings.php:74
|
111 |
-
msgid "Strictly necessary"
|
112 |
-
msgstr ""
|
113 |
-
|
114 |
-
#: includes/settings.php:75
|
115 |
-
msgid "Basic interactions & functionalities"
|
116 |
-
msgstr ""
|
117 |
-
|
118 |
-
#: includes/settings.php:76
|
119 |
-
#, fuzzy
|
120 |
-
#| msgid "Experimental (enhances performance)"
|
121 |
-
msgid "Experience enhancement"
|
122 |
-
msgstr "Sperimentale (performance migliorata)"
|
123 |
-
|
124 |
-
#: includes/settings.php:77
|
125 |
-
msgid "Analytics"
|
126 |
-
msgstr ""
|
127 |
-
|
128 |
-
#: includes/settings.php:78
|
129 |
-
msgid "Targeting & Advertising"
|
130 |
-
msgstr ""
|
131 |
-
|
132 |
-
#: includes/settings.php:125
|
133 |
-
msgid "Code"
|
134 |
-
msgstr "Codice"
|
135 |
-
|
136 |
-
#: includes/settings.php:126
|
137 |
-
msgid "Google AMP"
|
138 |
-
msgstr ""
|
139 |
-
|
140 |
-
#: includes/settings.php:127
|
141 |
-
#, fuzzy
|
142 |
-
#| msgid "Scripts blocking"
|
143 |
-
msgid "Script blocking"
|
144 |
-
msgstr "Blocco preventivo dei codici"
|
145 |
-
|
146 |
-
#: includes/settings.php:128
|
147 |
-
msgid "Custom scripts"
|
148 |
-
msgstr "Script personalizzati"
|
149 |
-
|
150 |
-
#: includes/settings.php:129
|
151 |
-
msgid "Content type"
|
152 |
-
msgstr "Tipo di contenuto"
|
153 |
-
|
154 |
-
#: includes/settings.php:130
|
155 |
-
msgid "RSS feed"
|
156 |
-
msgstr "Feed RSS"
|
157 |
-
|
158 |
-
#: includes/settings.php:131
|
159 |
-
msgid "POST requests"
|
160 |
-
msgstr "Richieste POST"
|
161 |
-
|
162 |
-
#: includes/settings.php:132
|
163 |
-
msgid "Menu position"
|
164 |
-
msgstr "Posizione menu"
|
165 |
-
|
166 |
-
#: includes/settings.php:133
|
167 |
-
msgid "Deactivation"
|
168 |
-
msgstr "Disattivazione"
|
169 |
-
|
170 |
-
#: includes/settings.php:139
|
171 |
-
#, fuzzy
|
172 |
-
#| msgid "Public API Key"
|
173 |
-
msgid "Public Api Key"
|
174 |
-
msgstr "Chiave API pubblica"
|
175 |
-
|
176 |
-
#: includes/settings.php:142 includes/settings.php:146
|
177 |
-
msgid "Field Mapping"
|
178 |
-
msgstr "Mapping dei campi"
|
179 |
-
|
180 |
-
#: includes/settings.php:206
|
181 |
-
msgid "Are you sure you want to delete this form?"
|
182 |
-
msgstr "Sei sicuro di voler eliminare questo form?"
|
183 |
-
|
184 |
-
#: includes/settings.php:541
|
185 |
-
msgid "You don't have permission to access this page."
|
186 |
-
msgstr "Non disponi dell'autorizzazione per accedere a questa pagina."
|
187 |
-
|
188 |
-
#: includes/settings.php:567
|
189 |
-
#, fuzzy
|
190 |
-
#| msgid ""
|
191 |
-
#| "This plugin is the easiest and most comprehensive way to adapt your "
|
192 |
-
#| "WordPress site to the European cookie law. Upon your user's first visit, "
|
193 |
-
#| "the plugin will take care of collecting their consent, of blocking the "
|
194 |
-
#| "most popular among the scripts that install cookies and subsequently "
|
195 |
-
#| "reactivate these scripts as soon as consent is provided. The basic "
|
196 |
-
#| "settings include obtaining consent by a simple scroll action (the most "
|
197 |
-
#| "effective method) and script reactivation without refreshing the page."
|
198 |
-
msgid ""
|
199 |
-
"This plugin is the easiest and most comprehensive way to adapt your "
|
200 |
-
"WordPress site to the ePrivacy (EU Cookie Law). Upon your users’ first "
|
201 |
-
"visit, the plugin will take care of collecting their consent, blocking the "
|
202 |
-
"most popular cookie-scripts and subsequently reactivating these scripts as "
|
203 |
-
"soon as consent is provided. The basic settings include obtaining consent by "
|
204 |
-
"a simple scroll action (the most effective method) and script reactivation "
|
205 |
-
"without refreshing the page (asynchronous script reactivation)."
|
206 |
-
msgstr ""
|
207 |
-
"Questo plugin è il modo più semplice e completo per adeguare il tuo sito "
|
208 |
-
"WordPress alla Direttiva ePrivacy (Cookie Law). Alla prima visita "
|
209 |
-
"dell'utente il plugin si occuperà di raccoglierne il consenso, bloccare gli "
|
210 |
-
"script più popolari che installano cookie e riattivarli non appena il "
|
211 |
-
"consenso viene fornito. Le impostazioni di base includono la raccolta del "
|
212 |
-
"consenso tramite il semplice scroll (il metodo più efficace) e la "
|
213 |
-
"riattivazione senza il refresh della pagina."
|
214 |
-
|
215 |
-
#: includes/settings.php:570
|
216 |
-
msgid ""
|
217 |
-
"Does the Cookie Solution support IAB’s Transparency and Consent Framework?"
|
218 |
-
msgstr ""
|
219 |
-
"La Cookie Solution supporta il Transparency e Consent Framework di IAB?"
|
220 |
-
|
221 |
-
#: includes/settings.php:571
|
222 |
-
#, fuzzy, php-format
|
223 |
-
#| msgid ""
|
224 |
-
#| "Visit our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">plugin "
|
225 |
-
#| "page.</a>"
|
226 |
-
msgid ""
|
227 |
-
"Yes it does. You can read more about it <a href=\"%s\" class=\"iubenda-url\" "
|
228 |
-
"target=\"_blank\">here.</a>"
|
229 |
-
msgstr ""
|
230 |
-
"Sì. Visita <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">questa "
|
231 |
-
"pagina</a> per maggiori dettagli."
|
232 |
-
|
233 |
-
#: includes/settings.php:574
|
234 |
-
#, fuzzy
|
235 |
-
#| msgid "Would you like to know more about the Cookie Law?"
|
236 |
-
msgid "Would you like to know more about the cookie law?"
|
237 |
-
msgstr "Vuoi saperne di più sulla Cookie Law?"
|
238 |
-
|
239 |
-
#: includes/settings.php:575
|
240 |
-
#, fuzzy, php-format
|
241 |
-
#| msgid ""
|
242 |
-
#| "Read our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">complete "
|
243 |
-
#| "guide to the Cookie Law</a>."
|
244 |
-
msgid ""
|
245 |
-
"Read our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">complete "
|
246 |
-
"guide to the cookie law.</a>"
|
247 |
-
msgstr ""
|
248 |
-
"Leggi la nostra <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">guida "
|
249 |
-
"completa alla Cookie Law</a>."
|
250 |
-
|
251 |
-
#: includes/settings.php:578
|
252 |
-
msgid "What is the full functionality of the plugin?"
|
253 |
-
msgstr "Quali sono le funzionalità del plugin?"
|
254 |
-
|
255 |
-
#: includes/settings.php:579
|
256 |
-
#, fuzzy, php-format
|
257 |
-
#| msgid ""
|
258 |
-
#| "Visit our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">plugin "
|
259 |
-
#| "page</a>."
|
260 |
-
msgid ""
|
261 |
-
"Visit our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">plugin page."
|
262 |
-
"</a>"
|
263 |
-
msgstr ""
|
264 |
-
"Visita la <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">pagina "
|
265 |
-
"dedicata</a> al plugin."
|
266 |
-
|
267 |
-
#: includes/settings.php:582
|
268 |
-
msgid "Enter the iubenda code for the Cookie Solution below."
|
269 |
-
msgstr "Inserisci qui sotto il codice di iubenda per la Cookie Solution."
|
270 |
-
|
271 |
-
#: includes/settings.php:583
|
272 |
-
#, php-format
|
273 |
-
msgid ""
|
274 |
-
"In order to run the plugin, you need to enter the iubenda code that "
|
275 |
-
"activates the cookie law banner and the cookie policy in the form below. "
|
276 |
-
"This code can be generated on www.iubenda.com, following <a href=\"%s\" "
|
277 |
-
"class=\"iubenda-url\" target=\"_blank\">this guide.</a>"
|
278 |
-
msgstr ""
|
279 |
-
"Per far funzionare il plugin, è necessario inserire nel form sottostante il "
|
280 |
-
"codice di iubenda che attiva il cookie banner e la cookie policy. Questo "
|
281 |
-
"codice può essere generato su www.iubenda.com seguendo le istruzioni "
|
282 |
-
"contenute in <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">questa "
|
283 |
-
"guida</a>"
|
284 |
-
|
285 |
-
#: includes/settings.php:588
|
286 |
-
#, fuzzy
|
287 |
-
#| msgid ""
|
288 |
-
#| "Maintaining comprehensive records of consent is a vital part of privacy "
|
289 |
-
#| "compliance in general but is specifically required under the GDPR. These "
|
290 |
-
#| "records should include a way of identifying the user, store proof of "
|
291 |
-
#| "consent, record of the consenting action, and the legal documents "
|
292 |
-
#| "available to the user at the time of consent, among other things. You can "
|
293 |
-
#| "read about the <a href=\"https://www.iubenda.com/en/help/5428#records-of-"
|
294 |
-
#| "consent\" target=\"_blank\">full requirements here</a>."
|
295 |
-
msgid ""
|
296 |
-
"Maintaining comprehensive records of consent is a vital part of privacy "
|
297 |
-
"compliance in general but is specifically required under the GDPR. These "
|
298 |
-
"records should include a way of identifying the user, store proof of "
|
299 |
-
"consent, record of the consenting action, and the legal documents available "
|
300 |
-
"to the user at the time of consent, among other things. You can read about "
|
301 |
-
"the <a href=\"https://www.iubenda.com/en/help/5428-gdpr-guide#records-of-"
|
302 |
-
"consent\" target=\"_blank\">full requirements here</a>."
|
303 |
-
msgstr ""
|
304 |
-
"Oltre ad essere un elemento vitale per il rispetto della privacy in "
|
305 |
-
"generale, il mantenimento di un registro dei consensi è specificamente "
|
306 |
-
"richiesto dal GDPR. Tra le altre cose, tale registro dovrebbe includere un "
|
307 |
-
"modo per identificare l'utente, la prova del consenso, la registrazione "
|
308 |
-
"dell'azione di consenso e i documenti legali messi a disposizione "
|
309 |
-
"dell'utente al momento del consenso. <a href=\"https://www.iubenda.com/it/"
|
310 |
-
"help/5424#registro-consensi\" target=\"_blank\">Trovi tutti i requisiti qui</"
|
311 |
-
"a>."
|
312 |
-
|
313 |
-
#: includes/settings.php:613
|
314 |
-
#, php-format
|
315 |
-
msgid ""
|
316 |
-
"If you are using per-purpose script blocking or Reject option please disable "
|
317 |
-
"the \"Leave scripts untouched on the page if the user has already given "
|
318 |
-
"consent\" option. <a href=\"%s\" target=\"_self\">Disable now</a>"
|
319 |
-
msgstr ""
|
320 |
-
|
321 |
-
#: includes/settings.php:638
|
322 |
-
msgid ""
|
323 |
-
"AMP configuration file requires HTTPS. Make sure your SSL Certificate is "
|
324 |
-
"configured correctly."
|
325 |
-
msgstr ""
|
326 |
-
|
327 |
-
#: includes/settings.php:660
|
328 |
-
#, php-format
|
329 |
-
msgid ""
|
330 |
-
"This plugin drastically reduces the need for direct interventions in the "
|
331 |
-
"code of the site by integrating with iubenda’s Cookie Solution. It provides "
|
332 |
-
"a fully customizable cookie banner, dynamically generates a cookie policy <a "
|
333 |
-
"href=\"%s\" target=\"_blank\">to match the services in use on your site</a>, "
|
334 |
-
"and, fully manages cookie-related consent – including the blocking of the "
|
335 |
-
"most common widgets and third-party cookies before consent is received – in "
|
336 |
-
"order to comply with the GDPR and ePrivacy."
|
337 |
-
msgstr ""
|
338 |
-
"Grazie all'integrazione con la Cookie Solution di iubenda, questo plugin "
|
339 |
-
"riduce drasticamente la necessità di interventi diretti sul codice del sito. "
|
340 |
-
"Prevede un cookie banner completamente personalizzabile, genera una cookie "
|
341 |
-
"policy che <a href=\"%s\" target=\"_blank\">rispecchia i servizi in uso dal "
|
342 |
-
"tuo sito web</a> e gestisce il consenso ai cookie (incluso il blocco "
|
343 |
-
"automatico dei widget e dei cookie di terza parte più diffusi) in modo da "
|
344 |
-
"permetterti di rispettare il GDPR e la Direttiva ePrivacy."
|
345 |
-
|
346 |
-
#: includes/settings.php:662
|
347 |
-
msgid ""
|
348 |
-
"Maintaining valid records of consent is a vital part of privacy compliance "
|
349 |
-
"in general, and it is specifically required under the GDPR. These records "
|
350 |
-
"should include a userid, timestamp, consent proof, record of the consenting "
|
351 |
-
"action, and the legal documents available to the user at the time of "
|
352 |
-
"consent, among other things. This plugin is THE most complete solution for "
|
353 |
-
"recording, sorting and maintaining GDPR records of consent*. The plugin also "
|
354 |
-
"boasts built-in compatibility with WordPress comment form, Contact Form 7 "
|
355 |
-
"and WP Forms plugins for your convenience, but can be manually integrated "
|
356 |
-
"with any type of web-form and can even store consent proofs for consents "
|
357 |
-
"collected offline (e.g in-store sign-ups) via WP media upload."
|
358 |
-
msgstr ""
|
359 |
-
"Il mantenimento di un valido registro dei consensi è un elemento vitale per "
|
360 |
-
"il rispetto della privacy, ed è specificamente richiesto dal GDPR. Tra le "
|
361 |
-
"altre cose, questo registro dovrebbe includere l'identificativo dell'utente, "
|
362 |
-
"il timestamp, la prova del consenso, la registrazione dell'azione di "
|
363 |
-
"consenso e i documenti legali messi a disposizione dell'utente nel momento "
|
364 |
-
"in cui il consenso è stato acquisito. Questo plugin è la soluzione più "
|
365 |
-
"completa per la creazione e la gestione di un registro dei consensi*. Il "
|
366 |
-
"plugin è compatibile con il modulo dei commenti WordPress e i plugin Contact "
|
367 |
-
"Form 7 e WP Forms, può essere integrato manualmente con qualsiasi form e può "
|
368 |
-
"memorizzare la prova del consenso anche per i consensi raccolti offline (ad "
|
369 |
-
"esempio, le iscrizioni in-store) tramite l'upload dei media WP."
|
370 |
-
|
371 |
-
#: includes/settings.php:680
|
372 |
-
msgid "Reset to defaults"
|
373 |
-
msgstr "Ripristina le impostazioni di default"
|
374 |
-
|
375 |
-
#: includes/settings.php:692
|
376 |
-
msgid "Need support for this plugin?"
|
377 |
-
msgstr "Serve aiuto per questo plugin?"
|
378 |
-
|
379 |
-
#: includes/settings.php:693
|
380 |
-
#, php-format
|
381 |
-
msgid ""
|
382 |
-
"Visit our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">support "
|
383 |
-
"forum.</a>"
|
384 |
-
msgstr ""
|
385 |
-
"Visita il nostro <a href=\"%s\" class=\"iubenda-url\" target=\"_blank"
|
386 |
-
"\">forum di supporto</a>"
|
387 |
-
|
388 |
-
#: includes/settings.php:737
|
389 |
-
#, php-format
|
390 |
-
msgid "Enter the iubenda code for %s."
|
391 |
-
msgstr "Inserisci il codice di iubenda per %s."
|
392 |
-
|
393 |
-
#: includes/settings.php:748
|
394 |
-
msgid "Enter the iubenda code."
|
395 |
-
msgstr "Inserisci il codice di iubenda."
|
396 |
-
|
397 |
-
#: includes/settings.php:775
|
398 |
-
#, fuzzy
|
399 |
-
#| msgid "Enter a list of custom scripts (one per line)."
|
400 |
-
msgid ""
|
401 |
-
"Provide a list of custom scripts you’d like to block and assign their "
|
402 |
-
"purpose."
|
403 |
-
msgstr "Elenca gli script personalizzati (uno per riga)."
|
404 |
-
|
405 |
-
#: includes/settings.php:777 includes/settings.php:784
|
406 |
-
#, fuzzy
|
407 |
-
#| msgid "Custom scripts"
|
408 |
-
msgid "Enter custom script"
|
409 |
-
msgstr "Script personalizzati"
|
410 |
-
|
411 |
-
#: includes/settings.php:777 includes/settings.php:784
|
412 |
-
#: includes/settings.php:795 includes/settings.php:802
|
413 |
-
#: includes/settings.php:1178 includes/settings.php:1205
|
414 |
-
#: includes/settings.php:1246 includes/settings.php:1274
|
415 |
-
#: includes/settings.php:1325 includes/settings.php:1341
|
416 |
-
msgid "Remove"
|
417 |
-
msgstr "Elimina"
|
418 |
-
|
419 |
-
#: includes/settings.php:793
|
420 |
-
#, fuzzy
|
421 |
-
#| msgid "Enter a list of custom iframes (one per line)."
|
422 |
-
msgid ""
|
423 |
-
"Provide a list of custom iframes you’d like to block and assign their "
|
424 |
-
"purpose. "
|
425 |
-
msgstr "Elenca gli iframe personalizzati (uno per riga)."
|
426 |
-
|
427 |
-
#: includes/settings.php:795 includes/settings.php:802
|
428 |
-
msgid "Enter custom iframe"
|
429 |
-
msgstr ""
|
430 |
-
|
431 |
-
#: includes/settings.php:840
|
432 |
-
#, fuzzy
|
433 |
-
#| msgid "Automatically block scripts detected by the plugin."
|
434 |
-
msgid "Automatically block scripts detected by the plugin"
|
435 |
-
msgstr "Blocca automaticamente gli script rilevati dal plugin."
|
436 |
-
|
437 |
-
#: includes/settings.php:841
|
438 |
-
#, php-format
|
439 |
-
msgid ""
|
440 |
-
"see <a href=\"%s\" target=\"_blank\">our documentation</a> for the list of "
|
441 |
-
"detected scripts."
|
442 |
-
msgstr ""
|
443 |
-
"visita <a href=\"%s\" target=\"_blank\">la nostra documentazione</a> per la "
|
444 |
-
"lista degli script rilevati automaticamente dal plugin."
|
445 |
-
|
446 |
-
#: includes/settings.php:844
|
447 |
-
msgid "Primary"
|
448 |
-
msgstr "Primario"
|
449 |
-
|
450 |
-
#: includes/settings.php:845
|
451 |
-
msgid "Secondary"
|
452 |
-
msgstr "Secondario"
|
453 |
-
|
454 |
-
#: includes/settings.php:846
|
455 |
-
msgid "Select parsing engine."
|
456 |
-
msgstr "Seleziona il motore di parsing."
|
457 |
-
|
458 |
-
#: includes/settings.php:849
|
459 |
-
msgid ""
|
460 |
-
"Leave scripts untouched on the page if the user has already given consent"
|
461 |
-
msgstr ""
|
462 |
-
"Lascia gli script intatti sulla pagina se l'utente ha già prestato il "
|
463 |
-
"consenso"
|
464 |
-
|
465 |
-
#: includes/settings.php:850
|
466 |
-
#, fuzzy
|
467 |
-
#| msgid ""
|
468 |
-
#| "improves performance, highly recommended, to be deactivated only if your "
|
469 |
-
#| "site uses a caching system"
|
470 |
-
msgid ""
|
471 |
-
"improves performance, highly recommended, to be deactivated only if your "
|
472 |
-
"site uses a caching system or if you're collecting per-category consent."
|
473 |
-
msgstr ""
|
474 |
-
"migliora le prestazioni, altamente consigliato, da disattivare solo qualora "
|
475 |
-
"il tuo sito utilizzi un sistema di cache"
|
476 |
-
|
477 |
-
#: includes/settings.php:864
|
478 |
-
msgid ""
|
479 |
-
"Restrict the plugin to run only for requests that have \"Content-type: "
|
480 |
-
"text / html\" (recommended)"
|
481 |
-
msgstr ""
|
482 |
-
"Restringi l'esecuzione del plugin alle sole richieste che presentano "
|
483 |
-
"\"Content-type: text/html\" (consigliato)"
|
484 |
-
|
485 |
-
#: includes/settings.php:876
|
486 |
-
msgid "Do not run the plugin inside the RSS feed (recommended)"
|
487 |
-
msgstr "Non eseguire il plugin all'interno dei Feed RSS (consigliato)"
|
488 |
-
|
489 |
-
#: includes/settings.php:888
|
490 |
-
#, fuzzy
|
491 |
-
#| msgid "Do not run the plugin inside the RSS feed (recommended)"
|
492 |
-
msgid "Do not run the plugin on POST requests (recommended)"
|
493 |
-
msgstr "Non eseguire il plugin per richieste POST (consigliato)"
|
494 |
-
|
495 |
-
#: includes/settings.php:900
|
496 |
-
msgid "Top menu"
|
497 |
-
msgstr "Menu principale"
|
498 |
-
|
499 |
-
#: includes/settings.php:901
|
500 |
-
msgid "Submenu"
|
501 |
-
msgstr "Sottomenu"
|
502 |
-
|
503 |
-
#: includes/settings.php:902
|
504 |
-
msgid ""
|
505 |
-
"Select whether to display iubenda in a top admin menu or the Settings "
|
506 |
-
"submenu."
|
507 |
-
msgstr ""
|
508 |
-
"Scegli se visualizzare iubenda in una voce di menu principale del pannello "
|
509 |
-
"admin o in un sottomenu della scheda Impostazioni."
|
510 |
-
|
511 |
-
#: includes/settings.php:914
|
512 |
-
msgid "Enable Google AMP support."
|
513 |
-
msgstr ""
|
514 |
-
|
515 |
-
#: includes/settings.php:915
|
516 |
-
#, php-format
|
517 |
-
msgid ""
|
518 |
-
"This feature enables iubenda on AMP pages via the <a href=\"%s\" target="
|
519 |
-
"\"_blank\">AMP</a> and <a href=\"%s\" target=\"_blank\">AMP for WP</a> "
|
520 |
-
"plugins. AMP requires specific configuration parameters and a page hosted on "
|
521 |
-
"your domain where the configuration is loaded from. <a href=\"%s\" target="
|
522 |
-
"\"_blank\">Learn more on iubenda and AMP</a>."
|
523 |
-
msgstr ""
|
524 |
-
|
525 |
-
#: includes/settings.php:918
|
526 |
-
msgid "Auto-generated configuration file"
|
527 |
-
msgstr ""
|
528 |
-
|
529 |
-
#: includes/settings.php:919
|
530 |
-
msgid "Custom configuration file"
|
531 |
-
msgstr ""
|
532 |
-
|
533 |
-
#: includes/settings.php:920
|
534 |
-
msgid "Select the iubenda AMP configuration file location."
|
535 |
-
msgstr ""
|
536 |
-
|
537 |
-
#: includes/settings.php:925
|
538 |
-
msgid ""
|
539 |
-
"No file available. Save changes to generate iubenda AMP configuration file."
|
540 |
-
msgstr ""
|
541 |
-
|
542 |
-
#: includes/settings.php:953
|
543 |
-
msgid ""
|
544 |
-
"If you're experiencing issues with AMP setup download the generated iubenda "
|
545 |
-
"AMP configuration file, upload it to any SSL server and paste the file link "
|
546 |
-
"to the field above."
|
547 |
-
msgstr ""
|
548 |
-
|
549 |
-
#: includes/settings.php:955
|
550 |
-
#, php-format
|
551 |
-
msgid ""
|
552 |
-
"Seeing the AMP cookie notice when testing from Google but not when visiting "
|
553 |
-
"your AMP pages directly? <a href=\"%s\" target=\"_blank\">Learn how to fix "
|
554 |
-
"it</a>."
|
555 |
-
msgstr ""
|
556 |
-
|
557 |
-
#: includes/settings.php:968
|
558 |
-
msgid "Delete all plugin data upon deactivation"
|
559 |
-
msgstr "Vuoi eliminare tutti i dati del plugin al momento della disattivazione"
|
560 |
-
|
561 |
-
#: includes/settings.php:981
|
562 |
-
msgid "Enter your iubenda Javascript library public API key."
|
563 |
-
msgstr ""
|
564 |
-
"Inserisci la chiave API pubblica per la libreria JavaScript di iubenda."
|
565 |
-
|
566 |
-
#: includes/settings.php:997
|
567 |
-
msgid ""
|
568 |
-
"This section lists the forms available for field mapping. The plugin "
|
569 |
-
"currently supports & detects: WordPress Comment, Contact Form 7, WooCommerce "
|
570 |
-
"Checkout and WP Forms."
|
571 |
-
msgstr ""
|
572 |
-
"Questa sezione elenca i form disponibili al mapping. Al momento il plugin "
|
573 |
-
"supporta e rileva: Commenti WordPress, Contact Form 7, WooCommerce Checkout "
|
574 |
-
"e WP Forms."
|
575 |
-
|
576 |
-
#: includes/settings.php:1058
|
577 |
-
#, php-format
|
578 |
-
msgid "%s form title."
|
579 |
-
msgstr "%s nome del form."
|
580 |
-
|
581 |
-
#: includes/settings.php:1058
|
582 |
-
msgid "Unknown"
|
583 |
-
msgstr "Sconosciuto"
|
584 |
-
|
585 |
-
#: includes/settings.php:1060
|
586 |
-
msgid "Available form fields:"
|
587 |
-
msgstr "Campi disponibili:"
|
588 |
-
|
589 |
-
#: includes/settings.php:1066
|
590 |
-
msgid "Publish"
|
591 |
-
msgstr "Pubblica"
|
592 |
-
|
593 |
-
#: includes/settings.php:1071
|
594 |
-
msgid "Status"
|
595 |
-
msgstr "Stato"
|
596 |
-
|
597 |
-
#: includes/settings.php:1084
|
598 |
-
msgid "Cancel"
|
599 |
-
msgstr "Annulla"
|
600 |
-
|
601 |
-
#: includes/settings.php:1089
|
602 |
-
msgid "Save"
|
603 |
-
msgstr "Salva"
|
604 |
-
|
605 |
-
#: includes/settings.php:1102
|
606 |
-
msgid "Map fields"
|
607 |
-
msgstr "Mappa i campi"
|
608 |
-
|
609 |
-
#: includes/settings.php:1108
|
610 |
-
msgid "Subject fields"
|
611 |
-
msgstr "Utente"
|
612 |
-
|
613 |
-
#: includes/settings.php:1109
|
614 |
-
#, fuzzy
|
615 |
-
#| msgid ""
|
616 |
-
#| "Subject fields allow you to store a series of identifying values about "
|
617 |
-
#| "your individual subjects/users. Please map the subject field with the "
|
618 |
-
#| "corresponding form fields where applicable."
|
619 |
-
msgid ""
|
620 |
-
"Subject fields allow you to store a series of identifying values about your "
|
621 |
-
"individual subjects/users. Please map the subject field with the "
|
622 |
-
"corresponding form fields where applicable."
|
623 |
-
msgstr ""
|
624 |
-
"Questi campi ti permettono di memorizzare una serie di valori identificativi "
|
625 |
-
"dell'utente. Associa gli attributi dell'utente ai corrispondenti campi del "
|
626 |
-
"form (quando applicabile)."
|
627 |
-
|
628 |
-
#: includes/settings.php:1114
|
629 |
-
msgid "Subject field"
|
630 |
-
msgstr "Attributo"
|
631 |
-
|
632 |
-
#: includes/settings.php:1115 includes/settings.php:1159
|
633 |
-
msgid "Form field"
|
634 |
-
msgstr "Campo del form"
|
635 |
-
|
636 |
-
#: includes/settings.php:1121
|
637 |
-
msgid "Autogenerated"
|
638 |
-
msgstr "Generato automaticamente"
|
639 |
-
|
640 |
-
#: includes/settings.php:1121
|
641 |
-
msgid "None"
|
642 |
-
msgstr "Nessuno"
|
643 |
-
|
644 |
-
#: includes/settings.php:1152
|
645 |
-
msgid "Preferences fields"
|
646 |
-
msgstr "Preferenze"
|
647 |
-
|
648 |
-
#: includes/settings.php:1153
|
649 |
-
msgid ""
|
650 |
-
"Preferences fields allow you to store a record of the various opt-ins points "
|
651 |
-
"at which the user has agreed or given consent, such as fields for agreeing "
|
652 |
-
"to terms and conditions, newsletter, profiling, etc. *Please create at least "
|
653 |
-
"one preference field."
|
654 |
-
msgstr ""
|
655 |
-
"Questi campi ti permettono di memorizzare a cosa l'utente ha prestato il "
|
656 |
-
"proprio consenso, come ad esempio i termini e condizioni, la newsletter la "
|
657 |
-
"profilazione, ecc. *Si prega di creare almeno un campo."
|
658 |
-
|
659 |
-
#: includes/settings.php:1158
|
660 |
-
msgid "Preferences field"
|
661 |
-
msgstr "Campo delle preferenze"
|
662 |
-
|
663 |
-
#: includes/settings.php:1164 includes/settings.php:1190
|
664 |
-
#: includes/settings.php:1315 includes/settings.php:1325
|
665 |
-
#: includes/settings.php:1341
|
666 |
-
msgid "Enter field name"
|
667 |
-
msgstr "Aggiungi il nome di un campo"
|
668 |
-
|
669 |
-
#: includes/settings.php:1214
|
670 |
-
msgid "Add New Preference"
|
671 |
-
msgstr "Aggiungi nuova preferenza"
|
672 |
-
|
673 |
-
#: includes/settings.php:1221
|
674 |
-
msgid "Exclude fields"
|
675 |
-
msgstr "Esclusioni"
|
676 |
-
|
677 |
-
#: includes/settings.php:1222
|
678 |
-
msgid ""
|
679 |
-
"Exclude fields allow you to create a list of fields that you would like to "
|
680 |
-
"exclude from your Consent Solution recorded proofs (for e.g. password or "
|
681 |
-
"other fields not related to the consent)."
|
682 |
-
msgstr ""
|
683 |
-
"Qui puoi creare una lista dei campi che desideri escludere dalle prove del "
|
684 |
-
"consenso memorizzate dalla Consent Solution (ad es. password o altri campi "
|
685 |
-
"non correlati)."
|
686 |
-
|
687 |
-
#: includes/settings.php:1227
|
688 |
-
msgid "Exclude field"
|
689 |
-
msgstr "Campi esclusi"
|
690 |
-
|
691 |
-
#: includes/settings.php:1284
|
692 |
-
msgid "Add New Exclude"
|
693 |
-
msgstr "Aggiungi una nuova esclusione"
|
694 |
-
|
695 |
-
#: includes/settings.php:1294
|
696 |
-
msgid "Legal Notices"
|
697 |
-
msgstr "Note legali"
|
698 |
-
|
699 |
-
#: includes/settings.php:1300
|
700 |
-
msgid "Legal documents"
|
701 |
-
msgstr "Documenti legali"
|
702 |
-
|
703 |
-
#: includes/settings.php:1301
|
704 |
-
msgid ""
|
705 |
-
"In general, it’s important that you declare which legal documents are being "
|
706 |
-
"agreed upon when each consent is collected. However, if you use iubenda for "
|
707 |
-
"your legal documents, it is *required* that you identify the documents by "
|
708 |
-
"selecting them here."
|
709 |
-
msgstr ""
|
710 |
-
"In generale, è importante dichiarare quali documenti legali vengono "
|
711 |
-
"accettati al momento del conferimento del consenso. Se usi iubenda per le "
|
712 |
-
"tue informative, *devi* identificare tali documenti selezionandoli qui."
|
713 |
-
|
714 |
-
#: includes/settings.php:1306
|
715 |
-
msgid "Identifier"
|
716 |
-
msgstr "Identificatore"
|
717 |
-
|
718 |
-
#: includes/settings.php:1315
|
719 |
-
msgid "Please select each legal document available on your site."
|
720 |
-
msgstr "Seleziona tutti i documenti legali presenti sul tuo sito."
|
721 |
-
|
722 |
-
#: includes/settings.php:1331
|
723 |
-
msgid "Alternatively, you may add your own custom document identifiers."
|
724 |
-
msgstr "In alternativa, puoi aggiungere degli identificatori personalizzati."
|
725 |
-
|
726 |
-
#: includes/settings.php:1350
|
727 |
-
msgid "Add New Document"
|
728 |
-
msgstr "Aggiungi un nuovo documento"
|
729 |
-
|
730 |
-
#: includes/settings.php:1471 includes/settings.php:1503
|
731 |
-
#: includes/settings.php:1688
|
732 |
-
msgid "Settings saved."
|
733 |
-
msgstr "Impostazioni salvate."
|
734 |
-
|
735 |
-
#: includes/settings.php:1483 includes/settings.php:1508
|
736 |
-
msgid "Settings restored to defaults."
|
737 |
-
msgstr "Impostazioni di default ripristinate."
|
738 |
-
|
739 |
-
#: includes/settings.php:1543
|
740 |
-
#, php-format
|
741 |
-
msgid ""
|
742 |
-
"Please enable comments cookies opt-in checkbox in the <a href=\"%s\" target="
|
743 |
-
"\"_blank\">Discussion settings</a>."
|
744 |
-
msgstr ""
|
745 |
-
"Abilita per i commenti la possibilità di attivare o disattivare la "
|
746 |
-
"memorizzazione dei dati personali in un cookie. Per farlo, vai su <a href="
|
747 |
-
"\"%s\" target=\"_blank\">Impostazioni discussione</a>."
|
748 |
-
|
749 |
-
#: includes/settings.php:1563
|
750 |
-
msgid "No forms or form changes detected."
|
751 |
-
msgstr "Nessun form o modifica rilevati."
|
752 |
-
|
753 |
-
#: includes/settings.php:1623
|
754 |
-
msgid "Form saving failed. Please fill the Subject and Preferences fields."
|
755 |
-
msgstr "Salvataggio del form fallito. Compila i campi Utente e Preferenze."
|
756 |
-
|
757 |
-
#: includes/settings.php:1647
|
758 |
-
#, fuzzy
|
759 |
-
#| msgid "Settings applied successfully"
|
760 |
-
msgid "Form saved successfully - form status changed to Mapped."
|
761 |
-
msgstr "Form salvato con successo - Stato aggiornato a Mappato."
|
762 |
-
|
763 |
-
#: includes/settings.php:1650
|
764 |
-
msgid "Form updated successfully."
|
765 |
-
msgstr "Form aggiornato con successo."
|
766 |
-
|
767 |
-
#: includes/settings.php:1653
|
768 |
-
msgid "Form saving failed."
|
769 |
-
msgstr "Salvataggio del form fallito."
|
770 |
-
|
771 |
-
#: includes/settings.php:1670
|
772 |
-
#, fuzzy
|
773 |
-
#| msgid "Settings applied successfully"
|
774 |
-
msgid "Form deleted successfully."
|
775 |
-
msgstr "Form eliminato con successo."
|
776 |
-
|
777 |
-
#: includes/settings.php:1672
|
778 |
-
msgid "Form delete failed."
|
779 |
-
msgstr "Eliminazione del form fallita."
|
780 |
-
|
781 |
-
#: includes/settings.php:1748
|
782 |
-
msgid "Dismiss this notice."
|
783 |
-
msgstr "Chiudi questo avviso."
|
784 |
-
|
785 |
-
#: includes/settings.php:1424
|
786 |
-
msgid "Currently, you do not have write permission for <i>%s</i>. For instructions on how to fix this, please read <a target=\"_blank\" href=\"%s\">our guide</a>."
|
787 |
-
msgstr "Al momento non disponi dei permessi di scrittura per <i>%s</i>. Leggi la <a target=\"_blank\" href=\"%s\">nostra guida</a> per istruzioni su come risolvere il problema."
|
788 |
-
|
789 |
-
#, fuzzy
|
790 |
-
#~| msgid "Settings applied successfully"
|
791 |
-
#~ msgid "Forms detected successfully."
|
792 |
-
#~ msgstr "Impostazioni salvate con successo."
|
793 |
-
|
794 |
-
#, fuzzy
|
795 |
-
#~| msgid "Content type"
|
796 |
-
#~ msgid "Contents"
|
797 |
-
#~ msgstr "Tipo di contenuto"
|
798 |
-
|
799 |
-
#~ msgid "Want to try a beta version of this plugin with the latest features?"
|
800 |
-
#~ msgstr ""
|
801 |
-
#~ "Vuoi provare una versione Beta di questo plugin, con le funzionalità più "
|
802 |
-
#~ "recenti?"
|
803 |
-
|
804 |
-
#~ msgid ""
|
805 |
-
#~ "Visit our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank"
|
806 |
-
#~ "\">documentation pages</a> and follow the instructions to install a beta "
|
807 |
-
#~ "version."
|
808 |
-
#~ msgstr ""
|
809 |
-
#~ "Visita la <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">nostra "
|
810 |
-
#~ "documentazione</a> e segui le istruzioni per installare una versione Beta."
|
811 |
-
|
812 |
-
#~ msgid "Default"
|
813 |
-
#~ msgstr "Default"
|
814 |
-
|
815 |
-
#~ msgid "Experimental"
|
816 |
-
#~ msgstr "Sperimentale"
|
817 |
-
|
818 |
-
#~ msgid "What’s the full functionality of the plugin?"
|
819 |
-
#~ msgstr "Quali sono le funzionalità del plugin?"
|
820 |
-
|
821 |
-
#~ msgid "Select a language to correctly pair it with your script"
|
822 |
-
#~ msgstr "Seleziona una lingua a cui associare il tuo codice"
|
823 |
-
|
824 |
-
#~ msgid "Automatically blocks scripts detected by the plugin"
|
825 |
-
#~ msgstr "Effettua il blocco automatico degli script rilevati dal plugin"
|
826 |
-
|
827 |
-
#~ msgid ""
|
828 |
-
#~ "see <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">our "
|
829 |
-
#~ "documentation</a> for the list of detected scripts."
|
830 |
-
#~ msgstr ""
|
831 |
-
#~ "consulta la <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">nostra "
|
832 |
-
#~ "documentazione</a> per la lista di script rilevati."
|
833 |
-
|
834 |
-
#~ msgid "Parsing engine"
|
835 |
-
#~ msgstr "Parsing engine"
|
836 |
-
|
837 |
-
#~ msgid ""
|
838 |
-
#~ "Leaves scripts untouched on the page if the user has already given consent"
|
839 |
-
#~ msgstr ""
|
840 |
-
#~ "Lascia intatti gli script della pagina se l'utente ha già dato il consenso"
|
841 |
-
|
842 |
-
#~ msgid "Applies special optimizations in cases with faulty output"
|
843 |
-
#~ msgstr "Applica ottimizzazioni speciali in caso di errori con l'output"
|
844 |
-
|
845 |
-
#~ msgid ""
|
846 |
-
#~ "only select this option if you had performance problems or if you notice "
|
847 |
-
#~ "that the blocking of code is run several times"
|
848 |
-
#~ msgstr ""
|
849 |
-
#~ "attiva questa opzione solo qualora avessi problemi di performance o "
|
850 |
-
#~ "notassi che il blocco dei codici viene applicato più volte"
|
851 |
-
|
852 |
-
#~ msgid "Parsed with iubenda experimental class in %s sec."
|
853 |
-
#~ msgstr "Parsed with iubenda experimental class in %s sec."
|
854 |
-
|
855 |
-
#~ msgid "Parsed with iubenda default class in %s sec."
|
856 |
-
#~ msgstr "Parsed with iubenda default class in %s sec."
|
857 |
-
|
858 |
-
#~ msgid ""
|
859 |
-
#~ "see <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">our "
|
860 |
-
#~ "documentation</a> for the list of detected scripts this guide."
|
861 |
-
#~ msgstr ""
|
862 |
-
#~ "consulta la <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">nostra "
|
863 |
-
#~ "documentazione</a> per la lista di script rilevati."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
languages/iubenda-cookie-law-solution.pot
DELETED
@@ -1,647 +0,0 @@
|
|
1 |
-
#, fuzzy
|
2 |
-
msgid ""
|
3 |
-
msgstr ""
|
4 |
-
"Project-Id-Version: Iubenda Cookie Solution\n"
|
5 |
-
"POT-Creation-Date: 2020-02-06 13:33+0100\n"
|
6 |
-
"PO-Revision-Date: 2015-08-12 10:36+0200\n"
|
7 |
-
"Last-Translator: \n"
|
8 |
-
"Language-Team: \n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 2.3\n"
|
13 |
-
"X-Poedit-Basepath: ..\n"
|
14 |
-
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
15 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
16 |
-
"X-Poedit-KeywordsList: __\n"
|
17 |
-
"X-Poedit-SearchPath-0: .\n"
|
18 |
-
|
19 |
-
#: includes/amp.php:126
|
20 |
-
msgid "Loading"
|
21 |
-
msgstr ""
|
22 |
-
|
23 |
-
#: includes/amp.php:258
|
24 |
-
msgid "AMP Cookie Consent"
|
25 |
-
msgstr ""
|
26 |
-
|
27 |
-
#: includes/forms-list-table.php:92
|
28 |
-
msgid "Form Title"
|
29 |
-
msgstr ""
|
30 |
-
|
31 |
-
#: includes/forms-list-table.php:93
|
32 |
-
msgid "Form ID"
|
33 |
-
msgstr ""
|
34 |
-
|
35 |
-
#: includes/forms-list-table.php:94
|
36 |
-
msgid "Form Source"
|
37 |
-
msgstr ""
|
38 |
-
|
39 |
-
#: includes/forms-list-table.php:95
|
40 |
-
msgid "Fields"
|
41 |
-
msgstr ""
|
42 |
-
|
43 |
-
#: includes/forms-list-table.php:96
|
44 |
-
msgid "Date"
|
45 |
-
msgstr ""
|
46 |
-
|
47 |
-
#: includes/forms-list-table.php:165
|
48 |
-
msgid "Edit"
|
49 |
-
msgstr ""
|
50 |
-
|
51 |
-
#: includes/forms-list-table.php:166
|
52 |
-
msgid "Delete"
|
53 |
-
msgstr ""
|
54 |
-
|
55 |
-
#: includes/forms-list-table.php:277
|
56 |
-
msgid "Filter"
|
57 |
-
msgstr ""
|
58 |
-
|
59 |
-
#: includes/forms-list-table.php:294
|
60 |
-
msgid "Filter by source"
|
61 |
-
msgstr ""
|
62 |
-
|
63 |
-
#: includes/forms-list-table.php:296
|
64 |
-
msgid "All form sources"
|
65 |
-
msgstr ""
|
66 |
-
|
67 |
-
#: includes/forms-list-table.php:364
|
68 |
-
msgid "No forms found."
|
69 |
-
msgstr ""
|
70 |
-
|
71 |
-
#: includes/forms.php:149 includes/settings.php:138
|
72 |
-
msgid "Forms"
|
73 |
-
msgstr ""
|
74 |
-
|
75 |
-
#: includes/forms.php:150
|
76 |
-
msgid "Form"
|
77 |
-
msgstr ""
|
78 |
-
|
79 |
-
#: includes/forms.php:566 includes/forms.php:580
|
80 |
-
msgid "First name"
|
81 |
-
msgstr ""
|
82 |
-
|
83 |
-
#: includes/forms.php:572 includes/forms.php:592
|
84 |
-
msgid "Last name"
|
85 |
-
msgstr ""
|
86 |
-
|
87 |
-
#: includes/forms.php:586
|
88 |
-
msgid "Middle name"
|
89 |
-
msgstr ""
|
90 |
-
|
91 |
-
#: includes/settings.php:43 includes/settings.php:44 includes/settings.php:45
|
92 |
-
#: includes/settings.php:46 includes/settings.php:47
|
93 |
-
msgid "string"
|
94 |
-
msgstr ""
|
95 |
-
|
96 |
-
#: includes/settings.php:59 includes/settings.php:183
|
97 |
-
msgid "Cookie Solution"
|
98 |
-
msgstr ""
|
99 |
-
|
100 |
-
#: includes/settings.php:65 includes/settings.php:184
|
101 |
-
msgid "Consent Solution"
|
102 |
-
msgstr ""
|
103 |
-
|
104 |
-
#: includes/settings.php:73
|
105 |
-
msgid "Not set"
|
106 |
-
msgstr ""
|
107 |
-
|
108 |
-
#: includes/settings.php:74
|
109 |
-
msgid "Strictly necessary"
|
110 |
-
msgstr ""
|
111 |
-
|
112 |
-
#: includes/settings.php:75
|
113 |
-
msgid "Basic interactions & functionalities"
|
114 |
-
msgstr ""
|
115 |
-
|
116 |
-
#: includes/settings.php:76
|
117 |
-
msgid "Experience enhancement"
|
118 |
-
msgstr ""
|
119 |
-
|
120 |
-
#: includes/settings.php:77
|
121 |
-
msgid "Analytics"
|
122 |
-
msgstr ""
|
123 |
-
|
124 |
-
#: includes/settings.php:78
|
125 |
-
msgid "Targeting & Advertising"
|
126 |
-
msgstr ""
|
127 |
-
|
128 |
-
#: includes/settings.php:125
|
129 |
-
msgid "Code"
|
130 |
-
msgstr ""
|
131 |
-
|
132 |
-
#: includes/settings.php:126
|
133 |
-
msgid "Google AMP"
|
134 |
-
msgstr ""
|
135 |
-
|
136 |
-
#: includes/settings.php:127
|
137 |
-
msgid "Script blocking"
|
138 |
-
msgstr ""
|
139 |
-
|
140 |
-
#: includes/settings.php:128
|
141 |
-
msgid "Custom scripts"
|
142 |
-
msgstr ""
|
143 |
-
|
144 |
-
#: includes/settings.php:129
|
145 |
-
msgid "Content type"
|
146 |
-
msgstr ""
|
147 |
-
|
148 |
-
#: includes/settings.php:130
|
149 |
-
msgid "RSS feed"
|
150 |
-
msgstr ""
|
151 |
-
|
152 |
-
#: includes/settings.php:131
|
153 |
-
msgid "POST requests"
|
154 |
-
msgstr ""
|
155 |
-
|
156 |
-
#: includes/settings.php:132
|
157 |
-
msgid "Menu position"
|
158 |
-
msgstr ""
|
159 |
-
|
160 |
-
#: includes/settings.php:133
|
161 |
-
msgid "Deactivation"
|
162 |
-
msgstr ""
|
163 |
-
|
164 |
-
#: includes/settings.php:139
|
165 |
-
msgid "Public Api Key"
|
166 |
-
msgstr ""
|
167 |
-
|
168 |
-
#: includes/settings.php:142 includes/settings.php:146
|
169 |
-
msgid "Field Mapping"
|
170 |
-
msgstr ""
|
171 |
-
|
172 |
-
#: includes/settings.php:206
|
173 |
-
msgid "Are you sure you want to delete this form?"
|
174 |
-
msgstr ""
|
175 |
-
|
176 |
-
#: includes/settings.php:541
|
177 |
-
msgid "You don't have permission to access this page."
|
178 |
-
msgstr ""
|
179 |
-
|
180 |
-
#: includes/settings.php:567
|
181 |
-
msgid ""
|
182 |
-
"This plugin is the easiest and most comprehensive way to adapt your "
|
183 |
-
"WordPress site to the ePrivacy (EU Cookie Law). Upon your users’ first "
|
184 |
-
"visit, the plugin will take care of collecting their consent, blocking the "
|
185 |
-
"most popular cookie-scripts and subsequently reactivating these scripts as "
|
186 |
-
"soon as consent is provided. The basic settings include obtaining consent "
|
187 |
-
"by a simple scroll action (the most effective method) and script "
|
188 |
-
"reactivation without refreshing the page (asynchronous script reactivation)."
|
189 |
-
msgstr ""
|
190 |
-
|
191 |
-
#: includes/settings.php:570
|
192 |
-
msgid ""
|
193 |
-
"Does the Cookie Solution support IAB’s Transparency and Consent Framework?"
|
194 |
-
msgstr ""
|
195 |
-
|
196 |
-
#: includes/settings.php:571
|
197 |
-
#, php-format
|
198 |
-
msgid ""
|
199 |
-
"Yes it does. You can read more about it <a href=\"%s\" class=\"iubenda-url"
|
200 |
-
"\" target=\"_blank\">here.</a>"
|
201 |
-
msgstr ""
|
202 |
-
|
203 |
-
#: includes/settings.php:574
|
204 |
-
msgid "Would you like to know more about the cookie law?"
|
205 |
-
msgstr ""
|
206 |
-
|
207 |
-
#: includes/settings.php:575
|
208 |
-
#, php-format
|
209 |
-
msgid ""
|
210 |
-
"Read our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">complete "
|
211 |
-
"guide to the cookie law.</a>"
|
212 |
-
msgstr ""
|
213 |
-
|
214 |
-
#: includes/settings.php:578
|
215 |
-
msgid "What is the full functionality of the plugin?"
|
216 |
-
msgstr ""
|
217 |
-
|
218 |
-
#: includes/settings.php:579
|
219 |
-
#, php-format
|
220 |
-
msgid ""
|
221 |
-
"Visit our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">plugin "
|
222 |
-
"page.</a>"
|
223 |
-
msgstr ""
|
224 |
-
|
225 |
-
#: includes/settings.php:582
|
226 |
-
msgid "Enter the iubenda code for the Cookie Solution below."
|
227 |
-
msgstr ""
|
228 |
-
|
229 |
-
#: includes/settings.php:583
|
230 |
-
#, php-format
|
231 |
-
msgid ""
|
232 |
-
"In order to run the plugin, you need to enter the iubenda code that "
|
233 |
-
"activates the cookie law banner and the cookie policy in the form below. "
|
234 |
-
"This code can be generated on www.iubenda.com, following <a href=\"%s\" "
|
235 |
-
"class=\"iubenda-url\" target=\"_blank\">this guide.</a>"
|
236 |
-
msgstr ""
|
237 |
-
|
238 |
-
#: includes/settings.php:588
|
239 |
-
msgid ""
|
240 |
-
"Maintaining comprehensive records of consent is a vital part of privacy "
|
241 |
-
"compliance in general but is specifically required under the GDPR. These "
|
242 |
-
"records should include a way of identifying the user, store proof of "
|
243 |
-
"consent, record of the consenting action, and the legal documents available "
|
244 |
-
"to the user at the time of consent, among other things. You can read about "
|
245 |
-
"the <a href=\"https://www.iubenda.com/en/help/5428-gdpr-guide#records-of-"
|
246 |
-
"consent\" target=\"_blank\">full requirements here</a>."
|
247 |
-
msgstr ""
|
248 |
-
|
249 |
-
#: includes/settings.php:613
|
250 |
-
#, php-format
|
251 |
-
msgid ""
|
252 |
-
"If you are using per-purpose script blocking or Reject option please "
|
253 |
-
"disable the \"Leave scripts untouched on the page if the user has already "
|
254 |
-
"given consent\" option. <a href=\"%s\" target=\"_self\">Disable now</a>"
|
255 |
-
msgstr ""
|
256 |
-
|
257 |
-
#: includes/settings.php:638
|
258 |
-
msgid ""
|
259 |
-
"AMP configuration file requires HTTPS. Make sure your SSL Certificate is "
|
260 |
-
"configured correctly."
|
261 |
-
msgstr ""
|
262 |
-
|
263 |
-
#: includes/settings.php:660
|
264 |
-
#, php-format
|
265 |
-
msgid ""
|
266 |
-
"This plugin drastically reduces the need for direct interventions in the "
|
267 |
-
"code of the site by integrating with iubenda’s Cookie Solution. It provides "
|
268 |
-
"a fully customizable cookie banner, dynamically generates a cookie policy "
|
269 |
-
"<a href=\"%s\" target=\"_blank\">to match the services in use on your site</"
|
270 |
-
"a>, and, fully manages cookie-related consent – including the blocking of "
|
271 |
-
"the most common widgets and third-party cookies before consent is received "
|
272 |
-
"– in order to comply with the GDPR and ePrivacy."
|
273 |
-
msgstr ""
|
274 |
-
|
275 |
-
#: includes/settings.php:662
|
276 |
-
msgid ""
|
277 |
-
"Maintaining valid records of consent is a vital part of privacy compliance "
|
278 |
-
"in general, and it is specifically required under the GDPR. These records "
|
279 |
-
"should include a userid, timestamp, consent proof, record of the consenting "
|
280 |
-
"action, and the legal documents available to the user at the time of "
|
281 |
-
"consent, among other things. This plugin is THE most complete solution for "
|
282 |
-
"recording, sorting and maintaining GDPR records of consent*. The plugin "
|
283 |
-
"also boasts built-in compatibility with WordPress comment form, Contact "
|
284 |
-
"Form 7 and WP Forms plugins for your convenience, but can be manually "
|
285 |
-
"integrated with any type of web-form and can even store consent proofs for "
|
286 |
-
"consents collected offline (e.g in-store sign-ups) via WP media upload."
|
287 |
-
msgstr ""
|
288 |
-
|
289 |
-
#: includes/settings.php:680
|
290 |
-
msgid "Reset to defaults"
|
291 |
-
msgstr ""
|
292 |
-
|
293 |
-
#: includes/settings.php:692
|
294 |
-
msgid "Need support for this plugin?"
|
295 |
-
msgstr ""
|
296 |
-
|
297 |
-
#: includes/settings.php:693
|
298 |
-
#, php-format
|
299 |
-
msgid ""
|
300 |
-
"Visit our <a href=\"%s\" class=\"iubenda-url\" target=\"_blank\">support "
|
301 |
-
"forum.</a>"
|
302 |
-
msgstr ""
|
303 |
-
|
304 |
-
#: includes/settings.php:737
|
305 |
-
#, php-format
|
306 |
-
msgid "Enter the iubenda code for %s."
|
307 |
-
msgstr ""
|
308 |
-
|
309 |
-
#: includes/settings.php:748
|
310 |
-
msgid "Enter the iubenda code."
|
311 |
-
msgstr ""
|
312 |
-
|
313 |
-
#: includes/settings.php:775
|
314 |
-
msgid ""
|
315 |
-
"Provide a list of custom scripts you’d like to block and assign their "
|
316 |
-
"purpose."
|
317 |
-
msgstr ""
|
318 |
-
|
319 |
-
#: includes/settings.php:777 includes/settings.php:784
|
320 |
-
msgid "Enter custom script"
|
321 |
-
msgstr ""
|
322 |
-
|
323 |
-
#: includes/settings.php:777 includes/settings.php:784
|
324 |
-
#: includes/settings.php:795 includes/settings.php:802
|
325 |
-
#: includes/settings.php:1178 includes/settings.php:1205
|
326 |
-
#: includes/settings.php:1246 includes/settings.php:1274
|
327 |
-
#: includes/settings.php:1325 includes/settings.php:1341
|
328 |
-
msgid "Remove"
|
329 |
-
msgstr ""
|
330 |
-
|
331 |
-
#: includes/settings.php:793
|
332 |
-
msgid ""
|
333 |
-
"Provide a list of custom iframes you’d like to block and assign their "
|
334 |
-
"purpose. "
|
335 |
-
msgstr ""
|
336 |
-
|
337 |
-
#: includes/settings.php:795 includes/settings.php:802
|
338 |
-
msgid "Enter custom iframe"
|
339 |
-
msgstr ""
|
340 |
-
|
341 |
-
#: includes/settings.php:840
|
342 |
-
msgid "Automatically block scripts detected by the plugin"
|
343 |
-
msgstr ""
|
344 |
-
|
345 |
-
#: includes/settings.php:841
|
346 |
-
#, php-format
|
347 |
-
msgid ""
|
348 |
-
"see <a href=\"%s\" target=\"_blank\">our documentation</a> for the list of "
|
349 |
-
"detected scripts."
|
350 |
-
msgstr ""
|
351 |
-
|
352 |
-
#: includes/settings.php:844
|
353 |
-
msgid "Primary"
|
354 |
-
msgstr ""
|
355 |
-
|
356 |
-
#: includes/settings.php:845
|
357 |
-
msgid "Secondary"
|
358 |
-
msgstr ""
|
359 |
-
|
360 |
-
#: includes/settings.php:846
|
361 |
-
msgid "Select parsing engine."
|
362 |
-
msgstr ""
|
363 |
-
|
364 |
-
#: includes/settings.php:849
|
365 |
-
msgid ""
|
366 |
-
"Leave scripts untouched on the page if the user has already given consent"
|
367 |
-
msgstr ""
|
368 |
-
|
369 |
-
#: includes/settings.php:850
|
370 |
-
msgid ""
|
371 |
-
"improves performance, highly recommended, to be deactivated only if your "
|
372 |
-
"site uses a caching system or if you're collecting per-category consent."
|
373 |
-
msgstr ""
|
374 |
-
|
375 |
-
#: includes/settings.php:864
|
376 |
-
msgid ""
|
377 |
-
"Restrict the plugin to run only for requests that have \"Content-type: "
|
378 |
-
"text / html\" (recommended)"
|
379 |
-
msgstr ""
|
380 |
-
|
381 |
-
#: includes/settings.php:876
|
382 |
-
msgid "Do not run the plugin inside the RSS feed (recommended)"
|
383 |
-
msgstr ""
|
384 |
-
|
385 |
-
#: includes/settings.php:888
|
386 |
-
msgid "Do not run the plugin on POST requests (recommended)"
|
387 |
-
msgstr ""
|
388 |
-
|
389 |
-
#: includes/settings.php:900
|
390 |
-
msgid "Top menu"
|
391 |
-
msgstr ""
|
392 |
-
|
393 |
-
#: includes/settings.php:901
|
394 |
-
msgid "Submenu"
|
395 |
-
msgstr ""
|
396 |
-
|
397 |
-
#: includes/settings.php:902
|
398 |
-
msgid ""
|
399 |
-
"Select whether to display iubenda in a top admin menu or the Settings "
|
400 |
-
"submenu."
|
401 |
-
msgstr ""
|
402 |
-
|
403 |
-
#: includes/settings.php:914
|
404 |
-
msgid "Enable Google AMP support."
|
405 |
-
msgstr ""
|
406 |
-
|
407 |
-
#: includes/settings.php:915
|
408 |
-
#, php-format
|
409 |
-
msgid ""
|
410 |
-
"This feature enables iubenda on AMP pages via the <a href=\"%s\" target="
|
411 |
-
"\"_blank\">AMP</a> and <a href=\"%s\" target=\"_blank\">AMP for WP</a> "
|
412 |
-
"plugins. AMP requires specific configuration parameters and a page hosted "
|
413 |
-
"on your domain where the configuration is loaded from. <a href=\"%s\" "
|
414 |
-
"target=\"_blank\">Learn more on iubenda and AMP</a>."
|
415 |
-
msgstr ""
|
416 |
-
|
417 |
-
#: includes/settings.php:918
|
418 |
-
msgid "Auto-generated configuration file"
|
419 |
-
msgstr ""
|
420 |
-
|
421 |
-
#: includes/settings.php:919
|
422 |
-
msgid "Custom configuration file"
|
423 |
-
msgstr ""
|
424 |
-
|
425 |
-
#: includes/settings.php:920
|
426 |
-
msgid "Select the iubenda AMP configuration file location."
|
427 |
-
msgstr ""
|
428 |
-
|
429 |
-
#: includes/settings.php:925
|
430 |
-
msgid ""
|
431 |
-
"No file available. Save changes to generate iubenda AMP configuration file."
|
432 |
-
msgstr ""
|
433 |
-
|
434 |
-
#: includes/settings.php:953
|
435 |
-
msgid ""
|
436 |
-
"If you're experiencing issues with AMP setup download the generated iubenda "
|
437 |
-
"AMP configuration file, upload it to any SSL server and paste the file link "
|
438 |
-
"to the field above."
|
439 |
-
msgstr ""
|
440 |
-
|
441 |
-
#: includes/settings.php:955
|
442 |
-
#, php-format
|
443 |
-
msgid ""
|
444 |
-
"Seeing the AMP cookie notice when testing from Google but not when visiting "
|
445 |
-
"your AMP pages directly? <a href=\"%s\" target=\"_blank\">Learn how to fix "
|
446 |
-
"it</a>."
|
447 |
-
msgstr ""
|
448 |
-
|
449 |
-
#: includes/settings.php:968
|
450 |
-
msgid "Delete all plugin data upon deactivation"
|
451 |
-
msgstr ""
|
452 |
-
|
453 |
-
#: includes/settings.php:981
|
454 |
-
msgid "Enter your iubenda Javascript library public API key."
|
455 |
-
msgstr ""
|
456 |
-
|
457 |
-
#: includes/settings.php:997
|
458 |
-
msgid ""
|
459 |
-
"This section lists the forms available for field mapping. The plugin "
|
460 |
-
"currently supports & detects: WordPress Comment, Contact Form 7, "
|
461 |
-
"WooCommerce Checkout and WP Forms."
|
462 |
-
msgstr ""
|
463 |
-
|
464 |
-
#: includes/settings.php:1058
|
465 |
-
#, php-format
|
466 |
-
msgid "%s form title."
|
467 |
-
msgstr ""
|
468 |
-
|
469 |
-
#: includes/settings.php:1058
|
470 |
-
msgid "Unknown"
|
471 |
-
msgstr ""
|
472 |
-
|
473 |
-
#: includes/settings.php:1060
|
474 |
-
msgid "Available form fields:"
|
475 |
-
msgstr ""
|
476 |
-
|
477 |
-
#: includes/settings.php:1066
|
478 |
-
msgid "Publish"
|
479 |
-
msgstr ""
|
480 |
-
|
481 |
-
#: includes/settings.php:1071
|
482 |
-
msgid "Status"
|
483 |
-
msgstr ""
|
484 |
-
|
485 |
-
#: includes/settings.php:1084
|
486 |
-
msgid "Cancel"
|
487 |
-
msgstr ""
|
488 |
-
|
489 |
-
#: includes/settings.php:1089
|
490 |
-
msgid "Save"
|
491 |
-
msgstr ""
|
492 |
-
|
493 |
-
#: includes/settings.php:1102
|
494 |
-
msgid "Map fields"
|
495 |
-
msgstr ""
|
496 |
-
|
497 |
-
#: includes/settings.php:1108
|
498 |
-
msgid "Subject fields"
|
499 |
-
msgstr ""
|
500 |
-
|
501 |
-
#: includes/settings.php:1109
|
502 |
-
msgid ""
|
503 |
-
"Subject fields allow you to store a series of identifying values about your "
|
504 |
-
"individual subjects/users. Please map the subject field with the "
|
505 |
-
"corresponding form fields where applicable."
|
506 |
-
msgstr ""
|
507 |
-
|
508 |
-
#: includes/settings.php:1114
|
509 |
-
msgid "Subject field"
|
510 |
-
msgstr ""
|
511 |
-
|
512 |
-
#: includes/settings.php:1115 includes/settings.php:1159
|
513 |
-
msgid "Form field"
|
514 |
-
msgstr ""
|
515 |
-
|
516 |
-
#: includes/settings.php:1121
|
517 |
-
msgid "Autogenerated"
|
518 |
-
msgstr ""
|
519 |
-
|
520 |
-
#: includes/settings.php:1121
|
521 |
-
msgid "None"
|
522 |
-
msgstr ""
|
523 |
-
|
524 |
-
#: includes/settings.php:1152
|
525 |
-
msgid "Preferences fields"
|
526 |
-
msgstr ""
|
527 |
-
|
528 |
-
#: includes/settings.php:1153
|
529 |
-
msgid ""
|
530 |
-
"Preferences fields allow you to store a record of the various opt-ins "
|
531 |
-
"points at which the user has agreed or given consent, such as fields for "
|
532 |
-
"agreeing to terms and conditions, newsletter, profiling, etc. *Please "
|
533 |
-
"create at least one preference field."
|
534 |
-
msgstr ""
|
535 |
-
|
536 |
-
#: includes/settings.php:1158
|
537 |
-
msgid "Preferences field"
|
538 |
-
msgstr ""
|
539 |
-
|
540 |
-
#: includes/settings.php:1164 includes/settings.php:1190
|
541 |
-
#: includes/settings.php:1315 includes/settings.php:1325
|
542 |
-
#: includes/settings.php:1341
|
543 |
-
msgid "Enter field name"
|
544 |
-
msgstr ""
|
545 |
-
|
546 |
-
#: includes/settings.php:1214
|
547 |
-
msgid "Add New Preference"
|
548 |
-
msgstr ""
|
549 |
-
|
550 |
-
#: includes/settings.php:1221
|
551 |
-
msgid "Exclude fields"
|
552 |
-
msgstr ""
|
553 |
-
|
554 |
-
#: includes/settings.php:1222
|
555 |
-
msgid ""
|
556 |
-
"Exclude fields allow you to create a list of fields that you would like to "
|
557 |
-
"exclude from your Consent Solution recorded proofs (for e.g. password or "
|
558 |
-
"other fields not related to the consent)."
|
559 |
-
msgstr ""
|
560 |
-
|
561 |
-
#: includes/settings.php:1227
|
562 |
-
msgid "Exclude field"
|
563 |
-
msgstr ""
|
564 |
-
|
565 |
-
#: includes/settings.php:1284
|
566 |
-
msgid "Add New Exclude"
|
567 |
-
msgstr ""
|
568 |
-
|
569 |
-
#: includes/settings.php:1294
|
570 |
-
msgid "Legal Notices"
|
571 |
-
msgstr ""
|
572 |
-
|
573 |
-
#: includes/settings.php:1300
|
574 |
-
msgid "Legal documents"
|
575 |
-
msgstr ""
|
576 |
-
|
577 |
-
#: includes/settings.php:1301
|
578 |
-
msgid ""
|
579 |
-
"In general, it’s important that you declare which legal documents are being "
|
580 |
-
"agreed upon when each consent is collected. However, if you use iubenda for "
|
581 |
-
"your legal documents, it is *required* that you identify the documents by "
|
582 |
-
"selecting them here."
|
583 |
-
msgstr ""
|
584 |
-
|
585 |
-
#: includes/settings.php:1306
|
586 |
-
msgid "Identifier"
|
587 |
-
msgstr ""
|
588 |
-
|
589 |
-
#: includes/settings.php:1315
|
590 |
-
msgid "Please select each legal document available on your site."
|
591 |
-
msgstr ""
|
592 |
-
|
593 |
-
#: includes/settings.php:1331
|
594 |
-
msgid "Alternatively, you may add your own custom document identifiers."
|
595 |
-
msgstr ""
|
596 |
-
|
597 |
-
#: includes/settings.php:1350
|
598 |
-
msgid "Add New Document"
|
599 |
-
msgstr ""
|
600 |
-
|
601 |
-
#: includes/settings.php:1471 includes/settings.php:1503
|
602 |
-
#: includes/settings.php:1688
|
603 |
-
msgid "Settings saved."
|
604 |
-
msgstr ""
|
605 |
-
|
606 |
-
#: includes/settings.php:1483 includes/settings.php:1508
|
607 |
-
msgid "Settings restored to defaults."
|
608 |
-
msgstr ""
|
609 |
-
|
610 |
-
#: includes/settings.php:1543
|
611 |
-
#, php-format
|
612 |
-
msgid ""
|
613 |
-
"Please enable comments cookies opt-in checkbox in the <a href=\"%s\" target="
|
614 |
-
"\"_blank\">Discussion settings</a>."
|
615 |
-
msgstr ""
|
616 |
-
|
617 |
-
#: includes/settings.php:1563
|
618 |
-
msgid "No forms or form changes detected."
|
619 |
-
msgstr ""
|
620 |
-
|
621 |
-
#: includes/settings.php:1623
|
622 |
-
msgid "Form saving failed. Please fill the Subject and Preferences fields."
|
623 |
-
msgstr ""
|
624 |
-
|
625 |
-
#: includes/settings.php:1647
|
626 |
-
msgid "Form saved successfully - form status changed to Mapped."
|
627 |
-
msgstr ""
|
628 |
-
|
629 |
-
#: includes/settings.php:1650
|
630 |
-
msgid "Form updated successfully."
|
631 |
-
msgstr ""
|
632 |
-
|
633 |
-
#: includes/settings.php:1653
|
634 |
-
msgid "Form saving failed."
|
635 |
-
msgstr ""
|
636 |
-
|
637 |
-
#: includes/settings.php:1670
|
638 |
-
msgid "Form deleted successfully."
|
639 |
-
msgstr ""
|
640 |
-
|
641 |
-
#: includes/settings.php:1672
|
642 |
-
msgid "Form delete failed."
|
643 |
-
msgstr ""
|
644 |
-
|
645 |
-
#: includes/settings.php:1748
|
646 |
-
msgid "Dismiss this notice."
|
647 |
-
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
languages/iubenda-de_DE.mo
ADDED
Binary file
|
languages/iubenda-de_DE.po
ADDED
@@ -0,0 +1,1218 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: \n"
|
4 |
+
"POT-Creation-Date: 2022-06-22 14:50+0200\n"
|
5 |
+
"PO-Revision-Date: 2022-08-05 18:51+0000\n"
|
6 |
+
"Last-Translator: \n"
|
7 |
+
"Language-Team: German\n"
|
8 |
+
"Language: de_DE\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
13 |
+
"X-Generator: Loco https://localise.biz/\n"
|
14 |
+
"X-Poedit-Basepath: ..\n"
|
15 |
+
"X-Poedit-KeywordsList: _e;__\n"
|
16 |
+
"X-Poedit-SearchPath-0: .\n"
|
17 |
+
"Report-Msgid-Bugs-To: \n"
|
18 |
+
"X-Loco-Version: 2.6.2; wp-6.0.1"
|
19 |
+
|
20 |
+
#: views/partials/modals/modal_almost_there.php:25
|
21 |
+
msgid "(required)"
|
22 |
+
msgstr "(erforderlich)"
|
23 |
+
|
24 |
+
#: views/partials/buttonPosition.php:74
|
25 |
+
msgid ""
|
26 |
+
"A shortcode is a tiny bit of code that allows embedding interactive elements "
|
27 |
+
"or creating complex page layouts with a minimal effort.<br>Just copy and "
|
28 |
+
"paste the shortcode where you want the button to appear."
|
29 |
+
msgstr ""
|
30 |
+
"Ein Shortcode ist ein kleines Stück Code, mit dem sich interaktive Elemente "
|
31 |
+
"einbetten oder komplexe Seitenlayouts mit minimalem Aufwand erstellen lassen."
|
32 |
+
"<br>Kopieren Sie einfach den Shortcode und fügen Sie ihn dort ein, wo der "
|
33 |
+
"Button erscheinen soll."
|
34 |
+
|
35 |
+
#: views/cons-configuration.php:17
|
36 |
+
msgid "Activate & Configure Consent Solution by"
|
37 |
+
msgstr "Aktivieren und konfigurieren Sie die Consent Solution indem Sie"
|
38 |
+
|
39 |
+
#: views/cons-configuration.php:14
|
40 |
+
msgid ""
|
41 |
+
"Activate <strong>Consent Solution</strong> on our website in your iubenda "
|
42 |
+
"dashboard and paste here the <strong>API key</strong> to integrate it on "
|
43 |
+
"your website."
|
44 |
+
msgstr ""
|
45 |
+
"Aktivieren Sie die <strong>Consent Solution</strong> auf unserer Website in "
|
46 |
+
"Ihrem iubenda-Dashboard und fügen Sie hier den <strong>API-Schlüssel</strong>"
|
47 |
+
" ein, um ihn auf Ihrer Website zu integrieren."
|
48 |
+
|
49 |
+
#: views/integrate-setup.php:21
|
50 |
+
msgid "Add a cookie banner"
|
51 |
+
msgstr "Ein Cookie-Banner hinzufügen"
|
52 |
+
|
53 |
+
#: views/cons-configuration.php:44
|
54 |
+
msgid "Add forms"
|
55 |
+
msgstr "Formulare hinzufügen"
|
56 |
+
|
57 |
+
#: views/cons-single-form.php:268
|
58 |
+
msgid "Add New Document"
|
59 |
+
msgstr "Neues Dokument hinzufügen"
|
60 |
+
|
61 |
+
#: views/cons-single-form.php:216
|
62 |
+
msgid "Add New Exclude"
|
63 |
+
msgstr "Neuen Ausschluss hinzufügen"
|
64 |
+
|
65 |
+
#: views/partials/csGeneralSettings.php:247
|
66 |
+
#: views/partials/csPluginSettings.php:133
|
67 |
+
msgid "Add New iframe"
|
68 |
+
msgstr "Neuen iframe hinzufügen"
|
69 |
+
|
70 |
+
#: views/cons-single-form.php:155
|
71 |
+
msgid "Add New Preference"
|
72 |
+
msgstr "Neue Präferenz hinzufügen"
|
73 |
+
|
74 |
+
#: views/partials/csGeneralSettings.php:212
|
75 |
+
#: views/partials/csPluginSettings.php:98
|
76 |
+
msgid "Add New Script"
|
77 |
+
msgstr "Neues Skript hinzufügen"
|
78 |
+
|
79 |
+
#: views/integrate-setup.php:140
|
80 |
+
msgid "Add the privacy policy button"
|
81 |
+
msgstr "Datenschutzerklärung-Button hinzufügen"
|
82 |
+
|
83 |
+
#: views/partials/buttonPosition.php:5 views/tc-configuration.php:61
|
84 |
+
msgid "Add to the footer automatically"
|
85 |
+
msgstr "Automatisch in den Footer hinzufügen"
|
86 |
+
|
87 |
+
#: includes/forms-list-table.php:279
|
88 |
+
msgid "All form sources"
|
89 |
+
msgstr "Alle Formularquellen"
|
90 |
+
|
91 |
+
#: views/cons-single-form.php:250
|
92 |
+
msgid "Alternatively, you may add your own custom document identifiers."
|
93 |
+
msgstr ""
|
94 |
+
"Als Alternative können Sie auch Ihre eigenen Identifikatoren hinzufügen."
|
95 |
+
|
96 |
+
#: includes/amp.php:281
|
97 |
+
msgid "AMP Cookie Consent"
|
98 |
+
msgstr "AMP-Cookie-Einwilligung"
|
99 |
+
|
100 |
+
#: includes/settings.php:109 views/partials/csGeneralSettings.php:187
|
101 |
+
#: views/partials/csGeneralSettings.php:203
|
102 |
+
#: views/partials/csGeneralSettings.php:222
|
103 |
+
#: views/partials/csGeneralSettings.php:238
|
104 |
+
#: views/partials/csPluginSettings.php:73
|
105 |
+
#: views/partials/csPluginSettings.php:89
|
106 |
+
#: views/partials/csPluginSettings.php:108
|
107 |
+
#: views/partials/csPluginSettings.php:124
|
108 |
+
msgid "Analytics"
|
109 |
+
msgstr "Analytik"
|
110 |
+
|
111 |
+
#: views/partials/frontpage_main_box.php:22
|
112 |
+
msgid "Analyzing your website"
|
113 |
+
msgstr "Ihre Website analysieren"
|
114 |
+
|
115 |
+
#: views/cons-configuration.php:53
|
116 |
+
msgid "Auto-detect forms"
|
117 |
+
msgstr "Formulare automatisch erkennen"
|
118 |
+
|
119 |
+
#: views/integrate-setup.php:36 views/partials/csGeneralSettings.php:77
|
120 |
+
msgid "Auto-generated configuration file"
|
121 |
+
msgstr "Auto-generierte Konfigurationsdatei"
|
122 |
+
|
123 |
+
#: views/cons-single-form.php:71
|
124 |
+
msgid "Autogenerated"
|
125 |
+
msgstr "Autogeneriert"
|
126 |
+
|
127 |
+
#: views/integrate-setup.php:108 views/partials/csGeneralSettings.php:149
|
128 |
+
#: views/partials/csPluginSettings.php:4
|
129 |
+
msgid "Automatically block scripts detected by the plugin"
|
130 |
+
msgstr "Automatisch vom Plugin erkannte Skripte blockieren"
|
131 |
+
|
132 |
+
#: views/partials/bannerPosition.php:41
|
133 |
+
msgid "Background-overlay"
|
134 |
+
msgstr "Hintergrund-Overlay"
|
135 |
+
|
136 |
+
#: views/partials/csSimplifiedConfiguration.php:68
|
137 |
+
msgid "Banner buttons"
|
138 |
+
msgstr "Banner-Buttons"
|
139 |
+
|
140 |
+
#: includes/settings.php:107
|
141 |
+
msgid "Basic interactions & functionalities"
|
142 |
+
msgstr "Einfache Interaktionen & Funktionalitäten"
|
143 |
+
|
144 |
+
#: views/partials/csGeneralSettings.php:185
|
145 |
+
#: views/partials/csGeneralSettings.php:201
|
146 |
+
#: views/partials/csGeneralSettings.php:220
|
147 |
+
#: views/partials/csGeneralSettings.php:236
|
148 |
+
#: views/partials/csPluginSettings.php:71
|
149 |
+
#: views/partials/csPluginSettings.php:87
|
150 |
+
#: views/partials/csPluginSettings.php:106
|
151 |
+
#: views/partials/csPluginSettings.php:122
|
152 |
+
msgid "Basic interactions & functionalities"
|
153 |
+
msgstr "Einfache Interaktionen & Funktionalitäten"
|
154 |
+
|
155 |
+
#: views/partials/csGeneralSettings.php:173
|
156 |
+
msgid "Blocked domains"
|
157 |
+
msgstr "Gesperrte Domänen"
|
158 |
+
|
159 |
+
#: views/partials/csSimplifiedConfiguration.php:22
|
160 |
+
msgid "Both"
|
161 |
+
msgstr "Beide"
|
162 |
+
|
163 |
+
#: views/partials/buttonPosition.php:1 views/tc-configuration.php:57
|
164 |
+
msgid "Button position"
|
165 |
+
msgstr "Button Position"
|
166 |
+
|
167 |
+
#: views/partials/buttonStyle.php:1 views/tc-configuration.php:32
|
168 |
+
msgid "Button style"
|
169 |
+
msgstr "Button Stil"
|
170 |
+
|
171 |
+
#: views/cons-configuration.php:60 views/cons-single-form.php:277
|
172 |
+
#: views/cs-configuration.php:15 views/plugin-settings.php:44
|
173 |
+
#: views/pp-configuration.php:33 views/tc-configuration.php:131
|
174 |
+
msgid "Cancel"
|
175 |
+
msgstr "Abbrechen"
|
176 |
+
|
177 |
+
#: views/partials/csSimplifiedConfiguration.php:18
|
178 |
+
msgid "CCPA Only"
|
179 |
+
msgstr "Nur CCPA"
|
180 |
+
|
181 |
+
#: views/cons-configuration.php:18 views/partials/csManualConfiguration.php:6
|
182 |
+
#: views/tc-configuration.php:16
|
183 |
+
msgid "clicking here"
|
184 |
+
msgstr "hier klicken"
|
185 |
+
|
186 |
+
#: views/partials/csGeneralSettings.php:2
|
187 |
+
msgid "Configuration"
|
188 |
+
msgstr "Konfiguration"
|
189 |
+
|
190 |
+
#: views/partials/product-card.php:48
|
191 |
+
msgid "Configure"
|
192 |
+
msgstr "Konfigurieren"
|
193 |
+
|
194 |
+
#: views/partials/csManualConfiguration.php:5
|
195 |
+
msgid "Configure cookie banner by"
|
196 |
+
msgstr "Konfigurieren Sie Ihr Cookie-Banner indem Sie"
|
197 |
+
|
198 |
+
#: views/tc-configuration.php:15
|
199 |
+
msgid "Configure terms and conditions by"
|
200 |
+
msgstr "Konfigurieren Sie die AGBs indem Sie"
|
201 |
+
|
202 |
+
#: views/partials/csManualConfiguration.php:2
|
203 |
+
msgid ""
|
204 |
+
"Configure your cookie banner on our website and paste here the embed code to "
|
205 |
+
"integrate it to your website."
|
206 |
+
msgstr ""
|
207 |
+
"Konfigurieren Sie Ihr Cookie-Banner auf unserer Website und fügen Sie hier "
|
208 |
+
"den Einbettungs-Code ein, um es in Ihre Website zu integrieren."
|
209 |
+
|
210 |
+
#: views/tc-configuration.php:12
|
211 |
+
msgid ""
|
212 |
+
"Configure your terms and conditions on our website and paste here the embed "
|
213 |
+
"code to integrate the button on your website."
|
214 |
+
msgstr ""
|
215 |
+
"Konfigurieren Sie Ihre AGBs auf unserer Website und fügen Sie hier den "
|
216 |
+
"Einbettungs-Code ein, um den Button auf Ihrer Website zu integrieren."
|
217 |
+
|
218 |
+
#: views/cons-configuration.php:31
|
219 |
+
msgid "Confirm API"
|
220 |
+
msgstr "API bestätigen"
|
221 |
+
|
222 |
+
#: includes/settings.php:97 includes/settings.php:430 includes/settings.php:441
|
223 |
+
#: includes/settings.php:1182
|
224 |
+
msgid "Consent Solution"
|
225 |
+
msgstr "Consent Solution"
|
226 |
+
|
227 |
+
#: views/partials/modals/modal_almost_there.php:37
|
228 |
+
msgid "Consent Solution API key"
|
229 |
+
msgstr "API-Schlüssel der Consent Solution"
|
230 |
+
|
231 |
+
#: views/partials/modals/modal_select_language.php:54
|
232 |
+
msgid "Continue"
|
233 |
+
msgstr "Weiter"
|
234 |
+
|
235 |
+
#: includes/settings.php:91 includes/settings.php:424
|
236 |
+
#: includes/settings.php:1162
|
237 |
+
msgid "Cookie Solution"
|
238 |
+
msgstr "Cookie Solution"
|
239 |
+
|
240 |
+
#: includes/QuickGeneratorService.php:625
|
241 |
+
#, php-format
|
242 |
+
msgid ""
|
243 |
+
"Currently, you do not have write permission for <i class=\"text-bold\">%s</i>"
|
244 |
+
". For instructions on how to fix this, please read <a class=\"link-"
|
245 |
+
"underline\" target=\"_blank\" href=\"%s\">our guide</a>."
|
246 |
+
msgstr ""
|
247 |
+
"Derzeit haben Sie keine Schreibberechtigung für <i class=\"text-bold\">%s</i>"
|
248 |
+
". Wie Sie das Problem beheben können, lesen Sie bitte <a class=\"link-"
|
249 |
+
"underline\" target=\\\"blank\\\" href=\\\"%s\\\">unsere Anleitung</a>."
|
250 |
+
|
251 |
+
#: views/integrate-setup.php:40 views/partials/csGeneralSettings.php:81
|
252 |
+
msgid "Custom configuration file"
|
253 |
+
msgstr "Benutzerdefinierte Konfigurationsdatei"
|
254 |
+
|
255 |
+
#: views/partials/csGeneralSettings.php:177
|
256 |
+
#: views/partials/csPluginSettings.php:63
|
257 |
+
msgid "Custom iframes"
|
258 |
+
msgstr "Benutzerdefinierte iframes"
|
259 |
+
|
260 |
+
#: views/partials/csGeneralSettings.php:176
|
261 |
+
#: views/partials/csPluginSettings.php:62
|
262 |
+
msgid "Custom scripts"
|
263 |
+
msgstr "Benutzerdefinierte Skripte"
|
264 |
+
|
265 |
+
#: views/partials/csPluginSettings.php:59
|
266 |
+
msgid "Custom settings"
|
267 |
+
msgstr "Benutzerdefinierte Einstellungen"
|
268 |
+
|
269 |
+
#: views/partials/bannerStyle.php:9 views/partials/buttonStyle.php:19
|
270 |
+
#: views/tc-configuration.php:50
|
271 |
+
msgid "Dark"
|
272 |
+
msgstr "Dunkel"
|
273 |
+
|
274 |
+
#: includes/forms-list-table.php:90
|
275 |
+
msgid "Date"
|
276 |
+
msgstr "Datum"
|
277 |
+
|
278 |
+
#: views/integrate-setup.php:73 views/integrate-setup.php:91
|
279 |
+
#: views/partials/csGeneralSettings.php:115
|
280 |
+
msgid "Default language"
|
281 |
+
msgstr "Standardsprache"
|
282 |
+
|
283 |
+
#: includes/forms-list-table.php:160
|
284 |
+
msgid "Delete"
|
285 |
+
msgstr "Löschen"
|
286 |
+
|
287 |
+
#: views/partials/csPluginSettings.php:41 views/plugin-settings.php:25
|
288 |
+
msgid "Delete all plugin data upon deactivation"
|
289 |
+
msgstr "Alle Plugin-Daten bei Deaktivierung löschen"
|
290 |
+
|
291 |
+
#: views/partials/csPluginSettings.php:33 views/plugin-settings.php:17
|
292 |
+
msgid "Do not run the plugin inside the RSS feed (recommended)"
|
293 |
+
msgstr "Das Plugin nicht innerhalb des RSS-Feeds ausführen (empfohlen)"
|
294 |
+
|
295 |
+
#: views/partials/csPluginSettings.php:37 views/plugin-settings.php:21
|
296 |
+
msgid "Do not run the plugin on POST requests (recommended)"
|
297 |
+
msgstr "Das Plugin nicht bei POST-Anfragen ausführen (empfohlen)"
|
298 |
+
|
299 |
+
#: views/partials/footer.php:5
|
300 |
+
msgid "Documentation"
|
301 |
+
msgstr "Dokumentation"
|
302 |
+
|
303 |
+
#: includes/forms-list-table.php:159
|
304 |
+
msgid "Edit"
|
305 |
+
msgstr "Bearbeiten"
|
306 |
+
|
307 |
+
#: views/integrate-setup.php:29 views/partials/csGeneralSettings.php:69
|
308 |
+
msgid "Enable Google AMP support"
|
309 |
+
msgstr "Aktivieren Sie die Google AMP-Unterstützung"
|
310 |
+
|
311 |
+
#: views/partials/csSimplifiedConfiguration.php:88
|
312 |
+
msgid "Enable IAB Transparency and Consent Framework"
|
313 |
+
msgstr "IAB Transparency and Consent Framework aktivieren"
|
314 |
+
|
315 |
+
#: views/integrate-setup.php:128 views/partials/csGeneralSettings.php:170
|
316 |
+
#: views/partials/csPluginSettings.php:24
|
317 |
+
msgid ""
|
318 |
+
"Enable this option to improve performance <strong>only</strong> if your site "
|
319 |
+
"does <strong>not</strong> use a cache system or a cache plugin and if you're "
|
320 |
+
"<strong>not</strong> collecting per-category consent. If you're in doubt, "
|
321 |
+
"keep this setting disabled"
|
322 |
+
msgstr ""
|
323 |
+
"Aktivieren Sie diese Option, um die Leistung <strong>nur</strong> zu "
|
324 |
+
"verbessern, wenn Ihre Website <strong>nicht</strong> ein Cache-System oder "
|
325 |
+
"ein Cache-Plugin verwendet und wenn Sie <strong>keine</strong> "
|
326 |
+
"kategoriebezogenen Einwilligung sammeln. Im Zweifelsfall sollten Sie diese "
|
327 |
+
"Einstellung deaktiviert lassen."
|
328 |
+
|
329 |
+
#: includes/settings.php:917
|
330 |
+
msgid "Enjoying the iubenda Cookie & Consent Solution Plugin?"
|
331 |
+
msgstr "Gefällt Ihnen das iubenda Cookie & Consent Solution Plugin?"
|
332 |
+
|
333 |
+
#: views/partials/csGeneralSettings.php:216
|
334 |
+
#: views/partials/csGeneralSettings.php:232
|
335 |
+
#: views/partials/csPluginSettings.php:102
|
336 |
+
#: views/partials/csPluginSettings.php:118
|
337 |
+
msgid "Enter custom iframe"
|
338 |
+
msgstr "Benutzerdefinierten iframe eingeben"
|
339 |
+
|
340 |
+
#: views/partials/csGeneralSettings.php:181
|
341 |
+
#: views/partials/csGeneralSettings.php:197
|
342 |
+
#: views/partials/csPluginSettings.php:67
|
343 |
+
#: views/partials/csPluginSettings.php:83
|
344 |
+
msgid "Enter custom script"
|
345 |
+
msgstr "Benutzerdefiniertes Skript eingeben"
|
346 |
+
|
347 |
+
#: views/cons-single-form.php:108 views/cons-single-form.php:133
|
348 |
+
#: views/cons-single-form.php:234 views/cons-single-form.php:244
|
349 |
+
#: views/cons-single-form.php:260
|
350 |
+
msgid "Enter field name"
|
351 |
+
msgstr "Feldname eingeben"
|
352 |
+
|
353 |
+
#: views/partials/csSimplifiedConfiguration.php:59
|
354 |
+
msgid "EU Only"
|
355 |
+
msgstr "Nur EU"
|
356 |
+
|
357 |
+
#: views/cons-single-form.php:164
|
358 |
+
msgid "Exclude field"
|
359 |
+
msgstr "Feld ausschließen"
|
360 |
+
|
361 |
+
#: views/cons-single-form.php:159
|
362 |
+
msgid "Exclude fields"
|
363 |
+
msgstr "Felder ausschließen"
|
364 |
+
|
365 |
+
#: views/cons-single-form.php:160
|
366 |
+
msgid ""
|
367 |
+
"Exclude fields allow you to create a list of fields that you would like to "
|
368 |
+
"exclude from your Consent Solution recorded proofs (for e.g. password or "
|
369 |
+
"other fields not related to the consent)."
|
370 |
+
msgstr ""
|
371 |
+
"Mit der Option Felder ausschließen können Sie eine Liste von Feldern "
|
372 |
+
"erstellen, die Sie aus den aufgezeichneten Nachweisen der Consent Solution "
|
373 |
+
"ausschließen möchten (z. B. Kennwort oder andere Felder, die nicht mit der "
|
374 |
+
"Einwilligung zusammenhängen)."
|
375 |
+
|
376 |
+
#: includes/settings.php:108 views/partials/csGeneralSettings.php:186
|
377 |
+
#: views/partials/csGeneralSettings.php:202
|
378 |
+
#: views/partials/csGeneralSettings.php:221
|
379 |
+
#: views/partials/csGeneralSettings.php:237
|
380 |
+
#: views/partials/csPluginSettings.php:72
|
381 |
+
#: views/partials/csPluginSettings.php:88
|
382 |
+
#: views/partials/csPluginSettings.php:107
|
383 |
+
#: views/partials/csPluginSettings.php:123
|
384 |
+
msgid "Experience enhancement"
|
385 |
+
msgstr "Verbesserte Nutzererfahrung"
|
386 |
+
|
387 |
+
#: views/partials/csSimplifiedConfiguration.php:72
|
388 |
+
msgid "Explicit Accept and Customize buttons"
|
389 |
+
msgstr "Ausdrückliche Zustimmen- und Anpassen-Buttons"
|
390 |
+
|
391 |
+
#: views/partials/csSimplifiedConfiguration.php:77
|
392 |
+
msgid "Explicit Reject button"
|
393 |
+
msgstr "Ausdrücklicher Ablehnen-Button"
|
394 |
+
|
395 |
+
#: views/cons-single-form.php:12
|
396 |
+
msgid "Field Mapping"
|
397 |
+
msgstr "Feldzuordnung"
|
398 |
+
|
399 |
+
#: includes/forms-list-table.php:89
|
400 |
+
msgid "Fields"
|
401 |
+
msgstr "Felder"
|
402 |
+
|
403 |
+
#: includes/forms-list-table.php:260
|
404 |
+
msgid "Filter"
|
405 |
+
msgstr "Filter"
|
406 |
+
|
407 |
+
#: includes/forms-list-table.php:277
|
408 |
+
msgid "Filter by source"
|
409 |
+
msgstr "Nach Quelle filtern"
|
410 |
+
|
411 |
+
#: includes/forms.php:579 includes/forms.php:593
|
412 |
+
msgid "First name"
|
413 |
+
msgstr "Vorname"
|
414 |
+
|
415 |
+
#: views/partials/modals/modal_sync.php:4
|
416 |
+
msgid ""
|
417 |
+
"First of all, tell us if you already use our products for this website or if "
|
418 |
+
"you want to start from scratch"
|
419 |
+
msgstr ""
|
420 |
+
"Verwenden Sie bereits unsere Produkte für diese Website oder wollen Sie bei "
|
421 |
+
"Null anfangen?"
|
422 |
+
|
423 |
+
#: includes/forms.php:153
|
424 |
+
msgid "Form"
|
425 |
+
msgstr "Formular"
|
426 |
+
|
427 |
+
#: views/cons-single-form.php:66 views/cons-single-form.php:103
|
428 |
+
msgid "Form field"
|
429 |
+
msgstr "Formularfeld"
|
430 |
+
|
431 |
+
#: includes/forms-list-table.php:87
|
432 |
+
msgid "Form ID"
|
433 |
+
msgstr "Formular ID"
|
434 |
+
|
435 |
+
#: includes/settings.php:701
|
436 |
+
msgid "Form saving failed. Please fill the Subject fields."
|
437 |
+
msgstr ""
|
438 |
+
"Speicherung des Formulars fehlgeschlagen. Bitte füllen Sie die Betreff-"
|
439 |
+
"Felder aus."
|
440 |
+
|
441 |
+
#: includes/forms-list-table.php:88
|
442 |
+
msgid "Form Source"
|
443 |
+
msgstr "Formular Quelle"
|
444 |
+
|
445 |
+
#: includes/forms-list-table.php:86
|
446 |
+
msgid "Form Title"
|
447 |
+
msgstr "Formular Titel"
|
448 |
+
|
449 |
+
#: includes/forms.php:152
|
450 |
+
msgid "Forms"
|
451 |
+
msgstr "Formulare"
|
452 |
+
|
453 |
+
#: views/partials/modals/modal_pp_created.php:7
|
454 |
+
msgid ""
|
455 |
+
"From here you can customize your privacy policy by adding the services you "
|
456 |
+
"use within your website or you can customize the style of the button that "
|
457 |
+
"displays your privacy policy."
|
458 |
+
msgstr ""
|
459 |
+
"Von hier aus können Sie Ihre Datenschutzerklärung anpassen, indem Sie die "
|
460 |
+
"Dienste hinzufügen, die Sie auf Ihrer Website verwenden, oder Sie können den "
|
461 |
+
"Stil des Buttons anpassen, der Ihre Datenschutzerklärung anzeigt."
|
462 |
+
|
463 |
+
#: views/partials/csSimplifiedConfiguration.php:14
|
464 |
+
msgid "GDPR Only"
|
465 |
+
msgstr "Nur DSGVO"
|
466 |
+
|
467 |
+
#: views/partials/modals/modal_pp_created.php:9
|
468 |
+
msgid "Got it"
|
469 |
+
msgstr "Alles klar"
|
470 |
+
|
471 |
+
#: views/frontpage.php:9
|
472 |
+
msgid "Help me get compliant!"
|
473 |
+
msgstr "Helfen Sie mir, gesetzeskonform zu werden!"
|
474 |
+
|
475 |
+
#: views/partials/modals/modal_rating.php:11
|
476 |
+
msgid "Here’s how we calculate your rating."
|
477 |
+
msgstr "So berechnen wir Ihre Punktzahl."
|
478 |
+
|
479 |
+
#: views/partials/siteInfo.php:21
|
480 |
+
msgid "How is it calculated?"
|
481 |
+
msgstr "Wie wird sie berechnet?"
|
482 |
+
|
483 |
+
#: views/partials/buttonPosition.php:37 views/tc-configuration.php:92
|
484 |
+
msgid "HTML"
|
485 |
+
msgstr "HTML"
|
486 |
+
|
487 |
+
#: views/partials/modals/modal_no_website_found.php:11
|
488 |
+
#: views/partials/modals/modal_sync.php:8
|
489 |
+
msgid "I want to start from scratch"
|
490 |
+
msgstr "Ich möchte bei Null beginnen"
|
491 |
+
|
492 |
+
#: views/cons-single-form.php:225
|
493 |
+
msgid "Identifier"
|
494 |
+
msgstr "Identifikator"
|
495 |
+
|
496 |
+
#: views/cons-single-form.php:222
|
497 |
+
msgid ""
|
498 |
+
"In general, it's important that you declare which legal documents are being "
|
499 |
+
"agreed upon when each consent is collected. However, if you use iubenda for "
|
500 |
+
"your legal documents, it is *required* that you identify the documents by "
|
501 |
+
"selecting them here."
|
502 |
+
msgstr ""
|
503 |
+
"Im Allgemeinen ist es wichtig, dass Sie bei der Einholung jeder Einwilligung "
|
504 |
+
"angeben, welche Rechtsdokumente vereinbart wurden. Wenn Sie jedoch iubenda "
|
505 |
+
"für Ihre Rechtsdokumente verwenden, ist es *erforderlich*, dass Sie die "
|
506 |
+
"Dokumente identifizieren, indem Sie sie hier auswählen."
|
507 |
+
|
508 |
+
#: views/partials/integrateFooter.php:4
|
509 |
+
msgid "Integrate"
|
510 |
+
msgstr "Integrieren"
|
511 |
+
|
512 |
+
#: views/partials/buttonPosition.php:10 views/tc-configuration.php:65
|
513 |
+
msgid "Integrate manually"
|
514 |
+
msgstr "Manuell integrieren"
|
515 |
+
|
516 |
+
#: views/pp-configuration.php:26 views/tc-configuration.php:30
|
517 |
+
msgid "Integration"
|
518 |
+
msgstr "Integration"
|
519 |
+
|
520 |
+
#: views/partials/modals/modal_no_website_found.php:8
|
521 |
+
msgid ""
|
522 |
+
"It seems that it is not possible to access your data with the code you "
|
523 |
+
"pasted, do you want to try again or do you prefer to start configuring your "
|
524 |
+
"website from scratch?"
|
525 |
+
msgstr ""
|
526 |
+
"Es scheint, dass es nicht möglich ist, mit dem Code, den Sie eingefügt haben,"
|
527 |
+
" auf Ihre Daten zuzugreifen. Möchten Sie es erneut versuchen, oder möchten "
|
528 |
+
"Sie Ihre Website von Null an konfigurieren?"
|
529 |
+
|
530 |
+
#: views/partials/modals/modal_ops_embed_invalid.php:8
|
531 |
+
msgid ""
|
532 |
+
"It seems that it is not possible to access your data with the code you "
|
533 |
+
"pasted, do you want to try again."
|
534 |
+
msgstr ""
|
535 |
+
"Es scheint, dass es nicht möglich ist, mit dem Code, den Sie eingefügt haben,"
|
536 |
+
" auf Ihre Daten zuzugreifen. Möchten Sie es erneut versuchen?"
|
537 |
+
|
538 |
+
#: views/products-page.php:15
|
539 |
+
msgid ""
|
540 |
+
"It seems that you have not activated any of our services, we recommend you "
|
541 |
+
"to activate them and increase your level of compliance and avoid risking "
|
542 |
+
"fines."
|
543 |
+
msgstr ""
|
544 |
+
"Es scheint, dass Sie keinen unserer Dienste aktiviert haben. Wir empfehlen "
|
545 |
+
"Ihnen, diese zu aktivieren, um Ihre Rechtskonformität zu verbessern und das "
|
546 |
+
"Risiko von Geldstrafen zu vermeiden."
|
547 |
+
|
548 |
+
#: includes/widget/IubendaLegalWidget.php:18
|
549 |
+
msgid "Iubenda legal"
|
550 |
+
msgstr "Iubenda Rechtliches"
|
551 |
+
|
552 |
+
#: assets/js/legal_block.js:15 assets/js/legal_block.js:32
|
553 |
+
msgid "Iubenda legal block"
|
554 |
+
msgstr "Iubenda legal block"
|
555 |
+
|
556 |
+
#: includes/widget/IubendaLegalWidget.php:21
|
557 |
+
msgid "Iubenda legal widget for Privacy Policy and Terms & Conditions"
|
558 |
+
msgstr "Iubenda Rechts-Widget für Datenschutzerklärung und AGBs"
|
559 |
+
|
560 |
+
#: views/partials/modals/modal_sync.php:6
|
561 |
+
msgid "I’ve already made the set up on iubenda.com"
|
562 |
+
msgstr "Ich habe alles bereits auf iubenda.com eingerichtet"
|
563 |
+
|
564 |
+
#: includes/forms.php:585 includes/forms.php:605
|
565 |
+
msgid "Last name"
|
566 |
+
msgstr "Nachname"
|
567 |
+
|
568 |
+
#: views/integrate-setup.php:85 views/partials/csGeneralSettings.php:127
|
569 |
+
msgid "Learn how to fix it"
|
570 |
+
msgstr "So lösen Sie es"
|
571 |
+
|
572 |
+
#: views/partials/csSimplifiedConfiguration.php:88
|
573 |
+
#: views/partials/modals/modal_rating.php:22
|
574 |
+
msgid "Learn More"
|
575 |
+
msgstr "Erfahren Sie mehr"
|
576 |
+
|
577 |
+
#: views/integrate-setup.php:126 views/partials/csGeneralSettings.php:168
|
578 |
+
#: views/partials/csPluginSettings.php:22
|
579 |
+
msgid ""
|
580 |
+
"Leave scripts untouched on the page if the user has already given consent"
|
581 |
+
msgstr ""
|
582 |
+
"Skripte auf der Seite unangetastet lassen wenn der Benutzer bereits seine "
|
583 |
+
"Einwilligung gegeben hat"
|
584 |
+
|
585 |
+
#: assets/js/legal_block.js:21 includes/block/IubendaLegalBlock.php:255
|
586 |
+
#: includes/widget/IubendaLegalWidget.php:167
|
587 |
+
msgid "Legal"
|
588 |
+
msgstr "Rechtliches"
|
589 |
+
|
590 |
+
#: views/cons-single-form.php:221
|
591 |
+
msgid "Legal documents"
|
592 |
+
msgstr "Rechtsdokumente"
|
593 |
+
|
594 |
+
#: views/partials/csSimplifiedConfiguration.php:9
|
595 |
+
msgid "Legislation"
|
596 |
+
msgstr "Gesetzgebung"
|
597 |
+
|
598 |
+
#: includes/settings.php:1116 includes/settings.php:1138
|
599 |
+
msgid "legislation"
|
600 |
+
msgstr "Gesetzgebung"
|
601 |
+
|
602 |
+
#: views/frontpage.php:8
|
603 |
+
msgid "Let's configure your website for compliance."
|
604 |
+
msgstr "Es ist Zeit, Ihre Website rechtskonform zu gestalten."
|
605 |
+
|
606 |
+
#: views/partials/bannerStyle.php:15 views/partials/buttonStyle.php:10
|
607 |
+
#: views/tc-configuration.php:41
|
608 |
+
msgid "Light"
|
609 |
+
msgstr "Hell"
|
610 |
+
|
611 |
+
#: views/partials/csGeneralSettings.php:35
|
612 |
+
#: views/partials/csGeneralSettings.php:42
|
613 |
+
msgid "Manual embed"
|
614 |
+
msgstr "Manuell einbetten"
|
615 |
+
|
616 |
+
#: views/cons-single-form.php:44
|
617 |
+
msgid "Map fields"
|
618 |
+
msgstr "Felder zuordnen"
|
619 |
+
|
620 |
+
#: views/partials/csPluginSettings.php:45 views/plugin-settings.php:28
|
621 |
+
msgid "Menu position"
|
622 |
+
msgstr "Menü Position"
|
623 |
+
|
624 |
+
#: includes/forms.php:599
|
625 |
+
msgid "Middle name"
|
626 |
+
msgstr "Zweiter Vorname"
|
627 |
+
|
628 |
+
#: views/partials/modals/modal_almost_there.php:5
|
629 |
+
msgid "Nice! We are almost there."
|
630 |
+
msgstr "Fast geschafft!"
|
631 |
+
|
632 |
+
#: includes/settings.php:920
|
633 |
+
msgid "No"
|
634 |
+
msgstr "Nein"
|
635 |
+
|
636 |
+
#: views/integrate-setup.php:49 views/partials/csGeneralSettings.php:91
|
637 |
+
msgid ""
|
638 |
+
"No file available. Save changes to generate iubenda AMP configuration file."
|
639 |
+
msgstr ""
|
640 |
+
"Keine Datei verfügbar. Speichern Sie die Änderungen, um die iubenda AMP-"
|
641 |
+
"Konfigurationsdatei zu generieren."
|
642 |
+
|
643 |
+
#: includes/forms-list-table.php:347
|
644 |
+
msgid "No forms found."
|
645 |
+
msgstr "Keine Formulare gefunden."
|
646 |
+
|
647 |
+
#: includes/settings.php:927 includes/settings.php:934
|
648 |
+
msgid "No thanks"
|
649 |
+
msgstr "Nein danke"
|
650 |
+
|
651 |
+
#: views/cons-single-form.php:71
|
652 |
+
msgid "None"
|
653 |
+
msgstr "Ohne"
|
654 |
+
|
655 |
+
#: includes/settings.php:105 views/partials/csGeneralSettings.php:183
|
656 |
+
#: views/partials/csGeneralSettings.php:199
|
657 |
+
#: views/partials/csGeneralSettings.php:218
|
658 |
+
#: views/partials/csGeneralSettings.php:234
|
659 |
+
#: views/partials/csPluginSettings.php:69
|
660 |
+
#: views/partials/csPluginSettings.php:85
|
661 |
+
#: views/partials/csPluginSettings.php:104
|
662 |
+
#: views/partials/csPluginSettings.php:120
|
663 |
+
msgid "Not set"
|
664 |
+
msgstr "Nicht eingestellt"
|
665 |
+
|
666 |
+
#: views/partials/modals/modal_select_language.php:4
|
667 |
+
msgid "Now, select your website language"
|
668 |
+
msgstr "Wählen Sie jetzt die Sprache Ihrer Website"
|
669 |
+
|
670 |
+
#: includes/settings.php:933
|
671 |
+
msgid "Ok sure!"
|
672 |
+
msgstr "Ja, sicher!"
|
673 |
+
|
674 |
+
#: includes/ServiceRating.php:103
|
675 |
+
msgid "Only track users that give consent"
|
676 |
+
msgstr "Nur Nutzer verfolgen die ihre Einwilligung geben"
|
677 |
+
|
678 |
+
#: views/partials/modals/modal_no_website_found.php:6
|
679 |
+
#: views/partials/modals/modal_ops_embed_invalid.php:6
|
680 |
+
msgid "Ooops! <br> No website found with this embed code."
|
681 |
+
msgstr "Hoppla! <br> Keine Website mit diesem Einbettungs-Code gefunden."
|
682 |
+
|
683 |
+
#: views/partials/modals/modal_sync.php:7
|
684 |
+
msgid "or"
|
685 |
+
msgstr "oder"
|
686 |
+
|
687 |
+
#: views/partials/csSimplifiedConfiguration.php:83
|
688 |
+
msgid "Other options"
|
689 |
+
msgstr "Andere Optionen"
|
690 |
+
|
691 |
+
#: views/partials/welcomeScreenHeader.php:3
|
692 |
+
msgid "Our plugin will help you to make your website compliant in minutes."
|
693 |
+
msgstr ""
|
694 |
+
"Mit unserem Plugin können Sie Ihre Website in wenigen Minuten "
|
695 |
+
"gesetzeskonform machen."
|
696 |
+
|
697 |
+
#: includes/QuickGeneratorService.php:137
|
698 |
+
msgid ""
|
699 |
+
"Our products has been integrated successfully, now customize all products to "
|
700 |
+
"increase the compliance rating and make your website fully compliant."
|
701 |
+
msgstr ""
|
702 |
+
"Unsere Produkte wurden erfolgreich integriert. Passen Sie jetzt alle "
|
703 |
+
"Produkte an, um die Compliance-Punktzahl zu erhöhen und Ihre Website "
|
704 |
+
"vollständig konform zu machen."
|
705 |
+
|
706 |
+
#: views/partials/modals/modal_almost_there.php:39
|
707 |
+
msgid "Paste your API key here"
|
708 |
+
msgstr "Fügen Sie Ihren API-Schlüssel hier ein"
|
709 |
+
|
710 |
+
#: views/partials/csManualConfiguration.php:11
|
711 |
+
msgid "Paste your cookie solution embed code here"
|
712 |
+
msgstr "Fügen Sie hier den Einbettungs-Code Ihrer Cookie Solution ein"
|
713 |
+
|
714 |
+
#: views/partials/languagesTabs.php:21
|
715 |
+
msgid "Paste your embed code here"
|
716 |
+
msgstr "Fügen Sie Ihren Einbettungs-Code hier ein"
|
717 |
+
|
718 |
+
#: views/cons-configuration.php:23
|
719 |
+
msgid "Paste your public API key here"
|
720 |
+
msgstr "Fügen Sie hier Ihren öffentlichen API-Schlüssel ein"
|
721 |
+
|
722 |
+
#: views/tc-configuration.php:21
|
723 |
+
msgid "Paste your terms and conditions embed code here"
|
724 |
+
msgstr "Fügen Sie hier den Einbettungs-Code für Ihre AGBs ein"
|
725 |
+
|
726 |
+
#: includes/settings.php:628
|
727 |
+
#, php-format
|
728 |
+
msgid ""
|
729 |
+
"Please enable comments cookies opt-in checkbox in the <a href=\"%s\" "
|
730 |
+
"target=\"_blank\">Discussion settings</a>."
|
731 |
+
msgstr ""
|
732 |
+
"Bitte aktivieren Sie das Opt-in-Checkbox für Kommentar-Cookies anzeigen in "
|
733 |
+
"den <a href=“%s” target=“_blank”>Diskussionseinstellungen</a>."
|
734 |
+
|
735 |
+
#: views/cons-single-form.php:234
|
736 |
+
msgid "Please select each legal document available on your site."
|
737 |
+
msgstr ""
|
738 |
+
"Bitte wählen Sie jedes Rechtsdokument aus, das auf Ihrer Website verfügbar "
|
739 |
+
"ist."
|
740 |
+
|
741 |
+
#: includes/settings.php:402 views/partials/siteInfo.php:14
|
742 |
+
msgid "Plugin settings"
|
743 |
+
msgstr "Plugin-Einstellungen"
|
744 |
+
|
745 |
+
#: includes/settings.php:1115 includes/settings.php:1137
|
746 |
+
#: includes/settings.php:1156 includes/settings.php:1176
|
747 |
+
#: views/partials/bannerPosition.php:20
|
748 |
+
msgid "Position"
|
749 |
+
msgstr "Position"
|
750 |
+
|
751 |
+
#: views/cons-single-form.php:102
|
752 |
+
msgid "Preferences field"
|
753 |
+
msgstr "Einstellungsfeld"
|
754 |
+
|
755 |
+
#: views/cons-single-form.php:98
|
756 |
+
msgid "Preferences fields"
|
757 |
+
msgstr "Einstellungsfeldern"
|
758 |
+
|
759 |
+
#: views/cons-single-form.php:99
|
760 |
+
msgid ""
|
761 |
+
"Preferences fields allow you to store a record of the various opt-ins points "
|
762 |
+
"at which the user has agreed or given consent, such as fields for agreeing "
|
763 |
+
"to terms and conditions, newsletter, profiling, etc."
|
764 |
+
msgstr ""
|
765 |
+
"In den Einstellungsfeldern können Sie die verschiedenen Opt-in-Punkte "
|
766 |
+
"speichern, an denen der Nutzer zugestimmt oder seine Einwilligung gegeben "
|
767 |
+
"hat, z. B. die Felder für die Zustimmung zu den AGBs, zum Newsletter, zur "
|
768 |
+
"Profilerstellung usw."
|
769 |
+
|
770 |
+
#: views/integrate-setup.php:114 views/partials/csGeneralSettings.php:157
|
771 |
+
#: views/partials/csPluginSettings.php:10
|
772 |
+
msgid "Primary"
|
773 |
+
msgstr "Primär"
|
774 |
+
|
775 |
+
#: includes/settings.php:418 includes/settings.php:1150
|
776 |
+
msgid "Privacy and Cookie Policy"
|
777 |
+
msgstr "Datenschutz- und Cookie-Richtlinien"
|
778 |
+
|
779 |
+
#: includes/PrivacyPolicyGenerator.php:23
|
780 |
+
msgid "Privacy Policy"
|
781 |
+
msgstr "Datenschutzerklärung"
|
782 |
+
|
783 |
+
#: views/partials/breadcrumb.php:2
|
784 |
+
msgid "Products"
|
785 |
+
msgstr "Produkte"
|
786 |
+
|
787 |
+
#: views/partials/csGeneralSettings.php:246
|
788 |
+
#: views/partials/csPluginSettings.php:132
|
789 |
+
msgid ""
|
790 |
+
"Provide a list of domains for any custom iframes you'd like to block, and "
|
791 |
+
"assign their purposes. To make sure they are blocked correctly, please add "
|
792 |
+
"domains in the same format as 'example.com', without any protocols e.g. "
|
793 |
+
"'http://' or 'https://'. You may also use wildcards (*) to include parent "
|
794 |
+
"domains or subdomains."
|
795 |
+
msgstr ""
|
796 |
+
"Geben Sie eine Liste von Domains für alle benutzerdefinierten iframes an, "
|
797 |
+
"die Sie blockieren möchten, und weisen Sie ihnen einen Zweck zu. Um "
|
798 |
+
"sicherzustellen, dass sie korrekt blockiert werden, fügen Sie bitte Domains "
|
799 |
+
"im gleichen Format wie „example.com“ hinzu, ohne Protokolle, z. B. „http://“ "
|
800 |
+
"oder „https://“. Sie können auch Platzhalter (*) verwenden, um übergeordnete "
|
801 |
+
"Domains oder Subdomains einzuschließen."
|
802 |
+
|
803 |
+
#: views/partials/csGeneralSettings.php:211
|
804 |
+
#: views/partials/csPluginSettings.php:97
|
805 |
+
msgid ""
|
806 |
+
"Provide a list of domains for any custom scripts you'd like to block, and "
|
807 |
+
"assign their purposes. To make sure they are blocked correctly, please add "
|
808 |
+
"domains in the same format as 'example.com', without any protocols e.g. "
|
809 |
+
"'http://' or 'https://'. You may also use wildcards (*) to include parent "
|
810 |
+
"domains or subdomains."
|
811 |
+
msgstr ""
|
812 |
+
"Geben Sie eine Liste von Domänen für benutzerdefinierte Skripte an, die Sie "
|
813 |
+
"blockieren möchten, und weisen Sie deren Zweck zu. Um sicherzustellen, dass "
|
814 |
+
"sie korrekt blockiert werden, fügen Sie bitte Domänen im gleichen Format wie "
|
815 |
+
"„beispiel.com“ hinzu, ohne Protokolle, z. B. „http://“ oder „https://“. Sie "
|
816 |
+
"können auch Platzhalter (*) verwenden, um übergeordnete Domains oder "
|
817 |
+
"Subdomains einzuschließen."
|
818 |
+
|
819 |
+
#: views/cons-single-form.php:122 views/cons-single-form.php:148
|
820 |
+
#: views/cons-single-form.php:183 views/cons-single-form.php:207
|
821 |
+
#: views/cons-single-form.php:244 views/cons-single-form.php:260
|
822 |
+
msgid "Remove"
|
823 |
+
msgstr "Entfernen"
|
824 |
+
|
825 |
+
#: views/partials/csSimplifiedConfiguration.php:29
|
826 |
+
msgid "Require consent from"
|
827 |
+
msgstr "Erforderliche Einwilligung"
|
828 |
+
|
829 |
+
#: views/partials/integrateFooter.php:3
|
830 |
+
msgid "Reset settings"
|
831 |
+
msgstr "Einstellungen zurücksetzen"
|
832 |
+
|
833 |
+
#: views/partials/csPluginSettings.php:29 views/plugin-settings.php:13
|
834 |
+
msgid ""
|
835 |
+
"Restrict the plugin to run only for requests that have \"Content-type: text "
|
836 |
+
"/ html\" (recommended)"
|
837 |
+
msgstr ""
|
838 |
+
"Beschränken Sie das Plugin so, dass es nur für Anfragen mit dem Inhaltstyp "
|
839 |
+
"„text / html“ ausgeführt wird (empfohlen)"
|
840 |
+
|
841 |
+
#: views/cons-configuration.php:62 views/cons-single-form.php:279
|
842 |
+
#: views/cs-configuration.php:17 views/plugin-settings.php:46
|
843 |
+
#: views/pp-configuration.php:35 views/tc-configuration.php:133
|
844 |
+
msgid "Save settings"
|
845 |
+
msgstr "Einstellungen speichern"
|
846 |
+
|
847 |
+
#: views/integrate-setup.php:118 views/partials/csGeneralSettings.php:161
|
848 |
+
#: views/partials/csPluginSettings.php:14
|
849 |
+
msgid "Secondary"
|
850 |
+
msgstr "Sekundäres"
|
851 |
+
|
852 |
+
#: views/integrate-setup.php:85 views/partials/csGeneralSettings.php:127
|
853 |
+
msgid ""
|
854 |
+
"Seeing the AMP cookie notice when testing from Google but not when visiting "
|
855 |
+
"your AMP pages directly?"
|
856 |
+
msgstr ""
|
857 |
+
"Sehen Sie den AMP-Cookie-Hinweis beim Testen von Google, aber nicht beim "
|
858 |
+
"direkten Besuch Ihrer AMP-Seiten?"
|
859 |
+
|
860 |
+
#: includes/forms-list-table.php:376
|
861 |
+
msgid "Select All"
|
862 |
+
msgstr "Alle auswählen"
|
863 |
+
|
864 |
+
#: views/integrate-setup.php:121 views/partials/csGeneralSettings.php:153
|
865 |
+
#: views/partials/csPluginSettings.php:17
|
866 |
+
msgid "Select Parsing Engine"
|
867 |
+
msgstr "Parsing-Engine auswählen"
|
868 |
+
|
869 |
+
#: views/partials/modals/modal_almost_there.php:13
|
870 |
+
msgid "Select products you have already activated"
|
871 |
+
msgstr "Wählen Sie die Produkte die Sie bereits aktiviert haben"
|
872 |
+
|
873 |
+
#: views/integrate-setup.php:32 views/partials/csGeneralSettings.php:73
|
874 |
+
msgid "Select the iubenda AMP configuration file location."
|
875 |
+
msgstr "Wählen Sie den Speicherort der iubenda AMP-Konfigurationsdatei."
|
876 |
+
|
877 |
+
#: views/partials/csPluginSettings.php:56 views/plugin-settings.php:39
|
878 |
+
msgid ""
|
879 |
+
"Select whether to display iubenda in a top admin menu or the Settings "
|
880 |
+
"submenu."
|
881 |
+
msgstr ""
|
882 |
+
"Wählen Sie aus, ob iubenda in einem Haupt-Admin-Menü oder im Einstellungen-"
|
883 |
+
"Untermenü angezeigt werden soll."
|
884 |
+
|
885 |
+
#: views/partials/product-card.php:46
|
886 |
+
msgid "Service off"
|
887 |
+
msgstr "Dienst aus"
|
888 |
+
|
889 |
+
#: views/partials/product-card.php:46
|
890 |
+
#| msgid "Service"
|
891 |
+
msgid "Service on"
|
892 |
+
msgstr "Dienst ein"
|
893 |
+
|
894 |
+
#: includes/ServiceRating.php:98
|
895 |
+
msgid "Set up a cookie banner"
|
896 |
+
msgstr "Ein Cookie-Banner einrichten"
|
897 |
+
|
898 |
+
#: includes/ServiceRating.php:108
|
899 |
+
msgid "Set up a privacy policy"
|
900 |
+
msgstr "Eine Datenschutzerklärung einrichten"
|
901 |
+
|
902 |
+
#: includes/ServiceRating.php:113
|
903 |
+
msgid "Set up terms and conditions"
|
904 |
+
msgstr "AGBs einrichten"
|
905 |
+
|
906 |
+
#: includes/settings.php:749
|
907 |
+
msgid "Settings saved."
|
908 |
+
msgstr "Einstellungen gespeichert."
|
909 |
+
|
910 |
+
#: views/pp-configuration.php:22
|
911 |
+
msgid "Setup your privacy and cookie policy on iubenda.com"
|
912 |
+
msgstr ""
|
913 |
+
"Richten Sie Ihre Datenschutz- und Cookie-Richtlinie auf iubenda.com ein"
|
914 |
+
|
915 |
+
#: views/partials/buttonPosition.php:73 views/tc-configuration.php:117
|
916 |
+
msgid "Shortcode"
|
917 |
+
msgstr "Shortcode"
|
918 |
+
|
919 |
+
#: views/partials/csGeneralSettings.php:14
|
920 |
+
#: views/partials/csGeneralSettings.php:23
|
921 |
+
msgid "Simplified"
|
922 |
+
msgstr "Vereinfacht"
|
923 |
+
|
924 |
+
#: views/partials/modals/modal_almost_there.php:6
|
925 |
+
msgid ""
|
926 |
+
"Since you already activated some products for this website, we just ask you "
|
927 |
+
"to copy and paste the embedding code of the product you already have to "
|
928 |
+
"syncronize your iubenda acount with WP plugin."
|
929 |
+
msgstr ""
|
930 |
+
"Da Sie bereits einige Produkte für diese Website aktiviert haben, bitten wir "
|
931 |
+
"Sie, den Einbettungs-Code des Produkts, das Sie bereits haben, zu kopieren "
|
932 |
+
"und einzufügen, um Ihr iubenda-Konto mit dem WP-Plugin zu synchronisieren."
|
933 |
+
|
934 |
+
#: views/cons-single-form.php:48
|
935 |
+
msgid "Status"
|
936 |
+
msgstr "Status"
|
937 |
+
|
938 |
+
#: includes/settings.php:106 views/partials/csGeneralSettings.php:184
|
939 |
+
#: views/partials/csGeneralSettings.php:200
|
940 |
+
#: views/partials/csGeneralSettings.php:219
|
941 |
+
#: views/partials/csGeneralSettings.php:235
|
942 |
+
#: views/partials/csPluginSettings.php:70
|
943 |
+
#: views/partials/csPluginSettings.php:86
|
944 |
+
#: views/partials/csPluginSettings.php:105
|
945 |
+
#: views/partials/csPluginSettings.php:121
|
946 |
+
msgid "Strictly necessary"
|
947 |
+
msgstr "Unbedingt erforderlich"
|
948 |
+
|
949 |
+
#: includes/settings.php:75 includes/settings.php:76 includes/settings.php:77
|
950 |
+
#: includes/settings.php:78 includes/settings.php:79
|
951 |
+
msgid "string"
|
952 |
+
msgstr "String"
|
953 |
+
|
954 |
+
#: includes/settings.php:1114 includes/settings.php:1136
|
955 |
+
#: includes/settings.php:1155 includes/settings.php:1175
|
956 |
+
msgid "Style"
|
957 |
+
msgstr "Stil"
|
958 |
+
|
959 |
+
#: views/cons-single-form.php:65
|
960 |
+
msgid "Subject field"
|
961 |
+
msgstr "Betreff-Feld"
|
962 |
+
|
963 |
+
#: views/cons-single-form.php:61
|
964 |
+
msgid "Subject fields"
|
965 |
+
msgstr "Betreff-Feldern"
|
966 |
+
|
967 |
+
#: views/cons-single-form.php:62
|
968 |
+
msgid ""
|
969 |
+
"Subject fields allow you to store a series of identifying values about your "
|
970 |
+
"individual subjects/users. Please map the subject field with the "
|
971 |
+
"corresponding form fields where applicable."
|
972 |
+
msgstr ""
|
973 |
+
"Mit Hilfe von Betreff-Feldern können Sie eine Reihe von identifizierenden "
|
974 |
+
"Werten über Ihre einzelnen Betreffe/Nutzer speichern. Bitte ordnen Sie das "
|
975 |
+
"Betreff-Feld gegebenenfalls den entsprechenden Formularfeldern zu."
|
976 |
+
|
977 |
+
#: views/partials/csPluginSettings.php:53 views/plugin-settings.php:36
|
978 |
+
msgid "Submenu"
|
979 |
+
msgstr "Submenü"
|
980 |
+
|
981 |
+
#: includes/settings.php:926
|
982 |
+
msgid "Sure!"
|
983 |
+
msgstr "Sicher!"
|
984 |
+
|
985 |
+
#: views/partials/modals/modal_almost_there.php:75
|
986 |
+
msgid "Synchronize products"
|
987 |
+
msgstr "Produkte synchronisieren"
|
988 |
+
|
989 |
+
#: includes/settings.php:110
|
990 |
+
msgid "Targeting & Advertising"
|
991 |
+
msgstr "Targeting & Werbung"
|
992 |
+
|
993 |
+
#: views/partials/csGeneralSettings.php:188
|
994 |
+
#: views/partials/csGeneralSettings.php:204
|
995 |
+
#: views/partials/csGeneralSettings.php:223
|
996 |
+
#: views/partials/csGeneralSettings.php:239
|
997 |
+
#: views/partials/csPluginSettings.php:74
|
998 |
+
#: views/partials/csPluginSettings.php:90
|
999 |
+
#: views/partials/csPluginSettings.php:109
|
1000 |
+
#: views/partials/csPluginSettings.php:125
|
1001 |
+
msgid "Targeting & Advertising"
|
1002 |
+
msgstr "Targeting & Werbung"
|
1003 |
+
|
1004 |
+
#: includes/settings.php:412
|
1005 |
+
msgid "Terms and condition"
|
1006 |
+
msgstr "AGBs"
|
1007 |
+
|
1008 |
+
#: includes/settings.php:1170
|
1009 |
+
msgid "Terms and Conditions"
|
1010 |
+
msgstr "AGBs"
|
1011 |
+
|
1012 |
+
#: views/partials/bannerStyle.php:2
|
1013 |
+
msgid "Theme"
|
1014 |
+
msgstr "Theme"
|
1015 |
+
|
1016 |
+
#: includes/ServiceRating.php:109
|
1017 |
+
#, php-format
|
1018 |
+
msgid ""
|
1019 |
+
"This accounts for 25% of your score. A privacy policy is a requirement "
|
1020 |
+
"under most privacy laws around the world. This document typically includes "
|
1021 |
+
"legally required disclosures about the type of personal data you process, "
|
1022 |
+
"why you need to process it, how the processing is done and the user’s rights "
|
1023 |
+
"under applicable law."
|
1024 |
+
msgstr ""
|
1025 |
+
"Dies macht 25% Ihrer Punktzahl aus. Eine Datenschutzerklärung ist in den "
|
1026 |
+
"meisten Datenschutzgesetzen der Welt vorgeschrieben. Dieses Dokument enthält "
|
1027 |
+
"in der Regel die gesetzlich vorgeschriebenen Angaben über die Art der "
|
1028 |
+
"personenbezogenen Daten, die Sie verarbeiten, die Gründe für die "
|
1029 |
+
"Verarbeitung, wie die Verarbeitung durchgeführt wird und die Rechte des "
|
1030 |
+
"Nutzers nach dem anwendbaren Recht."
|
1031 |
+
|
1032 |
+
#: includes/ServiceRating.php:104
|
1033 |
+
#, php-format
|
1034 |
+
msgid ""
|
1035 |
+
"This accounts for 25% of your score. If you’re based in Europe or have "
|
1036 |
+
"Europe-based users, you likely need to block cookies from running until you "
|
1037 |
+
"receive user consent. To do this, select “Automatically block scripts "
|
1038 |
+
"detected by the plugin”."
|
1039 |
+
msgstr ""
|
1040 |
+
"Dies macht 25% Ihrer Punktzahl aus. Wenn Sie in Europa ansässig sind "
|
1041 |
+
"oder in Europa ansässige Nutzer haben, müssen Sie wahrscheinlich die "
|
1042 |
+
"Verwendung von Cookies blockieren, bis Sie die Einwilligung der Nutzer "
|
1043 |
+
"erhalten. Wählen Sie dazu „Automatisch vom Plugin erkannte Skripte "
|
1044 |
+
"blockieren“."
|
1045 |
+
|
1046 |
+
#: includes/ServiceRating.php:114
|
1047 |
+
#, php-format
|
1048 |
+
msgid ""
|
1049 |
+
"This accounts for 25% of your score. Terms and conditions help to "
|
1050 |
+
"protect you, the website owner, from potential liabilities and more. "
|
1051 |
+
"Furthermore, if you run an e-commerce site or app, having this document may "
|
1052 |
+
"be legally required as Terms typically contain legally mandatory disclosures."
|
1053 |
+
" Terms are legally binding documents, and therefore it’s important to ensure "
|
1054 |
+
"that they actually fit your specific scenario."
|
1055 |
+
msgstr ""
|
1056 |
+
"Dies macht 25% Ihrer Punktzahl aus. AGBs helfen dabei, Sie als Anbieter "
|
1057 |
+
"einer Website vor möglichen Haftungsansprüchen und mehr zu schützen. Wenn "
|
1058 |
+
"Sie eine E-Commerce-Website oder eine App betreiben, kann dieses Dokument "
|
1059 |
+
"außerdem gesetzlich vorgeschrieben sein, da die AGB in der Regel gesetzlich "
|
1060 |
+
"vorgeschriebene Angaben enthalten. AGBs sind rechtsverbindliche Dokumente. "
|
1061 |
+
"Daher ist es wichtig sicherzustellen, dass sie auch tatsächlich auf Ihr "
|
1062 |
+
"spezifisches Szenario zugeschnitten sind."
|
1063 |
+
|
1064 |
+
#: includes/ServiceRating.php:99
|
1065 |
+
#, php-format
|
1066 |
+
msgid ""
|
1067 |
+
"This accounts for 25% of your score. Your cookie banner should inform "
|
1068 |
+
"your users about your use of cookies and similar tracking technologies, and "
|
1069 |
+
"their rights in this regard. You may need a banner if either the GDPR, CCPA "
|
1070 |
+
"or ePrivacy apply to you."
|
1071 |
+
msgstr ""
|
1072 |
+
"Dies macht 25% Ihrer Punktzahl aus. Ihr Cookie-Banner sollte Ihre Nutzer "
|
1073 |
+
"über die Verwendung von Cookies und ähnlichen Tracking-Technologien sowie "
|
1074 |
+
"über ihre diesbezüglichen Rechte informieren. Sie benötigen möglicherweise "
|
1075 |
+
"ein Banner, wenn entweder die DSGVO, CCPA oder ePrivacy für Sie gelten."
|
1076 |
+
|
1077 |
+
#: views/partials/frontpage_main_box.php:26
|
1078 |
+
msgid "This is what you may need to be compliant"
|
1079 |
+
msgstr "Das brauchen Sie möglicherweise um gesetzeskonform zu werden"
|
1080 |
+
|
1081 |
+
#: views/partials/auto_detect_forms.php:29
|
1082 |
+
msgid ""
|
1083 |
+
"This section lists the forms available for field mapping. The plugin "
|
1084 |
+
"currently supports & detects: WordPress Comment, Contact Form 7, WooCommerce "
|
1085 |
+
"Checkout and WP Forms."
|
1086 |
+
msgstr ""
|
1087 |
+
"In diesem Abschnitt werden die Formulare aufgelistet, die für die "
|
1088 |
+
"Feldzuordnung verfügbar sind. Das Plugin unterstützt und erkennt derzeit: "
|
1089 |
+
"WordPress Comment, Contact Form 7, WooCommerce Checkout und WP Forms."
|
1090 |
+
|
1091 |
+
#: includes/widget/IubendaLegalWidget.php:176
|
1092 |
+
msgid "Title:"
|
1093 |
+
msgstr "Titel:"
|
1094 |
+
|
1095 |
+
#: includes/settings.php:905
|
1096 |
+
#, php-format
|
1097 |
+
msgid ""
|
1098 |
+
"To ensure regular scans and full support, <span class=\"text-bold\">verify "
|
1099 |
+
"your account</span>. Check your mailbox now and validate your email address, "
|
1100 |
+
"or check <a href=\"%s\" target=\"_blank\" class=\"link-underline\">your "
|
1101 |
+
"account</a> on iubenda.com. If you already did that, you can safely <a "
|
1102 |
+
"href=\"javascript:void(0)\" class=\"notice-dismiss-by-text dismiss-"
|
1103 |
+
"notification-alert link-underline\" data-dismiss-"
|
1104 |
+
"key=\"iub_user_needs_to_verify_his_account\">dismiss this reminder</a>."
|
1105 |
+
msgstr ""
|
1106 |
+
"Um regelmäßige Scans und vollen Support zu erhalten, <span class=\"text-"
|
1107 |
+
"bold\">verifizieren Sie Ihr Konto</span>. Überprüfen Sie jetzt Ihre Mailbox "
|
1108 |
+
"und bestätigen Sie Ihre E-Mail-Adresse, oder überprüfen Sie<a href=\"%s\" "
|
1109 |
+
"target=\"_blank\" class=\"link-underline\">Ihr Konto</a> auf iubenda.com. "
|
1110 |
+
"Wenn Sie dies bereits getan haben, können Sie diese Erinnerung ruhig <a "
|
1111 |
+
"href=\"javascript:void(0)\" class=\"notice-dismiss-by-text dismiss-"
|
1112 |
+
"notification-alert link-underline\" data-dismiss-"
|
1113 |
+
"key=\"iub_user_needs_to_verify_his_account\">ignorieren.</a>."
|
1114 |
+
|
1115 |
+
#: views/partials/csPluginSettings.php:49 views/plugin-settings.php:32
|
1116 |
+
msgid "Top menu"
|
1117 |
+
msgstr "Hauptmenü"
|
1118 |
+
|
1119 |
+
#: views/partials/modals/modal_no_website_found.php:10
|
1120 |
+
#: views/partials/modals/modal_ops_embed_invalid.php:10
|
1121 |
+
msgid "Try again"
|
1122 |
+
msgstr "Erneut versuchen"
|
1123 |
+
|
1124 |
+
#: includes/settings.php:1154 includes/settings.php:1174
|
1125 |
+
msgid "Version"
|
1126 |
+
msgstr "Version"
|
1127 |
+
|
1128 |
+
#: views/partials/header_scanned.php:4
|
1129 |
+
msgid "We have analyzed your website in background and this is the result."
|
1130 |
+
msgstr ""
|
1131 |
+
"Wir haben Ihre Website im Hintergrund analysiert. Hier ist das Ergebnis."
|
1132 |
+
|
1133 |
+
#: views/partials/buttonPosition.php:28
|
1134 |
+
#: views/partials/modals/modal_almost_there.php:62
|
1135 |
+
#: views/tc-configuration.php:83
|
1136 |
+
#, php-format
|
1137 |
+
#| msgid ""
|
1138 |
+
#| "We were not able to add a \"Legal\" widget to the footer as your theme is "
|
1139 |
+
#| "not compatible, you can position the \"Legal\" widget manually from <a "
|
1140 |
+
#| "href=\"%s\" target=\"_blank\">here</a>."
|
1141 |
+
msgid ""
|
1142 |
+
"We were not able to add a \"Legal\" widget/block to the footer as your theme "
|
1143 |
+
"is not compatible, you can position the \"Legal\" widget/block manually from "
|
1144 |
+
"<a href=\"%s\" target=\"_blank\">here</a>."
|
1145 |
+
msgstr ""
|
1146 |
+
"Wir waren nicht in der Lage, ein \"Legal\"-Widget in den Footer einzufügen, "
|
1147 |
+
"da Ihr Theme inkompatibel ist. Sie können das \"Legal\"-Widget manuell von "
|
1148 |
+
"<a href=\"%s\" target=\"_blank\">hier</a> positionieren."
|
1149 |
+
|
1150 |
+
#: includes/settings.php:931
|
1151 |
+
msgid "We're sorry to hear that. Would you mind giving us some feedback?"
|
1152 |
+
msgstr "Das tut uns leid. Würden Sie uns bitte ein Feedback geben?"
|
1153 |
+
|
1154 |
+
#: views/partials/welcomeScreenHeader.php:2
|
1155 |
+
msgid "Welcome to iubenda!"
|
1156 |
+
msgstr "Willkommen bei iubenda!"
|
1157 |
+
|
1158 |
+
#: views/cons-configuration.php:37 views/partials/languagesTabs.php:27
|
1159 |
+
#: views/partials/modals/modal_almost_there.php:42
|
1160 |
+
msgid "Where can I find this code?"
|
1161 |
+
msgstr "Wo kann ich diesen Code finden?"
|
1162 |
+
|
1163 |
+
#: includes/settings.php:924
|
1164 |
+
msgid ""
|
1165 |
+
"Whew, what a relief!? We've worked countless hours to make this plugin as "
|
1166 |
+
"useful as possible - so we're pretty happy that you're enjoying it. While "
|
1167 |
+
"you here, would you mind leaving us a 5 star rating? It would really help us "
|
1168 |
+
"out."
|
1169 |
+
msgstr ""
|
1170 |
+
"Puh, was für eine Erleichterung!? Wir haben unzählige Stunden daran "
|
1171 |
+
"gearbeitet, dieses Plugin so nützlich wie möglich zu machen - daher sind wir "
|
1172 |
+
"sehr froh, dass es Ihnen so gut gefällt. Während Sie hier sind, würden Sie "
|
1173 |
+
"uns bitte eine 5-Sterne-Bewertung hinterlassen? Das würde uns wirklich "
|
1174 |
+
"helfen."
|
1175 |
+
|
1176 |
+
#: views/partials/csSimplifiedConfiguration.php:43
|
1177 |
+
msgid "Worldwide"
|
1178 |
+
msgstr "Weltweit"
|
1179 |
+
|
1180 |
+
#: includes/settings.php:919
|
1181 |
+
msgid "Yes"
|
1182 |
+
msgstr "Ja"
|
1183 |
+
|
1184 |
+
#: includes/settings.php:389
|
1185 |
+
msgid "You don't have permission to access this page."
|
1186 |
+
msgstr "Sie haben keine Zugriffsberechtigung für diese Seite."
|
1187 |
+
|
1188 |
+
#: views/partials/csSimplifiedConfiguration.php:92
|
1189 |
+
msgid "You should activate this feature if you show ads on your website"
|
1190 |
+
msgstr ""
|
1191 |
+
"Aktivieren Sie diese Funktion, wenn Sie auf Ihrer Website Anzeigen schalten"
|
1192 |
+
|
1193 |
+
#: views/partials/buttonPosition.php:64 views/tc-configuration.php:108
|
1194 |
+
msgid "Your embed code"
|
1195 |
+
msgstr "Ihr Einbettungs-Code"
|
1196 |
+
|
1197 |
+
#: views/cons-configuration.php:29
|
1198 |
+
msgid "Your iubenda Javascript library public API key"
|
1199 |
+
msgstr "Ihr öffentlicher API-Schlüssel für die iubenda Javascript-Bibliothek"
|
1200 |
+
|
1201 |
+
#: views/partials/modals/modal_pp_created.php:5
|
1202 |
+
msgid "Your privacy policy has been created!"
|
1203 |
+
msgstr "Ihre Datenschutzerklärung wurde erstellt!"
|
1204 |
+
|
1205 |
+
#: views/partials/header_scanned.php:3 views/partials/modals/modal_rating.php:6
|
1206 |
+
#: views/partials/siteInfo.php:20
|
1207 |
+
msgid "Your rating"
|
1208 |
+
msgstr "Ihre Punktzahl"
|
1209 |
+
|
1210 |
+
#: includes/QuickGeneratorService.php:111
|
1211 |
+
msgid ""
|
1212 |
+
"Your website has been created and your legal documents have been generated. "
|
1213 |
+
"Setup your cookie banner and privacy policy button to complete the "
|
1214 |
+
"integration."
|
1215 |
+
msgstr ""
|
1216 |
+
"Ihre Website wurde erstellt und Ihre Rechtsdokumente wurden generiert. "
|
1217 |
+
"Richten Sie Ihr Cookie-Banner und die Datenschutzerklärung-Button ein, um "
|
1218 |
+
"die Integration zu vervollständigen."
|
languages/iubenda-es_ES.mo
ADDED
Binary file
|
languages/iubenda-es_ES.po
ADDED
@@ -0,0 +1,1211 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: \n"
|
4 |
+
"POT-Creation-Date: 2022-06-22 14:50+0200\n"
|
5 |
+
"PO-Revision-Date: 2022-08-05 18:52+0000\n"
|
6 |
+
"Last-Translator: \n"
|
7 |
+
"Language-Team: Español\n"
|
8 |
+
"Language: es_ES\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
13 |
+
"X-Generator: Loco https://localise.biz/\n"
|
14 |
+
"X-Poedit-Basepath: ..\n"
|
15 |
+
"X-Poedit-KeywordsList: _e;__\n"
|
16 |
+
"X-Poedit-SearchPath-0: .\n"
|
17 |
+
"Report-Msgid-Bugs-To: \n"
|
18 |
+
"X-Loco-Version: 2.6.2; wp-6.0.1"
|
19 |
+
|
20 |
+
#: views/partials/modals/modal_almost_there.php:25
|
21 |
+
msgid "(required)"
|
22 |
+
msgstr "(obligatorio)"
|
23 |
+
|
24 |
+
#: views/partials/buttonPosition.php:74
|
25 |
+
msgid ""
|
26 |
+
"A shortcode is a tiny bit of code that allows embedding interactive elements "
|
27 |
+
"or creating complex page layouts with a minimal effort.<br>Just copy and "
|
28 |
+
"paste the shortcode where you want the button to appear."
|
29 |
+
msgstr ""
|
30 |
+
"Un shortcode es un pequeño segmento de código que permite integrar elementos "
|
31 |
+
"interactivos o crear complejos diseños de páginas con el mínimo esfuerzo.<br>"
|
32 |
+
"Sólo tienes que copiar y pegar el shortcode donde quieras que aparezca el "
|
33 |
+
"botón."
|
34 |
+
|
35 |
+
#: views/cons-configuration.php:17
|
36 |
+
msgid "Activate & Configure Consent Solution by"
|
37 |
+
msgstr "Activa y configura la Consent Solution"
|
38 |
+
|
39 |
+
#: views/cons-configuration.php:14
|
40 |
+
msgid ""
|
41 |
+
"Activate <strong>Consent Solution</strong> on our website in your iubenda "
|
42 |
+
"dashboard and paste here the <strong>API key</strong> to integrate it on "
|
43 |
+
"your website."
|
44 |
+
msgstr ""
|
45 |
+
"Activa la <strong>Consent Solution</strong> en tu dashboard de iubenda y "
|
46 |
+
"pega aquí la <strong>clave API</strong>para integrarla en tu web."
|
47 |
+
|
48 |
+
#: views/integrate-setup.php:21
|
49 |
+
msgid "Add a cookie banner"
|
50 |
+
msgstr "Añadir un banner de cookies"
|
51 |
+
|
52 |
+
#: views/cons-configuration.php:44
|
53 |
+
msgid "Add forms"
|
54 |
+
msgstr "Añade los formularios"
|
55 |
+
|
56 |
+
#: views/cons-single-form.php:268
|
57 |
+
msgid "Add New Document"
|
58 |
+
msgstr "Añadir nuevo documento"
|
59 |
+
|
60 |
+
#: views/cons-single-form.php:216
|
61 |
+
msgid "Add New Exclude"
|
62 |
+
msgstr "Añadir nuevo Excluir"
|
63 |
+
|
64 |
+
#: views/partials/csGeneralSettings.php:247
|
65 |
+
#: views/partials/csPluginSettings.php:133
|
66 |
+
msgid "Add New iframe"
|
67 |
+
msgstr "Añadir nuevo iframe"
|
68 |
+
|
69 |
+
#: views/cons-single-form.php:155
|
70 |
+
msgid "Add New Preference"
|
71 |
+
msgstr "Añadir nueva preferencia"
|
72 |
+
|
73 |
+
#: views/partials/csGeneralSettings.php:212
|
74 |
+
#: views/partials/csPluginSettings.php:98
|
75 |
+
msgid "Add New Script"
|
76 |
+
msgstr "Añadir nuevo script"
|
77 |
+
|
78 |
+
#: views/integrate-setup.php:140
|
79 |
+
msgid "Add the privacy policy button"
|
80 |
+
msgstr "Añadir el botón de la política de privacidad"
|
81 |
+
|
82 |
+
#: views/partials/buttonPosition.php:5 views/tc-configuration.php:61
|
83 |
+
msgid "Add to the footer automatically"
|
84 |
+
msgstr "Añadir automáticamente al pie de página"
|
85 |
+
|
86 |
+
#: includes/forms-list-table.php:279
|
87 |
+
msgid "All form sources"
|
88 |
+
msgstr "Todas las fuentes de los formularios"
|
89 |
+
|
90 |
+
#: views/cons-single-form.php:250
|
91 |
+
msgid "Alternatively, you may add your own custom document identifiers."
|
92 |
+
msgstr ""
|
93 |
+
"También puedes añadir tus propios identificadores de documentos "
|
94 |
+
"personalizados."
|
95 |
+
|
96 |
+
#: includes/amp.php:281
|
97 |
+
msgid "AMP Cookie Consent"
|
98 |
+
msgstr "Consentimiento de cookies AMP"
|
99 |
+
|
100 |
+
#: includes/settings.php:109 views/partials/csGeneralSettings.php:187
|
101 |
+
#: views/partials/csGeneralSettings.php:203
|
102 |
+
#: views/partials/csGeneralSettings.php:222
|
103 |
+
#: views/partials/csGeneralSettings.php:238
|
104 |
+
#: views/partials/csPluginSettings.php:73
|
105 |
+
#: views/partials/csPluginSettings.php:89
|
106 |
+
#: views/partials/csPluginSettings.php:108
|
107 |
+
#: views/partials/csPluginSettings.php:124
|
108 |
+
msgid "Analytics"
|
109 |
+
msgstr "Estadísticas"
|
110 |
+
|
111 |
+
#: views/partials/frontpage_main_box.php:22
|
112 |
+
msgid "Analyzing your website"
|
113 |
+
msgstr "Analizar tu sitio web"
|
114 |
+
|
115 |
+
#: views/cons-configuration.php:53
|
116 |
+
msgid "Auto-detect forms"
|
117 |
+
msgstr "Detectar automáticamente los formularios"
|
118 |
+
|
119 |
+
#: views/integrate-setup.php:36 views/partials/csGeneralSettings.php:77
|
120 |
+
msgid "Auto-generated configuration file"
|
121 |
+
msgstr "Archivo de configuración generado automáticamente"
|
122 |
+
|
123 |
+
#: views/cons-single-form.php:71
|
124 |
+
msgid "Autogenerated"
|
125 |
+
msgstr "Generado automáticamente"
|
126 |
+
|
127 |
+
#: views/integrate-setup.php:108 views/partials/csGeneralSettings.php:149
|
128 |
+
#: views/partials/csPluginSettings.php:4
|
129 |
+
msgid "Automatically block scripts detected by the plugin"
|
130 |
+
msgstr "Bloquear automáticamente los scripts detectados por el plugin"
|
131 |
+
|
132 |
+
#: views/partials/bannerPosition.php:41
|
133 |
+
msgid "Background-overlay"
|
134 |
+
msgstr "Superposición de fondo"
|
135 |
+
|
136 |
+
#: views/partials/csSimplifiedConfiguration.php:68
|
137 |
+
msgid "Banner buttons"
|
138 |
+
msgstr "Botones del banner"
|
139 |
+
|
140 |
+
#: includes/settings.php:107
|
141 |
+
msgid "Basic interactions & functionalities"
|
142 |
+
msgstr "Interacciones y funcionalidades básicas"
|
143 |
+
|
144 |
+
#: views/partials/csGeneralSettings.php:185
|
145 |
+
#: views/partials/csGeneralSettings.php:201
|
146 |
+
#: views/partials/csGeneralSettings.php:220
|
147 |
+
#: views/partials/csGeneralSettings.php:236
|
148 |
+
#: views/partials/csPluginSettings.php:71
|
149 |
+
#: views/partials/csPluginSettings.php:87
|
150 |
+
#: views/partials/csPluginSettings.php:106
|
151 |
+
#: views/partials/csPluginSettings.php:122
|
152 |
+
msgid "Basic interactions & functionalities"
|
153 |
+
msgstr "Interacciones y funcionalidades básicas"
|
154 |
+
|
155 |
+
#: views/partials/csGeneralSettings.php:173
|
156 |
+
msgid "Blocked domains"
|
157 |
+
msgstr "Dominios bloqueados"
|
158 |
+
|
159 |
+
#: views/partials/csSimplifiedConfiguration.php:22
|
160 |
+
msgid "Both"
|
161 |
+
msgstr "Ambas"
|
162 |
+
|
163 |
+
#: views/partials/buttonPosition.php:1 views/tc-configuration.php:57
|
164 |
+
msgid "Button position"
|
165 |
+
msgstr "Posición del botón"
|
166 |
+
|
167 |
+
#: views/partials/buttonStyle.php:1 views/tc-configuration.php:32
|
168 |
+
msgid "Button style"
|
169 |
+
msgstr "Estilo del botón"
|
170 |
+
|
171 |
+
#: views/cons-configuration.php:60 views/cons-single-form.php:277
|
172 |
+
#: views/cs-configuration.php:15 views/plugin-settings.php:44
|
173 |
+
#: views/pp-configuration.php:33 views/tc-configuration.php:131
|
174 |
+
msgid "Cancel"
|
175 |
+
msgstr "Anular"
|
176 |
+
|
177 |
+
#: views/partials/csSimplifiedConfiguration.php:18
|
178 |
+
msgid "CCPA Only"
|
179 |
+
msgstr "Solo CCPA"
|
180 |
+
|
181 |
+
#: views/cons-configuration.php:18 views/partials/csManualConfiguration.php:6
|
182 |
+
#: views/tc-configuration.php:16
|
183 |
+
msgid "clicking here"
|
184 |
+
msgstr "haciendo clic aquí"
|
185 |
+
|
186 |
+
#: views/partials/csGeneralSettings.php:2
|
187 |
+
msgid "Configuration"
|
188 |
+
msgstr "Configuración"
|
189 |
+
|
190 |
+
#: views/partials/product-card.php:48
|
191 |
+
msgid "Configure"
|
192 |
+
msgstr "Configurar"
|
193 |
+
|
194 |
+
#: views/partials/csManualConfiguration.php:5
|
195 |
+
msgid "Configure cookie banner by"
|
196 |
+
msgstr "Configura tu banner de cookies"
|
197 |
+
|
198 |
+
#: views/tc-configuration.php:15
|
199 |
+
msgid "Configure terms and conditions by"
|
200 |
+
msgstr "Configura los términos y condiciones"
|
201 |
+
|
202 |
+
#: views/partials/csManualConfiguration.php:2
|
203 |
+
msgid ""
|
204 |
+
"Configure your cookie banner on our website and paste here the embed code to "
|
205 |
+
"integrate it to your website."
|
206 |
+
msgstr ""
|
207 |
+
"Configura tu banner de cookies en nuestro sitio web y pega aquí el código de "
|
208 |
+
"integración para integrarlo en tu sitio web."
|
209 |
+
|
210 |
+
#: views/tc-configuration.php:12
|
211 |
+
msgid ""
|
212 |
+
"Configure your terms and conditions on our website and paste here the embed "
|
213 |
+
"code to integrate the button on your website."
|
214 |
+
msgstr ""
|
215 |
+
"Configura tus términos y condiciones en nuestro sitio web y pega aquí el "
|
216 |
+
"código de integración para insertar el botón en tu sitio web."
|
217 |
+
|
218 |
+
#: views/cons-configuration.php:31
|
219 |
+
msgid "Confirm API"
|
220 |
+
msgstr "Confirmar API"
|
221 |
+
|
222 |
+
#: includes/settings.php:97 includes/settings.php:430 includes/settings.php:441
|
223 |
+
#: includes/settings.php:1182
|
224 |
+
msgid "Consent Solution"
|
225 |
+
msgstr "Consent Solution"
|
226 |
+
|
227 |
+
#: views/partials/modals/modal_almost_there.php:37
|
228 |
+
msgid "Consent Solution API key"
|
229 |
+
msgstr "Clave API de la Consent Solution"
|
230 |
+
|
231 |
+
#: views/partials/modals/modal_select_language.php:54
|
232 |
+
msgid "Continue"
|
233 |
+
msgstr "Continuar"
|
234 |
+
|
235 |
+
#: includes/settings.php:91 includes/settings.php:424
|
236 |
+
#: includes/settings.php:1162
|
237 |
+
msgid "Cookie Solution"
|
238 |
+
msgstr "Cookie Solution"
|
239 |
+
|
240 |
+
#: includes/QuickGeneratorService.php:625
|
241 |
+
#, php-format
|
242 |
+
msgid ""
|
243 |
+
"Currently, you do not have write permission for <i class=\"text-bold\">%s</i>"
|
244 |
+
". For instructions on how to fix this, please read <a class=\"link-"
|
245 |
+
"underline\" target=\"_blank\" href=\"%s\">our guide</a>."
|
246 |
+
msgstr ""
|
247 |
+
"Actualmente, no tienes permiso de escritura para <i class=\"text-bold\">"
|
248 |
+
"%s</i>. Para saber cómo solucionarlo, consulta <a class=\"link-underline\" "
|
249 |
+
"target=\\\"blank\\\" href=\\\"%s\\\">nuestra guía</a>."
|
250 |
+
|
251 |
+
#: views/integrate-setup.php:40 views/partials/csGeneralSettings.php:81
|
252 |
+
msgid "Custom configuration file"
|
253 |
+
msgstr "Archivo de configuración personalizado"
|
254 |
+
|
255 |
+
#: views/partials/csGeneralSettings.php:177
|
256 |
+
#: views/partials/csPluginSettings.php:63
|
257 |
+
msgid "Custom iframes"
|
258 |
+
msgstr "iframes personalizados"
|
259 |
+
|
260 |
+
#: views/partials/csGeneralSettings.php:176
|
261 |
+
#: views/partials/csPluginSettings.php:62
|
262 |
+
msgid "Custom scripts"
|
263 |
+
msgstr "Scripts personalizados"
|
264 |
+
|
265 |
+
#: views/partials/csPluginSettings.php:59
|
266 |
+
msgid "Custom settings"
|
267 |
+
msgstr "Ajustes personalizados"
|
268 |
+
|
269 |
+
#: views/partials/bannerStyle.php:9 views/partials/buttonStyle.php:19
|
270 |
+
#: views/tc-configuration.php:50
|
271 |
+
msgid "Dark"
|
272 |
+
msgstr "Oscuro"
|
273 |
+
|
274 |
+
#: includes/forms-list-table.php:90
|
275 |
+
msgid "Date"
|
276 |
+
msgstr "Fecha"
|
277 |
+
|
278 |
+
#: views/integrate-setup.php:73 views/integrate-setup.php:91
|
279 |
+
#: views/partials/csGeneralSettings.php:115
|
280 |
+
msgid "Default language"
|
281 |
+
msgstr "Idioma por defecto"
|
282 |
+
|
283 |
+
#: includes/forms-list-table.php:160
|
284 |
+
msgid "Delete"
|
285 |
+
msgstr "Eliminar"
|
286 |
+
|
287 |
+
#: views/partials/csPluginSettings.php:41 views/plugin-settings.php:25
|
288 |
+
msgid "Delete all plugin data upon deactivation"
|
289 |
+
msgstr "Eliminar todos los datos del plugin al desactivarlo"
|
290 |
+
|
291 |
+
#: views/partials/csPluginSettings.php:33 views/plugin-settings.php:17
|
292 |
+
msgid "Do not run the plugin inside the RSS feed (recommended)"
|
293 |
+
msgstr "No ejecutar el plugin dentro del Feed RSS (recomendado)"
|
294 |
+
|
295 |
+
#: views/partials/csPluginSettings.php:37 views/plugin-settings.php:21
|
296 |
+
msgid "Do not run the plugin on POST requests (recommended)"
|
297 |
+
msgstr "No ejecutar el plugin para solicitudes POST (recomendado)"
|
298 |
+
|
299 |
+
#: views/partials/footer.php:5
|
300 |
+
msgid "Documentation"
|
301 |
+
msgstr "Documentación"
|
302 |
+
|
303 |
+
#: includes/forms-list-table.php:159
|
304 |
+
msgid "Edit"
|
305 |
+
msgstr "Modificar"
|
306 |
+
|
307 |
+
#: views/integrate-setup.php:29 views/partials/csGeneralSettings.php:69
|
308 |
+
msgid "Enable Google AMP support"
|
309 |
+
msgstr "Habilitar el soporte para Google AMP"
|
310 |
+
|
311 |
+
#: views/partials/csSimplifiedConfiguration.php:88
|
312 |
+
msgid "Enable IAB Transparency and Consent Framework"
|
313 |
+
msgstr "Habilitar el Marco de Transparencia y Consentimiento de IAB"
|
314 |
+
|
315 |
+
#: views/integrate-setup.php:128 views/partials/csGeneralSettings.php:170
|
316 |
+
#: views/partials/csPluginSettings.php:24
|
317 |
+
msgid ""
|
318 |
+
"Enable this option to improve performance <strong>only</strong> if your site "
|
319 |
+
"does <strong>not</strong> use a cache system or a cache plugin and if you're "
|
320 |
+
"<strong>not</strong> collecting per-category consent. If you're in doubt, "
|
321 |
+
"keep this setting disabled"
|
322 |
+
msgstr ""
|
323 |
+
"Habilita esta opción para mejorar el rendimiento <strong>solo</strong> si tu "
|
324 |
+
"sitio web <strong>no</strong> utiliza un sistema de caché o un plugin de "
|
325 |
+
"caché y si <strong>no</strong> recopila el consentimiento por categoría. Si "
|
326 |
+
"no estás seguro, mantén esta opción deshabilitada"
|
327 |
+
|
328 |
+
#: includes/settings.php:917
|
329 |
+
msgid "Enjoying the iubenda Cookie & Consent Solution Plugin?"
|
330 |
+
msgstr "¿Estás disfrutando del plugin de iubenda Cookie & Consent Solution?"
|
331 |
+
|
332 |
+
#: views/partials/csGeneralSettings.php:216
|
333 |
+
#: views/partials/csGeneralSettings.php:232
|
334 |
+
#: views/partials/csPluginSettings.php:102
|
335 |
+
#: views/partials/csPluginSettings.php:118
|
336 |
+
msgid "Enter custom iframe"
|
337 |
+
msgstr "Introducir iframes personalizados"
|
338 |
+
|
339 |
+
#: views/partials/csGeneralSettings.php:181
|
340 |
+
#: views/partials/csGeneralSettings.php:197
|
341 |
+
#: views/partials/csPluginSettings.php:67
|
342 |
+
#: views/partials/csPluginSettings.php:83
|
343 |
+
msgid "Enter custom script"
|
344 |
+
msgstr "Introducir scripts personalizados"
|
345 |
+
|
346 |
+
#: views/cons-single-form.php:108 views/cons-single-form.php:133
|
347 |
+
#: views/cons-single-form.php:234 views/cons-single-form.php:244
|
348 |
+
#: views/cons-single-form.php:260
|
349 |
+
msgid "Enter field name"
|
350 |
+
msgstr "Introducir el nombre del campo"
|
351 |
+
|
352 |
+
#: views/partials/csSimplifiedConfiguration.php:59
|
353 |
+
msgid "EU Only"
|
354 |
+
msgstr "Solo UE"
|
355 |
+
|
356 |
+
#: views/cons-single-form.php:164
|
357 |
+
msgid "Exclude field"
|
358 |
+
msgstr "Excluir campo"
|
359 |
+
|
360 |
+
#: views/cons-single-form.php:159
|
361 |
+
msgid "Exclude fields"
|
362 |
+
msgstr "Excluir campos"
|
363 |
+
|
364 |
+
#: views/cons-single-form.php:160
|
365 |
+
msgid ""
|
366 |
+
"Exclude fields allow you to create a list of fields that you would like to "
|
367 |
+
"exclude from your Consent Solution recorded proofs (for e.g. password or "
|
368 |
+
"other fields not related to the consent)."
|
369 |
+
msgstr ""
|
370 |
+
"Excluir campos te permite crear una lista de campos que te gustaría excluir "
|
371 |
+
"de tus pruebas registradas de la Consent Solution (por ejemplo, la "
|
372 |
+
"contraseña u otros campos no relacionados con el consentimiento)."
|
373 |
+
|
374 |
+
#: includes/settings.php:108 views/partials/csGeneralSettings.php:186
|
375 |
+
#: views/partials/csGeneralSettings.php:202
|
376 |
+
#: views/partials/csGeneralSettings.php:221
|
377 |
+
#: views/partials/csGeneralSettings.php:237
|
378 |
+
#: views/partials/csPluginSettings.php:72
|
379 |
+
#: views/partials/csPluginSettings.php:88
|
380 |
+
#: views/partials/csPluginSettings.php:107
|
381 |
+
#: views/partials/csPluginSettings.php:123
|
382 |
+
msgid "Experience enhancement"
|
383 |
+
msgstr "Mejora de la experiencia"
|
384 |
+
|
385 |
+
#: views/partials/csSimplifiedConfiguration.php:72
|
386 |
+
msgid "Explicit Accept and Customize buttons"
|
387 |
+
msgstr "Mostrar los botones Aceptar y Personalizar"
|
388 |
+
|
389 |
+
#: views/partials/csSimplifiedConfiguration.php:77
|
390 |
+
msgid "Explicit Reject button"
|
391 |
+
msgstr "Mostrar el botón Rechazar"
|
392 |
+
|
393 |
+
#: views/cons-single-form.php:12
|
394 |
+
msgid "Field Mapping"
|
395 |
+
msgstr "Asignación de campos"
|
396 |
+
|
397 |
+
#: includes/forms-list-table.php:89
|
398 |
+
msgid "Fields"
|
399 |
+
msgstr "Campos"
|
400 |
+
|
401 |
+
#: includes/forms-list-table.php:260
|
402 |
+
msgid "Filter"
|
403 |
+
msgstr "Filtrar"
|
404 |
+
|
405 |
+
#: includes/forms-list-table.php:277
|
406 |
+
msgid "Filter by source"
|
407 |
+
msgstr "Filtrar por fuente"
|
408 |
+
|
409 |
+
#: includes/forms.php:579 includes/forms.php:593
|
410 |
+
msgid "First name"
|
411 |
+
msgstr "Nombre"
|
412 |
+
|
413 |
+
#: views/partials/modals/modal_sync.php:4
|
414 |
+
msgid ""
|
415 |
+
"First of all, tell us if you already use our products for this website or if "
|
416 |
+
"you want to start from scratch"
|
417 |
+
msgstr ""
|
418 |
+
"En primer lugar, coméntanos si ya utilizas nuestros productos para este "
|
419 |
+
"sitio web o si quieres empezar desde cero"
|
420 |
+
|
421 |
+
#: includes/forms.php:153
|
422 |
+
msgid "Form"
|
423 |
+
msgstr "Formulario"
|
424 |
+
|
425 |
+
#: views/cons-single-form.php:66 views/cons-single-form.php:103
|
426 |
+
msgid "Form field"
|
427 |
+
msgstr "Campo del formulario"
|
428 |
+
|
429 |
+
#: includes/forms-list-table.php:87
|
430 |
+
msgid "Form ID"
|
431 |
+
msgstr "ID del formulario"
|
432 |
+
|
433 |
+
#: includes/settings.php:701
|
434 |
+
msgid "Form saving failed. Please fill the Subject fields."
|
435 |
+
msgstr ""
|
436 |
+
"No se ha podido guardar el formulario. Rellena los campos del interesado."
|
437 |
+
|
438 |
+
#: includes/forms-list-table.php:88
|
439 |
+
msgid "Form Source"
|
440 |
+
msgstr "Fuente del formulario"
|
441 |
+
|
442 |
+
#: includes/forms-list-table.php:86
|
443 |
+
msgid "Form Title"
|
444 |
+
msgstr "Nombre del formulario"
|
445 |
+
|
446 |
+
#: includes/forms.php:152
|
447 |
+
msgid "Forms"
|
448 |
+
msgstr "Formularios"
|
449 |
+
|
450 |
+
#: views/partials/modals/modal_pp_created.php:7
|
451 |
+
msgid ""
|
452 |
+
"From here you can customize your privacy policy by adding the services you "
|
453 |
+
"use within your website or you can customize the style of the button that "
|
454 |
+
"displays your privacy policy."
|
455 |
+
msgstr ""
|
456 |
+
"Desde aquí puedes personalizar tu política de privacidad añadiendo los "
|
457 |
+
"servicios que utilizas en tu sitio web o puedes personalizar el estilo del "
|
458 |
+
"botón que muestra tu política de privacidad."
|
459 |
+
|
460 |
+
#: views/partials/csSimplifiedConfiguration.php:14
|
461 |
+
msgid "GDPR Only"
|
462 |
+
msgstr "Solo RGPD"
|
463 |
+
|
464 |
+
#: views/partials/modals/modal_pp_created.php:9
|
465 |
+
msgid "Got it"
|
466 |
+
msgstr "Entendido"
|
467 |
+
|
468 |
+
#: views/frontpage.php:9
|
469 |
+
msgid "Help me get compliant!"
|
470 |
+
msgstr "¡Ayúdame a cumplir con la normativa!"
|
471 |
+
|
472 |
+
#: views/partials/modals/modal_rating.php:11
|
473 |
+
msgid "Here’s how we calculate your rating."
|
474 |
+
msgstr "Así es como calculamos tu puntuación."
|
475 |
+
|
476 |
+
#: views/partials/siteInfo.php:21
|
477 |
+
msgid "How is it calculated?"
|
478 |
+
msgstr "¿Cómo se calcula?"
|
479 |
+
|
480 |
+
#: views/partials/buttonPosition.php:37 views/tc-configuration.php:92
|
481 |
+
msgid "HTML"
|
482 |
+
msgstr "HTML"
|
483 |
+
|
484 |
+
#: views/partials/modals/modal_no_website_found.php:11
|
485 |
+
#: views/partials/modals/modal_sync.php:8
|
486 |
+
msgid "I want to start from scratch"
|
487 |
+
msgstr "Quiero empezar desde cero"
|
488 |
+
|
489 |
+
#: views/cons-single-form.php:225
|
490 |
+
msgid "Identifier"
|
491 |
+
msgstr "Identificador"
|
492 |
+
|
493 |
+
#: views/cons-single-form.php:222
|
494 |
+
msgid ""
|
495 |
+
"In general, it's important that you declare which legal documents are being "
|
496 |
+
"agreed upon when each consent is collected. However, if you use iubenda for "
|
497 |
+
"your legal documents, it is *required* that you identify the documents by "
|
498 |
+
"selecting them here."
|
499 |
+
msgstr ""
|
500 |
+
"En general, es fundamental indicar qué documentos legales se han acordado "
|
501 |
+
"cuando se recopila cada consentimiento. Sin embargo, si utilizas iubenda "
|
502 |
+
"para tus documentos legales, se *requiere* identificar los documentos "
|
503 |
+
"seleccionándolos aquí."
|
504 |
+
|
505 |
+
#: views/partials/integrateFooter.php:4
|
506 |
+
msgid "Integrate"
|
507 |
+
msgstr "Integrar"
|
508 |
+
|
509 |
+
#: views/partials/buttonPosition.php:10 views/tc-configuration.php:65
|
510 |
+
msgid "Integrate manually"
|
511 |
+
msgstr "Integrar manualmente"
|
512 |
+
|
513 |
+
#: views/pp-configuration.php:26 views/tc-configuration.php:30
|
514 |
+
msgid "Integration"
|
515 |
+
msgstr "Integración"
|
516 |
+
|
517 |
+
#: views/partials/modals/modal_no_website_found.php:8
|
518 |
+
msgid ""
|
519 |
+
"It seems that it is not possible to access your data with the code you "
|
520 |
+
"pasted, do you want to try again or do you prefer to start configuring your "
|
521 |
+
"website from scratch?"
|
522 |
+
msgstr ""
|
523 |
+
"Parece que no es posible acceder a tus datos con el código que has pegado, "
|
524 |
+
"¿quieres volver a intentarlo o prefieres empezar a configurar tu web desde "
|
525 |
+
"cero?"
|
526 |
+
|
527 |
+
#: views/partials/modals/modal_ops_embed_invalid.php:8
|
528 |
+
msgid ""
|
529 |
+
"It seems that it is not possible to access your data with the code you "
|
530 |
+
"pasted, do you want to try again."
|
531 |
+
msgstr ""
|
532 |
+
"Parece que no es posible acceder a tus datos con el código que has pegado, "
|
533 |
+
"¿quieres volver a intentarlo?"
|
534 |
+
|
535 |
+
#: views/products-page.php:15
|
536 |
+
msgid ""
|
537 |
+
"It seems that you have not activated any of our services, we recommend you "
|
538 |
+
"to activate them and increase your level of compliance and avoid risking "
|
539 |
+
"fines."
|
540 |
+
msgstr ""
|
541 |
+
"Parece ser que no has activado ninguno de nuestros servicios, te "
|
542 |
+
"recomendamos que los actives para aumentar tu nivel de conformidad y evitar "
|
543 |
+
"así el riesgo de multas."
|
544 |
+
|
545 |
+
#: includes/widget/IubendaLegalWidget.php:18
|
546 |
+
msgid "Iubenda legal"
|
547 |
+
msgstr "Iubenda legal"
|
548 |
+
|
549 |
+
#: assets/js/legal_block.js:15 assets/js/legal_block.js:32
|
550 |
+
msgid "Iubenda legal block"
|
551 |
+
msgstr "Iubenda legal block"
|
552 |
+
|
553 |
+
#: includes/widget/IubendaLegalWidget.php:21
|
554 |
+
msgid "Iubenda legal widget for Privacy Policy and Terms & Conditions"
|
555 |
+
msgstr ""
|
556 |
+
"El widget legal de iubenda para la Política de Privacidad y los Términos y "
|
557 |
+
"Condiciones"
|
558 |
+
|
559 |
+
#: views/partials/modals/modal_sync.php:6
|
560 |
+
msgid "I’ve already made the set up on iubenda.com"
|
561 |
+
msgstr "Ya he hecho la configuración en iubenda.com"
|
562 |
+
|
563 |
+
#: includes/forms.php:585 includes/forms.php:605
|
564 |
+
msgid "Last name"
|
565 |
+
msgstr "Apellidos"
|
566 |
+
|
567 |
+
#: views/integrate-setup.php:85 views/partials/csGeneralSettings.php:127
|
568 |
+
msgid "Learn how to fix it"
|
569 |
+
msgstr "Así puedes solucionarlo"
|
570 |
+
|
571 |
+
#: views/partials/csSimplifiedConfiguration.php:88
|
572 |
+
#: views/partials/modals/modal_rating.php:22
|
573 |
+
msgid "Learn More"
|
574 |
+
msgstr "Saber más"
|
575 |
+
|
576 |
+
#: views/integrate-setup.php:126 views/partials/csGeneralSettings.php:168
|
577 |
+
#: views/partials/csPluginSettings.php:22
|
578 |
+
msgid ""
|
579 |
+
"Leave scripts untouched on the page if the user has already given consent"
|
580 |
+
msgstr ""
|
581 |
+
"Dejar los scripts intactos en la página si el usuario ya ha prestado su "
|
582 |
+
"consentimiento"
|
583 |
+
|
584 |
+
#: assets/js/legal_block.js:21 includes/block/IubendaLegalBlock.php:255
|
585 |
+
#: includes/widget/IubendaLegalWidget.php:167
|
586 |
+
msgid "Legal"
|
587 |
+
msgstr "Legal"
|
588 |
+
|
589 |
+
#: views/cons-single-form.php:221
|
590 |
+
msgid "Legal documents"
|
591 |
+
msgstr "Documentos legales"
|
592 |
+
|
593 |
+
#: views/partials/csSimplifiedConfiguration.php:9
|
594 |
+
msgid "Legislation"
|
595 |
+
msgstr "Legislación"
|
596 |
+
|
597 |
+
#: includes/settings.php:1116 includes/settings.php:1138
|
598 |
+
msgid "legislation"
|
599 |
+
msgstr "legislación"
|
600 |
+
|
601 |
+
#: views/frontpage.php:8
|
602 |
+
msgid "Let's configure your website for compliance."
|
603 |
+
msgstr "Vamos a configurar tu sitio web para que cumpla con la normativa."
|
604 |
+
|
605 |
+
#: views/partials/bannerStyle.php:15 views/partials/buttonStyle.php:10
|
606 |
+
#: views/tc-configuration.php:41
|
607 |
+
msgid "Light"
|
608 |
+
msgstr "Claro"
|
609 |
+
|
610 |
+
#: views/partials/csGeneralSettings.php:35
|
611 |
+
#: views/partials/csGeneralSettings.php:42
|
612 |
+
msgid "Manual embed"
|
613 |
+
msgstr "Integración manual"
|
614 |
+
|
615 |
+
#: views/cons-single-form.php:44
|
616 |
+
msgid "Map fields"
|
617 |
+
msgstr "Asignar campos"
|
618 |
+
|
619 |
+
#: views/partials/csPluginSettings.php:45 views/plugin-settings.php:28
|
620 |
+
msgid "Menu position"
|
621 |
+
msgstr "Posición del menú"
|
622 |
+
|
623 |
+
#: includes/forms.php:599
|
624 |
+
msgid "Middle name"
|
625 |
+
msgstr "Segundo nombre"
|
626 |
+
|
627 |
+
#: views/partials/modals/modal_almost_there.php:5
|
628 |
+
msgid "Nice! We are almost there."
|
629 |
+
msgstr "¡Muy bien! Ya casi está."
|
630 |
+
|
631 |
+
#: includes/settings.php:920
|
632 |
+
msgid "No"
|
633 |
+
msgstr "No"
|
634 |
+
|
635 |
+
#: views/integrate-setup.php:49 views/partials/csGeneralSettings.php:91
|
636 |
+
msgid ""
|
637 |
+
"No file available. Save changes to generate iubenda AMP configuration file."
|
638 |
+
msgstr ""
|
639 |
+
"No hay ningún archivo disponible. Guarda los cambios para generar el archivo "
|
640 |
+
"de configuración de iubenda AMP."
|
641 |
+
|
642 |
+
#: includes/forms-list-table.php:347
|
643 |
+
msgid "No forms found."
|
644 |
+
msgstr "No se han encontrado formularios."
|
645 |
+
|
646 |
+
#: includes/settings.php:927 includes/settings.php:934
|
647 |
+
msgid "No thanks"
|
648 |
+
msgstr "No, gracias"
|
649 |
+
|
650 |
+
#: views/cons-single-form.php:71
|
651 |
+
msgid "None"
|
652 |
+
msgstr "Ninguno"
|
653 |
+
|
654 |
+
#: includes/settings.php:105 views/partials/csGeneralSettings.php:183
|
655 |
+
#: views/partials/csGeneralSettings.php:199
|
656 |
+
#: views/partials/csGeneralSettings.php:218
|
657 |
+
#: views/partials/csGeneralSettings.php:234
|
658 |
+
#: views/partials/csPluginSettings.php:69
|
659 |
+
#: views/partials/csPluginSettings.php:85
|
660 |
+
#: views/partials/csPluginSettings.php:104
|
661 |
+
#: views/partials/csPluginSettings.php:120
|
662 |
+
msgid "Not set"
|
663 |
+
msgstr "Sin especificar"
|
664 |
+
|
665 |
+
#: views/partials/modals/modal_select_language.php:4
|
666 |
+
msgid "Now, select your website language"
|
667 |
+
msgstr "Ahora, selecciona el idioma de tu sitio web"
|
668 |
+
|
669 |
+
#: includes/settings.php:933
|
670 |
+
msgid "Ok sure!"
|
671 |
+
msgstr "¡Vale, por supuesto!"
|
672 |
+
|
673 |
+
#: includes/ServiceRating.php:103
|
674 |
+
msgid "Only track users that give consent"
|
675 |
+
msgstr "Rastrea únicamente a los usuarios que han prestado su consentimiento"
|
676 |
+
|
677 |
+
#: views/partials/modals/modal_no_website_found.php:6
|
678 |
+
#: views/partials/modals/modal_ops_embed_invalid.php:6
|
679 |
+
msgid "Ooops! <br> No website found with this embed code."
|
680 |
+
msgstr ""
|
681 |
+
"¡Ups! <br> No se ha encontrado ningún sitio web con este código de "
|
682 |
+
"integración."
|
683 |
+
|
684 |
+
#: views/partials/modals/modal_sync.php:7
|
685 |
+
msgid "or"
|
686 |
+
msgstr "o"
|
687 |
+
|
688 |
+
#: views/partials/csSimplifiedConfiguration.php:83
|
689 |
+
msgid "Other options"
|
690 |
+
msgstr "Otras opciones"
|
691 |
+
|
692 |
+
#: views/partials/welcomeScreenHeader.php:3
|
693 |
+
msgid "Our plugin will help you to make your website compliant in minutes."
|
694 |
+
msgstr ""
|
695 |
+
"Nuestro plugin te ayudará a que tu sitio web cumpla con la normativa en "
|
696 |
+
"cuestión de minutos."
|
697 |
+
|
698 |
+
#: includes/QuickGeneratorService.php:137
|
699 |
+
msgid ""
|
700 |
+
"Our products has been integrated successfully, now customize all products to "
|
701 |
+
"increase the compliance rating and make your website fully compliant."
|
702 |
+
msgstr ""
|
703 |
+
"Nuestros productos se han integrado correctamente, ahora personalízalos para "
|
704 |
+
"aumentar el grado de conformidad y hacer que tu sitio web respete totalmente "
|
705 |
+
"la normativa."
|
706 |
+
|
707 |
+
#: views/partials/modals/modal_almost_there.php:39
|
708 |
+
msgid "Paste your API key here"
|
709 |
+
msgstr "Pega tu clave API aquí"
|
710 |
+
|
711 |
+
#: views/partials/csManualConfiguration.php:11
|
712 |
+
msgid "Paste your cookie solution embed code here"
|
713 |
+
msgstr "Pega aquí el código de integración de tu Cookie Solution"
|
714 |
+
|
715 |
+
#: views/partials/languagesTabs.php:21
|
716 |
+
msgid "Paste your embed code here"
|
717 |
+
msgstr "Pega tu código de integración aquí"
|
718 |
+
|
719 |
+
#: views/cons-configuration.php:23
|
720 |
+
msgid "Paste your public API key here"
|
721 |
+
msgstr "Pega aquí tu clave API pública"
|
722 |
+
|
723 |
+
#: views/tc-configuration.php:21
|
724 |
+
msgid "Paste your terms and conditions embed code here"
|
725 |
+
msgstr "Pega aquí el código de integración de tus términos y condiciones"
|
726 |
+
|
727 |
+
#: includes/settings.php:628
|
728 |
+
#, php-format
|
729 |
+
msgid ""
|
730 |
+
"Please enable comments cookies opt-in checkbox in the <a href=\"%s\" "
|
731 |
+
"target=\"_blank\">Discussion settings</a>."
|
732 |
+
msgstr ""
|
733 |
+
"Para los comentarios, habilita la posibilidad de activar o desactivar el "
|
734 |
+
"almacenamiento de datos personales en una cookie. Para hacerlo, dirígete a "
|
735 |
+
"<a href=\"%s\" target=\"_blank\">Ajustes de comentarios</a>."
|
736 |
+
|
737 |
+
#: views/cons-single-form.php:234
|
738 |
+
msgid "Please select each legal document available on your site."
|
739 |
+
msgstr "Selecciona cada documento legal disponible en tu sitio web."
|
740 |
+
|
741 |
+
#: includes/settings.php:402 views/partials/siteInfo.php:14
|
742 |
+
msgid "Plugin settings"
|
743 |
+
msgstr "Configuración del plugin"
|
744 |
+
|
745 |
+
#: includes/settings.php:1115 includes/settings.php:1137
|
746 |
+
#: includes/settings.php:1156 includes/settings.php:1176
|
747 |
+
#: views/partials/bannerPosition.php:20
|
748 |
+
msgid "Position"
|
749 |
+
msgstr "Posición"
|
750 |
+
|
751 |
+
#: views/cons-single-form.php:102
|
752 |
+
msgid "Preferences field"
|
753 |
+
msgstr "Campo de preferencias"
|
754 |
+
|
755 |
+
#: views/cons-single-form.php:98
|
756 |
+
msgid "Preferences fields"
|
757 |
+
msgstr "Campos de preferencias"
|
758 |
+
|
759 |
+
#: views/cons-single-form.php:99
|
760 |
+
msgid ""
|
761 |
+
"Preferences fields allow you to store a record of the various opt-ins points "
|
762 |
+
"at which the user has agreed or given consent, such as fields for agreeing "
|
763 |
+
"to terms and conditions, newsletter, profiling, etc."
|
764 |
+
msgstr ""
|
765 |
+
"Los campos de preferencias te permiten almacenar un registro de los "
|
766 |
+
"distintos puntos de decisión de participación en los que el usuario ha "
|
767 |
+
"aceptado o dado su consentimiento, como los campos para aceptar los términos "
|
768 |
+
"y condiciones, la newsletter, la elaboración de perfiles, etc."
|
769 |
+
|
770 |
+
#: views/integrate-setup.php:114 views/partials/csGeneralSettings.php:157
|
771 |
+
#: views/partials/csPluginSettings.php:10
|
772 |
+
msgid "Primary"
|
773 |
+
msgstr "Primario"
|
774 |
+
|
775 |
+
#: includes/settings.php:418 includes/settings.php:1150
|
776 |
+
msgid "Privacy and Cookie Policy"
|
777 |
+
msgstr "Política de Privacidad y Cookies"
|
778 |
+
|
779 |
+
#: includes/PrivacyPolicyGenerator.php:23
|
780 |
+
msgid "Privacy Policy"
|
781 |
+
msgstr "Política de privacidad"
|
782 |
+
|
783 |
+
#: views/partials/breadcrumb.php:2
|
784 |
+
msgid "Products"
|
785 |
+
msgstr "Productos"
|
786 |
+
|
787 |
+
#: views/partials/csGeneralSettings.php:246
|
788 |
+
#: views/partials/csPluginSettings.php:132
|
789 |
+
msgid ""
|
790 |
+
"Provide a list of domains for any custom iframes you'd like to block, and "
|
791 |
+
"assign their purposes. To make sure they are blocked correctly, please add "
|
792 |
+
"domains in the same format as 'example.com', without any protocols e.g. "
|
793 |
+
"'http://' or 'https://'. You may also use wildcards (*) to include parent "
|
794 |
+
"domains or subdomains."
|
795 |
+
msgstr ""
|
796 |
+
"Proporciona una lista de dominios para cada iframe personalizado que quieras "
|
797 |
+
"bloquear y asígnales su finalidad. Para estar seguro de haberlos bloqueado "
|
798 |
+
"correctamente, añade los dominios con el mismo formato que 'example.com', "
|
799 |
+
"sin ningún protocolo (por ejemplo, 'http://' o 'https://'). También puedes "
|
800 |
+
"utilizar metacaracteres (*) para incluir dominios principales o subdominios."
|
801 |
+
|
802 |
+
#: views/partials/csGeneralSettings.php:211
|
803 |
+
#: views/partials/csPluginSettings.php:97
|
804 |
+
msgid ""
|
805 |
+
"Provide a list of domains for any custom scripts you'd like to block, and "
|
806 |
+
"assign their purposes. To make sure they are blocked correctly, please add "
|
807 |
+
"domains in the same format as 'example.com', without any protocols e.g. "
|
808 |
+
"'http://' or 'https://'. You may also use wildcards (*) to include parent "
|
809 |
+
"domains or subdomains."
|
810 |
+
msgstr ""
|
811 |
+
"Proporciona una lista de dominios para cada script personalizado que quieras "
|
812 |
+
"bloquear y asígnales su finalidad. Para estar seguro de haberlos bloqueado "
|
813 |
+
"correctamente, añade los dominios con el mismo formato que 'example.com', "
|
814 |
+
"sin ningún protocolo (por ejemplo, 'http://' o 'https://'). También puedes "
|
815 |
+
"utilizar metacaracteres (*) para incluir dominios principales o subdominios."
|
816 |
+
|
817 |
+
#: views/cons-single-form.php:122 views/cons-single-form.php:148
|
818 |
+
#: views/cons-single-form.php:183 views/cons-single-form.php:207
|
819 |
+
#: views/cons-single-form.php:244 views/cons-single-form.php:260
|
820 |
+
msgid "Remove"
|
821 |
+
msgstr "Suprimir"
|
822 |
+
|
823 |
+
#: views/partials/csSimplifiedConfiguration.php:29
|
824 |
+
msgid "Require consent from"
|
825 |
+
msgstr "Requerir el consentimiento de"
|
826 |
+
|
827 |
+
#: views/partials/integrateFooter.php:3
|
828 |
+
msgid "Reset settings"
|
829 |
+
msgstr "Restablecer la configuración"
|
830 |
+
|
831 |
+
#: views/partials/csPluginSettings.php:29 views/plugin-settings.php:13
|
832 |
+
msgid ""
|
833 |
+
"Restrict the plugin to run only for requests that have \"Content-type: text "
|
834 |
+
"/ html\" (recommended)"
|
835 |
+
msgstr ""
|
836 |
+
"Restringir la ejecución del plugin solo para las solicitudes que tienen "
|
837 |
+
"“Content-type: text / html” (recomendado)"
|
838 |
+
|
839 |
+
#: views/cons-configuration.php:62 views/cons-single-form.php:279
|
840 |
+
#: views/cs-configuration.php:17 views/plugin-settings.php:46
|
841 |
+
#: views/pp-configuration.php:35 views/tc-configuration.php:133
|
842 |
+
msgid "Save settings"
|
843 |
+
msgstr "Guardar ajustes"
|
844 |
+
|
845 |
+
#: views/integrate-setup.php:118 views/partials/csGeneralSettings.php:161
|
846 |
+
#: views/partials/csPluginSettings.php:14
|
847 |
+
msgid "Secondary"
|
848 |
+
msgstr "Secundario"
|
849 |
+
|
850 |
+
#: views/integrate-setup.php:85 views/partials/csGeneralSettings.php:127
|
851 |
+
msgid ""
|
852 |
+
"Seeing the AMP cookie notice when testing from Google but not when visiting "
|
853 |
+
"your AMP pages directly?"
|
854 |
+
msgstr ""
|
855 |
+
"¿Consigues ver el banner de cookies AMP cuando pruebas desde Google pero no "
|
856 |
+
"cuando visitas tus páginas AMP directamente?"
|
857 |
+
|
858 |
+
#: includes/forms-list-table.php:376
|
859 |
+
msgid "Select All"
|
860 |
+
msgstr "Seleccionar todo"
|
861 |
+
|
862 |
+
#: views/integrate-setup.php:121 views/partials/csGeneralSettings.php:153
|
863 |
+
#: views/partials/csPluginSettings.php:17
|
864 |
+
msgid "Select Parsing Engine"
|
865 |
+
msgstr "Selecciona el motor de parking"
|
866 |
+
|
867 |
+
#: views/partials/modals/modal_almost_there.php:13
|
868 |
+
msgid "Select products you have already activated"
|
869 |
+
msgstr "Selecciona los productos que ya has activado"
|
870 |
+
|
871 |
+
#: views/integrate-setup.php:32 views/partials/csGeneralSettings.php:73
|
872 |
+
msgid "Select the iubenda AMP configuration file location."
|
873 |
+
msgstr "Selecciona la ubicación del archivo de configuración AMP de iubenda."
|
874 |
+
|
875 |
+
#: views/partials/csPluginSettings.php:56 views/plugin-settings.php:39
|
876 |
+
msgid ""
|
877 |
+
"Select whether to display iubenda in a top admin menu or the Settings "
|
878 |
+
"submenu."
|
879 |
+
msgstr ""
|
880 |
+
"Elige si quieres visualizar iubenda en el menú principal del panel de "
|
881 |
+
"administración o en un submenú de Configuración."
|
882 |
+
|
883 |
+
#: views/partials/product-card.php:46
|
884 |
+
msgid "Service off"
|
885 |
+
msgstr "Servicio desactivado"
|
886 |
+
|
887 |
+
#: views/partials/product-card.php:46
|
888 |
+
#| msgid "Service"
|
889 |
+
msgid "Service on"
|
890 |
+
msgstr "Servicio activado"
|
891 |
+
|
892 |
+
#: includes/ServiceRating.php:98
|
893 |
+
msgid "Set up a cookie banner"
|
894 |
+
msgstr "Configura un banner de cookies"
|
895 |
+
|
896 |
+
#: includes/ServiceRating.php:108
|
897 |
+
msgid "Set up a privacy policy"
|
898 |
+
msgstr "Configura una política de privacidad"
|
899 |
+
|
900 |
+
#: includes/ServiceRating.php:113
|
901 |
+
msgid "Set up terms and conditions"
|
902 |
+
msgstr "Configura un documento de términos y condiciones"
|
903 |
+
|
904 |
+
#: includes/settings.php:749
|
905 |
+
msgid "Settings saved."
|
906 |
+
msgstr "Ajustes guardados."
|
907 |
+
|
908 |
+
#: views/pp-configuration.php:22
|
909 |
+
msgid "Setup your privacy and cookie policy on iubenda.com"
|
910 |
+
msgstr "Configura tu política de privacidad y cookies en iubenda.com"
|
911 |
+
|
912 |
+
#: views/partials/buttonPosition.php:73 views/tc-configuration.php:117
|
913 |
+
msgid "Shortcode"
|
914 |
+
msgstr "Shortcode"
|
915 |
+
|
916 |
+
#: views/partials/csGeneralSettings.php:14
|
917 |
+
#: views/partials/csGeneralSettings.php:23
|
918 |
+
msgid "Simplified"
|
919 |
+
msgstr "Simplificada"
|
920 |
+
|
921 |
+
#: views/partials/modals/modal_almost_there.php:6
|
922 |
+
msgid ""
|
923 |
+
"Since you already activated some products for this website, we just ask you "
|
924 |
+
"to copy and paste the embedding code of the product you already have to "
|
925 |
+
"syncronize your iubenda acount with WP plugin."
|
926 |
+
msgstr ""
|
927 |
+
"Como ya has activado algunos productos para este sitio web, solo te pedimos "
|
928 |
+
"que copies y pegues el código de integración del producto que ya tienes para "
|
929 |
+
"sincronizar tu cuenta de iubenda con el plugin de WP."
|
930 |
+
|
931 |
+
#: views/cons-single-form.php:48
|
932 |
+
msgid "Status"
|
933 |
+
msgstr "Estado"
|
934 |
+
|
935 |
+
#: includes/settings.php:106 views/partials/csGeneralSettings.php:184
|
936 |
+
#: views/partials/csGeneralSettings.php:200
|
937 |
+
#: views/partials/csGeneralSettings.php:219
|
938 |
+
#: views/partials/csGeneralSettings.php:235
|
939 |
+
#: views/partials/csPluginSettings.php:70
|
940 |
+
#: views/partials/csPluginSettings.php:86
|
941 |
+
#: views/partials/csPluginSettings.php:105
|
942 |
+
#: views/partials/csPluginSettings.php:121
|
943 |
+
msgid "Strictly necessary"
|
944 |
+
msgstr "Estrictamente necesario"
|
945 |
+
|
946 |
+
#: includes/settings.php:75 includes/settings.php:76 includes/settings.php:77
|
947 |
+
#: includes/settings.php:78 includes/settings.php:79
|
948 |
+
msgid "string"
|
949 |
+
msgstr "cadena de caracteres"
|
950 |
+
|
951 |
+
#: includes/settings.php:1114 includes/settings.php:1136
|
952 |
+
#: includes/settings.php:1155 includes/settings.php:1175
|
953 |
+
msgid "Style"
|
954 |
+
msgstr "Estilo"
|
955 |
+
|
956 |
+
#: views/cons-single-form.php:65
|
957 |
+
msgid "Subject field"
|
958 |
+
msgstr "Campos del interesado"
|
959 |
+
|
960 |
+
#: views/cons-single-form.php:61
|
961 |
+
msgid "Subject fields"
|
962 |
+
msgstr "Campos del interesado"
|
963 |
+
|
964 |
+
#: views/cons-single-form.php:62
|
965 |
+
msgid ""
|
966 |
+
"Subject fields allow you to store a series of identifying values about your "
|
967 |
+
"individual subjects/users. Please map the subject field with the "
|
968 |
+
"corresponding form fields where applicable."
|
969 |
+
msgstr ""
|
970 |
+
"Los campos del interesado te permiten almacenar una serie de valores "
|
971 |
+
"identificativos sobre tus interesados/usuarios individuales. Asigna el campo "
|
972 |
+
"del interesado con los campos del formulario correspondientes cuando sea "
|
973 |
+
"aplicable."
|
974 |
+
|
975 |
+
#: views/partials/csPluginSettings.php:53 views/plugin-settings.php:36
|
976 |
+
msgid "Submenu"
|
977 |
+
msgstr "Submenú"
|
978 |
+
|
979 |
+
#: includes/settings.php:926
|
980 |
+
msgid "Sure!"
|
981 |
+
msgstr "¡Claro!"
|
982 |
+
|
983 |
+
#: views/partials/modals/modal_almost_there.php:75
|
984 |
+
msgid "Synchronize products"
|
985 |
+
msgstr "Sincronizar productos"
|
986 |
+
|
987 |
+
#: includes/settings.php:110
|
988 |
+
msgid "Targeting & Advertising"
|
989 |
+
msgstr "Segmentación y Publicidad"
|
990 |
+
|
991 |
+
#: views/partials/csGeneralSettings.php:188
|
992 |
+
#: views/partials/csGeneralSettings.php:204
|
993 |
+
#: views/partials/csGeneralSettings.php:223
|
994 |
+
#: views/partials/csGeneralSettings.php:239
|
995 |
+
#: views/partials/csPluginSettings.php:74
|
996 |
+
#: views/partials/csPluginSettings.php:90
|
997 |
+
#: views/partials/csPluginSettings.php:109
|
998 |
+
#: views/partials/csPluginSettings.php:125
|
999 |
+
msgid "Targeting & Advertising"
|
1000 |
+
msgstr "Segmentación y Publicidad"
|
1001 |
+
|
1002 |
+
#: includes/settings.php:412
|
1003 |
+
msgid "Terms and condition"
|
1004 |
+
msgstr "Términos y condiciones"
|
1005 |
+
|
1006 |
+
#: includes/settings.php:1170
|
1007 |
+
msgid "Terms and Conditions"
|
1008 |
+
msgstr "Términos y Condiciones"
|
1009 |
+
|
1010 |
+
#: views/partials/bannerStyle.php:2
|
1011 |
+
msgid "Theme"
|
1012 |
+
msgstr "Tema"
|
1013 |
+
|
1014 |
+
#: includes/ServiceRating.php:109
|
1015 |
+
#, php-format
|
1016 |
+
msgid ""
|
1017 |
+
"This accounts for 25% of your score. A privacy policy is a requirement "
|
1018 |
+
"under most privacy laws around the world. This document typically includes "
|
1019 |
+
"legally required disclosures about the type of personal data you process, "
|
1020 |
+
"why you need to process it, how the processing is done and the user’s rights "
|
1021 |
+
"under applicable law."
|
1022 |
+
msgstr ""
|
1023 |
+
"Este apartado representa el 25% de tu puntuación. La política de "
|
1024 |
+
"privacidad es un requisito para la mayoría de las leyes de privacidad "
|
1025 |
+
"internacionales. Este documento suele incluir información obligatoria sobre "
|
1026 |
+
"el tipo de datos personales tratados, las finalidades y métodos de "
|
1027 |
+
"tratamiento y los derechos de los usuarios según la legislación aplicable."
|
1028 |
+
|
1029 |
+
#: includes/ServiceRating.php:104
|
1030 |
+
#, php-format
|
1031 |
+
msgid ""
|
1032 |
+
"This accounts for 25% of your score. If you’re based in Europe or have "
|
1033 |
+
"Europe-based users, you likely need to block cookies from running until you "
|
1034 |
+
"receive user consent. To do this, select “Automatically block scripts "
|
1035 |
+
"detected by the plugin”."
|
1036 |
+
msgstr ""
|
1037 |
+
"Este apartado representa el 25% de tu puntuación. Si estás establecido "
|
1038 |
+
"en Europa o tienes usuarios que se encuentran en Europa, es probable que "
|
1039 |
+
"tengas que bloquear las cookies hasta que recibas el consentimiento del "
|
1040 |
+
"usuario. Para ello, selecciona “Bloquear automáticamente los scripts "
|
1041 |
+
"detectados por el plugin”."
|
1042 |
+
|
1043 |
+
#: includes/ServiceRating.php:114
|
1044 |
+
#, php-format
|
1045 |
+
msgid ""
|
1046 |
+
"This accounts for 25% of your score. Terms and conditions help to "
|
1047 |
+
"protect you, the website owner, from potential liabilities and more. "
|
1048 |
+
"Furthermore, if you run an e-commerce site or app, having this document may "
|
1049 |
+
"be legally required as Terms typically contain legally mandatory disclosures."
|
1050 |
+
" Terms are legally binding documents, and therefore it’s important to ensure "
|
1051 |
+
"that they actually fit your specific scenario."
|
1052 |
+
msgstr ""
|
1053 |
+
"Este apartado representa el 25% de tu puntuación. Los términos y "
|
1054 |
+
"condiciones ayudan a proteger al propietario del sitio web de posibles "
|
1055 |
+
"responsabilidades legales y de mucho más. Además, si gestionas un sitio web "
|
1056 |
+
"o una aplicación de comercio electrónico, este documento puede ser requerido "
|
1057 |
+
"por ley, ya que suele contener información legalmente obligatoria. Los "
|
1058 |
+
"términos y condiciones son legalmente vinculantes y, por lo tanto, es "
|
1059 |
+
"importante asegurarse de que se ajusten a tu caso concreto."
|
1060 |
+
|
1061 |
+
#: includes/ServiceRating.php:99
|
1062 |
+
#, php-format
|
1063 |
+
msgid ""
|
1064 |
+
"This accounts for 25% of your score. Your cookie banner should inform "
|
1065 |
+
"your users about your use of cookies and similar tracking technologies, and "
|
1066 |
+
"their rights in this regard. You may need a banner if either the GDPR, CCPA "
|
1067 |
+
"or ePrivacy apply to you."
|
1068 |
+
msgstr ""
|
1069 |
+
"Este apartado representa el 25% de tu puntuación. El banner de cookies "
|
1070 |
+
"debe informar a tus usuarios sobre el uso de cookies y de tecnologías de "
|
1071 |
+
"seguimiento similares, así como de sus derechos al respecto. Es posible que "
|
1072 |
+
"necesites un banner si se te aplica el RGPD, la CCPA o la Directiva ePrivacy."
|
1073 |
+
|
1074 |
+
#: views/partials/frontpage_main_box.php:26
|
1075 |
+
msgid "This is what you may need to be compliant"
|
1076 |
+
msgstr "Puede que necesites esto para cumplir con la ley"
|
1077 |
+
|
1078 |
+
#: views/partials/auto_detect_forms.php:29
|
1079 |
+
msgid ""
|
1080 |
+
"This section lists the forms available for field mapping. The plugin "
|
1081 |
+
"currently supports & detects: WordPress Comment, Contact Form 7, WooCommerce "
|
1082 |
+
"Checkout and WP Forms."
|
1083 |
+
msgstr ""
|
1084 |
+
"Esta sección enumera los formularios disponibles para la asignación de "
|
1085 |
+
"campos. El plugin actualmente detecta y es compatible con: WordPress Comment,"
|
1086 |
+
" Contact Form 7, WooCommerce Checkout y WP Forms."
|
1087 |
+
|
1088 |
+
#: includes/widget/IubendaLegalWidget.php:176
|
1089 |
+
msgid "Title:"
|
1090 |
+
msgstr "Título:"
|
1091 |
+
|
1092 |
+
#: includes/settings.php:905
|
1093 |
+
#, php-format
|
1094 |
+
msgid ""
|
1095 |
+
"To ensure regular scans and full support, <span class=\"text-bold\">verify "
|
1096 |
+
"your account</span>. Check your mailbox now and validate your email address, "
|
1097 |
+
"or check <a href=\"%s\" target=\"_blank\" class=\"link-underline\">your "
|
1098 |
+
"account</a> on iubenda.com. If you already did that, you can safely <a "
|
1099 |
+
"href=\"javascript:void(0)\" class=\"notice-dismiss-by-text dismiss-"
|
1100 |
+
"notification-alert link-underline\" data-dismiss-"
|
1101 |
+
"key=\"iub_user_needs_to_verify_his_account\">dismiss this reminder</a>."
|
1102 |
+
msgstr ""
|
1103 |
+
"Para garantizar escaneos regulares y un soporte completo, <span class=\"text-"
|
1104 |
+
"bold\">verifica tu cuenta</span>. Comprueba tu buzón ahora y valida tu "
|
1105 |
+
"dirección de correo electrónico, o comprueba <a href=\"%s\" "
|
1106 |
+
"target=\"_blank\" class=\"link-underline\">tu cuenta</a> en iubenda.com. Si "
|
1107 |
+
"ya lo has hecho, puedes <a href=\"javascript:void(0)\" class=\"notice-"
|
1108 |
+
"dismiss-by-text dismiss-notification-alert link-underline\" data-dismiss-"
|
1109 |
+
"key=\"iub_user_needs_to_verify_his_account\">ignorar este recordatorio</a>."
|
1110 |
+
|
1111 |
+
#: views/partials/csPluginSettings.php:49 views/plugin-settings.php:32
|
1112 |
+
msgid "Top menu"
|
1113 |
+
msgstr "Menú principal"
|
1114 |
+
|
1115 |
+
#: views/partials/modals/modal_no_website_found.php:10
|
1116 |
+
#: views/partials/modals/modal_ops_embed_invalid.php:10
|
1117 |
+
msgid "Try again"
|
1118 |
+
msgstr "Inténtalo de nuevo"
|
1119 |
+
|
1120 |
+
#: includes/settings.php:1154 includes/settings.php:1174
|
1121 |
+
msgid "Version"
|
1122 |
+
msgstr "Versión"
|
1123 |
+
|
1124 |
+
#: views/partials/header_scanned.php:4
|
1125 |
+
msgid "We have analyzed your website in background and this is the result."
|
1126 |
+
msgstr "Hemos analizado tu sitio web a fondo y este es el resultado."
|
1127 |
+
|
1128 |
+
#: views/partials/buttonPosition.php:28
|
1129 |
+
#: views/partials/modals/modal_almost_there.php:62
|
1130 |
+
#: views/tc-configuration.php:83
|
1131 |
+
#, php-format
|
1132 |
+
#| msgid ""
|
1133 |
+
#| "We were not able to add a \"Legal\" widget to the footer as your theme is "
|
1134 |
+
#| "not compatible, you can position the \"Legal\" widget manually from <a "
|
1135 |
+
#| "href=\"%s\" target=\"_blank\">here</a>."
|
1136 |
+
msgid ""
|
1137 |
+
"We were not able to add a \"Legal\" widget/block to the footer as your theme "
|
1138 |
+
"is not compatible, you can position the \"Legal\" widget/block manually from "
|
1139 |
+
"<a href=\"%s\" target=\"_blank\">here</a>."
|
1140 |
+
msgstr ""
|
1141 |
+
"No hemos podido añadir el widget \"Legal\" al pie de página porque tu tema "
|
1142 |
+
"no es compatible, puedes colocar el widget \"Legal\" de forma manual desde "
|
1143 |
+
"<a href=\"%s\" target=\"_blank\">aquí</a>."
|
1144 |
+
|
1145 |
+
#: includes/settings.php:931
|
1146 |
+
msgid "We're sorry to hear that. Would you mind giving us some feedback?"
|
1147 |
+
msgstr "Lo lamentamos. ¿Te importaría dejarnos un comentario?"
|
1148 |
+
|
1149 |
+
#: views/partials/welcomeScreenHeader.php:2
|
1150 |
+
msgid "Welcome to iubenda!"
|
1151 |
+
msgstr "¡Bienvenido a iubenda!"
|
1152 |
+
|
1153 |
+
#: views/cons-configuration.php:37 views/partials/languagesTabs.php:27
|
1154 |
+
#: views/partials/modals/modal_almost_there.php:42
|
1155 |
+
msgid "Where can I find this code?"
|
1156 |
+
msgstr "¿Dónde puedo encontrar este código?"
|
1157 |
+
|
1158 |
+
#: includes/settings.php:924
|
1159 |
+
msgid ""
|
1160 |
+
"Whew, what a relief!? We've worked countless hours to make this plugin as "
|
1161 |
+
"useful as possible - so we're pretty happy that you're enjoying it. While "
|
1162 |
+
"you here, would you mind leaving us a 5 star rating? It would really help us "
|
1163 |
+
"out."
|
1164 |
+
msgstr ""
|
1165 |
+
"¡Qué alivio! Hemos trabajado muchísimas horas para que este plugin sea lo "
|
1166 |
+
"más eficaz posible, por lo que estamos encantados de que lo estés "
|
1167 |
+
"disfrutando. Ya que estás aquí, ¿te importaría dejarnos una valoración de 5 "
|
1168 |
+
"estrellas? Sería de gran ayuda."
|
1169 |
+
|
1170 |
+
#: views/partials/csSimplifiedConfiguration.php:43
|
1171 |
+
msgid "Worldwide"
|
1172 |
+
msgstr "Todo el mundo"
|
1173 |
+
|
1174 |
+
#: includes/settings.php:919
|
1175 |
+
msgid "Yes"
|
1176 |
+
msgstr "Sí"
|
1177 |
+
|
1178 |
+
#: includes/settings.php:389
|
1179 |
+
msgid "You don't have permission to access this page."
|
1180 |
+
msgstr "No tienes permiso para acceder a esta página."
|
1181 |
+
|
1182 |
+
#: views/partials/csSimplifiedConfiguration.php:92
|
1183 |
+
msgid "You should activate this feature if you show ads on your website"
|
1184 |
+
msgstr "Deberías activar esta función si muestras anuncios en tu sitio web"
|
1185 |
+
|
1186 |
+
#: views/partials/buttonPosition.php:64 views/tc-configuration.php:108
|
1187 |
+
msgid "Your embed code"
|
1188 |
+
msgstr "Tu código de integración"
|
1189 |
+
|
1190 |
+
#: views/cons-configuration.php:29
|
1191 |
+
msgid "Your iubenda Javascript library public API key"
|
1192 |
+
msgstr "Tu clave API pública de la biblioteca Javascript de iubenda"
|
1193 |
+
|
1194 |
+
#: views/partials/modals/modal_pp_created.php:5
|
1195 |
+
msgid "Your privacy policy has been created!"
|
1196 |
+
msgstr "¡Se ha creado tu política de privacidad!"
|
1197 |
+
|
1198 |
+
#: views/partials/header_scanned.php:3 views/partials/modals/modal_rating.php:6
|
1199 |
+
#: views/partials/siteInfo.php:20
|
1200 |
+
msgid "Your rating"
|
1201 |
+
msgstr "Tu puntuación"
|
1202 |
+
|
1203 |
+
#: includes/QuickGeneratorService.php:111
|
1204 |
+
msgid ""
|
1205 |
+
"Your website has been created and your legal documents have been generated. "
|
1206 |
+
"Setup your cookie banner and privacy policy button to complete the "
|
1207 |
+
"integration."
|
1208 |
+
msgstr ""
|
1209 |
+
"Se ha creado tu sitio web y se han generado tus documentos legales. "
|
1210 |
+
"Configura tu banner de cookies y el botón de la política de privacidad para "
|
1211 |
+
"completar la integración."
|
languages/iubenda-fr_FR.mo
ADDED
Binary file
|
languages/iubenda-fr_FR.po
ADDED
@@ -0,0 +1,1226 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: \n"
|
4 |
+
"POT-Creation-Date: 2022-06-22 14:50+0200\n"
|
5 |
+
"PO-Revision-Date: 2022-08-05 18:53+0000\n"
|
6 |
+
"Last-Translator: \n"
|
7 |
+
"Language-Team: French (France)\n"
|
8 |
+
"Language: fr_FR\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
13 |
+
"X-Generator: Loco https://localise.biz/\n"
|
14 |
+
"X-Poedit-Basepath: ..\n"
|
15 |
+
"X-Poedit-KeywordsList: _e;__\n"
|
16 |
+
"X-Poedit-SearchPath-0: .\n"
|
17 |
+
"Report-Msgid-Bugs-To: \n"
|
18 |
+
"X-Loco-Version: 2.6.2; wp-6.0.1"
|
19 |
+
|
20 |
+
#: views/partials/modals/modal_almost_there.php:25
|
21 |
+
msgid "(required)"
|
22 |
+
msgstr "(nécessaire)"
|
23 |
+
|
24 |
+
#: views/partials/buttonPosition.php:74
|
25 |
+
msgid ""
|
26 |
+
"A shortcode is a tiny bit of code that allows embedding interactive elements "
|
27 |
+
"or creating complex page layouts with a minimal effort.<br>Just copy and "
|
28 |
+
"paste the shortcode where you want the button to appear."
|
29 |
+
msgstr ""
|
30 |
+
"Un code court ou \"shortcode\" est un bout de code qui permet d’incorporer "
|
31 |
+
"des éléments interactifs ou de simplifier la création de mises en page "
|
32 |
+
"élaborées.<br>Il vous suffit de copier le code court et de le coller là où "
|
33 |
+
"vous souhaitez que le bouton apparaisse."
|
34 |
+
|
35 |
+
#: views/cons-configuration.php:17
|
36 |
+
msgid "Activate & Configure Consent Solution by"
|
37 |
+
msgstr "Activez et configurez la Consent Solution en"
|
38 |
+
|
39 |
+
#: views/cons-configuration.php:14
|
40 |
+
msgid ""
|
41 |
+
"Activate <strong>Consent Solution</strong> on our website in your iubenda "
|
42 |
+
"dashboard and paste here the <strong>API key</strong> to integrate it on "
|
43 |
+
"your website."
|
44 |
+
msgstr ""
|
45 |
+
"Activez la <strong>Consent Solution</strong> depuis notre site web iubenda "
|
46 |
+
"(plus précisément depuis votre tableau de bord) et collez ici la <strong>clé "
|
47 |
+
"API</strong> pour intégrer la solution sur votre site web."
|
48 |
+
|
49 |
+
#: views/integrate-setup.php:21
|
50 |
+
msgid "Add a cookie banner"
|
51 |
+
msgstr "Ajoutez un bandeau cookies"
|
52 |
+
|
53 |
+
#: views/cons-configuration.php:44
|
54 |
+
msgid "Add forms"
|
55 |
+
msgstr "Ajouter des formulaires"
|
56 |
+
|
57 |
+
#: views/cons-single-form.php:268
|
58 |
+
msgid "Add New Document"
|
59 |
+
msgstr "Ajouter un nouveau document"
|
60 |
+
|
61 |
+
#: views/cons-single-form.php:216
|
62 |
+
msgid "Add New Exclude"
|
63 |
+
msgstr "Ajouter une nouvelle exclusion"
|
64 |
+
|
65 |
+
#: views/partials/csGeneralSettings.php:247
|
66 |
+
#: views/partials/csPluginSettings.php:133
|
67 |
+
msgid "Add New iframe"
|
68 |
+
msgstr "Ajouter une nouvelle balise iframe"
|
69 |
+
|
70 |
+
#: views/cons-single-form.php:155
|
71 |
+
msgid "Add New Preference"
|
72 |
+
msgstr "Ajouter une nouvelle préférence"
|
73 |
+
|
74 |
+
#: views/partials/csGeneralSettings.php:212
|
75 |
+
#: views/partials/csPluginSettings.php:98
|
76 |
+
msgid "Add New Script"
|
77 |
+
msgstr "Ajouter un nouveau script"
|
78 |
+
|
79 |
+
#: views/integrate-setup.php:140
|
80 |
+
msgid "Add the privacy policy button"
|
81 |
+
msgstr "Ajouter le bouton vers la politique de confidentialité"
|
82 |
+
|
83 |
+
#: views/partials/buttonPosition.php:5 views/tc-configuration.php:61
|
84 |
+
msgid "Add to the footer automatically"
|
85 |
+
msgstr "Ajouter automatiquement au pied de page"
|
86 |
+
|
87 |
+
#: includes/forms-list-table.php:279
|
88 |
+
msgid "All form sources"
|
89 |
+
msgstr "Toutes les sources"
|
90 |
+
|
91 |
+
#: views/cons-single-form.php:250
|
92 |
+
msgid "Alternatively, you may add your own custom document identifiers."
|
93 |
+
msgstr ""
|
94 |
+
"Alternativement, vous pouvez ajouter vos propres identifiants personnalisés "
|
95 |
+
"pour les documents."
|
96 |
+
|
97 |
+
#: includes/amp.php:281
|
98 |
+
msgid "AMP Cookie Consent"
|
99 |
+
msgstr "Consentement aux cookies sur les pages AMP"
|
100 |
+
|
101 |
+
#: includes/settings.php:109 views/partials/csGeneralSettings.php:187
|
102 |
+
#: views/partials/csGeneralSettings.php:203
|
103 |
+
#: views/partials/csGeneralSettings.php:222
|
104 |
+
#: views/partials/csGeneralSettings.php:238
|
105 |
+
#: views/partials/csPluginSettings.php:73
|
106 |
+
#: views/partials/csPluginSettings.php:89
|
107 |
+
#: views/partials/csPluginSettings.php:108
|
108 |
+
#: views/partials/csPluginSettings.php:124
|
109 |
+
msgid "Analytics"
|
110 |
+
msgstr "Analyses"
|
111 |
+
|
112 |
+
#: views/partials/frontpage_main_box.php:22
|
113 |
+
msgid "Analyzing your website"
|
114 |
+
msgstr "Analyse de votre site web"
|
115 |
+
|
116 |
+
#: views/cons-configuration.php:53
|
117 |
+
msgid "Auto-detect forms"
|
118 |
+
msgstr "Détecter automatiquement les formulaires"
|
119 |
+
|
120 |
+
#: views/integrate-setup.php:36 views/partials/csGeneralSettings.php:77
|
121 |
+
msgid "Auto-generated configuration file"
|
122 |
+
msgstr "Fichier de configuration généré automatiquement"
|
123 |
+
|
124 |
+
#: views/cons-single-form.php:71
|
125 |
+
msgid "Autogenerated"
|
126 |
+
msgstr "Généré automatiquement"
|
127 |
+
|
128 |
+
#: views/integrate-setup.php:108 views/partials/csGeneralSettings.php:149
|
129 |
+
#: views/partials/csPluginSettings.php:4
|
130 |
+
msgid "Automatically block scripts detected by the plugin"
|
131 |
+
msgstr "Bloquer automatiquement les scripts détectés par le plugin"
|
132 |
+
|
133 |
+
#: views/partials/bannerPosition.php:41
|
134 |
+
msgid "Background-overlay"
|
135 |
+
msgstr "Arrière-plan sombre"
|
136 |
+
|
137 |
+
#: views/partials/csSimplifiedConfiguration.php:68
|
138 |
+
msgid "Banner buttons"
|
139 |
+
msgstr "Boutons du bandeau cookies"
|
140 |
+
|
141 |
+
#: includes/settings.php:107
|
142 |
+
msgid "Basic interactions & functionalities"
|
143 |
+
msgstr "Interactions et fonctionnalités de base"
|
144 |
+
|
145 |
+
#: views/partials/csGeneralSettings.php:185
|
146 |
+
#: views/partials/csGeneralSettings.php:201
|
147 |
+
#: views/partials/csGeneralSettings.php:220
|
148 |
+
#: views/partials/csGeneralSettings.php:236
|
149 |
+
#: views/partials/csPluginSettings.php:71
|
150 |
+
#: views/partials/csPluginSettings.php:87
|
151 |
+
#: views/partials/csPluginSettings.php:106
|
152 |
+
#: views/partials/csPluginSettings.php:122
|
153 |
+
msgid "Basic interactions & functionalities"
|
154 |
+
msgstr "Interactions et fonctionnalités de base"
|
155 |
+
|
156 |
+
#: views/partials/csGeneralSettings.php:173
|
157 |
+
msgid "Blocked domains"
|
158 |
+
msgstr "Domaines bloqués"
|
159 |
+
|
160 |
+
#: views/partials/csSimplifiedConfiguration.php:22
|
161 |
+
msgid "Both"
|
162 |
+
msgstr "Les deux"
|
163 |
+
|
164 |
+
#: views/partials/buttonPosition.php:1 views/tc-configuration.php:57
|
165 |
+
msgid "Button position"
|
166 |
+
msgstr "Emplacement du bouton"
|
167 |
+
|
168 |
+
#: views/partials/buttonStyle.php:1 views/tc-configuration.php:32
|
169 |
+
msgid "Button style"
|
170 |
+
msgstr "Style du bouton"
|
171 |
+
|
172 |
+
#: views/cons-configuration.php:60 views/cons-single-form.php:277
|
173 |
+
#: views/cs-configuration.php:15 views/plugin-settings.php:44
|
174 |
+
#: views/pp-configuration.php:33 views/tc-configuration.php:131
|
175 |
+
msgid "Cancel"
|
176 |
+
msgstr "Annuler"
|
177 |
+
|
178 |
+
#: views/partials/csSimplifiedConfiguration.php:18
|
179 |
+
msgid "CCPA Only"
|
180 |
+
msgstr "CCPA uniquement"
|
181 |
+
|
182 |
+
#: views/cons-configuration.php:18 views/partials/csManualConfiguration.php:6
|
183 |
+
#: views/tc-configuration.php:16
|
184 |
+
msgid "clicking here"
|
185 |
+
msgstr "cliquant ici"
|
186 |
+
|
187 |
+
#: views/partials/csGeneralSettings.php:2
|
188 |
+
msgid "Configuration"
|
189 |
+
msgstr "Configuration"
|
190 |
+
|
191 |
+
#: views/partials/product-card.php:48
|
192 |
+
msgid "Configure"
|
193 |
+
msgstr "Configurer"
|
194 |
+
|
195 |
+
#: views/partials/csManualConfiguration.php:5
|
196 |
+
msgid "Configure cookie banner by"
|
197 |
+
msgstr "Configurez le bandeau cookies en"
|
198 |
+
|
199 |
+
#: views/tc-configuration.php:15
|
200 |
+
msgid "Configure terms and conditions by"
|
201 |
+
msgstr "Configurez vos conditions générales en"
|
202 |
+
|
203 |
+
#: views/partials/csManualConfiguration.php:2
|
204 |
+
msgid ""
|
205 |
+
"Configure your cookie banner on our website and paste here the embed code to "
|
206 |
+
"integrate it to your website."
|
207 |
+
msgstr ""
|
208 |
+
"Configurez votre bandeau cookies depuis notre site iubenda et collez ici le "
|
209 |
+
"code d’intégration pour installer le bandeau sur votre site web."
|
210 |
+
|
211 |
+
#: views/tc-configuration.php:12
|
212 |
+
msgid ""
|
213 |
+
"Configure your terms and conditions on our website and paste here the embed "
|
214 |
+
"code to integrate the button on your website."
|
215 |
+
msgstr ""
|
216 |
+
"Configurez vos conditions générales directement sur notre site web iubenda "
|
217 |
+
"puis collez ici le code d’intégration afin d’installer sur votre site le "
|
218 |
+
"bouton vers le document."
|
219 |
+
|
220 |
+
#: views/cons-configuration.php:31
|
221 |
+
msgid "Confirm API"
|
222 |
+
msgstr "Confirmer l’API"
|
223 |
+
|
224 |
+
#: includes/settings.php:97 includes/settings.php:430 includes/settings.php:441
|
225 |
+
#: includes/settings.php:1182
|
226 |
+
msgid "Consent Solution"
|
227 |
+
msgstr "Consent Solution"
|
228 |
+
|
229 |
+
#: views/partials/modals/modal_almost_there.php:37
|
230 |
+
msgid "Consent Solution API key"
|
231 |
+
msgstr "Clé API Consent Solution"
|
232 |
+
|
233 |
+
#: views/partials/modals/modal_select_language.php:54
|
234 |
+
msgid "Continue"
|
235 |
+
msgstr "Continuer"
|
236 |
+
|
237 |
+
#: includes/settings.php:91 includes/settings.php:424
|
238 |
+
#: includes/settings.php:1162
|
239 |
+
msgid "Cookie Solution"
|
240 |
+
msgstr "Cookie Solution"
|
241 |
+
|
242 |
+
#: includes/QuickGeneratorService.php:625
|
243 |
+
#, php-format
|
244 |
+
msgid ""
|
245 |
+
"Currently, you do not have write permission for <i class=\"text-bold\">%s</i>"
|
246 |
+
". For instructions on how to fix this, please read <a class=\"link-"
|
247 |
+
"underline\" target=\"_blank\" href=\"%s\">our guide</a>."
|
248 |
+
msgstr ""
|
249 |
+
"Pour le moment, vous n’avez pas de droit d’écriture pour <i class=\"text-"
|
250 |
+
"bold\">%s</i>. Pour obtenir des instructions sur la façon de résoudre ce "
|
251 |
+
"problème, veuillez lire <a class=\"link-underline\" target=\\\"blank\\\" "
|
252 |
+
"href=\\\"%s\\\">notre guide</a>."
|
253 |
+
|
254 |
+
#: views/integrate-setup.php:40 views/partials/csGeneralSettings.php:81
|
255 |
+
msgid "Custom configuration file"
|
256 |
+
msgstr "Fichier de configuration personnalisé"
|
257 |
+
|
258 |
+
#: views/partials/csGeneralSettings.php:177
|
259 |
+
#: views/partials/csPluginSettings.php:63
|
260 |
+
msgid "Custom iframes"
|
261 |
+
msgstr "iframes personnalisées"
|
262 |
+
|
263 |
+
#: views/partials/csGeneralSettings.php:176
|
264 |
+
#: views/partials/csPluginSettings.php:62
|
265 |
+
msgid "Custom scripts"
|
266 |
+
msgstr "Scripts personnalisés"
|
267 |
+
|
268 |
+
#: views/partials/csPluginSettings.php:59
|
269 |
+
msgid "Custom settings"
|
270 |
+
msgstr "Paramètres personnalisés"
|
271 |
+
|
272 |
+
#: views/partials/bannerStyle.php:9 views/partials/buttonStyle.php:19
|
273 |
+
#: views/tc-configuration.php:50
|
274 |
+
msgid "Dark"
|
275 |
+
msgstr "Mode sombre"
|
276 |
+
|
277 |
+
#: includes/forms-list-table.php:90
|
278 |
+
msgid "Date"
|
279 |
+
msgstr "Date"
|
280 |
+
|
281 |
+
#: views/integrate-setup.php:73 views/integrate-setup.php:91
|
282 |
+
#: views/partials/csGeneralSettings.php:115
|
283 |
+
msgid "Default language"
|
284 |
+
msgstr "Langue par défaut"
|
285 |
+
|
286 |
+
#: includes/forms-list-table.php:160
|
287 |
+
msgid "Delete"
|
288 |
+
msgstr "Supprimer"
|
289 |
+
|
290 |
+
#: views/partials/csPluginSettings.php:41 views/plugin-settings.php:25
|
291 |
+
msgid "Delete all plugin data upon deactivation"
|
292 |
+
msgstr "Supprimer toutes les données du plugin lors de la désactivation"
|
293 |
+
|
294 |
+
#: views/partials/csPluginSettings.php:33 views/plugin-settings.php:17
|
295 |
+
msgid "Do not run the plugin inside the RSS feed (recommended)"
|
296 |
+
msgstr "Ne pas faire fonctionner le plugin dans le feed RSS (recommandé)"
|
297 |
+
|
298 |
+
#: views/partials/csPluginSettings.php:37 views/plugin-settings.php:21
|
299 |
+
msgid "Do not run the plugin on POST requests (recommended)"
|
300 |
+
msgstr "Ne pas faire fonctionner le plugin sur les requêtes POST (recommandé)"
|
301 |
+
|
302 |
+
#: views/partials/footer.php:5
|
303 |
+
msgid "Documentation"
|
304 |
+
msgstr "Documentation"
|
305 |
+
|
306 |
+
#: includes/forms-list-table.php:159
|
307 |
+
msgid "Edit"
|
308 |
+
msgstr "Modifier"
|
309 |
+
|
310 |
+
#: views/integrate-setup.php:29 views/partials/csGeneralSettings.php:69
|
311 |
+
msgid "Enable Google AMP support"
|
312 |
+
msgstr "Activer la compatibilité avec Google AMP"
|
313 |
+
|
314 |
+
#: views/partials/csSimplifiedConfiguration.php:88
|
315 |
+
msgid "Enable IAB Transparency and Consent Framework"
|
316 |
+
msgstr "Activer le cadre de transparence et de consentement de l’IAB"
|
317 |
+
|
318 |
+
#: views/integrate-setup.php:128 views/partials/csGeneralSettings.php:170
|
319 |
+
#: views/partials/csPluginSettings.php:24
|
320 |
+
msgid ""
|
321 |
+
"Enable this option to improve performance <strong>only</strong> if your site "
|
322 |
+
"does <strong>not</strong> use a cache system or a cache plugin and if you're "
|
323 |
+
"<strong>not</strong> collecting per-category consent. If you're in doubt, "
|
324 |
+
"keep this setting disabled"
|
325 |
+
msgstr ""
|
326 |
+
"Activez cette option pour améliorer la performance <strong>seulement</strong>"
|
327 |
+
" si votre site web n’utilise <strong>pas</strong> de système de cache ou "
|
328 |
+
"d’extension de cache et si vous ne collectez <strong>pas</strong> le "
|
329 |
+
"consentement par catégorie. En cas de doute, laissez ce paramètre désactivé"
|
330 |
+
|
331 |
+
#: includes/settings.php:917
|
332 |
+
msgid "Enjoying the iubenda Cookie & Consent Solution Plugin?"
|
333 |
+
msgstr "Vous appréciez l’extension Cookie et Consent Solution de iubenda ?"
|
334 |
+
|
335 |
+
#: views/partials/csGeneralSettings.php:216
|
336 |
+
#: views/partials/csGeneralSettings.php:232
|
337 |
+
#: views/partials/csPluginSettings.php:102
|
338 |
+
#: views/partials/csPluginSettings.php:118
|
339 |
+
msgid "Enter custom iframe"
|
340 |
+
msgstr "Entrer iframe personnalisé"
|
341 |
+
|
342 |
+
#: views/partials/csGeneralSettings.php:181
|
343 |
+
#: views/partials/csGeneralSettings.php:197
|
344 |
+
#: views/partials/csPluginSettings.php:67
|
345 |
+
#: views/partials/csPluginSettings.php:83
|
346 |
+
msgid "Enter custom script"
|
347 |
+
msgstr "Entrer script personnalisé"
|
348 |
+
|
349 |
+
#: views/cons-single-form.php:108 views/cons-single-form.php:133
|
350 |
+
#: views/cons-single-form.php:234 views/cons-single-form.php:244
|
351 |
+
#: views/cons-single-form.php:260
|
352 |
+
msgid "Enter field name"
|
353 |
+
msgstr "Indiquer le nom du champ"
|
354 |
+
|
355 |
+
#: views/partials/csSimplifiedConfiguration.php:59
|
356 |
+
msgid "EU Only"
|
357 |
+
msgstr "Dans l’UE uniquement"
|
358 |
+
|
359 |
+
#: views/cons-single-form.php:164
|
360 |
+
msgid "Exclude field"
|
361 |
+
msgstr "Exclure le champ"
|
362 |
+
|
363 |
+
#: views/cons-single-form.php:159
|
364 |
+
msgid "Exclude fields"
|
365 |
+
msgstr "Exclure les champs"
|
366 |
+
|
367 |
+
#: views/cons-single-form.php:160
|
368 |
+
msgid ""
|
369 |
+
"Exclude fields allow you to create a list of fields that you would like to "
|
370 |
+
"exclude from your Consent Solution recorded proofs (for e.g. password or "
|
371 |
+
"other fields not related to the consent)."
|
372 |
+
msgstr ""
|
373 |
+
"Cette fonctionnalité vous permet de créer une liste de champs que vous "
|
374 |
+
"souhaiteriez exclure des preuves de consentement enregistrées par la Consent "
|
375 |
+
"Solution (par ex. un mot de passe ou d’autres champs qui ne sont pas "
|
376 |
+
"associés au consentement)."
|
377 |
+
|
378 |
+
#: includes/settings.php:108 views/partials/csGeneralSettings.php:186
|
379 |
+
#: views/partials/csGeneralSettings.php:202
|
380 |
+
#: views/partials/csGeneralSettings.php:221
|
381 |
+
#: views/partials/csGeneralSettings.php:237
|
382 |
+
#: views/partials/csPluginSettings.php:72
|
383 |
+
#: views/partials/csPluginSettings.php:88
|
384 |
+
#: views/partials/csPluginSettings.php:107
|
385 |
+
#: views/partials/csPluginSettings.php:123
|
386 |
+
msgid "Experience enhancement"
|
387 |
+
msgstr "Amélioration de l’expérience"
|
388 |
+
|
389 |
+
#: views/partials/csSimplifiedConfiguration.php:72
|
390 |
+
msgid "Explicit Accept and Customize buttons"
|
391 |
+
msgstr ""
|
392 |
+
"Afficher les boutons \"Accepter\" et \"En savoir plus et personnaliser\""
|
393 |
+
|
394 |
+
#: views/partials/csSimplifiedConfiguration.php:77
|
395 |
+
msgid "Explicit Reject button"
|
396 |
+
msgstr "Afficher le bouton \"Refuser\""
|
397 |
+
|
398 |
+
#: views/cons-single-form.php:12
|
399 |
+
msgid "Field Mapping"
|
400 |
+
msgstr "Cartographie des champs"
|
401 |
+
|
402 |
+
#: includes/forms-list-table.php:89
|
403 |
+
msgid "Fields"
|
404 |
+
msgstr "Champs"
|
405 |
+
|
406 |
+
#: includes/forms-list-table.php:260
|
407 |
+
msgid "Filter"
|
408 |
+
msgstr "Filtrer"
|
409 |
+
|
410 |
+
#: includes/forms-list-table.php:277
|
411 |
+
msgid "Filter by source"
|
412 |
+
msgstr "Filtrer par source"
|
413 |
+
|
414 |
+
#: includes/forms.php:579 includes/forms.php:593
|
415 |
+
msgid "First name"
|
416 |
+
msgstr "Prénom"
|
417 |
+
|
418 |
+
#: views/partials/modals/modal_sync.php:4
|
419 |
+
msgid ""
|
420 |
+
"First of all, tell us if you already use our products for this website or if "
|
421 |
+
"you want to start from scratch"
|
422 |
+
msgstr ""
|
423 |
+
"Pour commencer, veuillez indiquer si vous utilisez déjà nos produits pour ce "
|
424 |
+
"site web ou si vous souhaitez partir de zéro"
|
425 |
+
|
426 |
+
#: includes/forms.php:153
|
427 |
+
msgid "Form"
|
428 |
+
msgstr "Formulaire"
|
429 |
+
|
430 |
+
#: views/cons-single-form.php:66 views/cons-single-form.php:103
|
431 |
+
msgid "Form field"
|
432 |
+
msgstr "Champ du formulaire"
|
433 |
+
|
434 |
+
#: includes/forms-list-table.php:87
|
435 |
+
msgid "Form ID"
|
436 |
+
msgstr "ID du formulaire"
|
437 |
+
|
438 |
+
#: includes/settings.php:701
|
439 |
+
msgid "Form saving failed. Please fill the Subject fields."
|
440 |
+
msgstr ""
|
441 |
+
"La sauvegarde du formulaire a échoué. Veuillez remplir les champs en rapport "
|
442 |
+
"à la personne concernée."
|
443 |
+
|
444 |
+
#: includes/forms-list-table.php:88
|
445 |
+
msgid "Form Source"
|
446 |
+
msgstr "Source du formulaire"
|
447 |
+
|
448 |
+
#: includes/forms-list-table.php:86
|
449 |
+
msgid "Form Title"
|
450 |
+
msgstr "Titre du formulaire"
|
451 |
+
|
452 |
+
#: includes/forms.php:152
|
453 |
+
msgid "Forms"
|
454 |
+
msgstr "Formulaires"
|
455 |
+
|
456 |
+
#: views/partials/modals/modal_pp_created.php:7
|
457 |
+
msgid ""
|
458 |
+
"From here you can customize your privacy policy by adding the services you "
|
459 |
+
"use within your website or you can customize the style of the button that "
|
460 |
+
"displays your privacy policy."
|
461 |
+
msgstr ""
|
462 |
+
"Ici, vous pouvez personnaliser votre politique de confidentialité en "
|
463 |
+
"ajoutant les technologies que vous utilisez sur votre site web ou encore "
|
464 |
+
"personnaliser le style du bouton qui affichera la politique."
|
465 |
+
|
466 |
+
#: views/partials/csSimplifiedConfiguration.php:14
|
467 |
+
msgid "GDPR Only"
|
468 |
+
msgstr "RGPD uniquement"
|
469 |
+
|
470 |
+
#: views/partials/modals/modal_pp_created.php:9
|
471 |
+
msgid "Got it"
|
472 |
+
msgstr "C’est compris"
|
473 |
+
|
474 |
+
#: views/frontpage.php:9
|
475 |
+
msgid "Help me get compliant!"
|
476 |
+
msgstr "Aidez-moi à mettre mon site en règle !"
|
477 |
+
|
478 |
+
#: views/partials/modals/modal_rating.php:11
|
479 |
+
msgid "Here’s how we calculate your rating."
|
480 |
+
msgstr "Voici notre méthode pour calculer votre note."
|
481 |
+
|
482 |
+
#: views/partials/siteInfo.php:21
|
483 |
+
msgid "How is it calculated?"
|
484 |
+
msgstr "Comment est-elle calculée ?"
|
485 |
+
|
486 |
+
#: views/partials/buttonPosition.php:37 views/tc-configuration.php:92
|
487 |
+
msgid "HTML"
|
488 |
+
msgstr "HTML"
|
489 |
+
|
490 |
+
#: views/partials/modals/modal_no_website_found.php:11
|
491 |
+
#: views/partials/modals/modal_sync.php:8
|
492 |
+
msgid "I want to start from scratch"
|
493 |
+
msgstr "Je veux repartir de zéro"
|
494 |
+
|
495 |
+
#: views/cons-single-form.php:225
|
496 |
+
msgid "Identifier"
|
497 |
+
msgstr "Identifiant"
|
498 |
+
|
499 |
+
#: views/cons-single-form.php:222
|
500 |
+
msgid ""
|
501 |
+
"In general, it's important that you declare which legal documents are being "
|
502 |
+
"agreed upon when each consent is collected. However, if you use iubenda for "
|
503 |
+
"your legal documents, it is *required* that you identify the documents by "
|
504 |
+
"selecting them here."
|
505 |
+
msgstr ""
|
506 |
+
"En général, il est important de déclarer quels documents juridiques ont été "
|
507 |
+
"acceptés lors de l’obtention de chaque consentement. Cependant, si vous "
|
508 |
+
"utilisez iubenda pour vos documents juridiques, il est *nécessaire* "
|
509 |
+
"d’identifier les documents en les sélectionnant ici."
|
510 |
+
|
511 |
+
#: views/partials/integrateFooter.php:4
|
512 |
+
msgid "Integrate"
|
513 |
+
msgstr "Intégrer"
|
514 |
+
|
515 |
+
#: views/partials/buttonPosition.php:10 views/tc-configuration.php:65
|
516 |
+
msgid "Integrate manually"
|
517 |
+
msgstr "Installer manuellement"
|
518 |
+
|
519 |
+
#: views/pp-configuration.php:26 views/tc-configuration.php:30
|
520 |
+
msgid "Integration"
|
521 |
+
msgstr "Intégration"
|
522 |
+
|
523 |
+
#: views/partials/modals/modal_no_website_found.php:8
|
524 |
+
msgid ""
|
525 |
+
"It seems that it is not possible to access your data with the code you "
|
526 |
+
"pasted, do you want to try again or do you prefer to start configuring your "
|
527 |
+
"website from scratch?"
|
528 |
+
msgstr ""
|
529 |
+
"Il semble qu’il ne soit pas possible d’accéder à vos données grâce au code "
|
530 |
+
"indiqué. Voulez-vous réessayer ou préférez-vous configurer votre site web en "
|
531 |
+
"repartant de zéro ?"
|
532 |
+
|
533 |
+
#: views/partials/modals/modal_ops_embed_invalid.php:8
|
534 |
+
msgid ""
|
535 |
+
"It seems that it is not possible to access your data with the code you "
|
536 |
+
"pasted, do you want to try again."
|
537 |
+
msgstr ""
|
538 |
+
"Il semble qu’il ne soit pas possible d’accéder à vos données grâce au code "
|
539 |
+
"indiqué, voulez-vous réessayer ?"
|
540 |
+
|
541 |
+
#: views/products-page.php:15
|
542 |
+
msgid ""
|
543 |
+
"It seems that you have not activated any of our services, we recommend you "
|
544 |
+
"to activate them and increase your level of compliance and avoid risking "
|
545 |
+
"fines."
|
546 |
+
msgstr ""
|
547 |
+
"Il semble que vous n’ayez activé aucun de nos services. Nous vous "
|
548 |
+
"recommandons de les activer afin de renforcer votre niveau de conformité et "
|
549 |
+
"d’éviter des sanctions."
|
550 |
+
|
551 |
+
#: includes/widget/IubendaLegalWidget.php:18
|
552 |
+
msgid "Iubenda legal"
|
553 |
+
msgstr "Documents juridiques iubenda"
|
554 |
+
|
555 |
+
#: assets/js/legal_block.js:15 assets/js/legal_block.js:32
|
556 |
+
msgid "Iubenda legal block"
|
557 |
+
msgstr "Iubenda legal block"
|
558 |
+
|
559 |
+
#: includes/widget/IubendaLegalWidget.php:21
|
560 |
+
msgid "Iubenda legal widget for Privacy Policy and Terms & Conditions"
|
561 |
+
msgstr ""
|
562 |
+
"Widget \"Documents juridiques iubenda\" pour Politique de Confidentialité et "
|
563 |
+
"Conditions Générales"
|
564 |
+
|
565 |
+
#: views/partials/modals/modal_sync.php:6
|
566 |
+
msgid "I’ve already made the set up on iubenda.com"
|
567 |
+
msgstr "J’ai déjà effectué la configuration sur iubenda.com"
|
568 |
+
|
569 |
+
#: includes/forms.php:585 includes/forms.php:605
|
570 |
+
msgid "Last name"
|
571 |
+
msgstr "Nom de famille"
|
572 |
+
|
573 |
+
#: views/integrate-setup.php:85 views/partials/csGeneralSettings.php:127
|
574 |
+
msgid "Learn how to fix it"
|
575 |
+
msgstr "Voilà comment y remédier"
|
576 |
+
|
577 |
+
#: views/partials/csSimplifiedConfiguration.php:88
|
578 |
+
#: views/partials/modals/modal_rating.php:22
|
579 |
+
msgid "Learn More"
|
580 |
+
msgstr "En savoir plus"
|
581 |
+
|
582 |
+
#: views/integrate-setup.php:126 views/partials/csGeneralSettings.php:168
|
583 |
+
#: views/partials/csPluginSettings.php:22
|
584 |
+
msgid ""
|
585 |
+
"Leave scripts untouched on the page if the user has already given consent"
|
586 |
+
msgstr ""
|
587 |
+
"Laisser les scripts intacts sur la page si l’utilisateur a déjà donné son "
|
588 |
+
"consentement"
|
589 |
+
|
590 |
+
#: assets/js/legal_block.js:21 includes/block/IubendaLegalBlock.php:255
|
591 |
+
#: includes/widget/IubendaLegalWidget.php:167
|
592 |
+
msgid "Legal"
|
593 |
+
msgstr "Documents juridiques"
|
594 |
+
|
595 |
+
#: views/cons-single-form.php:221
|
596 |
+
msgid "Legal documents"
|
597 |
+
msgstr "Documents juridiques"
|
598 |
+
|
599 |
+
#: views/partials/csSimplifiedConfiguration.php:9
|
600 |
+
msgid "Legislation"
|
601 |
+
msgstr "Législation"
|
602 |
+
|
603 |
+
#: includes/settings.php:1116 includes/settings.php:1138
|
604 |
+
msgid "legislation"
|
605 |
+
msgstr "législation"
|
606 |
+
|
607 |
+
#: views/frontpage.php:8
|
608 |
+
msgid "Let's configure your website for compliance."
|
609 |
+
msgstr "Configurons ensemble votre site web pour le rendre conforme."
|
610 |
+
|
611 |
+
#: views/partials/bannerStyle.php:15 views/partials/buttonStyle.php:10
|
612 |
+
#: views/tc-configuration.php:41
|
613 |
+
msgid "Light"
|
614 |
+
msgstr "Mode clair"
|
615 |
+
|
616 |
+
#: views/partials/csGeneralSettings.php:35
|
617 |
+
#: views/partials/csGeneralSettings.php:42
|
618 |
+
msgid "Manual embed"
|
619 |
+
msgstr "Installation manuelle"
|
620 |
+
|
621 |
+
#: views/cons-single-form.php:44
|
622 |
+
msgid "Map fields"
|
623 |
+
msgstr "Cartographier les champs"
|
624 |
+
|
625 |
+
#: views/partials/csPluginSettings.php:45 views/plugin-settings.php:28
|
626 |
+
msgid "Menu position"
|
627 |
+
msgstr "Emplacement dans le menu"
|
628 |
+
|
629 |
+
#: includes/forms.php:599
|
630 |
+
msgid "Middle name"
|
631 |
+
msgstr "Deuxième prénom"
|
632 |
+
|
633 |
+
#: views/partials/modals/modal_almost_there.php:5
|
634 |
+
msgid "Nice! We are almost there."
|
635 |
+
msgstr "Nous y sommes presque !"
|
636 |
+
|
637 |
+
#: includes/settings.php:920
|
638 |
+
msgid "No"
|
639 |
+
msgstr "Non"
|
640 |
+
|
641 |
+
#: views/integrate-setup.php:49 views/partials/csGeneralSettings.php:91
|
642 |
+
msgid ""
|
643 |
+
"No file available. Save changes to generate iubenda AMP configuration file."
|
644 |
+
msgstr ""
|
645 |
+
"Aucun fichier trouvé. Enregistrez les modifications afin de générer un "
|
646 |
+
"fichier pour la configuration AMP avec iubenda."
|
647 |
+
|
648 |
+
#: includes/forms-list-table.php:347
|
649 |
+
msgid "No forms found."
|
650 |
+
msgstr "Aucun formulaire trouvé."
|
651 |
+
|
652 |
+
#: includes/settings.php:927 includes/settings.php:934
|
653 |
+
msgid "No thanks"
|
654 |
+
msgstr "Non merci"
|
655 |
+
|
656 |
+
#: views/cons-single-form.php:71
|
657 |
+
msgid "None"
|
658 |
+
msgstr "Aucun"
|
659 |
+
|
660 |
+
#: includes/settings.php:105 views/partials/csGeneralSettings.php:183
|
661 |
+
#: views/partials/csGeneralSettings.php:199
|
662 |
+
#: views/partials/csGeneralSettings.php:218
|
663 |
+
#: views/partials/csGeneralSettings.php:234
|
664 |
+
#: views/partials/csPluginSettings.php:69
|
665 |
+
#: views/partials/csPluginSettings.php:85
|
666 |
+
#: views/partials/csPluginSettings.php:104
|
667 |
+
#: views/partials/csPluginSettings.php:120
|
668 |
+
msgid "Not set"
|
669 |
+
msgstr "Non précisé"
|
670 |
+
|
671 |
+
#: views/partials/modals/modal_select_language.php:4
|
672 |
+
msgid "Now, select your website language"
|
673 |
+
msgstr "Maintenant, sélectionnez la langue de votre site web"
|
674 |
+
|
675 |
+
#: includes/settings.php:933
|
676 |
+
msgid "Ok sure!"
|
677 |
+
msgstr "Bien sûr !"
|
678 |
+
|
679 |
+
#: includes/ServiceRating.php:103
|
680 |
+
msgid "Only track users that give consent"
|
681 |
+
msgstr "Ne faire le suivi que des utilisateurs qui ont donné leur consentement"
|
682 |
+
|
683 |
+
#: views/partials/modals/modal_no_website_found.php:6
|
684 |
+
#: views/partials/modals/modal_ops_embed_invalid.php:6
|
685 |
+
msgid "Ooops! <br> No website found with this embed code."
|
686 |
+
msgstr "Oups ! <br> Aucun site web lié à ce code d’intégration n’a été trouvé."
|
687 |
+
|
688 |
+
#: views/partials/modals/modal_sync.php:7
|
689 |
+
msgid "or"
|
690 |
+
msgstr "ou"
|
691 |
+
|
692 |
+
#: views/partials/csSimplifiedConfiguration.php:83
|
693 |
+
msgid "Other options"
|
694 |
+
msgstr "Autres options"
|
695 |
+
|
696 |
+
#: views/partials/welcomeScreenHeader.php:3
|
697 |
+
msgid "Our plugin will help you to make your website compliant in minutes."
|
698 |
+
msgstr ""
|
699 |
+
"Notre plugin vous aide à rendre votre site web conforme en quelques minutes."
|
700 |
+
|
701 |
+
#: includes/QuickGeneratorService.php:137
|
702 |
+
msgid ""
|
703 |
+
"Our products has been integrated successfully, now customize all products to "
|
704 |
+
"increase the compliance rating and make your website fully compliant."
|
705 |
+
msgstr ""
|
706 |
+
"Nos produits ont été installés avec succès. Vous pouvez maintenant "
|
707 |
+
"personnaliser l’ensemble des produits pour améliorer votre note de "
|
708 |
+
"conformité et rendre votre site web complètement conforme."
|
709 |
+
|
710 |
+
#: views/partials/modals/modal_almost_there.php:39
|
711 |
+
msgid "Paste your API key here"
|
712 |
+
msgstr "Collez votre clé API ici"
|
713 |
+
|
714 |
+
#: views/partials/csManualConfiguration.php:11
|
715 |
+
msgid "Paste your cookie solution embed code here"
|
716 |
+
msgstr "Collez le code d’intégration généré par la Cookie Solution ici"
|
717 |
+
|
718 |
+
#: views/partials/languagesTabs.php:21
|
719 |
+
msgid "Paste your embed code here"
|
720 |
+
msgstr "Collez votre code d’intégration ici"
|
721 |
+
|
722 |
+
#: views/cons-configuration.php:23
|
723 |
+
msgid "Paste your public API key here"
|
724 |
+
msgstr "Collez votre clé API publique ici"
|
725 |
+
|
726 |
+
#: views/tc-configuration.php:21
|
727 |
+
msgid "Paste your terms and conditions embed code here"
|
728 |
+
msgstr "Collez le code d’intégration de vos conditions générales ici"
|
729 |
+
|
730 |
+
#: includes/settings.php:628
|
731 |
+
#, php-format
|
732 |
+
msgid ""
|
733 |
+
"Please enable comments cookies opt-in checkbox in the <a href=\"%s\" "
|
734 |
+
"target=\"_blank\">Discussion settings</a>."
|
735 |
+
msgstr ""
|
736 |
+
"Veuillez activer l’affichage de la case à cocher pour accepter les cookies "
|
737 |
+
"sur les commentaires, depuis les <a href=\"%s\" target=\"_blank\">réglages "
|
738 |
+
"des commentaires WordPress</a>."
|
739 |
+
|
740 |
+
#: views/cons-single-form.php:234
|
741 |
+
msgid "Please select each legal document available on your site."
|
742 |
+
msgstr ""
|
743 |
+
"Veuillez sélectionner tous les documents juridiques présents sur votre site "
|
744 |
+
"web."
|
745 |
+
|
746 |
+
#: includes/settings.php:402 views/partials/siteInfo.php:14
|
747 |
+
msgid "Plugin settings"
|
748 |
+
msgstr "Paramètres du plugin"
|
749 |
+
|
750 |
+
#: includes/settings.php:1115 includes/settings.php:1137
|
751 |
+
#: includes/settings.php:1156 includes/settings.php:1176
|
752 |
+
#: views/partials/bannerPosition.php:20
|
753 |
+
msgid "Position"
|
754 |
+
msgstr "Emplacement"
|
755 |
+
|
756 |
+
#: views/cons-single-form.php:102
|
757 |
+
msgid "Preferences field"
|
758 |
+
msgstr "Champ relatif aux préférences"
|
759 |
+
|
760 |
+
#: views/cons-single-form.php:98
|
761 |
+
msgid "Preferences fields"
|
762 |
+
msgstr "Champs relatifs aux préférences"
|
763 |
+
|
764 |
+
#: views/cons-single-form.php:99
|
765 |
+
msgid ""
|
766 |
+
"Preferences fields allow you to store a record of the various opt-ins points "
|
767 |
+
"at which the user has agreed or given consent, such as fields for agreeing "
|
768 |
+
"to terms and conditions, newsletter, profiling, etc."
|
769 |
+
msgstr ""
|
770 |
+
"Les champs relatifs aux préférences vous permettent d’enregistrer ce à quoi "
|
771 |
+
"l’utilisateur a donné son consentement, par exemple les champs pour "
|
772 |
+
"consentir aux conditions générales, à la newsletter, au profilage, etc."
|
773 |
+
|
774 |
+
#: views/integrate-setup.php:114 views/partials/csGeneralSettings.php:157
|
775 |
+
#: views/partials/csPluginSettings.php:10
|
776 |
+
msgid "Primary"
|
777 |
+
msgstr "Primaire"
|
778 |
+
|
779 |
+
#: includes/settings.php:418 includes/settings.php:1150
|
780 |
+
msgid "Privacy and Cookie Policy"
|
781 |
+
msgstr "Politique de Confidentialité et de Cookies"
|
782 |
+
|
783 |
+
#: includes/PrivacyPolicyGenerator.php:23
|
784 |
+
msgid "Privacy Policy"
|
785 |
+
msgstr "Politique de Confidentialité"
|
786 |
+
|
787 |
+
#: views/partials/breadcrumb.php:2
|
788 |
+
msgid "Products"
|
789 |
+
msgstr "Produits"
|
790 |
+
|
791 |
+
#: views/partials/csGeneralSettings.php:246
|
792 |
+
#: views/partials/csPluginSettings.php:132
|
793 |
+
msgid ""
|
794 |
+
"Provide a list of domains for any custom iframes you'd like to block, and "
|
795 |
+
"assign their purposes. To make sure they are blocked correctly, please add "
|
796 |
+
"domains in the same format as 'example.com', without any protocols e.g. "
|
797 |
+
"'http://' or 'https://'. You may also use wildcards (*) to include parent "
|
798 |
+
"domains or subdomains."
|
799 |
+
msgstr ""
|
800 |
+
"Fournissez une liste de domaines pour toute iframe vous voudriez bloquer, et "
|
801 |
+
"assignez leur finalité. Pour être sûr qu’elles soient bloquées correctement, "
|
802 |
+
"veuillez ajouter les domaines dans le même format que ‘example.com’, sans "
|
803 |
+
"protocoles tel que ‘http://' ou ‘https://'. Vous pouvez également utiliser "
|
804 |
+
"le caractère de remplacement (*) pour inclure les domaines parents ou les "
|
805 |
+
"sous-domaines."
|
806 |
+
|
807 |
+
#: views/partials/csGeneralSettings.php:211
|
808 |
+
#: views/partials/csPluginSettings.php:97
|
809 |
+
msgid ""
|
810 |
+
"Provide a list of domains for any custom scripts you'd like to block, and "
|
811 |
+
"assign their purposes. To make sure they are blocked correctly, please add "
|
812 |
+
"domains in the same format as 'example.com', without any protocols e.g. "
|
813 |
+
"'http://' or 'https://'. You may also use wildcards (*) to include parent "
|
814 |
+
"domains or subdomains."
|
815 |
+
msgstr ""
|
816 |
+
"Fournissez une liste de domaines pour tout script vous voudriez bloquer, et "
|
817 |
+
"assignez leur finalité. Pour être sûr qu’ils soient bloqués correctement, "
|
818 |
+
"veuillez ajouter les domaines dans le même format que ‘example.com’, sans "
|
819 |
+
"protocoles tel que ‘http://' ou ‘https://'. Vous pouvez également utiliser "
|
820 |
+
"le caractère de remplacement (*) pour inclure les domaines parents ou les "
|
821 |
+
"sous-domaines."
|
822 |
+
|
823 |
+
#: views/cons-single-form.php:122 views/cons-single-form.php:148
|
824 |
+
#: views/cons-single-form.php:183 views/cons-single-form.php:207
|
825 |
+
#: views/cons-single-form.php:244 views/cons-single-form.php:260
|
826 |
+
msgid "Remove"
|
827 |
+
msgstr "Éliminer"
|
828 |
+
|
829 |
+
#: views/partials/csSimplifiedConfiguration.php:29
|
830 |
+
msgid "Require consent from"
|
831 |
+
msgstr "Demander le consentement…"
|
832 |
+
|
833 |
+
#: views/partials/integrateFooter.php:3
|
834 |
+
msgid "Reset settings"
|
835 |
+
msgstr "Restaurer les paramètres"
|
836 |
+
|
837 |
+
#: views/partials/csPluginSettings.php:29 views/plugin-settings.php:13
|
838 |
+
msgid ""
|
839 |
+
"Restrict the plugin to run only for requests that have \"Content-type: text "
|
840 |
+
"/ html\" (recommended)"
|
841 |
+
msgstr ""
|
842 |
+
"Limiter le fonctionnement du plugin uniquement aux requêtes comportant "
|
843 |
+
"\"Content-type: text /html\" (recommandé)"
|
844 |
+
|
845 |
+
#: views/cons-configuration.php:62 views/cons-single-form.php:279
|
846 |
+
#: views/cs-configuration.php:17 views/plugin-settings.php:46
|
847 |
+
#: views/pp-configuration.php:35 views/tc-configuration.php:133
|
848 |
+
msgid "Save settings"
|
849 |
+
msgstr "Enregistrer les paramètres"
|
850 |
+
|
851 |
+
#: views/integrate-setup.php:118 views/partials/csGeneralSettings.php:161
|
852 |
+
#: views/partials/csPluginSettings.php:14
|
853 |
+
msgid "Secondary"
|
854 |
+
msgstr "Secondaire"
|
855 |
+
|
856 |
+
#: views/integrate-setup.php:85 views/partials/csGeneralSettings.php:127
|
857 |
+
msgid ""
|
858 |
+
"Seeing the AMP cookie notice when testing from Google but not when visiting "
|
859 |
+
"your AMP pages directly?"
|
860 |
+
msgstr ""
|
861 |
+
"Le bandeau cookies AMP s’affiche en testant depuis Google mais pas en allant "
|
862 |
+
"directement sur vos pages AMP ?"
|
863 |
+
|
864 |
+
#: includes/forms-list-table.php:376
|
865 |
+
msgid "Select All"
|
866 |
+
msgstr "Tout sélectionner"
|
867 |
+
|
868 |
+
#: views/integrate-setup.php:121 views/partials/csGeneralSettings.php:153
|
869 |
+
#: views/partials/csPluginSettings.php:17
|
870 |
+
msgid "Select Parsing Engine"
|
871 |
+
msgstr "Sélectionner l’outil d’analyse (\"parsing engine\")"
|
872 |
+
|
873 |
+
#: views/partials/modals/modal_almost_there.php:13
|
874 |
+
msgid "Select products you have already activated"
|
875 |
+
msgstr "Sélectionnez les produits que vous avez déjà activés"
|
876 |
+
|
877 |
+
#: views/integrate-setup.php:32 views/partials/csGeneralSettings.php:73
|
878 |
+
msgid "Select the iubenda AMP configuration file location."
|
879 |
+
msgstr "Sélectionnez le chemin du fichier de configuration de iubenda AMP."
|
880 |
+
|
881 |
+
#: views/partials/csPluginSettings.php:56 views/plugin-settings.php:39
|
882 |
+
msgid ""
|
883 |
+
"Select whether to display iubenda in a top admin menu or the Settings "
|
884 |
+
"submenu."
|
885 |
+
msgstr ""
|
886 |
+
"Sélectionnez où afficher iubenda dans le menu principal admin ou dans le "
|
887 |
+
"sous-menu des paramètres."
|
888 |
+
|
889 |
+
#: views/partials/product-card.php:46
|
890 |
+
msgid "Service off"
|
891 |
+
msgstr "Service désactivé"
|
892 |
+
|
893 |
+
#: views/partials/product-card.php:46
|
894 |
+
#| msgid "Service"
|
895 |
+
msgid "Service on"
|
896 |
+
msgstr "Service activé"
|
897 |
+
|
898 |
+
#: includes/ServiceRating.php:98
|
899 |
+
msgid "Set up a cookie banner"
|
900 |
+
msgstr "Mettre un bandeau cookies en place"
|
901 |
+
|
902 |
+
#: includes/ServiceRating.php:108
|
903 |
+
msgid "Set up a privacy policy"
|
904 |
+
msgstr "Disposer d’une politique de confidentialité"
|
905 |
+
|
906 |
+
#: includes/ServiceRating.php:113
|
907 |
+
msgid "Set up terms and conditions"
|
908 |
+
msgstr "Avoir ses propres conditions générales"
|
909 |
+
|
910 |
+
#: includes/settings.php:749
|
911 |
+
msgid "Settings saved."
|
912 |
+
msgstr "Paramètres enregistrés."
|
913 |
+
|
914 |
+
#: views/pp-configuration.php:22
|
915 |
+
msgid "Setup your privacy and cookie policy on iubenda.com"
|
916 |
+
msgstr ""
|
917 |
+
"Configurez votre politique de confidentialité et de cookies sur iubenda.com"
|
918 |
+
|
919 |
+
#: views/partials/buttonPosition.php:73 views/tc-configuration.php:117
|
920 |
+
msgid "Shortcode"
|
921 |
+
msgstr "Code court"
|
922 |
+
|
923 |
+
#: views/partials/csGeneralSettings.php:14
|
924 |
+
#: views/partials/csGeneralSettings.php:23
|
925 |
+
msgid "Simplified"
|
926 |
+
msgstr "Simplifiée"
|
927 |
+
|
928 |
+
#: views/partials/modals/modal_almost_there.php:6
|
929 |
+
msgid ""
|
930 |
+
"Since you already activated some products for this website, we just ask you "
|
931 |
+
"to copy and paste the embedding code of the product you already have to "
|
932 |
+
"syncronize your iubenda acount with WP plugin."
|
933 |
+
msgstr ""
|
934 |
+
"Comme vous avez déjà activé certains produits pour ce site web, nous vous "
|
935 |
+
"demandons simplement de copier et coller le code d’intégration du produit "
|
936 |
+
"que vous avez déjà, afin de synchroniser votre compte iubenda avec le plugin "
|
937 |
+
"WP."
|
938 |
+
|
939 |
+
#: views/cons-single-form.php:48
|
940 |
+
msgid "Status"
|
941 |
+
msgstr "Statut"
|
942 |
+
|
943 |
+
#: includes/settings.php:106 views/partials/csGeneralSettings.php:184
|
944 |
+
#: views/partials/csGeneralSettings.php:200
|
945 |
+
#: views/partials/csGeneralSettings.php:219
|
946 |
+
#: views/partials/csGeneralSettings.php:235
|
947 |
+
#: views/partials/csPluginSettings.php:70
|
948 |
+
#: views/partials/csPluginSettings.php:86
|
949 |
+
#: views/partials/csPluginSettings.php:105
|
950 |
+
#: views/partials/csPluginSettings.php:121
|
951 |
+
msgid "Strictly necessary"
|
952 |
+
msgstr "Strictement nécessaire"
|
953 |
+
|
954 |
+
#: includes/settings.php:75 includes/settings.php:76 includes/settings.php:77
|
955 |
+
#: includes/settings.php:78 includes/settings.php:79
|
956 |
+
msgid "string"
|
957 |
+
msgstr "string"
|
958 |
+
|
959 |
+
#: includes/settings.php:1114 includes/settings.php:1136
|
960 |
+
#: includes/settings.php:1155 includes/settings.php:1175
|
961 |
+
msgid "Style"
|
962 |
+
msgstr "Style"
|
963 |
+
|
964 |
+
#: views/cons-single-form.php:65
|
965 |
+
msgid "Subject field"
|
966 |
+
msgstr "Champ utilisateur"
|
967 |
+
|
968 |
+
#: views/cons-single-form.php:61
|
969 |
+
msgid "Subject fields"
|
970 |
+
msgstr "Champs utilisateur"
|
971 |
+
|
972 |
+
#: views/cons-single-form.php:62
|
973 |
+
msgid ""
|
974 |
+
"Subject fields allow you to store a series of identifying values about your "
|
975 |
+
"individual subjects/users. Please map the subject field with the "
|
976 |
+
"corresponding form fields where applicable."
|
977 |
+
msgstr ""
|
978 |
+
"Les champs utilisateur vous permettent de conserver une série de valeurs "
|
979 |
+
"d’identification à propos de chacun de vos utilisateurs. Veuillez "
|
980 |
+
"cartographier le champ utilisateur avec les champs correspondants du "
|
981 |
+
"formulaire, le cas échéant."
|
982 |
+
|
983 |
+
#: views/partials/csPluginSettings.php:53 views/plugin-settings.php:36
|
984 |
+
msgid "Submenu"
|
985 |
+
msgstr "Sous-menu"
|
986 |
+
|
987 |
+
#: includes/settings.php:926
|
988 |
+
msgid "Sure!"
|
989 |
+
msgstr "Avec plaisir !"
|
990 |
+
|
991 |
+
#: views/partials/modals/modal_almost_there.php:75
|
992 |
+
msgid "Synchronize products"
|
993 |
+
msgstr "Synchroniser les produits"
|
994 |
+
|
995 |
+
#: includes/settings.php:110
|
996 |
+
msgid "Targeting & Advertising"
|
997 |
+
msgstr "Ciblage et publicité"
|
998 |
+
|
999 |
+
#: views/partials/csGeneralSettings.php:188
|
1000 |
+
#: views/partials/csGeneralSettings.php:204
|
1001 |
+
#: views/partials/csGeneralSettings.php:223
|
1002 |
+
#: views/partials/csGeneralSettings.php:239
|
1003 |
+
#: views/partials/csPluginSettings.php:74
|
1004 |
+
#: views/partials/csPluginSettings.php:90
|
1005 |
+
#: views/partials/csPluginSettings.php:109
|
1006 |
+
#: views/partials/csPluginSettings.php:125
|
1007 |
+
msgid "Targeting & Advertising"
|
1008 |
+
msgstr "Ciblage et publicité"
|
1009 |
+
|
1010 |
+
#: includes/settings.php:412
|
1011 |
+
msgid "Terms and condition"
|
1012 |
+
msgstr "Conditions Générales"
|
1013 |
+
|
1014 |
+
#: includes/settings.php:1170
|
1015 |
+
msgid "Terms and Conditions"
|
1016 |
+
msgstr "Conditions Générales"
|
1017 |
+
|
1018 |
+
#: views/partials/bannerStyle.php:2
|
1019 |
+
msgid "Theme"
|
1020 |
+
msgstr "Thème"
|
1021 |
+
|
1022 |
+
#: includes/ServiceRating.php:109
|
1023 |
+
#, php-format
|
1024 |
+
msgid ""
|
1025 |
+
"This accounts for 25% of your score. A privacy policy is a requirement "
|
1026 |
+
"under most privacy laws around the world. This document typically includes "
|
1027 |
+
"legally required disclosures about the type of personal data you process, "
|
1028 |
+
"why you need to process it, how the processing is done and the user’s rights "
|
1029 |
+
"under applicable law."
|
1030 |
+
msgstr ""
|
1031 |
+
"Ceci compte pour 25% de votre score. Une politique de confidentialité "
|
1032 |
+
"est requise par la plupart des lois sur la confidentialité dans le monde. Ce "
|
1033 |
+
"document inclut généralement des informations obligatoires telles que le "
|
1034 |
+
"type de données personnelles que vous traitez, pourquoi et comment ce "
|
1035 |
+
"traitement est effectué, ainsi que les droits des utilisateurs en vertu de "
|
1036 |
+
"la loi applicable."
|
1037 |
+
|
1038 |
+
#: includes/ServiceRating.php:104
|
1039 |
+
#, php-format
|
1040 |
+
msgid ""
|
1041 |
+
"This accounts for 25% of your score. If you’re based in Europe or have "
|
1042 |
+
"Europe-based users, you likely need to block cookies from running until you "
|
1043 |
+
"receive user consent. To do this, select “Automatically block scripts "
|
1044 |
+
"detected by the plugin”."
|
1045 |
+
msgstr ""
|
1046 |
+
"Ceci compte pour 25% de votre score. Si vous ou vos utilisateurs êtes "
|
1047 |
+
"basés en Europe, vous devez probablement bloquer l’installation de cookies "
|
1048 |
+
"avant d’avoir obtenu le consentement de l’utilisateur. Pour ce faire, "
|
1049 |
+
"sélectionnez \"Bloquer automatiquement les scripts détectés par le plugin\"."
|
1050 |
+
|
1051 |
+
#: includes/ServiceRating.php:114
|
1052 |
+
#, php-format
|
1053 |
+
msgid ""
|
1054 |
+
"This accounts for 25% of your score. Terms and conditions help to "
|
1055 |
+
"protect you, the website owner, from potential liabilities and more. "
|
1056 |
+
"Furthermore, if you run an e-commerce site or app, having this document may "
|
1057 |
+
"be legally required as Terms typically contain legally mandatory disclosures."
|
1058 |
+
" Terms are legally binding documents, and therefore it’s important to ensure "
|
1059 |
+
"that they actually fit your specific scenario."
|
1060 |
+
msgstr ""
|
1061 |
+
"Cela compte pour 25% de votre score. Les conditions générales protègent "
|
1062 |
+
"le propriétaire du site web de potentiels engagements de sa responsabilité. "
|
1063 |
+
"De plus, si vous gérez un site web ou une application de e-commerce, "
|
1064 |
+
"disposer de ce document peut être une obligation au nom de la loi. En effet, "
|
1065 |
+
"les conditions générales contiennent généralement des informations légales "
|
1066 |
+
"obligatoires. Elles constituent un document juridiquement contraignant et "
|
1067 |
+
"doivent donc être adaptées à votre situation spécifique."
|
1068 |
+
|
1069 |
+
#: includes/ServiceRating.php:99
|
1070 |
+
#, php-format
|
1071 |
+
msgid ""
|
1072 |
+
"This accounts for 25% of your score. Your cookie banner should inform "
|
1073 |
+
"your users about your use of cookies and similar tracking technologies, and "
|
1074 |
+
"their rights in this regard. You may need a banner if either the GDPR, CCPA "
|
1075 |
+
"or ePrivacy apply to you."
|
1076 |
+
msgstr ""
|
1077 |
+
"Ceci compte pour 25% de votre score. Votre bandeau cookies doit informer "
|
1078 |
+
"vos utilisateurs de l’usage de cookies et autres technologies de suivi "
|
1079 |
+
"similaires, et de leurs droits à cet égard. Vous avez probablement besoin "
|
1080 |
+
"d’une bannière si vous êtes concerné par le RGPD, le CCPA ou la directive "
|
1081 |
+
"ePrivacy."
|
1082 |
+
|
1083 |
+
#: views/partials/frontpage_main_box.php:26
|
1084 |
+
msgid "This is what you may need to be compliant"
|
1085 |
+
msgstr "Voici ce dont vous avez sûrement besoin pour vous mettre en conformité"
|
1086 |
+
|
1087 |
+
#: views/partials/auto_detect_forms.php:29
|
1088 |
+
msgid ""
|
1089 |
+
"This section lists the forms available for field mapping. The plugin "
|
1090 |
+
"currently supports & detects: WordPress Comment, Contact Form 7, WooCommerce "
|
1091 |
+
"Checkout and WP Forms."
|
1092 |
+
msgstr ""
|
1093 |
+
"Cette section liste les formulaires disponibles pour la cartographie des "
|
1094 |
+
"champs de données. Actuellement, le plugin détecte et est compatible avec : "
|
1095 |
+
"WordPress Comment, Contact Form 7, WooCommerce Checkout et WP Forms."
|
1096 |
+
|
1097 |
+
#: includes/widget/IubendaLegalWidget.php:176
|
1098 |
+
msgid "Title:"
|
1099 |
+
msgstr "Titre :"
|
1100 |
+
|
1101 |
+
#: includes/settings.php:905
|
1102 |
+
#, php-format
|
1103 |
+
msgid ""
|
1104 |
+
"To ensure regular scans and full support, <span class=\"text-bold\">verify "
|
1105 |
+
"your account</span>. Check your mailbox now and validate your email address, "
|
1106 |
+
"or check <a href=\"%s\" target=\"_blank\" class=\"link-underline\">your "
|
1107 |
+
"account</a> on iubenda.com. If you already did that, you can safely <a "
|
1108 |
+
"href=\"javascript:void(0)\" class=\"notice-dismiss-by-text dismiss-"
|
1109 |
+
"notification-alert link-underline\" data-dismiss-"
|
1110 |
+
"key=\"iub_user_needs_to_verify_his_account\">dismiss this reminder</a>."
|
1111 |
+
msgstr ""
|
1112 |
+
"Pour assurer des scans réguliers et une assistance complète, veuillez <span "
|
1113 |
+
"class=\"text-bold\">vérifier votre compte</span>. Consultez votre boîte de "
|
1114 |
+
"réception et confirmer votre adresse e-mail, ou allez sur <a href=\"%s\" "
|
1115 |
+
"target=\"_blank\" class=\"link-underline\">votre compte</a> iubenda.com. Si "
|
1116 |
+
"c’est déjà fait, veuillez <a href=\"javascript:void(0)\" class=\"notice-"
|
1117 |
+
"dismiss-by-text dismiss-notification-alert link-underline\" data-dismiss-"
|
1118 |
+
"key=\"iub_user_needs_to_verify_his_account\">ne pas tenir compte de ce "
|
1119 |
+
"rappel</a>."
|
1120 |
+
|
1121 |
+
#: views/partials/csPluginSettings.php:49 views/plugin-settings.php:32
|
1122 |
+
msgid "Top menu"
|
1123 |
+
msgstr "Menu principal"
|
1124 |
+
|
1125 |
+
#: views/partials/modals/modal_no_website_found.php:10
|
1126 |
+
#: views/partials/modals/modal_ops_embed_invalid.php:10
|
1127 |
+
msgid "Try again"
|
1128 |
+
msgstr "Réessayer"
|
1129 |
+
|
1130 |
+
#: includes/settings.php:1154 includes/settings.php:1174
|
1131 |
+
msgid "Version"
|
1132 |
+
msgstr "Version"
|
1133 |
+
|
1134 |
+
#: views/partials/header_scanned.php:4
|
1135 |
+
msgid "We have analyzed your website in background and this is the result."
|
1136 |
+
msgstr ""
|
1137 |
+
"Nous avons analysé votre site web en arrière-plan et voici le résultat."
|
1138 |
+
|
1139 |
+
#: views/partials/buttonPosition.php:28
|
1140 |
+
#: views/partials/modals/modal_almost_there.php:62
|
1141 |
+
#: views/tc-configuration.php:83
|
1142 |
+
#, php-format
|
1143 |
+
#| msgid ""
|
1144 |
+
#| "We were not able to add a \"Legal\" widget to the footer as your theme is "
|
1145 |
+
#| "not compatible, you can position the \"Legal\" widget manually from <a "
|
1146 |
+
#| "href=\"%s\" target=\"_blank\">here</a>."
|
1147 |
+
msgid ""
|
1148 |
+
"We were not able to add a \"Legal\" widget/block to the footer as your theme "
|
1149 |
+
"is not compatible, you can position the \"Legal\" widget/block manually from "
|
1150 |
+
"<a href=\"%s\" target=\"_blank\">here</a>."
|
1151 |
+
msgstr ""
|
1152 |
+
"Nous n’avons pas pu ajouter un widget \"Documents juridiques\" dans le pied "
|
1153 |
+
"de page car votre thème n’est pas compatible avec les widgets. Vous pouvez "
|
1154 |
+
"insérer le widget \"Documents juridiques\" manuellement <a href=\"%s\" "
|
1155 |
+
"target=\"_blank\">par ici</a>."
|
1156 |
+
|
1157 |
+
#: includes/settings.php:931
|
1158 |
+
msgid "We're sorry to hear that. Would you mind giving us some feedback?"
|
1159 |
+
msgstr ""
|
1160 |
+
"Nous en sommes désolés. Pourriez-vous nous faire part de vos commentaires ?"
|
1161 |
+
|
1162 |
+
#: views/partials/welcomeScreenHeader.php:2
|
1163 |
+
msgid "Welcome to iubenda!"
|
1164 |
+
msgstr "Bienvenue chez iubenda !"
|
1165 |
+
|
1166 |
+
#: views/cons-configuration.php:37 views/partials/languagesTabs.php:27
|
1167 |
+
#: views/partials/modals/modal_almost_there.php:42
|
1168 |
+
msgid "Where can I find this code?"
|
1169 |
+
msgstr "Où puis-je trouver ce code ?"
|
1170 |
+
|
1171 |
+
#: includes/settings.php:924
|
1172 |
+
msgid ""
|
1173 |
+
"Whew, what a relief!? We've worked countless hours to make this plugin as "
|
1174 |
+
"useful as possible - so we're pretty happy that you're enjoying it. While "
|
1175 |
+
"you here, would you mind leaving us a 5 star rating? It would really help us "
|
1176 |
+
"out."
|
1177 |
+
msgstr ""
|
1178 |
+
"Ouf, quel soulagement ! Nous avons travaillé d’arrache-pied pour rendre ce "
|
1179 |
+
"plugin le plus utile possible - nous sommes ravis qu’il vous plaise. Tant "
|
1180 |
+
"que vous y êtes, pourriez-vous nous laisser une note de 5 étoiles ? Cela "
|
1181 |
+
"nous aiderait beaucoup. Merci !"
|
1182 |
+
|
1183 |
+
#: views/partials/csSimplifiedConfiguration.php:43
|
1184 |
+
msgid "Worldwide"
|
1185 |
+
msgstr "Dans le monde entier"
|
1186 |
+
|
1187 |
+
#: includes/settings.php:919
|
1188 |
+
msgid "Yes"
|
1189 |
+
msgstr "Oui"
|
1190 |
+
|
1191 |
+
#: includes/settings.php:389
|
1192 |
+
msgid "You don't have permission to access this page."
|
1193 |
+
msgstr "Vous n’avez pas l’autorisation d’accéder à cette page."
|
1194 |
+
|
1195 |
+
#: views/partials/csSimplifiedConfiguration.php:92
|
1196 |
+
msgid "You should activate this feature if you show ads on your website"
|
1197 |
+
msgstr ""
|
1198 |
+
"Vous devriez activer cette fonctionnalité dans le cas où vous affichez des "
|
1199 |
+
"publicités sur votre site web"
|
1200 |
+
|
1201 |
+
#: views/partials/buttonPosition.php:64 views/tc-configuration.php:108
|
1202 |
+
msgid "Your embed code"
|
1203 |
+
msgstr "Votre code d’intégration"
|
1204 |
+
|
1205 |
+
#: views/cons-configuration.php:29
|
1206 |
+
msgid "Your iubenda Javascript library public API key"
|
1207 |
+
msgstr "Votre clé publique d’API de la bibliothèque JavaScript de iubenda"
|
1208 |
+
|
1209 |
+
#: views/partials/modals/modal_pp_created.php:5
|
1210 |
+
msgid "Your privacy policy has been created!"
|
1211 |
+
msgstr "Votre politique de confidentialité a bien été créée !"
|
1212 |
+
|
1213 |
+
#: views/partials/header_scanned.php:3 views/partials/modals/modal_rating.php:6
|
1214 |
+
#: views/partials/siteInfo.php:20
|
1215 |
+
msgid "Your rating"
|
1216 |
+
msgstr "Votre note"
|
1217 |
+
|
1218 |
+
#: includes/QuickGeneratorService.php:111
|
1219 |
+
msgid ""
|
1220 |
+
"Your website has been created and your legal documents have been generated. "
|
1221 |
+
"Setup your cookie banner and privacy policy button to complete the "
|
1222 |
+
"integration."
|
1223 |
+
msgstr ""
|
1224 |
+
"Votre site web a été créé et vos documents juridiques ont été générés. "
|
1225 |
+
"Configurez votre bandeau cookies et le bouton menant vers votre politique de "
|
1226 |
+
"confidentialité afin de terminer l’installation."
|
languages/iubenda-it_IT.mo
ADDED
Binary file
|
languages/iubenda-it_IT.po
ADDED
@@ -0,0 +1,1205 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: \n"
|
4 |
+
"POT-Creation-Date: 2022-05-17 21:29+0200\n"
|
5 |
+
"PO-Revision-Date: 2022-08-05 18:49+0000\n"
|
6 |
+
"Last-Translator: \n"
|
7 |
+
"Language-Team: Italian\n"
|
8 |
+
"Language: it_IT\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
13 |
+
"X-Generator: Loco https://localise.biz/\n"
|
14 |
+
"X-Poedit-Basepath: ..\n"
|
15 |
+
"X-Poedit-KeywordsList: _e;__\n"
|
16 |
+
"X-Poedit-SearchPath-0: .\n"
|
17 |
+
"Report-Msgid-Bugs-To: \n"
|
18 |
+
"X-Loco-Version: 2.6.2; wp-6.0.1"
|
19 |
+
|
20 |
+
#: views/partials/modals/modal_almost_there.php:25
|
21 |
+
msgid "(required)"
|
22 |
+
msgstr "(consigliato)"
|
23 |
+
|
24 |
+
#: views/partials/buttonPosition.php:74
|
25 |
+
msgid ""
|
26 |
+
"A shortcode is a tiny bit of code that allows embedding interactive elements "
|
27 |
+
"or creating complex page layouts with a minimal effort.<br>Just copy and "
|
28 |
+
"paste the shortcode where you want the button to appear."
|
29 |
+
msgstr ""
|
30 |
+
"Uno shortcode è un piccolo pezzo di codice che consente di inserire elementi "
|
31 |
+
"interattivi o di creare layout di pagina complessi con uno sforzo minimo.<br>"
|
32 |
+
"Basta copiare e incollare lo shortcode nel punto in cui si desidera che "
|
33 |
+
"appaia il pulsante."
|
34 |
+
|
35 |
+
#: views/cons-configuration.php:17
|
36 |
+
msgid "Activate & Configure Consent Solution by"
|
37 |
+
msgstr "Attiva e configura la Consent Solution"
|
38 |
+
|
39 |
+
#: views/cons-configuration.php:14
|
40 |
+
msgid ""
|
41 |
+
"Activate <strong>Consent Solution</strong> on our website in your iubenda "
|
42 |
+
"dashboard and paste here the <strong>API key</strong> to integrate it on "
|
43 |
+
"your website."
|
44 |
+
msgstr ""
|
45 |
+
"Attiva la <strong>Consent Solution</strong> dalla tua dashboard iubenda e "
|
46 |
+
"incolla qui la <strong>chiave API</strong> per integrarla sul tuo sito web."
|
47 |
+
|
48 |
+
#: views/integrate-setup.php:21
|
49 |
+
msgid "Add a cookie banner"
|
50 |
+
msgstr "Aggiungi un cookie banner"
|
51 |
+
|
52 |
+
#: views/cons-configuration.php:44
|
53 |
+
msgid "Add forms"
|
54 |
+
msgstr "Aggiungi form"
|
55 |
+
|
56 |
+
#: views/cons-single-form.php:268
|
57 |
+
msgid "Add New Document"
|
58 |
+
msgstr "Aggiungi un nuovo documento"
|
59 |
+
|
60 |
+
#: views/cons-single-form.php:216
|
61 |
+
msgid "Add New Exclude"
|
62 |
+
msgstr "Aggiungi una nuova esclusione"
|
63 |
+
|
64 |
+
#: views/partials/csGeneralSettings.php:247
|
65 |
+
#: views/partials/csPluginSettings.php:133
|
66 |
+
msgid "Add New iframe"
|
67 |
+
msgstr "Aggiungi un nuovo iframe"
|
68 |
+
|
69 |
+
#: views/cons-single-form.php:155
|
70 |
+
msgid "Add New Preference"
|
71 |
+
msgstr "Aggiungi nuova preferenza"
|
72 |
+
|
73 |
+
#: views/partials/csGeneralSettings.php:212
|
74 |
+
#: views/partials/csPluginSettings.php:98
|
75 |
+
msgid "Add New Script"
|
76 |
+
msgstr "Aggiungi un nuovo script"
|
77 |
+
|
78 |
+
#: views/integrate-setup.php:140
|
79 |
+
msgid "Add the privacy policy button"
|
80 |
+
msgstr "Aggiungi il pulsante della privacy policy"
|
81 |
+
|
82 |
+
#: views/partials/buttonPosition.php:5 views/tc-configuration.php:61
|
83 |
+
msgid "Add to the footer automatically"
|
84 |
+
msgstr "Aggiungi automaticamente al footer"
|
85 |
+
|
86 |
+
#: includes/forms-list-table.php:279
|
87 |
+
msgid "All form sources"
|
88 |
+
msgstr "Tutte le fonti"
|
89 |
+
|
90 |
+
#: views/cons-single-form.php:250
|
91 |
+
msgid "Alternatively, you may add your own custom document identifiers."
|
92 |
+
msgstr "In alternativa, puoi aggiungere degli identificatori personalizzati."
|
93 |
+
|
94 |
+
#: includes/amp.php:281
|
95 |
+
msgid "AMP Cookie Consent"
|
96 |
+
msgstr "AMP Cookie Consent"
|
97 |
+
|
98 |
+
#: includes/settings.php:109 views/partials/csGeneralSettings.php:187
|
99 |
+
#: views/partials/csGeneralSettings.php:203
|
100 |
+
#: views/partials/csGeneralSettings.php:222
|
101 |
+
#: views/partials/csGeneralSettings.php:238
|
102 |
+
#: views/partials/csPluginSettings.php:73
|
103 |
+
#: views/partials/csPluginSettings.php:89
|
104 |
+
#: views/partials/csPluginSettings.php:108
|
105 |
+
#: views/partials/csPluginSettings.php:124
|
106 |
+
msgid "Analytics"
|
107 |
+
msgstr "Statistiche"
|
108 |
+
|
109 |
+
#: views/partials/frontpage_main_box.php:22
|
110 |
+
msgid "Analyzing your website"
|
111 |
+
msgstr "Stiamo analizzando il tuo sito"
|
112 |
+
|
113 |
+
#: views/cons-configuration.php:53
|
114 |
+
msgid "Auto-detect forms"
|
115 |
+
msgstr "Rileva automaticamente i form"
|
116 |
+
|
117 |
+
#: views/integrate-setup.php:36 views/partials/csGeneralSettings.php:77
|
118 |
+
msgid "Auto-generated configuration file"
|
119 |
+
msgstr "File di configurazione generato automaticamente"
|
120 |
+
|
121 |
+
#: views/cons-single-form.php:71
|
122 |
+
msgid "Autogenerated"
|
123 |
+
msgstr "Generato automaticamente"
|
124 |
+
|
125 |
+
#: views/integrate-setup.php:108 views/partials/csGeneralSettings.php:149
|
126 |
+
#: views/partials/csPluginSettings.php:4
|
127 |
+
msgid "Automatically block scripts detected by the plugin"
|
128 |
+
msgstr "Blocca automaticamente gli script rilevati dal plugin"
|
129 |
+
|
130 |
+
#: views/partials/bannerPosition.php:41
|
131 |
+
msgid "Background-overlay"
|
132 |
+
msgstr "Oscura sfondo"
|
133 |
+
|
134 |
+
#: views/partials/csSimplifiedConfiguration.php:68
|
135 |
+
msgid "Banner buttons"
|
136 |
+
msgstr "Pulsanti del banner"
|
137 |
+
|
138 |
+
#: includes/settings.php:107
|
139 |
+
msgid "Basic interactions & functionalities"
|
140 |
+
msgstr "Interazioni e funzionalità semplici"
|
141 |
+
|
142 |
+
#: views/partials/csGeneralSettings.php:185
|
143 |
+
#: views/partials/csGeneralSettings.php:201
|
144 |
+
#: views/partials/csGeneralSettings.php:220
|
145 |
+
#: views/partials/csGeneralSettings.php:236
|
146 |
+
#: views/partials/csPluginSettings.php:71
|
147 |
+
#: views/partials/csPluginSettings.php:87
|
148 |
+
#: views/partials/csPluginSettings.php:106
|
149 |
+
#: views/partials/csPluginSettings.php:122
|
150 |
+
msgid "Basic interactions & functionalities"
|
151 |
+
msgstr "Interazioni e funzionalità semplici"
|
152 |
+
|
153 |
+
#: views/partials/csGeneralSettings.php:173
|
154 |
+
msgid "Blocked domains"
|
155 |
+
msgstr "Domini bloccati"
|
156 |
+
|
157 |
+
#: views/partials/csSimplifiedConfiguration.php:22
|
158 |
+
msgid "Both"
|
159 |
+
msgstr "Entrambi"
|
160 |
+
|
161 |
+
#: views/partials/buttonPosition.php:1 views/tc-configuration.php:57
|
162 |
+
msgid "Button position"
|
163 |
+
msgstr "Posizione del pulsante"
|
164 |
+
|
165 |
+
#: views/partials/buttonStyle.php:1 views/tc-configuration.php:32
|
166 |
+
msgid "Button style"
|
167 |
+
msgstr "Stile del pulsante"
|
168 |
+
|
169 |
+
#: views/cons-configuration.php:60 views/cons-single-form.php:277
|
170 |
+
#: views/cs-configuration.php:15 views/plugin-settings.php:44
|
171 |
+
#: views/pp-configuration.php:33 views/tc-configuration.php:131
|
172 |
+
msgid "Cancel"
|
173 |
+
msgstr "Annulla"
|
174 |
+
|
175 |
+
#: views/partials/csSimplifiedConfiguration.php:18
|
176 |
+
msgid "CCPA Only"
|
177 |
+
msgstr "Solo CCPA"
|
178 |
+
|
179 |
+
#: views/cons-configuration.php:18 views/partials/csManualConfiguration.php:6
|
180 |
+
#: views/tc-configuration.php:16
|
181 |
+
msgid "clicking here"
|
182 |
+
msgstr "cliccando qui"
|
183 |
+
|
184 |
+
#: views/partials/csGeneralSettings.php:2
|
185 |
+
msgid "Configuration"
|
186 |
+
msgstr "Configurazione"
|
187 |
+
|
188 |
+
#: views/partials/product-card.php:48
|
189 |
+
msgid "Configure"
|
190 |
+
msgstr "Configura"
|
191 |
+
|
192 |
+
#: views/partials/csManualConfiguration.php:5
|
193 |
+
msgid "Configure cookie banner by"
|
194 |
+
msgstr "Configura il tuo cookie banner"
|
195 |
+
|
196 |
+
#: views/tc-configuration.php:15
|
197 |
+
msgid "Configure terms and conditions by"
|
198 |
+
msgstr "Configura i termini e condizioni"
|
199 |
+
|
200 |
+
#: views/partials/csManualConfiguration.php:2
|
201 |
+
msgid ""
|
202 |
+
"Configure your cookie banner on our website and paste here the embed code to "
|
203 |
+
"integrate it to your website."
|
204 |
+
msgstr ""
|
205 |
+
"Configura il tuo cookie banner dal nostro sito e incolla qui il codice "
|
206 |
+
"d’integrazione per integrarlo sul tuo sito Webb."
|
207 |
+
|
208 |
+
#: views/tc-configuration.php:12
|
209 |
+
msgid ""
|
210 |
+
"Configure your terms and conditions on our website and paste here the embed "
|
211 |
+
"code to integrate the button on your website."
|
212 |
+
msgstr ""
|
213 |
+
"Configura i tuoi termini e condizioni sul nostro sito e incolla qui il "
|
214 |
+
"codice d’integrazione per integrare il pulsante sul tuo sito web."
|
215 |
+
|
216 |
+
#: views/cons-configuration.php:31
|
217 |
+
msgid "Confirm API"
|
218 |
+
msgstr "Conferma API"
|
219 |
+
|
220 |
+
#: includes/settings.php:97 includes/settings.php:430 includes/settings.php:441
|
221 |
+
#: includes/settings.php:1182
|
222 |
+
msgid "Consent Solution"
|
223 |
+
msgstr "Consent Solution"
|
224 |
+
|
225 |
+
#: views/partials/modals/modal_almost_there.php:37
|
226 |
+
msgid "Consent Solution API key"
|
227 |
+
msgstr "Chiave API della Consent Solution"
|
228 |
+
|
229 |
+
#: views/partials/modals/modal_select_language.php:54
|
230 |
+
msgid "Continue"
|
231 |
+
msgstr "Continua"
|
232 |
+
|
233 |
+
#: includes/settings.php:91 includes/settings.php:424
|
234 |
+
#: includes/settings.php:1162
|
235 |
+
msgid "Cookie Solution"
|
236 |
+
msgstr "Cookie Solution"
|
237 |
+
|
238 |
+
#: includes/QuickGeneratorService.php:625
|
239 |
+
#, php-format
|
240 |
+
msgid ""
|
241 |
+
"Currently, you do not have write permission for <i class=\"text-bold\">%s</i>"
|
242 |
+
". For instructions on how to fix this, please read <a class=\"link-"
|
243 |
+
"underline\" target=\"_blank\" href=\"%s\">our guide</a>."
|
244 |
+
msgstr ""
|
245 |
+
"Al momento, non disponi del permesso di scrittura per <i class=\"text-bold\">"
|
246 |
+
"%s</i>. Per sapere come risolvere, leggi <a class=\"link-underline\" "
|
247 |
+
"target=\\\"blank\\\" href=\\\"%s\\\">la nostra guida</a>."
|
248 |
+
|
249 |
+
#: views/integrate-setup.php:40 views/partials/csGeneralSettings.php:81
|
250 |
+
msgid "Custom configuration file"
|
251 |
+
msgstr "File di configurazione personalizzato"
|
252 |
+
|
253 |
+
#: views/partials/csGeneralSettings.php:177
|
254 |
+
#: views/partials/csPluginSettings.php:63
|
255 |
+
msgid "Custom iframes"
|
256 |
+
msgstr "iframe personalizzati"
|
257 |
+
|
258 |
+
#: views/partials/csGeneralSettings.php:176
|
259 |
+
#: views/partials/csPluginSettings.php:62
|
260 |
+
msgid "Custom scripts"
|
261 |
+
msgstr "Script personalizzati"
|
262 |
+
|
263 |
+
#: views/partials/csPluginSettings.php:59
|
264 |
+
msgid "Custom settings"
|
265 |
+
msgstr "Impostazioni personalizzate"
|
266 |
+
|
267 |
+
#: views/partials/bannerStyle.php:9 views/partials/buttonStyle.php:19
|
268 |
+
#: views/tc-configuration.php:50
|
269 |
+
msgid "Dark"
|
270 |
+
msgstr "Scuro"
|
271 |
+
|
272 |
+
#: includes/forms-list-table.php:90
|
273 |
+
msgid "Date"
|
274 |
+
msgstr "Data"
|
275 |
+
|
276 |
+
#: views/integrate-setup.php:73 views/integrate-setup.php:91
|
277 |
+
#: views/partials/csGeneralSettings.php:115
|
278 |
+
msgid "Default language"
|
279 |
+
msgstr "Lingua predefinita"
|
280 |
+
|
281 |
+
#: includes/forms-list-table.php:160
|
282 |
+
msgid "Delete"
|
283 |
+
msgstr "Elimina"
|
284 |
+
|
285 |
+
#: views/partials/csPluginSettings.php:41 views/plugin-settings.php:25
|
286 |
+
msgid "Delete all plugin data upon deactivation"
|
287 |
+
msgstr "Elimina tutti i dati del plugin al momento della disattivazione"
|
288 |
+
|
289 |
+
#: views/partials/csPluginSettings.php:33 views/plugin-settings.php:17
|
290 |
+
msgid "Do not run the plugin inside the RSS feed (recommended)"
|
291 |
+
msgstr "Non eseguire il plugin all’interno dei Feed RSS (consigliato)"
|
292 |
+
|
293 |
+
#: views/partials/csPluginSettings.php:37 views/plugin-settings.php:21
|
294 |
+
msgid "Do not run the plugin on POST requests (recommended)"
|
295 |
+
msgstr "Non eseguire il plugin per richieste POST (consigliato)"
|
296 |
+
|
297 |
+
#: views/partials/footer.php:5
|
298 |
+
msgid "Documentation"
|
299 |
+
msgstr "Documentazione"
|
300 |
+
|
301 |
+
#: includes/forms-list-table.php:159
|
302 |
+
msgid "Edit"
|
303 |
+
msgstr "Modifica"
|
304 |
+
|
305 |
+
#: views/integrate-setup.php:29 views/partials/csGeneralSettings.php:69
|
306 |
+
msgid "Enable Google AMP support"
|
307 |
+
msgstr "Abilita il supporto per l’AMP di Google"
|
308 |
+
|
309 |
+
#: views/partials/csSimplifiedConfiguration.php:88
|
310 |
+
msgid "Enable IAB Transparency and Consent Framework"
|
311 |
+
msgstr "Abilita il Transparency and Consent Framework di IAB"
|
312 |
+
|
313 |
+
#: views/integrate-setup.php:128 views/partials/csGeneralSettings.php:170
|
314 |
+
#: views/partials/csPluginSettings.php:24
|
315 |
+
msgid ""
|
316 |
+
"Enable this option to improve performance <strong>only</strong> if your site "
|
317 |
+
"does <strong>not</strong> use a cache system or a cache plugin and if you're "
|
318 |
+
"<strong>not</strong> collecting per-category consent. If you're in doubt, "
|
319 |
+
"keep this setting disabled"
|
320 |
+
msgstr ""
|
321 |
+
"Abilita quest’opzione per migliorare la performance <strong>solo</strong> se "
|
322 |
+
"il tuo sito <strong>non</strong> utilizza un sistema di cache o un plugin di "
|
323 |
+
"cache e se <strong>non</strong> raccogli il consenso per categoria. Se non "
|
324 |
+
"sei sicuro, mantieni quest’opzione disabilitata"
|
325 |
+
|
326 |
+
#: includes/settings.php:917
|
327 |
+
msgid "Enjoying the iubenda Cookie & Consent Solution Plugin?"
|
328 |
+
msgstr "Ti piace il plugin per la Cookie & Consent Solution di iubenda?"
|
329 |
+
|
330 |
+
#: views/partials/csGeneralSettings.php:216
|
331 |
+
#: views/partials/csGeneralSettings.php:232
|
332 |
+
#: views/partials/csPluginSettings.php:102
|
333 |
+
#: views/partials/csPluginSettings.php:118
|
334 |
+
msgid "Enter custom iframe"
|
335 |
+
msgstr "Inserisci iframe personalizzati"
|
336 |
+
|
337 |
+
#: views/partials/csGeneralSettings.php:181
|
338 |
+
#: views/partials/csGeneralSettings.php:197
|
339 |
+
#: views/partials/csPluginSettings.php:67
|
340 |
+
#: views/partials/csPluginSettings.php:83
|
341 |
+
msgid "Enter custom script"
|
342 |
+
msgstr "Inserisci script personalizzati "
|
343 |
+
|
344 |
+
#: views/cons-single-form.php:108 views/cons-single-form.php:133
|
345 |
+
#: views/cons-single-form.php:234 views/cons-single-form.php:244
|
346 |
+
#: views/cons-single-form.php:260
|
347 |
+
msgid "Enter field name"
|
348 |
+
msgstr "Aggiungi il nome di un campo"
|
349 |
+
|
350 |
+
#: views/partials/csSimplifiedConfiguration.php:59
|
351 |
+
msgid "EU Only"
|
352 |
+
msgstr "Solo UE"
|
353 |
+
|
354 |
+
#: views/cons-single-form.php:164
|
355 |
+
msgid "Exclude field"
|
356 |
+
msgstr "Campi esclusi"
|
357 |
+
|
358 |
+
#: views/cons-single-form.php:159
|
359 |
+
msgid "Exclude fields"
|
360 |
+
msgstr "Esclusioni"
|
361 |
+
|
362 |
+
#: views/cons-single-form.php:160
|
363 |
+
msgid ""
|
364 |
+
"Exclude fields allow you to create a list of fields that you would like to "
|
365 |
+
"exclude from your Consent Solution recorded proofs (for e.g. password or "
|
366 |
+
"other fields not related to the consent)."
|
367 |
+
msgstr ""
|
368 |
+
"Qui puoi creare una lista dei campi che desideri escludere dalle prove del "
|
369 |
+
"consenso memorizzate dalla Consent Solution (ad esempio, password o altri "
|
370 |
+
"campi non correlati)."
|
371 |
+
|
372 |
+
#: includes/settings.php:108 views/partials/csGeneralSettings.php:186
|
373 |
+
#: views/partials/csGeneralSettings.php:202
|
374 |
+
#: views/partials/csGeneralSettings.php:221
|
375 |
+
#: views/partials/csGeneralSettings.php:237
|
376 |
+
#: views/partials/csPluginSettings.php:72
|
377 |
+
#: views/partials/csPluginSettings.php:88
|
378 |
+
#: views/partials/csPluginSettings.php:107
|
379 |
+
#: views/partials/csPluginSettings.php:123
|
380 |
+
msgid "Experience enhancement"
|
381 |
+
msgstr "Miglioramento dell’esperienza"
|
382 |
+
|
383 |
+
#: views/partials/csSimplifiedConfiguration.php:72
|
384 |
+
msgid "Explicit Accept and Customize buttons"
|
385 |
+
msgstr "Mostra i pulsanti Accetta e Personalizza"
|
386 |
+
|
387 |
+
#: views/partials/csSimplifiedConfiguration.php:77
|
388 |
+
msgid "Explicit Reject button"
|
389 |
+
msgstr "Mostra il pulsante Rifiuta"
|
390 |
+
|
391 |
+
#: views/cons-single-form.php:12
|
392 |
+
msgid "Field Mapping"
|
393 |
+
msgstr "Mapping dei campi"
|
394 |
+
|
395 |
+
#: includes/forms-list-table.php:89
|
396 |
+
msgid "Fields"
|
397 |
+
msgstr "Campi"
|
398 |
+
|
399 |
+
#: includes/forms-list-table.php:260
|
400 |
+
msgid "Filter"
|
401 |
+
msgstr "Filtra"
|
402 |
+
|
403 |
+
#: includes/forms-list-table.php:277
|
404 |
+
msgid "Filter by source"
|
405 |
+
msgstr "Filtra per fonte"
|
406 |
+
|
407 |
+
#: includes/forms.php:579 includes/forms.php:593
|
408 |
+
msgid "First name"
|
409 |
+
msgstr "Nome"
|
410 |
+
|
411 |
+
#: views/partials/modals/modal_sync.php:4
|
412 |
+
msgid ""
|
413 |
+
"First of all, tell us if you already use our products for this website or if "
|
414 |
+
"you want to start from scratch"
|
415 |
+
msgstr ""
|
416 |
+
"Per prima cosa, dicci se utilizzi già i nostri prodotti per questo sito o se "
|
417 |
+
"desideri iniziare da zero"
|
418 |
+
|
419 |
+
#: includes/forms.php:153
|
420 |
+
msgid "Form"
|
421 |
+
msgstr "Form"
|
422 |
+
|
423 |
+
#: views/cons-single-form.php:66 views/cons-single-form.php:103
|
424 |
+
msgid "Form field"
|
425 |
+
msgstr "Campo del form"
|
426 |
+
|
427 |
+
#: includes/forms-list-table.php:87
|
428 |
+
msgid "Form ID"
|
429 |
+
msgstr "ID del form"
|
430 |
+
|
431 |
+
#: includes/settings.php:701
|
432 |
+
msgid "Form saving failed. Please fill the Subject fields."
|
433 |
+
msgstr "Salvataggio del form fallito. Compila i campi Utente e Preferenze."
|
434 |
+
|
435 |
+
#: includes/forms-list-table.php:88
|
436 |
+
msgid "Form Source"
|
437 |
+
msgstr "Fonte"
|
438 |
+
|
439 |
+
#: includes/forms-list-table.php:86
|
440 |
+
msgid "Form Title"
|
441 |
+
msgstr "Nome del form"
|
442 |
+
|
443 |
+
#: includes/forms.php:152
|
444 |
+
msgid "Forms"
|
445 |
+
msgstr "Form"
|
446 |
+
|
447 |
+
#: views/partials/modals/modal_pp_created.php:7
|
448 |
+
msgid ""
|
449 |
+
"From here you can customize your privacy policy by adding the services you "
|
450 |
+
"use within your website or you can customize the style of the button that "
|
451 |
+
"displays your privacy policy."
|
452 |
+
msgstr ""
|
453 |
+
"Da qui, puoi personalizzare la tua privacy policy aggiungendo i servizi che "
|
454 |
+
"utilizzi per il tuo sito web, o puoi personalizzare lo stile del pulsante "
|
455 |
+
"che mostra la tua privacy policy."
|
456 |
+
|
457 |
+
#: views/partials/csSimplifiedConfiguration.php:14
|
458 |
+
msgid "GDPR Only"
|
459 |
+
msgstr "Solo GDPR"
|
460 |
+
|
461 |
+
#: views/partials/modals/modal_pp_created.php:9
|
462 |
+
msgid "Got it"
|
463 |
+
msgstr "Capito"
|
464 |
+
|
465 |
+
#: views/frontpage.php:9
|
466 |
+
msgid "Help me get compliant!"
|
467 |
+
msgstr "Aiutami a diventare conforme!"
|
468 |
+
|
469 |
+
#: views/partials/modals/modal_rating.php:11
|
470 |
+
msgid "Here’s how we calculate your rating."
|
471 |
+
msgstr "Ecco come calcoliamo il tuo indice di conformità."
|
472 |
+
|
473 |
+
#: views/partials/siteInfo.php:21
|
474 |
+
msgid "How is it calculated?"
|
475 |
+
msgstr "Come viene calcolato?"
|
476 |
+
|
477 |
+
#: views/partials/buttonPosition.php:37 views/tc-configuration.php:92
|
478 |
+
msgid "HTML"
|
479 |
+
msgstr "HTML"
|
480 |
+
|
481 |
+
#: views/partials/modals/modal_no_website_found.php:11
|
482 |
+
#: views/partials/modals/modal_sync.php:8
|
483 |
+
msgid "I want to start from scratch"
|
484 |
+
msgstr "Voglio iniziare da zero"
|
485 |
+
|
486 |
+
#: views/cons-single-form.php:225
|
487 |
+
msgid "Identifier"
|
488 |
+
msgstr "Identificatore"
|
489 |
+
|
490 |
+
#: views/cons-single-form.php:222
|
491 |
+
msgid ""
|
492 |
+
"In general, it's important that you declare which legal documents are being "
|
493 |
+
"agreed upon when each consent is collected. However, if you use iubenda for "
|
494 |
+
"your legal documents, it is *required* that you identify the documents by "
|
495 |
+
"selecting them here."
|
496 |
+
msgstr ""
|
497 |
+
"In generale, è importante dichiarare quali documenti legali vengono "
|
498 |
+
"accettati al momento del conferimento del consenso. Se usi iubenda per le "
|
499 |
+
"tue informative, *devi* identificare tali documenti selezionandoli qui."
|
500 |
+
|
501 |
+
#: views/partials/integrateFooter.php:4
|
502 |
+
msgid "Integrate"
|
503 |
+
msgstr "Integra"
|
504 |
+
|
505 |
+
#: views/partials/buttonPosition.php:10 views/tc-configuration.php:65
|
506 |
+
msgid "Integrate manually"
|
507 |
+
msgstr "Integra manualmente"
|
508 |
+
|
509 |
+
#: views/pp-configuration.php:26 views/tc-configuration.php:30
|
510 |
+
msgid "Integration"
|
511 |
+
msgstr "Integrazione"
|
512 |
+
|
513 |
+
#: views/partials/modals/modal_no_website_found.php:8
|
514 |
+
msgid ""
|
515 |
+
"It seems that it is not possible to access your data with the code you "
|
516 |
+
"pasted, do you want to try again or do you prefer to start configuring your "
|
517 |
+
"website from scratch?"
|
518 |
+
msgstr ""
|
519 |
+
"Sembra che non sia possibile accedere ai tuoi dati con il codice che hai "
|
520 |
+
"inserito. Vuoi provare un’altra volta o preferisci iniziare a configurare il "
|
521 |
+
"tuo sito web da zero?"
|
522 |
+
|
523 |
+
#: views/partials/modals/modal_ops_embed_invalid.php:8
|
524 |
+
msgid ""
|
525 |
+
"It seems that it is not possible to access your data with the code you "
|
526 |
+
"pasted, do you want to try again."
|
527 |
+
msgstr ""
|
528 |
+
"Sembra che non sia possibile accedere ai tuoi dati con il codice che hai "
|
529 |
+
"inserito. Vuoi provare un’altra volta?"
|
530 |
+
|
531 |
+
#: views/products-page.php:15
|
532 |
+
msgid ""
|
533 |
+
"It seems that you have not activated any of our services, we recommend you "
|
534 |
+
"to activate them and increase your level of compliance and avoid risking "
|
535 |
+
"fines."
|
536 |
+
msgstr ""
|
537 |
+
"Sembra che tu non abbia attivato nessuno dei nostri servizi. Ti consigliamo "
|
538 |
+
"di attivarli per aumentare il tuo tasso di conformità ed evitare di esporti "
|
539 |
+
"a sanzioni."
|
540 |
+
|
541 |
+
#: includes/widget/IubendaLegalWidget.php:18
|
542 |
+
msgid "Iubenda legal"
|
543 |
+
msgstr "Documenti iubenda"
|
544 |
+
|
545 |
+
#: assets/js/legal_block.js:15 assets/js/legal_block.js:32
|
546 |
+
msgid "Iubenda legal block"
|
547 |
+
msgstr "Iubenda legal block"
|
548 |
+
|
549 |
+
#: includes/widget/IubendaLegalWidget.php:21
|
550 |
+
msgid "Iubenda legal widget for Privacy Policy and Terms & Conditions"
|
551 |
+
msgstr "Il widget legale di iubenda per privacy policy e termini e condizioni"
|
552 |
+
|
553 |
+
#: views/partials/modals/modal_sync.php:6
|
554 |
+
msgid "I’ve already made the set up on iubenda.com"
|
555 |
+
msgstr "Ho già effettuato la configurazione su iubenda.com"
|
556 |
+
|
557 |
+
#: includes/forms.php:585 includes/forms.php:605
|
558 |
+
msgid "Last name"
|
559 |
+
msgstr "Cognome"
|
560 |
+
|
561 |
+
#: views/integrate-setup.php:85 views/partials/csGeneralSettings.php:127
|
562 |
+
msgid "Learn how to fix it"
|
563 |
+
msgstr "Ecco come risolvere"
|
564 |
+
|
565 |
+
#: views/partials/csSimplifiedConfiguration.php:88
|
566 |
+
#: views/partials/modals/modal_rating.php:22
|
567 |
+
msgid "Learn More"
|
568 |
+
msgstr "Scopri di più"
|
569 |
+
|
570 |
+
#: views/integrate-setup.php:126 views/partials/csGeneralSettings.php:168
|
571 |
+
#: views/partials/csPluginSettings.php:22
|
572 |
+
msgid ""
|
573 |
+
"Leave scripts untouched on the page if the user has already given consent"
|
574 |
+
msgstr ""
|
575 |
+
"Lascia gli script intatti sulla pagina se l’utente ha già prestato il "
|
576 |
+
"consenso"
|
577 |
+
|
578 |
+
#: assets/js/legal_block.js:21 includes/block/IubendaLegalBlock.php:255
|
579 |
+
#: includes/widget/IubendaLegalWidget.php:167
|
580 |
+
msgid "Legal"
|
581 |
+
msgstr "Documenti e contatti"
|
582 |
+
|
583 |
+
#: views/cons-single-form.php:221
|
584 |
+
msgid "Legal documents"
|
585 |
+
msgstr "Documenti legali"
|
586 |
+
|
587 |
+
#: views/partials/csSimplifiedConfiguration.php:9
|
588 |
+
msgid "Legislation"
|
589 |
+
msgstr "Legislazione"
|
590 |
+
|
591 |
+
#: includes/settings.php:1116 includes/settings.php:1138
|
592 |
+
msgid "legislation"
|
593 |
+
msgstr "legislazione"
|
594 |
+
|
595 |
+
#: views/frontpage.php:8
|
596 |
+
msgid "Let's configure your website for compliance."
|
597 |
+
msgstr "Rendiamo il tuo sito conforme."
|
598 |
+
|
599 |
+
#: views/partials/bannerStyle.php:15 views/partials/buttonStyle.php:10
|
600 |
+
#: views/tc-configuration.php:41
|
601 |
+
msgid "Light"
|
602 |
+
msgstr "Chiaro"
|
603 |
+
|
604 |
+
#: views/partials/csGeneralSettings.php:35
|
605 |
+
#: views/partials/csGeneralSettings.php:42
|
606 |
+
msgid "Manual embed"
|
607 |
+
msgstr "Integrazione manuale"
|
608 |
+
|
609 |
+
#: views/cons-single-form.php:44
|
610 |
+
msgid "Map fields"
|
611 |
+
msgstr "Mappa i campi"
|
612 |
+
|
613 |
+
#: views/partials/csPluginSettings.php:45 views/plugin-settings.php:28
|
614 |
+
msgid "Menu position"
|
615 |
+
msgstr "Posizione menù"
|
616 |
+
|
617 |
+
#: includes/forms.php:599
|
618 |
+
msgid "Middle name"
|
619 |
+
msgstr "Secondo nome"
|
620 |
+
|
621 |
+
#: views/partials/modals/modal_almost_there.php:5
|
622 |
+
msgid "Nice! We are almost there."
|
623 |
+
msgstr "Perfetto! Ci siamo quasi."
|
624 |
+
|
625 |
+
#: includes/settings.php:920
|
626 |
+
msgid "No"
|
627 |
+
msgstr "No"
|
628 |
+
|
629 |
+
#: views/integrate-setup.php:49 views/partials/csGeneralSettings.php:91
|
630 |
+
msgid ""
|
631 |
+
"No file available. Save changes to generate iubenda AMP configuration file."
|
632 |
+
msgstr ""
|
633 |
+
"Nessun file disponibile. Salva le modifiche per generare un file di "
|
634 |
+
"configurazione per l’AMP di iubenda."
|
635 |
+
|
636 |
+
#: includes/forms-list-table.php:347
|
637 |
+
msgid "No forms found."
|
638 |
+
msgstr "Nessun form trovato."
|
639 |
+
|
640 |
+
#: includes/settings.php:927 includes/settings.php:934
|
641 |
+
msgid "No thanks"
|
642 |
+
msgstr "No, grazie"
|
643 |
+
|
644 |
+
#: views/cons-single-form.php:71
|
645 |
+
msgid "None"
|
646 |
+
msgstr "Nessuno"
|
647 |
+
|
648 |
+
#: includes/settings.php:105 views/partials/csGeneralSettings.php:183
|
649 |
+
#: views/partials/csGeneralSettings.php:199
|
650 |
+
#: views/partials/csGeneralSettings.php:218
|
651 |
+
#: views/partials/csGeneralSettings.php:234
|
652 |
+
#: views/partials/csPluginSettings.php:69
|
653 |
+
#: views/partials/csPluginSettings.php:85
|
654 |
+
#: views/partials/csPluginSettings.php:104
|
655 |
+
#: views/partials/csPluginSettings.php:120
|
656 |
+
msgid "Not set"
|
657 |
+
msgstr "Non specificata"
|
658 |
+
|
659 |
+
#: views/partials/modals/modal_select_language.php:4
|
660 |
+
msgid "Now, select your website language"
|
661 |
+
msgstr "Ora seleziona la lingua del tuo sito"
|
662 |
+
|
663 |
+
#: includes/settings.php:933
|
664 |
+
msgid "Ok sure!"
|
665 |
+
msgstr "Certo!"
|
666 |
+
|
667 |
+
#: includes/ServiceRating.php:103
|
668 |
+
msgid "Only track users that give consent"
|
669 |
+
msgstr "Traccia solo gli utenti che hanno prestato il consenso"
|
670 |
+
|
671 |
+
#: views/partials/modals/modal_no_website_found.php:6
|
672 |
+
#: views/partials/modals/modal_ops_embed_invalid.php:6
|
673 |
+
msgid "Ooops! <br> No website found with this embed code."
|
674 |
+
msgstr ""
|
675 |
+
"Ops! <br> Non abbiamo trovato nessun sito con questo codice d’integrazione."
|
676 |
+
|
677 |
+
#: views/partials/modals/modal_sync.php:7
|
678 |
+
msgid "or"
|
679 |
+
msgstr "o"
|
680 |
+
|
681 |
+
#: views/partials/csSimplifiedConfiguration.php:83
|
682 |
+
msgid "Other options"
|
683 |
+
msgstr "Altre opzioni"
|
684 |
+
|
685 |
+
#: views/partials/welcomeScreenHeader.php:3
|
686 |
+
msgid "Our plugin will help you to make your website compliant in minutes."
|
687 |
+
msgstr ""
|
688 |
+
"Il nostro plugin ti aiuterà a rendere il tuo sito conforme in pochi minuti."
|
689 |
+
|
690 |
+
#: includes/QuickGeneratorService.php:137
|
691 |
+
msgid ""
|
692 |
+
"Our products has been integrated successfully, now customize all products to "
|
693 |
+
"increase the compliance rating and make your website fully compliant."
|
694 |
+
msgstr ""
|
695 |
+
"I nostri prodotti sono stati integrati correttamente. Ora personalizzali, "
|
696 |
+
"per aumentare il tasso di conformità e rendere il tuo sito pienamente "
|
697 |
+
"conforme."
|
698 |
+
|
699 |
+
#: views/partials/modals/modal_almost_there.php:39
|
700 |
+
msgid "Paste your API key here"
|
701 |
+
msgstr "Incolla la tua chiave API qui"
|
702 |
+
|
703 |
+
#: views/partials/csManualConfiguration.php:11
|
704 |
+
msgid "Paste your cookie solution embed code here"
|
705 |
+
msgstr "Incolla qui il codice d’integrazione della tua Cookie Solution"
|
706 |
+
|
707 |
+
#: views/partials/languagesTabs.php:21
|
708 |
+
msgid "Paste your embed code here"
|
709 |
+
msgstr "Incolla qui il tuo codice d’integrazione"
|
710 |
+
|
711 |
+
#: views/cons-configuration.php:23
|
712 |
+
msgid "Paste your public API key here"
|
713 |
+
msgstr "Incolla qui la tua chiave API pubblica"
|
714 |
+
|
715 |
+
#: views/tc-configuration.php:21
|
716 |
+
msgid "Paste your terms and conditions embed code here"
|
717 |
+
msgstr "Incolla qui il codice d’integrazione dei tuoi termini e condizioni"
|
718 |
+
|
719 |
+
#: includes/settings.php:628
|
720 |
+
#, php-format
|
721 |
+
msgid ""
|
722 |
+
"Please enable comments cookies opt-in checkbox in the <a href=\"%s\" "
|
723 |
+
"target=\"_blank\">Discussion settings</a>."
|
724 |
+
msgstr ""
|
725 |
+
"Abilita per i commenti la possibilità di attivare o disattivare la "
|
726 |
+
"memorizzazione dei dati personali in un cookie. Per farlo, vai su <a "
|
727 |
+
"href=\"%s\" target=\"_blank\">Impostazioni discussione</a>."
|
728 |
+
|
729 |
+
#: views/cons-single-form.php:234
|
730 |
+
msgid "Please select each legal document available on your site."
|
731 |
+
msgstr "Seleziona tutti i documenti legali presenti sul tuo sito."
|
732 |
+
|
733 |
+
#: includes/settings.php:402 views/partials/siteInfo.php:14
|
734 |
+
msgid "Plugin settings"
|
735 |
+
msgstr "Impostazioni del plugin"
|
736 |
+
|
737 |
+
#: includes/settings.php:1115 includes/settings.php:1137
|
738 |
+
#: includes/settings.php:1156 includes/settings.php:1176
|
739 |
+
#: views/partials/bannerPosition.php:20
|
740 |
+
msgid "Position"
|
741 |
+
msgstr "Posizione"
|
742 |
+
|
743 |
+
#: views/cons-single-form.php:102
|
744 |
+
msgid "Preferences field"
|
745 |
+
msgstr "Campo delle preferenze"
|
746 |
+
|
747 |
+
#: views/cons-single-form.php:98
|
748 |
+
msgid "Preferences fields"
|
749 |
+
msgstr "Preferenze"
|
750 |
+
|
751 |
+
#: views/cons-single-form.php:99
|
752 |
+
msgid ""
|
753 |
+
"Preferences fields allow you to store a record of the various opt-ins points "
|
754 |
+
"at which the user has agreed or given consent, such as fields for agreeing "
|
755 |
+
"to terms and conditions, newsletter, profiling, etc."
|
756 |
+
msgstr ""
|
757 |
+
"Questi campi ti permettono di memorizzare a cosa l’utente ha prestato il "
|
758 |
+
"proprio consenso, come ad esempio i termini e condizioni, la newsletter la "
|
759 |
+
"profilazione, ecc."
|
760 |
+
|
761 |
+
#: views/integrate-setup.php:114 views/partials/csGeneralSettings.php:157
|
762 |
+
#: views/partials/csPluginSettings.php:10
|
763 |
+
msgid "Primary"
|
764 |
+
msgstr "Primario"
|
765 |
+
|
766 |
+
#: includes/settings.php:418 includes/settings.php:1150
|
767 |
+
msgid "Privacy and Cookie Policy"
|
768 |
+
msgstr "Privacy e Cookie Policy"
|
769 |
+
|
770 |
+
#: includes/PrivacyPolicyGenerator.php:23
|
771 |
+
msgid "Privacy Policy"
|
772 |
+
msgstr "Privacy policy"
|
773 |
+
|
774 |
+
#: views/partials/breadcrumb.php:2
|
775 |
+
msgid "Products"
|
776 |
+
msgstr "Prodotti"
|
777 |
+
|
778 |
+
#: views/partials/csGeneralSettings.php:246
|
779 |
+
#: views/partials/csPluginSettings.php:132
|
780 |
+
msgid ""
|
781 |
+
"Provide a list of domains for any custom iframes you'd like to block, and "
|
782 |
+
"assign their purposes. To make sure they are blocked correctly, please add "
|
783 |
+
"domains in the same format as 'example.com', without any protocols e.g. "
|
784 |
+
"'http://' or 'https://'. You may also use wildcards (*) to include parent "
|
785 |
+
"domains or subdomains."
|
786 |
+
msgstr ""
|
787 |
+
"Fornisci una lista di domini per ogni iframe personalizzato che desideri "
|
788 |
+
"bloccare e assegna loro una finalità. Per assicurarti di averli bloccati "
|
789 |
+
"correttamente, inserisci i domini nello stesso formato di 'exmpale.com', "
|
790 |
+
"senza alcun protocollo (ad esempio, 'http://' o 'https://'). Puoi anche "
|
791 |
+
"utilizzare dei metacaratteri (*) per includere i domini principali o i "
|
792 |
+
"sottodomini."
|
793 |
+
|
794 |
+
#: views/partials/csGeneralSettings.php:211
|
795 |
+
#: views/partials/csPluginSettings.php:97
|
796 |
+
msgid ""
|
797 |
+
"Provide a list of domains for any custom scripts you'd like to block, and "
|
798 |
+
"assign their purposes. To make sure they are blocked correctly, please add "
|
799 |
+
"domains in the same format as 'example.com', without any protocols e.g. "
|
800 |
+
"'http://' or 'https://'. You may also use wildcards (*) to include parent "
|
801 |
+
"domains or subdomains."
|
802 |
+
msgstr ""
|
803 |
+
"Fornisci una lista di domini per ogni script personalizzato che desideri "
|
804 |
+
"bloccare e assegna loro una finalità. Per assicurarti di averli bloccati "
|
805 |
+
"correttamente, inserisci i domini nello stesso formato di 'example.com', "
|
806 |
+
"senza alcun protocollo (ad esempio, 'http://' o 'https://'). Puoi anche "
|
807 |
+
"utilizzare dei metacaratteri (*) per includere i domini principali o i "
|
808 |
+
"sottodomini."
|
809 |
+
|
810 |
+
#: views/cons-single-form.php:122 views/cons-single-form.php:148
|
811 |
+
#: views/cons-single-form.php:183 views/cons-single-form.php:207
|
812 |
+
#: views/cons-single-form.php:244 views/cons-single-form.php:260
|
813 |
+
msgid "Remove"
|
814 |
+
msgstr "Elimina"
|
815 |
+
|
816 |
+
#: views/partials/csSimplifiedConfiguration.php:29
|
817 |
+
msgid "Require consent from"
|
818 |
+
msgstr "Richiedi il consenso da"
|
819 |
+
|
820 |
+
#: views/partials/integrateFooter.php:3
|
821 |
+
msgid "Reset settings"
|
822 |
+
msgstr "Ripristina le impostazioni"
|
823 |
+
|
824 |
+
#: views/partials/csPluginSettings.php:29 views/plugin-settings.php:13
|
825 |
+
msgid ""
|
826 |
+
"Restrict the plugin to run only for requests that have \"Content-type: text "
|
827 |
+
"/ html\" (recommended)"
|
828 |
+
msgstr ""
|
829 |
+
"Restringi l’esecuzione del plugin alle sole richieste che presentano "
|
830 |
+
"“Content-type: text/html” (consigliato)"
|
831 |
+
|
832 |
+
#: views/cons-configuration.php:62 views/cons-single-form.php:279
|
833 |
+
#: views/cs-configuration.php:17 views/plugin-settings.php:46
|
834 |
+
#: views/pp-configuration.php:35 views/tc-configuration.php:133
|
835 |
+
msgid "Save settings"
|
836 |
+
msgstr "Salva le impostazioni"
|
837 |
+
|
838 |
+
#: views/integrate-setup.php:118 views/partials/csGeneralSettings.php:161
|
839 |
+
#: views/partials/csPluginSettings.php:14
|
840 |
+
msgid "Secondary"
|
841 |
+
msgstr "Secondario"
|
842 |
+
|
843 |
+
#: views/integrate-setup.php:85 views/partials/csGeneralSettings.php:127
|
844 |
+
msgid ""
|
845 |
+
"Seeing the AMP cookie notice when testing from Google but not when visiting "
|
846 |
+
"your AMP pages directly?"
|
847 |
+
msgstr ""
|
848 |
+
"Riesci a vedere il cookie banner AMP effettuando dei test da Google ma non "
|
849 |
+
"quando visiti la tua pagina AMP direttamente?"
|
850 |
+
|
851 |
+
#: includes/forms-list-table.php:376
|
852 |
+
msgid "Select All"
|
853 |
+
msgstr "Seleziona tutto"
|
854 |
+
|
855 |
+
#: views/integrate-setup.php:121 views/partials/csGeneralSettings.php:153
|
856 |
+
#: views/partials/csPluginSettings.php:17
|
857 |
+
msgid "Select Parsing Engine"
|
858 |
+
msgstr "Seleziona il motore di parsing"
|
859 |
+
|
860 |
+
#: views/partials/modals/modal_almost_there.php:13
|
861 |
+
msgid "Select products you have already activated"
|
862 |
+
msgstr "Seleziona i prodotti che hai già attivato"
|
863 |
+
|
864 |
+
#: views/integrate-setup.php:32 views/partials/csGeneralSettings.php:73
|
865 |
+
msgid "Select the iubenda AMP configuration file location."
|
866 |
+
msgstr "Seleziona la posizione del file della configurazione AMP di iubenda."
|
867 |
+
|
868 |
+
#: views/partials/csPluginSettings.php:56 views/plugin-settings.php:39
|
869 |
+
msgid ""
|
870 |
+
"Select whether to display iubenda in a top admin menu or the Settings "
|
871 |
+
"submenu."
|
872 |
+
msgstr ""
|
873 |
+
"Scegli se visualizzare iubenda in una voce di menù principale del pannello "
|
874 |
+
"admin o in un sottomenù della scheda Impostazioni."
|
875 |
+
|
876 |
+
#: views/partials/product-card.php:46
|
877 |
+
msgid "Service off"
|
878 |
+
msgstr "Servizio disattivo "
|
879 |
+
|
880 |
+
#: views/partials/product-card.php:46
|
881 |
+
#| msgid "Service"
|
882 |
+
msgid "Service on"
|
883 |
+
msgstr "Servizio attivo"
|
884 |
+
|
885 |
+
#: includes/ServiceRating.php:98
|
886 |
+
msgid "Set up a cookie banner"
|
887 |
+
msgstr "Configura un cookie banner"
|
888 |
+
|
889 |
+
#: includes/ServiceRating.php:108
|
890 |
+
msgid "Set up a privacy policy"
|
891 |
+
msgstr "Configura una privacy policy"
|
892 |
+
|
893 |
+
#: includes/ServiceRating.php:113
|
894 |
+
msgid "Set up terms and conditions"
|
895 |
+
msgstr "Configura termini e condizioni"
|
896 |
+
|
897 |
+
#: includes/settings.php:749
|
898 |
+
msgid "Settings saved."
|
899 |
+
msgstr "Impostazioni salvate."
|
900 |
+
|
901 |
+
#: views/pp-configuration.php:22
|
902 |
+
msgid "Setup your privacy and cookie policy on iubenda.com"
|
903 |
+
msgstr "Configura la tua privacy e cookie policy su iubenda.com"
|
904 |
+
|
905 |
+
#: views/partials/buttonPosition.php:73 views/tc-configuration.php:117
|
906 |
+
msgid "Shortcode"
|
907 |
+
msgstr "Shortcode"
|
908 |
+
|
909 |
+
#: views/partials/csGeneralSettings.php:14
|
910 |
+
#: views/partials/csGeneralSettings.php:23
|
911 |
+
msgid "Simplified"
|
912 |
+
msgstr "Semplificata"
|
913 |
+
|
914 |
+
#: views/partials/modals/modal_almost_there.php:6
|
915 |
+
msgid ""
|
916 |
+
"Since you already activated some products for this website, we just ask you "
|
917 |
+
"to copy and paste the embedding code of the product you already have to "
|
918 |
+
"syncronize your iubenda acount with WP plugin."
|
919 |
+
msgstr ""
|
920 |
+
"Visto che hai già attivato alcuni prodotti per questo sito web, ti chiediamo "
|
921 |
+
"di copiare e incollare il codice d’integrazione del prodotto che hai già "
|
922 |
+
"attivato per sincronizzare il tuo account iubenda con il plugin WP."
|
923 |
+
|
924 |
+
#: views/cons-single-form.php:48
|
925 |
+
msgid "Status"
|
926 |
+
msgstr "Stato"
|
927 |
+
|
928 |
+
#: includes/settings.php:106 views/partials/csGeneralSettings.php:184
|
929 |
+
#: views/partials/csGeneralSettings.php:200
|
930 |
+
#: views/partials/csGeneralSettings.php:219
|
931 |
+
#: views/partials/csGeneralSettings.php:235
|
932 |
+
#: views/partials/csPluginSettings.php:70
|
933 |
+
#: views/partials/csPluginSettings.php:86
|
934 |
+
#: views/partials/csPluginSettings.php:105
|
935 |
+
#: views/partials/csPluginSettings.php:121
|
936 |
+
msgid "Strictly necessary"
|
937 |
+
msgstr "Strettamente necessari"
|
938 |
+
|
939 |
+
#: includes/settings.php:75 includes/settings.php:76 includes/settings.php:77
|
940 |
+
#: includes/settings.php:78 includes/settings.php:79
|
941 |
+
msgid "string"
|
942 |
+
msgstr "stringa"
|
943 |
+
|
944 |
+
#: includes/settings.php:1114 includes/settings.php:1136
|
945 |
+
#: includes/settings.php:1155 includes/settings.php:1175
|
946 |
+
msgid "Style"
|
947 |
+
msgstr "Stile"
|
948 |
+
|
949 |
+
#: views/cons-single-form.php:65
|
950 |
+
msgid "Subject field"
|
951 |
+
msgstr "Attributo"
|
952 |
+
|
953 |
+
#: views/cons-single-form.php:61
|
954 |
+
msgid "Subject fields"
|
955 |
+
msgstr "Utente"
|
956 |
+
|
957 |
+
#: views/cons-single-form.php:62
|
958 |
+
msgid ""
|
959 |
+
"Subject fields allow you to store a series of identifying values about your "
|
960 |
+
"individual subjects/users. Please map the subject field with the "
|
961 |
+
"corresponding form fields where applicable."
|
962 |
+
msgstr ""
|
963 |
+
"Questi campi ti permettono di memorizzare una serie di valori identificativi "
|
964 |
+
"dell’utente. Associa gli attributi dell’utente ai corrispondenti campi del "
|
965 |
+
"form (quando applicabile)."
|
966 |
+
|
967 |
+
#: views/partials/csPluginSettings.php:53 views/plugin-settings.php:36
|
968 |
+
msgid "Submenu"
|
969 |
+
msgstr "Sottomenù"
|
970 |
+
|
971 |
+
#: includes/settings.php:926
|
972 |
+
msgid "Sure!"
|
973 |
+
msgstr "Certo!"
|
974 |
+
|
975 |
+
#: views/partials/modals/modal_almost_there.php:75
|
976 |
+
msgid "Synchronize products"
|
977 |
+
msgstr "Sincronizza i prodotti"
|
978 |
+
|
979 |
+
#: includes/settings.php:110
|
980 |
+
msgid "Targeting & Advertising"
|
981 |
+
msgstr "Targeting e Pubblicità"
|
982 |
+
|
983 |
+
#: views/partials/csGeneralSettings.php:188
|
984 |
+
#: views/partials/csGeneralSettings.php:204
|
985 |
+
#: views/partials/csGeneralSettings.php:223
|
986 |
+
#: views/partials/csGeneralSettings.php:239
|
987 |
+
#: views/partials/csPluginSettings.php:74
|
988 |
+
#: views/partials/csPluginSettings.php:90
|
989 |
+
#: views/partials/csPluginSettings.php:109
|
990 |
+
#: views/partials/csPluginSettings.php:125
|
991 |
+
msgid "Targeting & Advertising"
|
992 |
+
msgstr "Targeting e Pubblicità"
|
993 |
+
|
994 |
+
#: includes/settings.php:412
|
995 |
+
msgid "Terms and condition"
|
996 |
+
msgstr "Termini e condizioni"
|
997 |
+
|
998 |
+
#: includes/settings.php:1170
|
999 |
+
msgid "Terms and Conditions"
|
1000 |
+
msgstr "Termini e Condizioni"
|
1001 |
+
|
1002 |
+
#: views/partials/bannerStyle.php:2
|
1003 |
+
msgid "Theme"
|
1004 |
+
msgstr "Tema"
|
1005 |
+
|
1006 |
+
#: includes/ServiceRating.php:109
|
1007 |
+
#, php-format
|
1008 |
+
msgid ""
|
1009 |
+
"This accounts for 25% of your score. A privacy policy is a requirement "
|
1010 |
+
"under most privacy laws around the world. This document typically includes "
|
1011 |
+
"legally required disclosures about the type of personal data you process, "
|
1012 |
+
"why you need to process it, how the processing is done and the user’s rights "
|
1013 |
+
"under applicable law."
|
1014 |
+
msgstr ""
|
1015 |
+
"Questa voce rappresenta il 25% del tuo punteggio. La privacy policy è un "
|
1016 |
+
"requisito di molte leggi sulla privacy internazionali. Questo documento di "
|
1017 |
+
"solito include le informazioni obbligatorie sul tipo di dati personali "
|
1018 |
+
"trattati, le finalità e le modalità di trattamento e i diritti degli utenti "
|
1019 |
+
"secondo la legge applicabile."
|
1020 |
+
|
1021 |
+
#: includes/ServiceRating.php:104
|
1022 |
+
#, php-format
|
1023 |
+
msgid ""
|
1024 |
+
"This accounts for 25% of your score. If you’re based in Europe or have "
|
1025 |
+
"Europe-based users, you likely need to block cookies from running until you "
|
1026 |
+
"receive user consent. To do this, select “Automatically block scripts "
|
1027 |
+
"detected by the plugin”."
|
1028 |
+
msgstr ""
|
1029 |
+
"Questa voce rappresenta il 25% del tuo punteggio. Se hai sede in Europa "
|
1030 |
+
"o ti rivolgi a utenti che hanno sede in Europa, probabilmente dovrai "
|
1031 |
+
"bloccare i cookie prima di aver ricevuto il consenso dell’utente. Per farlo, "
|
1032 |
+
"seleziona “Blocca automaticamente gli script rilevati dal plugin”."
|
1033 |
+
|
1034 |
+
#: includes/ServiceRating.php:114
|
1035 |
+
#, php-format
|
1036 |
+
msgid ""
|
1037 |
+
"This accounts for 25% of your score. Terms and conditions help to "
|
1038 |
+
"protect you, the website owner, from potential liabilities and more. "
|
1039 |
+
"Furthermore, if you run an e-commerce site or app, having this document may "
|
1040 |
+
"be legally required as Terms typically contain legally mandatory disclosures."
|
1041 |
+
" Terms are legally binding documents, and therefore it’s important to ensure "
|
1042 |
+
"that they actually fit your specific scenario."
|
1043 |
+
msgstr ""
|
1044 |
+
"Questa voce rappresenta il 25% del tuo punteggio. Termini e condizioni "
|
1045 |
+
"aiutano a proteggere il proprietario del sito web da potenziali "
|
1046 |
+
"responsabilità legali e molto altro. Inoltre, se sei il titolare di un sito "
|
1047 |
+
"o un’app di e-commerce, questo documento potrebbe essere richiesto dalla "
|
1048 |
+
"legge, visto che i Termini contengono in genere informazioni obbligatorie. I "
|
1049 |
+
"termini e condizioni sono giuridicamente vincolanti ed è quindi importante "
|
1050 |
+
"assicurarsi che si adattino al tuo scenario specifico."
|
1051 |
+
|
1052 |
+
#: includes/ServiceRating.php:99
|
1053 |
+
#, php-format
|
1054 |
+
msgid ""
|
1055 |
+
"This accounts for 25% of your score. Your cookie banner should inform "
|
1056 |
+
"your users about your use of cookies and similar tracking technologies, and "
|
1057 |
+
"their rights in this regard. You may need a banner if either the GDPR, CCPA "
|
1058 |
+
"or ePrivacy apply to you."
|
1059 |
+
msgstr ""
|
1060 |
+
"Questa voce rappresenta il 25% del tuo punteggio. Il cookie banner deve "
|
1061 |
+
"informare gli utenti sull’uso dei cookie e di strumenti di tracciamento "
|
1062 |
+
"simili e sui loro diritti al riguardo. Potrebbe essere necessario un banner "
|
1063 |
+
"se si applica il GDPR, il CCPA o la direttiva ePrivacy."
|
1064 |
+
|
1065 |
+
#: views/partials/frontpage_main_box.php:26
|
1066 |
+
msgid "This is what you may need to be compliant"
|
1067 |
+
msgstr "Ecco cosa potrebbe servirti per essere conforme"
|
1068 |
+
|
1069 |
+
#: views/partials/auto_detect_forms.php:29
|
1070 |
+
msgid ""
|
1071 |
+
"This section lists the forms available for field mapping. The plugin "
|
1072 |
+
"currently supports & detects: WordPress Comment, Contact Form 7, WooCommerce "
|
1073 |
+
"Checkout and WP Forms."
|
1074 |
+
msgstr ""
|
1075 |
+
"Questa sezione elenca i form disponibili al mapping. Al momento il plugin "
|
1076 |
+
"supporta e rileva: Commenti WordPress, Contact Form 7, WooCommerce Checkout "
|
1077 |
+
"e WP Forms."
|
1078 |
+
|
1079 |
+
#: includes/widget/IubendaLegalWidget.php:176
|
1080 |
+
msgid "Title:"
|
1081 |
+
msgstr "Nome:"
|
1082 |
+
|
1083 |
+
#: includes/settings.php:905
|
1084 |
+
#, php-format
|
1085 |
+
msgid ""
|
1086 |
+
"To ensure regular scans and full support, <span class=\"text-bold\">verify "
|
1087 |
+
"your account</span>. Check your mailbox now and validate your email address, "
|
1088 |
+
"or check <a href=\"%s\" target=\"_blank\" class=\"link-underline\">your "
|
1089 |
+
"account</a> on iubenda.com. If you already did that, you can safely <a "
|
1090 |
+
"href=\"javascript:void(0)\" class=\"notice-dismiss-by-text dismiss-"
|
1091 |
+
"notification-alert link-underline\" data-dismiss-"
|
1092 |
+
"key=\"iub_user_needs_to_verify_his_account\">dismiss this reminder</a>."
|
1093 |
+
msgstr ""
|
1094 |
+
"Per garantire scansioni regolari e un supporto completo, <span class=\"text-"
|
1095 |
+
"bold\">verifica il tuo account</span>. Controlla la tua casella di posta "
|
1096 |
+
"elettronica e conferma il tuo indirizzo e-mail, oppure controlla <a "
|
1097 |
+
"href=\"%s\" target=\"_blank\" class=\"link-underline\">il tuo account</a> su "
|
1098 |
+
"iubenda.com. Se lo hai già fatto, puoi <a href=\"javascript:void(0)\" "
|
1099 |
+
"class=\"notice-dismiss-by-text dismiss-notification-alert link-underline\" "
|
1100 |
+
"data-dismiss-key=\"iub_user_needs_to_verify_his_account\"> nascondere questo "
|
1101 |
+
"avviso</a>."
|
1102 |
+
|
1103 |
+
#: views/partials/csPluginSettings.php:49 views/plugin-settings.php:32
|
1104 |
+
msgid "Top menu"
|
1105 |
+
msgstr "Menù principale"
|
1106 |
+
|
1107 |
+
#: views/partials/modals/modal_no_website_found.php:10
|
1108 |
+
#: views/partials/modals/modal_ops_embed_invalid.php:10
|
1109 |
+
msgid "Try again"
|
1110 |
+
msgstr "Riprova"
|
1111 |
+
|
1112 |
+
#: includes/settings.php:1154 includes/settings.php:1174
|
1113 |
+
msgid "Version"
|
1114 |
+
msgstr "Versione"
|
1115 |
+
|
1116 |
+
#: views/partials/header_scanned.php:4
|
1117 |
+
msgid "We have analyzed your website in background and this is the result."
|
1118 |
+
msgstr "Abbiamo analizzato il tuo sito web e questo è il risultato."
|
1119 |
+
|
1120 |
+
#: views/partials/buttonPosition.php:28
|
1121 |
+
#: views/partials/modals/modal_almost_there.php:62
|
1122 |
+
#: views/tc-configuration.php:83
|
1123 |
+
#, php-format
|
1124 |
+
#| msgid ""
|
1125 |
+
#| "We were not able to add a \"Legal\" widget to the footer as your theme is "
|
1126 |
+
#| "not compatible, you can position the \"Legal\" widget manually from <a "
|
1127 |
+
#| "href=\"%s\" target=\"_blank\">here</a>."
|
1128 |
+
msgid ""
|
1129 |
+
"We were not able to add a \"Legal\" widget/block to the footer as your theme "
|
1130 |
+
"is not compatible, you can position the \"Legal\" widget/block manually from "
|
1131 |
+
"<a href=\"%s\" target=\"_blank\">here</a>."
|
1132 |
+
msgstr ""
|
1133 |
+
"Non siamo riusciti ad aggiungere il widget “Documenti e contatti” al footer, "
|
1134 |
+
"dal momento che il tuo tema non è compatibile. Puoi posizionare il widget "
|
1135 |
+
"“Documenti e contatti” manualmente da <a href=\"%s\" target=\"_blank\">"
|
1136 |
+
"qui</a>."
|
1137 |
+
|
1138 |
+
#: includes/settings.php:931
|
1139 |
+
msgid "We're sorry to hear that. Would you mind giving us some feedback?"
|
1140 |
+
msgstr "Ci dispiace. Che ne dici di lasciarci un feedback?"
|
1141 |
+
|
1142 |
+
#: views/partials/welcomeScreenHeader.php:2
|
1143 |
+
msgid "Welcome to iubenda!"
|
1144 |
+
msgstr "Benvenuto su iubenda!"
|
1145 |
+
|
1146 |
+
#: views/cons-configuration.php:37 views/partials/languagesTabs.php:27
|
1147 |
+
#: views/partials/modals/modal_almost_there.php:42
|
1148 |
+
msgid "Where can I find this code?"
|
1149 |
+
msgstr "Dove posso trovare questo codice?"
|
1150 |
+
|
1151 |
+
#: includes/settings.php:924
|
1152 |
+
msgid ""
|
1153 |
+
"Whew, what a relief!? We've worked countless hours to make this plugin as "
|
1154 |
+
"useful as possible - so we're pretty happy that you're enjoying it. While "
|
1155 |
+
"you here, would you mind leaving us a 5 star rating? It would really help us "
|
1156 |
+
"out."
|
1157 |
+
msgstr ""
|
1158 |
+
"Che sollievo! Abbiamo lavorato tantissimo per rendere questo plugin il più "
|
1159 |
+
"utile possibile, quindi siamo molto contenti che ti piaccia. Ormai che sei "
|
1160 |
+
"qui, che ne dici di lasciarci 5 stelle?? Ci aiuterebbe davvero."
|
1161 |
+
|
1162 |
+
#: views/partials/csSimplifiedConfiguration.php:43
|
1163 |
+
msgid "Worldwide"
|
1164 |
+
msgstr "Tutto il mondo"
|
1165 |
+
|
1166 |
+
#: includes/settings.php:919
|
1167 |
+
msgid "Yes"
|
1168 |
+
msgstr "Sì"
|
1169 |
+
|
1170 |
+
#: includes/settings.php:389
|
1171 |
+
msgid "You don't have permission to access this page."
|
1172 |
+
msgstr "Non sei autorizzato ad accedere a questa pagina."
|
1173 |
+
|
1174 |
+
#: views/partials/csSimplifiedConfiguration.php:92
|
1175 |
+
msgid "You should activate this feature if you show ads on your website"
|
1176 |
+
msgstr ""
|
1177 |
+
"Dovresti attivare questa funzionalità se mostri annunci pubblicitari sul tuo "
|
1178 |
+
"sito web"
|
1179 |
+
|
1180 |
+
#: views/partials/buttonPosition.php:64 views/tc-configuration.php:108
|
1181 |
+
msgid "Your embed code"
|
1182 |
+
msgstr "Il tuo codice d’integrazione"
|
1183 |
+
|
1184 |
+
#: views/cons-configuration.php:29
|
1185 |
+
msgid "Your iubenda Javascript library public API key"
|
1186 |
+
msgstr "La tua chiave API pubblica per la libreria JavaScript di iubenda"
|
1187 |
+
|
1188 |
+
#: views/partials/modals/modal_pp_created.php:5
|
1189 |
+
msgid "Your privacy policy has been created!"
|
1190 |
+
msgstr "La tua privacy policy è stata creata!"
|
1191 |
+
|
1192 |
+
#: views/partials/header_scanned.php:3 views/partials/modals/modal_rating.php:6
|
1193 |
+
#: views/partials/siteInfo.php:20
|
1194 |
+
msgid "Your rating"
|
1195 |
+
msgstr "La tua valutazione"
|
1196 |
+
|
1197 |
+
#: includes/QuickGeneratorService.php:111
|
1198 |
+
msgid ""
|
1199 |
+
"Your website has been created and your legal documents have been generated. "
|
1200 |
+
"Setup your cookie banner and privacy policy button to complete the "
|
1201 |
+
"integration."
|
1202 |
+
msgstr ""
|
1203 |
+
"Il tuo sito è stato creato e i tuoi documenti legali generati. Configura il "
|
1204 |
+
"tuo cookie banner e il pulsante della privacy policy per completare "
|
1205 |
+
"l’integrazione."
|
languages/iubenda-nl_NL.mo
ADDED
Binary file
|
languages/iubenda-nl_NL.po
ADDED
@@ -0,0 +1,1224 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: \n"
|
4 |
+
"POT-Creation-Date: 2022-06-22 14:50+0200\n"
|
5 |
+
"PO-Revision-Date: 2022-08-05 18:54+0000\n"
|
6 |
+
"Last-Translator: \n"
|
7 |
+
"Language-Team: Dutch\n"
|
8 |
+
"Language: nl_NL\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
13 |
+
"X-Generator: Loco https://localise.biz/\n"
|
14 |
+
"X-Poedit-Basepath: ..\n"
|
15 |
+
"X-Poedit-KeywordsList: _e;__\n"
|
16 |
+
"X-Poedit-SearchPath-0: .\n"
|
17 |
+
"Report-Msgid-Bugs-To: \n"
|
18 |
+
"X-Loco-Version: 2.6.2; wp-6.0.1"
|
19 |
+
|
20 |
+
#: views/partials/modals/modal_almost_there.php:25
|
21 |
+
msgid "(required)"
|
22 |
+
msgstr "(verplicht)"
|
23 |
+
|
24 |
+
#: views/partials/buttonPosition.php:74
|
25 |
+
msgid ""
|
26 |
+
"A shortcode is a tiny bit of code that allows embedding interactive elements "
|
27 |
+
"or creating complex page layouts with a minimal effort.<br>Just copy and "
|
28 |
+
"paste the shortcode where you want the button to appear."
|
29 |
+
msgstr ""
|
30 |
+
"Een shortcode is een klein stukje code waarmee je moeiteloos interactieve "
|
31 |
+
"elementen kunt insluiten of complexe pagina-opmaak kunt maken.<br>Plak de "
|
32 |
+
"shortcode gewoon waar je wilt dat de knop wordt getoond."
|
33 |
+
|
34 |
+
#: views/cons-configuration.php:17
|
35 |
+
msgid "Activate & Configure Consent Solution by"
|
36 |
+
msgstr "Activeer en configureer de Consent Solution door"
|
37 |
+
|
38 |
+
#: views/cons-configuration.php:14
|
39 |
+
msgid ""
|
40 |
+
"Activate <strong>Consent Solution</strong> on our website in your iubenda "
|
41 |
+
"dashboard and paste here the <strong>API key</strong> to integrate it on "
|
42 |
+
"your website."
|
43 |
+
msgstr ""
|
44 |
+
"Activeer de <strong>Consent Solution</strong> via je iubenda-dashboard op "
|
45 |
+
"onze website en plak de <strong>API-sleutel</strong> hier om die op je "
|
46 |
+
"website te integreren."
|
47 |
+
|
48 |
+
#: views/integrate-setup.php:21
|
49 |
+
msgid "Add a cookie banner"
|
50 |
+
msgstr "Voeg een cookiebanner toe"
|
51 |
+
|
52 |
+
#: views/cons-configuration.php:44
|
53 |
+
msgid "Add forms"
|
54 |
+
msgstr "Formulieren toevoegen"
|
55 |
+
|
56 |
+
#: views/cons-single-form.php:268
|
57 |
+
msgid "Add New Document"
|
58 |
+
msgstr "Nieuw document toevoegen"
|
59 |
+
|
60 |
+
#: views/cons-single-form.php:216
|
61 |
+
msgid "Add New Exclude"
|
62 |
+
msgstr "Nieuw uitsluitveld toevoegen"
|
63 |
+
|
64 |
+
#: views/partials/csGeneralSettings.php:247
|
65 |
+
#: views/partials/csPluginSettings.php:133
|
66 |
+
msgid "Add New iframe"
|
67 |
+
msgstr "Nieuw iframe toevoegen"
|
68 |
+
|
69 |
+
#: views/cons-single-form.php:155
|
70 |
+
msgid "Add New Preference"
|
71 |
+
msgstr "Nieuwe voorkeur toevoegen"
|
72 |
+
|
73 |
+
#: views/partials/csGeneralSettings.php:212
|
74 |
+
#: views/partials/csPluginSettings.php:98
|
75 |
+
msgid "Add New Script"
|
76 |
+
msgstr "Nieuw script toevoegen"
|
77 |
+
|
78 |
+
#: views/integrate-setup.php:140
|
79 |
+
msgid "Add the privacy policy button"
|
80 |
+
msgstr "Voeg de knop voor het privacybeleid toe"
|
81 |
+
|
82 |
+
#: views/partials/buttonPosition.php:5 views/tc-configuration.php:61
|
83 |
+
msgid "Add to the footer automatically"
|
84 |
+
msgstr "Automatisch toevoegen aan de voettekst"
|
85 |
+
|
86 |
+
#: includes/forms-list-table.php:279
|
87 |
+
msgid "All form sources"
|
88 |
+
msgstr "Alle bronnen"
|
89 |
+
|
90 |
+
#: views/cons-single-form.php:250
|
91 |
+
msgid "Alternatively, you may add your own custom document identifiers."
|
92 |
+
msgstr "Je kunt ook je eigen aangepaste identificatoren toevoegen."
|
93 |
+
|
94 |
+
#: includes/amp.php:281
|
95 |
+
msgid "AMP Cookie Consent"
|
96 |
+
msgstr "AMP Cookietoestemming"
|
97 |
+
|
98 |
+
#: includes/settings.php:109 views/partials/csGeneralSettings.php:187
|
99 |
+
#: views/partials/csGeneralSettings.php:203
|
100 |
+
#: views/partials/csGeneralSettings.php:222
|
101 |
+
#: views/partials/csGeneralSettings.php:238
|
102 |
+
#: views/partials/csPluginSettings.php:73
|
103 |
+
#: views/partials/csPluginSettings.php:89
|
104 |
+
#: views/partials/csPluginSettings.php:108
|
105 |
+
#: views/partials/csPluginSettings.php:124
|
106 |
+
msgid "Analytics"
|
107 |
+
msgstr "Statistieken"
|
108 |
+
|
109 |
+
#: views/partials/frontpage_main_box.php:22
|
110 |
+
msgid "Analyzing your website"
|
111 |
+
msgstr "Je website analyseren"
|
112 |
+
|
113 |
+
#: views/cons-configuration.php:53
|
114 |
+
msgid "Auto-detect forms"
|
115 |
+
msgstr "Formulieren automatisch detecteren"
|
116 |
+
|
117 |
+
#: views/integrate-setup.php:36 views/partials/csGeneralSettings.php:77
|
118 |
+
msgid "Auto-generated configuration file"
|
119 |
+
msgstr "Automatisch gegenereerd configuratiebestand"
|
120 |
+
|
121 |
+
#: views/cons-single-form.php:71
|
122 |
+
msgid "Autogenerated"
|
123 |
+
msgstr "Automatisch gegenereerd"
|
124 |
+
|
125 |
+
#: views/integrate-setup.php:108 views/partials/csGeneralSettings.php:149
|
126 |
+
#: views/partials/csPluginSettings.php:4
|
127 |
+
msgid "Automatically block scripts detected by the plugin"
|
128 |
+
msgstr "Door de plug-in gedetecteerde scripts automatisch blokkeren"
|
129 |
+
|
130 |
+
#: views/partials/bannerPosition.php:41
|
131 |
+
msgid "Background-overlay"
|
132 |
+
msgstr "Achtergrondoverlay"
|
133 |
+
|
134 |
+
#: views/partials/csSimplifiedConfiguration.php:68
|
135 |
+
msgid "Banner buttons"
|
136 |
+
msgstr "Bannerknoppen"
|
137 |
+
|
138 |
+
#: includes/settings.php:107
|
139 |
+
msgid "Basic interactions & functionalities"
|
140 |
+
msgstr "Basisinteracties en functionaliteiten"
|
141 |
+
|
142 |
+
#: views/partials/csGeneralSettings.php:185
|
143 |
+
#: views/partials/csGeneralSettings.php:201
|
144 |
+
#: views/partials/csGeneralSettings.php:220
|
145 |
+
#: views/partials/csGeneralSettings.php:236
|
146 |
+
#: views/partials/csPluginSettings.php:71
|
147 |
+
#: views/partials/csPluginSettings.php:87
|
148 |
+
#: views/partials/csPluginSettings.php:106
|
149 |
+
#: views/partials/csPluginSettings.php:122
|
150 |
+
msgid "Basic interactions & functionalities"
|
151 |
+
msgstr "Basisinteracties en functionaliteiten"
|
152 |
+
|
153 |
+
#: views/partials/csGeneralSettings.php:173
|
154 |
+
msgid "Blocked domains"
|
155 |
+
msgstr "Geblokkeerde domeinen"
|
156 |
+
|
157 |
+
#: views/partials/csSimplifiedConfiguration.php:22
|
158 |
+
msgid "Both"
|
159 |
+
msgstr "Beide"
|
160 |
+
|
161 |
+
#: views/partials/buttonPosition.php:1 views/tc-configuration.php:57
|
162 |
+
msgid "Button position"
|
163 |
+
msgstr "Positie knop"
|
164 |
+
|
165 |
+
#: views/partials/buttonStyle.php:1 views/tc-configuration.php:32
|
166 |
+
msgid "Button style"
|
167 |
+
msgstr "Stijl knop"
|
168 |
+
|
169 |
+
#: views/cons-configuration.php:60 views/cons-single-form.php:277
|
170 |
+
#: views/cs-configuration.php:15 views/plugin-settings.php:44
|
171 |
+
#: views/pp-configuration.php:33 views/tc-configuration.php:131
|
172 |
+
msgid "Cancel"
|
173 |
+
msgstr "Annuleren"
|
174 |
+
|
175 |
+
#: views/partials/csSimplifiedConfiguration.php:18
|
176 |
+
msgid "CCPA Only"
|
177 |
+
msgstr "Enkel CCPA"
|
178 |
+
|
179 |
+
#: views/cons-configuration.php:18 views/partials/csManualConfiguration.php:6
|
180 |
+
#: views/tc-configuration.php:16
|
181 |
+
msgid "clicking here"
|
182 |
+
msgstr "hier te klikken"
|
183 |
+
|
184 |
+
#: views/partials/csGeneralSettings.php:2
|
185 |
+
msgid "Configuration"
|
186 |
+
msgstr "Configuratie"
|
187 |
+
|
188 |
+
#: views/partials/product-card.php:48
|
189 |
+
msgid "Configure"
|
190 |
+
msgstr "Configureren"
|
191 |
+
|
192 |
+
#: views/partials/csManualConfiguration.php:5
|
193 |
+
msgid "Configure cookie banner by"
|
194 |
+
msgstr "Configureer je cookiebanner door"
|
195 |
+
|
196 |
+
#: views/tc-configuration.php:15
|
197 |
+
msgid "Configure terms and conditions by"
|
198 |
+
msgstr "Configureer je algemene voorwaarden door"
|
199 |
+
|
200 |
+
#: views/partials/csManualConfiguration.php:2
|
201 |
+
msgid ""
|
202 |
+
"Configure your cookie banner on our website and paste here the embed code to "
|
203 |
+
"integrate it to your website."
|
204 |
+
msgstr ""
|
205 |
+
"Configureer je cookiebanner op onze website en plak de insluitcode hier om "
|
206 |
+
"die op jouw website te integreren."
|
207 |
+
|
208 |
+
#: views/tc-configuration.php:12
|
209 |
+
msgid ""
|
210 |
+
"Configure your terms and conditions on our website and paste here the embed "
|
211 |
+
"code to integrate the button on your website."
|
212 |
+
msgstr ""
|
213 |
+
"Configureer je algemene voorwaarden op onze website en plak de insluitcode "
|
214 |
+
"hier om de knop op jouw website te integreren."
|
215 |
+
|
216 |
+
#: views/cons-configuration.php:31
|
217 |
+
msgid "Confirm API"
|
218 |
+
msgstr "API bevestigen"
|
219 |
+
|
220 |
+
#: includes/settings.php:97 includes/settings.php:430 includes/settings.php:441
|
221 |
+
#: includes/settings.php:1182
|
222 |
+
msgid "Consent Solution"
|
223 |
+
msgstr "Consent Solution"
|
224 |
+
|
225 |
+
#: views/partials/modals/modal_almost_there.php:37
|
226 |
+
msgid "Consent Solution API key"
|
227 |
+
msgstr "API-sleutel Consent Solution"
|
228 |
+
|
229 |
+
#: views/partials/modals/modal_select_language.php:54
|
230 |
+
msgid "Continue"
|
231 |
+
msgstr "Doorgaan"
|
232 |
+
|
233 |
+
#: includes/settings.php:91 includes/settings.php:424
|
234 |
+
#: includes/settings.php:1162
|
235 |
+
msgid "Cookie Solution"
|
236 |
+
msgstr "Cookie Solution"
|
237 |
+
|
238 |
+
#: includes/QuickGeneratorService.php:625
|
239 |
+
#, php-format
|
240 |
+
msgid ""
|
241 |
+
"Currently, you do not have write permission for <i class=\"text-bold\">%s</i>"
|
242 |
+
". For instructions on how to fix this, please read <a class=\"link-"
|
243 |
+
"underline\" target=\"_blank\" href=\"%s\">our guide</a>."
|
244 |
+
msgstr ""
|
245 |
+
"Je hebt momenteel geen schrijfmachtiging voor <i class=\"text-bold\">%s</i>. "
|
246 |
+
"Instructies over hoe je dit kunt oplossen, vind je in <a class=\"link-"
|
247 |
+
"underline\" target=\\\"_blank\\\" href=\\\"%s\\\">onze gids</a>."
|
248 |
+
|
249 |
+
#: views/integrate-setup.php:40 views/partials/csGeneralSettings.php:81
|
250 |
+
msgid "Custom configuration file"
|
251 |
+
msgstr "Aangepast configuratiebestand"
|
252 |
+
|
253 |
+
#: views/partials/csGeneralSettings.php:177
|
254 |
+
#: views/partials/csPluginSettings.php:63
|
255 |
+
msgid "Custom iframes"
|
256 |
+
msgstr "Aangepaste iframes"
|
257 |
+
|
258 |
+
#: views/partials/csGeneralSettings.php:176
|
259 |
+
#: views/partials/csPluginSettings.php:62
|
260 |
+
msgid "Custom scripts"
|
261 |
+
msgstr "Aangepaste scripts"
|
262 |
+
|
263 |
+
#: views/partials/csPluginSettings.php:59
|
264 |
+
msgid "Custom settings"
|
265 |
+
msgstr "Aangepaste instellingen"
|
266 |
+
|
267 |
+
#: views/partials/bannerStyle.php:9 views/partials/buttonStyle.php:19
|
268 |
+
#: views/tc-configuration.php:50
|
269 |
+
msgid "Dark"
|
270 |
+
msgstr "Donker"
|
271 |
+
|
272 |
+
#: includes/forms-list-table.php:90
|
273 |
+
msgid "Date"
|
274 |
+
msgstr "Datum"
|
275 |
+
|
276 |
+
#: views/integrate-setup.php:73 views/integrate-setup.php:91
|
277 |
+
#: views/partials/csGeneralSettings.php:115
|
278 |
+
msgid "Default language"
|
279 |
+
msgstr "Standaardtaal"
|
280 |
+
|
281 |
+
#: includes/forms-list-table.php:160
|
282 |
+
msgid "Delete"
|
283 |
+
msgstr "Wissen"
|
284 |
+
|
285 |
+
#: views/partials/csPluginSettings.php:41 views/plugin-settings.php:25
|
286 |
+
msgid "Delete all plugin data upon deactivation"
|
287 |
+
msgstr "Verwijder alle gegevens van de plug-in bij deactivering"
|
288 |
+
|
289 |
+
#: views/partials/csPluginSettings.php:33 views/plugin-settings.php:17
|
290 |
+
msgid "Do not run the plugin inside the RSS feed (recommended)"
|
291 |
+
msgstr "Gebruik de plug-in niet binnen de RSS-feed (aanbevolen)"
|
292 |
+
|
293 |
+
#: views/partials/csPluginSettings.php:37 views/plugin-settings.php:21
|
294 |
+
msgid "Do not run the plugin on POST requests (recommended)"
|
295 |
+
msgstr "Gebruik de plug-in niet bij POST-aanvragen (aanbevolen)"
|
296 |
+
|
297 |
+
#: views/partials/footer.php:5
|
298 |
+
msgid "Documentation"
|
299 |
+
msgstr "Documentatie"
|
300 |
+
|
301 |
+
#: includes/forms-list-table.php:159
|
302 |
+
msgid "Edit"
|
303 |
+
msgstr "Bewerken"
|
304 |
+
|
305 |
+
#: views/integrate-setup.php:29 views/partials/csGeneralSettings.php:69
|
306 |
+
msgid "Enable Google AMP support"
|
307 |
+
msgstr "Ondersteuning Google AMP inschakelen"
|
308 |
+
|
309 |
+
#: views/partials/csSimplifiedConfiguration.php:88
|
310 |
+
msgid "Enable IAB Transparency and Consent Framework"
|
311 |
+
msgstr "IAB Transparency and Consent Framework inschakelen"
|
312 |
+
|
313 |
+
#: views/integrate-setup.php:128 views/partials/csGeneralSettings.php:170
|
314 |
+
#: views/partials/csPluginSettings.php:24
|
315 |
+
msgid ""
|
316 |
+
"Enable this option to improve performance <strong>only</strong> if your site "
|
317 |
+
"does <strong>not</strong> use a cache system or a cache plugin and if you're "
|
318 |
+
"<strong>not</strong> collecting per-category consent. If you're in doubt, "
|
319 |
+
"keep this setting disabled"
|
320 |
+
msgstr ""
|
321 |
+
"Schakel deze optie in voor betere prestaties, <strong>enkel</strong> indien "
|
322 |
+
"je website <strong>geen</strong> cache-systeem of cache-plug-in gebruikt en "
|
323 |
+
"je <strong>geen</strong> toestemming per categorie verzamelt. Als je het "
|
324 |
+
"niet zeker weet, laat deze instelling dan uitgeschakeld."
|
325 |
+
|
326 |
+
#: includes/settings.php:917
|
327 |
+
msgid "Enjoying the iubenda Cookie & Consent Solution Plugin?"
|
328 |
+
msgstr "Blij met de iubenda plug-in voor cookies en toestemmingen?"
|
329 |
+
|
330 |
+
#: views/partials/csGeneralSettings.php:216
|
331 |
+
#: views/partials/csGeneralSettings.php:232
|
332 |
+
#: views/partials/csPluginSettings.php:102
|
333 |
+
#: views/partials/csPluginSettings.php:118
|
334 |
+
msgid "Enter custom iframe"
|
335 |
+
msgstr "Voer aangepast iframe in"
|
336 |
+
|
337 |
+
#: views/partials/csGeneralSettings.php:181
|
338 |
+
#: views/partials/csGeneralSettings.php:197
|
339 |
+
#: views/partials/csPluginSettings.php:67
|
340 |
+
#: views/partials/csPluginSettings.php:83
|
341 |
+
msgid "Enter custom script"
|
342 |
+
msgstr "Voer aangepast script in"
|
343 |
+
|
344 |
+
#: views/cons-single-form.php:108 views/cons-single-form.php:133
|
345 |
+
#: views/cons-single-form.php:234 views/cons-single-form.php:244
|
346 |
+
#: views/cons-single-form.php:260
|
347 |
+
msgid "Enter field name"
|
348 |
+
msgstr "Veldnaam invoeren"
|
349 |
+
|
350 |
+
#: views/partials/csSimplifiedConfiguration.php:59
|
351 |
+
msgid "EU Only"
|
352 |
+
msgstr "Alleen gebruikers in de EU"
|
353 |
+
|
354 |
+
#: views/cons-single-form.php:164
|
355 |
+
msgid "Exclude field"
|
356 |
+
msgstr "Uitsluitveld"
|
357 |
+
|
358 |
+
#: views/cons-single-form.php:159
|
359 |
+
msgid "Exclude fields"
|
360 |
+
msgstr "Uitsluitvelden"
|
361 |
+
|
362 |
+
#: views/cons-single-form.php:160
|
363 |
+
msgid ""
|
364 |
+
"Exclude fields allow you to create a list of fields that you would like to "
|
365 |
+
"exclude from your Consent Solution recorded proofs (for e.g. password or "
|
366 |
+
"other fields not related to the consent)."
|
367 |
+
msgstr ""
|
368 |
+
"Met uitsluitvelden kun je een lijst maken van velden die worden uitgesloten "
|
369 |
+
"van de documentatie die door de Consent Solution wordt bijgehouden (bv. "
|
370 |
+
"wachtwoorden of andere velden die geen verband houden met toestemming)."
|
371 |
+
|
372 |
+
#: includes/settings.php:108 views/partials/csGeneralSettings.php:186
|
373 |
+
#: views/partials/csGeneralSettings.php:202
|
374 |
+
#: views/partials/csGeneralSettings.php:221
|
375 |
+
#: views/partials/csGeneralSettings.php:237
|
376 |
+
#: views/partials/csPluginSettings.php:72
|
377 |
+
#: views/partials/csPluginSettings.php:88
|
378 |
+
#: views/partials/csPluginSettings.php:107
|
379 |
+
#: views/partials/csPluginSettings.php:123
|
380 |
+
msgid "Experience enhancement"
|
381 |
+
msgstr "Verbetering van de ervaring"
|
382 |
+
|
383 |
+
#: views/partials/csSimplifiedConfiguration.php:72
|
384 |
+
msgid "Explicit Accept and Customize buttons"
|
385 |
+
msgstr "Knoppen voor uitdrukkelijk accepteren en aanpassen"
|
386 |
+
|
387 |
+
#: views/partials/csSimplifiedConfiguration.php:77
|
388 |
+
msgid "Explicit Reject button"
|
389 |
+
msgstr "Knop voor uitdrukkelijk weigeren"
|
390 |
+
|
391 |
+
#: views/cons-single-form.php:12
|
392 |
+
msgid "Field Mapping"
|
393 |
+
msgstr "Veldtoewijzing"
|
394 |
+
|
395 |
+
#: includes/forms-list-table.php:89
|
396 |
+
msgid "Fields"
|
397 |
+
msgstr "Velden"
|
398 |
+
|
399 |
+
#: includes/forms-list-table.php:260
|
400 |
+
msgid "Filter"
|
401 |
+
msgstr "Filter"
|
402 |
+
|
403 |
+
#: includes/forms-list-table.php:277
|
404 |
+
msgid "Filter by source"
|
405 |
+
msgstr "Filteren op bron"
|
406 |
+
|
407 |
+
#: includes/forms.php:579 includes/forms.php:593
|
408 |
+
msgid "First name"
|
409 |
+
msgstr "Voornaam"
|
410 |
+
|
411 |
+
#: views/partials/modals/modal_sync.php:4
|
412 |
+
msgid ""
|
413 |
+
"First of all, tell us if you already use our products for this website or if "
|
414 |
+
"you want to start from scratch"
|
415 |
+
msgstr ""
|
416 |
+
"Maak je al gebruik van onze producten voor deze website, of wil je vanaf nul "
|
417 |
+
"beginnen?"
|
418 |
+
|
419 |
+
#: includes/forms.php:153
|
420 |
+
msgid "Form"
|
421 |
+
msgstr "Formulier"
|
422 |
+
|
423 |
+
#: views/cons-single-form.php:66 views/cons-single-form.php:103
|
424 |
+
msgid "Form field"
|
425 |
+
msgstr "Formulierveld"
|
426 |
+
|
427 |
+
#: includes/forms-list-table.php:87
|
428 |
+
msgid "Form ID"
|
429 |
+
msgstr "ID formulier"
|
430 |
+
|
431 |
+
#: includes/settings.php:701
|
432 |
+
msgid "Form saving failed. Please fill the Subject fields."
|
433 |
+
msgstr "Formulier niet opgeslagen. Vul de onderwerp-velden in."
|
434 |
+
|
435 |
+
#: includes/forms-list-table.php:88
|
436 |
+
msgid "Form Source"
|
437 |
+
msgstr "Bron formulier"
|
438 |
+
|
439 |
+
#: includes/forms-list-table.php:86
|
440 |
+
msgid "Form Title"
|
441 |
+
msgstr "Titel formulier"
|
442 |
+
|
443 |
+
#: includes/forms.php:152
|
444 |
+
msgid "Forms"
|
445 |
+
msgstr "Formulieren"
|
446 |
+
|
447 |
+
#: views/partials/modals/modal_pp_created.php:7
|
448 |
+
msgid ""
|
449 |
+
"From here you can customize your privacy policy by adding the services you "
|
450 |
+
"use within your website or you can customize the style of the button that "
|
451 |
+
"displays your privacy policy."
|
452 |
+
msgstr ""
|
453 |
+
"Hier kun je je privacybeleid aanpassen door diensten toe te voegen die je op "
|
454 |
+
"je website gebruikt. Je kunt ook de stijl aanpassen van de knop waarmee je "
|
455 |
+
"privacybeleid wordt weergegeven."
|
456 |
+
|
457 |
+
#: views/partials/csSimplifiedConfiguration.php:14
|
458 |
+
msgid "GDPR Only"
|
459 |
+
msgstr "Enkel AVG"
|
460 |
+
|
461 |
+
#: views/partials/modals/modal_pp_created.php:9
|
462 |
+
msgid "Got it"
|
463 |
+
msgstr "Begrepen"
|
464 |
+
|
465 |
+
#: views/frontpage.php:9
|
466 |
+
msgid "Help me get compliant!"
|
467 |
+
msgstr "Help me om aan de regelgeving te voldoen!"
|
468 |
+
|
469 |
+
#: views/partials/modals/modal_rating.php:11
|
470 |
+
msgid "Here’s how we calculate your rating."
|
471 |
+
msgstr "Zo wordt je score berekend."
|
472 |
+
|
473 |
+
#: views/partials/siteInfo.php:21
|
474 |
+
msgid "How is it calculated?"
|
475 |
+
msgstr "Hoe dit wordt berekend"
|
476 |
+
|
477 |
+
#: views/partials/buttonPosition.php:37 views/tc-configuration.php:92
|
478 |
+
msgid "HTML"
|
479 |
+
msgstr "HTML"
|
480 |
+
|
481 |
+
#: views/partials/modals/modal_no_website_found.php:11
|
482 |
+
#: views/partials/modals/modal_sync.php:8
|
483 |
+
msgid "I want to start from scratch"
|
484 |
+
msgstr "Vanaf nul beginnen"
|
485 |
+
|
486 |
+
#: views/cons-single-form.php:225
|
487 |
+
msgid "Identifier"
|
488 |
+
msgstr "Identificator"
|
489 |
+
|
490 |
+
#: views/cons-single-form.php:222
|
491 |
+
msgid ""
|
492 |
+
"In general, it's important that you declare which legal documents are being "
|
493 |
+
"agreed upon when each consent is collected. However, if you use iubenda for "
|
494 |
+
"your legal documents, it is *required* that you identify the documents by "
|
495 |
+
"selecting them here."
|
496 |
+
msgstr ""
|
497 |
+
"Het is belangrijk dat je bij het verzamelen van toestemming aangeeft met "
|
498 |
+
"welke juridische documenten een gebruiker akkoord is gegaan. Als je iubenda "
|
499 |
+
"gebruikt voor je juridische documenten, moet je de documenten *verplicht* "
|
500 |
+
"hier selecteren."
|
501 |
+
|
502 |
+
#: views/partials/integrateFooter.php:4
|
503 |
+
msgid "Integrate"
|
504 |
+
msgstr "Integreren"
|
505 |
+
|
506 |
+
#: views/partials/buttonPosition.php:10 views/tc-configuration.php:65
|
507 |
+
msgid "Integrate manually"
|
508 |
+
msgstr "Manueel integreren"
|
509 |
+
|
510 |
+
#: views/pp-configuration.php:26 views/tc-configuration.php:30
|
511 |
+
msgid "Integration"
|
512 |
+
msgstr "Integratie"
|
513 |
+
|
514 |
+
#: views/partials/modals/modal_no_website_found.php:8
|
515 |
+
msgid ""
|
516 |
+
"It seems that it is not possible to access your data with the code you "
|
517 |
+
"pasted, do you want to try again or do you prefer to start configuring your "
|
518 |
+
"website from scratch?"
|
519 |
+
msgstr ""
|
520 |
+
"Het lijkt erop dat het niet mogelijk is om je gegevens op te halen met de "
|
521 |
+
"code die je hebt ingevoerd. Probeer het opnieuw, of configureer je website "
|
522 |
+
"vanaf het begin."
|
523 |
+
|
524 |
+
#: views/partials/modals/modal_ops_embed_invalid.php:8
|
525 |
+
msgid ""
|
526 |
+
"It seems that it is not possible to access your data with the code you "
|
527 |
+
"pasted, do you want to try again."
|
528 |
+
msgstr ""
|
529 |
+
"Het lijkt erop dat het niet mogelijk is om je gegevens op te halen met de "
|
530 |
+
"code die je hebt ingevoerd. Probeer het opnieuw."
|
531 |
+
|
532 |
+
#: views/products-page.php:15
|
533 |
+
msgid ""
|
534 |
+
"It seems that you have not activated any of our services, we recommend you "
|
535 |
+
"to activate them and increase your level of compliance and avoid risking "
|
536 |
+
"fines."
|
537 |
+
msgstr ""
|
538 |
+
"Het lijkt erop dat je geen enkele van onze diensten hebt geactiveerd. "
|
539 |
+
"Verbeter je compliance en verminder het risico op boetes door ze in te "
|
540 |
+
"schakelen."
|
541 |
+
|
542 |
+
#: includes/widget/IubendaLegalWidget.php:18
|
543 |
+
msgid "Iubenda legal"
|
544 |
+
msgstr "Iubenda juridisch"
|
545 |
+
|
546 |
+
#: assets/js/legal_block.js:15 assets/js/legal_block.js:32
|
547 |
+
msgid "Iubenda legal block"
|
548 |
+
msgstr "Iubenda legal block"
|
549 |
+
|
550 |
+
#: includes/widget/IubendaLegalWidget.php:21
|
551 |
+
msgid "Iubenda legal widget for Privacy Policy and Terms & Conditions"
|
552 |
+
msgstr "Iubenda juridische widget voor privacybeleid en algemene voorwaarden"
|
553 |
+
|
554 |
+
#: views/partials/modals/modal_sync.php:6
|
555 |
+
msgid "I’ve already made the set up on iubenda.com"
|
556 |
+
msgstr "Ik heb alles al ingesteld op iubenda.com"
|
557 |
+
|
558 |
+
#: includes/forms.php:585 includes/forms.php:605
|
559 |
+
msgid "Last name"
|
560 |
+
msgstr "Achternaam"
|
561 |
+
|
562 |
+
#: views/integrate-setup.php:85 views/partials/csGeneralSettings.php:127
|
563 |
+
msgid "Learn how to fix it"
|
564 |
+
msgstr "Zo los je dit op"
|
565 |
+
|
566 |
+
#: views/partials/csSimplifiedConfiguration.php:88
|
567 |
+
#: views/partials/modals/modal_rating.php:22
|
568 |
+
msgid "Learn More"
|
569 |
+
msgstr "Meer informatie"
|
570 |
+
|
571 |
+
#: views/integrate-setup.php:126 views/partials/csGeneralSettings.php:168
|
572 |
+
#: views/partials/csPluginSettings.php:22
|
573 |
+
msgid ""
|
574 |
+
"Leave scripts untouched on the page if the user has already given consent"
|
575 |
+
msgstr ""
|
576 |
+
"Laat scripts op de pagina ongemoeid indien de gebruiker al toestemming heeft "
|
577 |
+
"gegeven"
|
578 |
+
|
579 |
+
#: assets/js/legal_block.js:21 includes/block/IubendaLegalBlock.php:255
|
580 |
+
#: includes/widget/IubendaLegalWidget.php:167
|
581 |
+
msgid "Legal"
|
582 |
+
msgstr "Juridisch"
|
583 |
+
|
584 |
+
#: views/cons-single-form.php:221
|
585 |
+
msgid "Legal documents"
|
586 |
+
msgstr "Juridische documenten"
|
587 |
+
|
588 |
+
#: views/partials/csSimplifiedConfiguration.php:9
|
589 |
+
msgid "Legislation"
|
590 |
+
msgstr "Wetgeving"
|
591 |
+
|
592 |
+
#: includes/settings.php:1116 includes/settings.php:1138
|
593 |
+
msgid "legislation"
|
594 |
+
msgstr "wetgeving"
|
595 |
+
|
596 |
+
#: views/frontpage.php:8
|
597 |
+
msgid "Let's configure your website for compliance."
|
598 |
+
msgstr "Tijd om je website compliant te maken."
|
599 |
+
|
600 |
+
#: views/partials/bannerStyle.php:15 views/partials/buttonStyle.php:10
|
601 |
+
#: views/tc-configuration.php:41
|
602 |
+
msgid "Light"
|
603 |
+
msgstr "Licht"
|
604 |
+
|
605 |
+
#: views/partials/csGeneralSettings.php:35
|
606 |
+
#: views/partials/csGeneralSettings.php:42
|
607 |
+
msgid "Manual embed"
|
608 |
+
msgstr "Manueel insluiten"
|
609 |
+
|
610 |
+
#: views/cons-single-form.php:44
|
611 |
+
msgid "Map fields"
|
612 |
+
msgstr "Wijs velden toe"
|
613 |
+
|
614 |
+
#: views/partials/csPluginSettings.php:45 views/plugin-settings.php:28
|
615 |
+
msgid "Menu position"
|
616 |
+
msgstr "Plaats in het menu"
|
617 |
+
|
618 |
+
#: includes/forms.php:599
|
619 |
+
msgid "Middle name"
|
620 |
+
msgstr "Tweede voornaam"
|
621 |
+
|
622 |
+
#: views/partials/modals/modal_almost_there.php:5
|
623 |
+
msgid "Nice! We are almost there."
|
624 |
+
msgstr "Bijna klaar!"
|
625 |
+
|
626 |
+
#: includes/settings.php:920
|
627 |
+
msgid "No"
|
628 |
+
msgstr "Nee"
|
629 |
+
|
630 |
+
#: views/integrate-setup.php:49 views/partials/csGeneralSettings.php:91
|
631 |
+
msgid ""
|
632 |
+
"No file available. Save changes to generate iubenda AMP configuration file."
|
633 |
+
msgstr ""
|
634 |
+
"Geen bestand beschikbaar. Sla je wijzigingen op om een AMP-"
|
635 |
+
"configuratiebestand te genereren."
|
636 |
+
|
637 |
+
#: includes/forms-list-table.php:347
|
638 |
+
msgid "No forms found."
|
639 |
+
msgstr "Geen formulieren gevonden."
|
640 |
+
|
641 |
+
#: includes/settings.php:927 includes/settings.php:934
|
642 |
+
msgid "No thanks"
|
643 |
+
msgstr "Nee, bedankt"
|
644 |
+
|
645 |
+
#: views/cons-single-form.php:71
|
646 |
+
msgid "None"
|
647 |
+
msgstr "Geen"
|
648 |
+
|
649 |
+
#: includes/settings.php:105 views/partials/csGeneralSettings.php:183
|
650 |
+
#: views/partials/csGeneralSettings.php:199
|
651 |
+
#: views/partials/csGeneralSettings.php:218
|
652 |
+
#: views/partials/csGeneralSettings.php:234
|
653 |
+
#: views/partials/csPluginSettings.php:69
|
654 |
+
#: views/partials/csPluginSettings.php:85
|
655 |
+
#: views/partials/csPluginSettings.php:104
|
656 |
+
#: views/partials/csPluginSettings.php:120
|
657 |
+
msgid "Not set"
|
658 |
+
msgstr "Niet ingesteld"
|
659 |
+
|
660 |
+
#: views/partials/modals/modal_select_language.php:4
|
661 |
+
msgid "Now, select your website language"
|
662 |
+
msgstr "Kies nu de taal van je website"
|
663 |
+
|
664 |
+
#: includes/settings.php:933
|
665 |
+
msgid "Ok sure!"
|
666 |
+
msgstr "Natuurlijk!"
|
667 |
+
|
668 |
+
#: includes/ServiceRating.php:103
|
669 |
+
msgid "Only track users that give consent"
|
670 |
+
msgstr "Volg alleen gebruikers die daarvoor toestemming geven"
|
671 |
+
|
672 |
+
#: views/partials/modals/modal_no_website_found.php:6
|
673 |
+
#: views/partials/modals/modal_ops_embed_invalid.php:6
|
674 |
+
msgid "Ooops! <br> No website found with this embed code."
|
675 |
+
msgstr "Oeps! <br> Geen website gevonden met deze insluitcode."
|
676 |
+
|
677 |
+
#: views/partials/modals/modal_sync.php:7
|
678 |
+
msgid "or"
|
679 |
+
msgstr "of"
|
680 |
+
|
681 |
+
#: views/partials/csSimplifiedConfiguration.php:83
|
682 |
+
msgid "Other options"
|
683 |
+
msgstr "Andere opties"
|
684 |
+
|
685 |
+
#: views/partials/welcomeScreenHeader.php:3
|
686 |
+
msgid "Our plugin will help you to make your website compliant in minutes."
|
687 |
+
msgstr "Met onze plug-in kun je je website snel compliant maken."
|
688 |
+
|
689 |
+
#: includes/QuickGeneratorService.php:137
|
690 |
+
msgid ""
|
691 |
+
"Our products has been integrated successfully, now customize all products to "
|
692 |
+
"increase the compliance rating and make your website fully compliant."
|
693 |
+
msgstr ""
|
694 |
+
"Onze producten zijn geïntegreerd. Je kunt ze nu aanpassen om een betere "
|
695 |
+
"compliancescore te behalen en je website volledig in orde te brengen."
|
696 |
+
|
697 |
+
#: views/partials/modals/modal_almost_there.php:39
|
698 |
+
msgid "Paste your API key here"
|
699 |
+
msgstr "Plak je API-sleutel hier"
|
700 |
+
|
701 |
+
#: views/partials/csManualConfiguration.php:11
|
702 |
+
msgid "Paste your cookie solution embed code here"
|
703 |
+
msgstr "Plak je insluitcode van de Cookie Solution hier"
|
704 |
+
|
705 |
+
#: views/partials/languagesTabs.php:21
|
706 |
+
msgid "Paste your embed code here"
|
707 |
+
msgstr "Plak je insluitcode hier"
|
708 |
+
|
709 |
+
#: views/cons-configuration.php:23
|
710 |
+
msgid "Paste your public API key here"
|
711 |
+
msgstr "Plak je publieke API-sleutel hier"
|
712 |
+
|
713 |
+
#: views/tc-configuration.php:21
|
714 |
+
msgid "Paste your terms and conditions embed code here"
|
715 |
+
msgstr "Plak je insluitcode van je algemene voorwaarden hier"
|
716 |
+
|
717 |
+
#: includes/settings.php:628
|
718 |
+
#, php-format
|
719 |
+
msgid ""
|
720 |
+
"Please enable comments cookies opt-in checkbox in the <a href=\"%s\" "
|
721 |
+
"target=\"_blank\">Discussion settings</a>."
|
722 |
+
msgstr ""
|
723 |
+
"Schakel het tonen van een cookies opt-in selectievakje in via de <a "
|
724 |
+
"href=\"%s\" target=\"_blank\">Discussie-instellingen</a>."
|
725 |
+
|
726 |
+
#: views/cons-single-form.php:234
|
727 |
+
msgid "Please select each legal document available on your site."
|
728 |
+
msgstr "Selecteer elk juridisch document dat op je website beschikbaar is."
|
729 |
+
|
730 |
+
#: includes/settings.php:402 views/partials/siteInfo.php:14
|
731 |
+
msgid "Plugin settings"
|
732 |
+
msgstr "Instellingen plug-in"
|
733 |
+
|
734 |
+
#: includes/settings.php:1115 includes/settings.php:1137
|
735 |
+
#: includes/settings.php:1156 includes/settings.php:1176
|
736 |
+
#: views/partials/bannerPosition.php:20
|
737 |
+
msgid "Position"
|
738 |
+
msgstr "Positie"
|
739 |
+
|
740 |
+
#: views/cons-single-form.php:102
|
741 |
+
msgid "Preferences field"
|
742 |
+
msgstr "Veld voorkeuren"
|
743 |
+
|
744 |
+
#: views/cons-single-form.php:98
|
745 |
+
msgid "Preferences fields"
|
746 |
+
msgstr "Velden voor voorkeuren"
|
747 |
+
|
748 |
+
#: views/cons-single-form.php:99
|
749 |
+
msgid ""
|
750 |
+
"Preferences fields allow you to store a record of the various opt-ins points "
|
751 |
+
"at which the user has agreed or given consent, such as fields for agreeing "
|
752 |
+
"to terms and conditions, newsletter, profiling, etc."
|
753 |
+
msgstr ""
|
754 |
+
"Met velden voor voorkeuren kun je een register bijhouden van de "
|
755 |
+
"verschillende opt-ins waarmee de gebruiker heeft ingestemd of waarvoor hij "
|
756 |
+
"of zij toestemming heeft gegeven, zoals velden om in te stemmen met algemene "
|
757 |
+
"voorwaarden, nieuwsbrieven, profilering enz."
|
758 |
+
|
759 |
+
#: views/integrate-setup.php:114 views/partials/csGeneralSettings.php:157
|
760 |
+
#: views/partials/csPluginSettings.php:10
|
761 |
+
msgid "Primary"
|
762 |
+
msgstr "Primair"
|
763 |
+
|
764 |
+
#: includes/settings.php:418 includes/settings.php:1150
|
765 |
+
msgid "Privacy and Cookie Policy"
|
766 |
+
msgstr "Privacy- en cookiebeleid"
|
767 |
+
|
768 |
+
#: includes/PrivacyPolicyGenerator.php:23
|
769 |
+
msgid "Privacy Policy"
|
770 |
+
msgstr "Privacybeleid"
|
771 |
+
|
772 |
+
#: views/partials/breadcrumb.php:2
|
773 |
+
msgid "Products"
|
774 |
+
msgstr "Producten"
|
775 |
+
|
776 |
+
#: views/partials/csGeneralSettings.php:246
|
777 |
+
#: views/partials/csPluginSettings.php:132
|
778 |
+
msgid ""
|
779 |
+
"Provide a list of domains for any custom iframes you'd like to block, and "
|
780 |
+
"assign their purposes. To make sure they are blocked correctly, please add "
|
781 |
+
"domains in the same format as 'example.com', without any protocols e.g. "
|
782 |
+
"'http://' or 'https://'. You may also use wildcards (*) to include parent "
|
783 |
+
"domains or subdomains."
|
784 |
+
msgstr ""
|
785 |
+
"Geef een lijst van domeinen op voor alle aangepaste iframes die je wilt "
|
786 |
+
"blokkeren, en wijs hun doelen toe. Om ervoor te zorgen dat ze correct worden "
|
787 |
+
"geblokkeerd, moet je domeinen toevoegen in de indeling 'voorbeeld.com', "
|
788 |
+
"zonder protocollen als 'http://' of 'https://'. Je kunt ook wildcards (*) "
|
789 |
+
"gebruiken om bovenliggende domeinen of subdomeinen op te nemen."
|
790 |
+
|
791 |
+
#: views/partials/csGeneralSettings.php:211
|
792 |
+
#: views/partials/csPluginSettings.php:97
|
793 |
+
msgid ""
|
794 |
+
"Provide a list of domains for any custom scripts you'd like to block, and "
|
795 |
+
"assign their purposes. To make sure they are blocked correctly, please add "
|
796 |
+
"domains in the same format as 'example.com', without any protocols e.g. "
|
797 |
+
"'http://' or 'https://'. You may also use wildcards (*) to include parent "
|
798 |
+
"domains or subdomains."
|
799 |
+
msgstr ""
|
800 |
+
"Geef een lijst van domeinen op voor alle aangepaste scripts die je wilt "
|
801 |
+
"blokkeren, en wijs hun doelen toe. Om ervoor te zorgen dat ze correct worden "
|
802 |
+
"geblokkeerd, moet je domeinen toevoegen in de indeling 'voorbeeld.com', "
|
803 |
+
"zonder protocollen als 'http://' of 'https://'. Je kunt ook wildcards (*) "
|
804 |
+
"gebruiken om bovenliggende domeinen of subdomeinen op te nemen."
|
805 |
+
|
806 |
+
#: views/cons-single-form.php:122 views/cons-single-form.php:148
|
807 |
+
#: views/cons-single-form.php:183 views/cons-single-form.php:207
|
808 |
+
#: views/cons-single-form.php:244 views/cons-single-form.php:260
|
809 |
+
msgid "Remove"
|
810 |
+
msgstr "Verwijderen"
|
811 |
+
|
812 |
+
#: views/partials/csSimplifiedConfiguration.php:29
|
813 |
+
msgid "Require consent from"
|
814 |
+
msgstr "Toestemming vereisen"
|
815 |
+
|
816 |
+
#: views/partials/integrateFooter.php:3
|
817 |
+
msgid "Reset settings"
|
818 |
+
msgstr "Instellingen terugzetten"
|
819 |
+
|
820 |
+
#: views/partials/csPluginSettings.php:29 views/plugin-settings.php:13
|
821 |
+
msgid ""
|
822 |
+
"Restrict the plugin to run only for requests that have \"Content-type: text "
|
823 |
+
"/ html\" (recommended)"
|
824 |
+
msgstr ""
|
825 |
+
"Sta de plug-in alleen toe om verzoeken uit te voeren met \"Content-type: "
|
826 |
+
"text / html\" (aanbevolen)"
|
827 |
+
|
828 |
+
#: views/cons-configuration.php:62 views/cons-single-form.php:279
|
829 |
+
#: views/cs-configuration.php:17 views/plugin-settings.php:46
|
830 |
+
#: views/pp-configuration.php:35 views/tc-configuration.php:133
|
831 |
+
msgid "Save settings"
|
832 |
+
msgstr "Instellingen opslaan"
|
833 |
+
|
834 |
+
#: views/integrate-setup.php:118 views/partials/csGeneralSettings.php:161
|
835 |
+
#: views/partials/csPluginSettings.php:14
|
836 |
+
msgid "Secondary"
|
837 |
+
msgstr "Secondair"
|
838 |
+
|
839 |
+
#: views/integrate-setup.php:85 views/partials/csGeneralSettings.php:127
|
840 |
+
msgid ""
|
841 |
+
"Seeing the AMP cookie notice when testing from Google but not when visiting "
|
842 |
+
"your AMP pages directly?"
|
843 |
+
msgstr ""
|
844 |
+
"Zie je de AMP-cookiemelding wel als je met Google test, maar niet als je je "
|
845 |
+
"AMP-pagina's direct bezoekt?"
|
846 |
+
|
847 |
+
#: includes/forms-list-table.php:376
|
848 |
+
msgid "Select All"
|
849 |
+
msgstr "Alles selecteren"
|
850 |
+
|
851 |
+
#: views/integrate-setup.php:121 views/partials/csGeneralSettings.php:153
|
852 |
+
#: views/partials/csPluginSettings.php:17
|
853 |
+
msgid "Select Parsing Engine"
|
854 |
+
msgstr "Parsing-engine selecteren"
|
855 |
+
|
856 |
+
#: views/partials/modals/modal_almost_there.php:13
|
857 |
+
msgid "Select products you have already activated"
|
858 |
+
msgstr "Selecteer de producten die je al hebt geactiveerd"
|
859 |
+
|
860 |
+
#: views/integrate-setup.php:32 views/partials/csGeneralSettings.php:73
|
861 |
+
msgid "Select the iubenda AMP configuration file location."
|
862 |
+
msgstr "Selecteer waar het AMP-configuratiebestand te vinden is."
|
863 |
+
|
864 |
+
#: views/partials/csPluginSettings.php:56 views/plugin-settings.php:39
|
865 |
+
msgid ""
|
866 |
+
"Select whether to display iubenda in a top admin menu or the Settings "
|
867 |
+
"submenu."
|
868 |
+
msgstr ""
|
869 |
+
"Kies of je iubenda wilt weergeven in een hoofdmenu of in het submenu "
|
870 |
+
"Instellingen"
|
871 |
+
|
872 |
+
#: views/partials/product-card.php:46
|
873 |
+
msgid "Service off"
|
874 |
+
msgstr "Dienst uit"
|
875 |
+
|
876 |
+
#: views/partials/product-card.php:46
|
877 |
+
#| msgid "Service"
|
878 |
+
msgid "Service on"
|
879 |
+
msgstr "Dienst aan"
|
880 |
+
|
881 |
+
#: includes/ServiceRating.php:98
|
882 |
+
msgid "Set up a cookie banner"
|
883 |
+
msgstr "Stel een cookiebanner in"
|
884 |
+
|
885 |
+
#: includes/ServiceRating.php:108
|
886 |
+
msgid "Set up a privacy policy"
|
887 |
+
msgstr "Maak een privacybeleid"
|
888 |
+
|
889 |
+
#: includes/ServiceRating.php:113
|
890 |
+
msgid "Set up terms and conditions"
|
891 |
+
msgstr "Maak algemene voorwaarden"
|
892 |
+
|
893 |
+
#: includes/settings.php:749
|
894 |
+
msgid "Settings saved."
|
895 |
+
msgstr "Instellingen opgeslagen."
|
896 |
+
|
897 |
+
#: views/pp-configuration.php:22
|
898 |
+
msgid "Setup your privacy and cookie policy on iubenda.com"
|
899 |
+
msgstr "Stel je privacybeleid en cookiebeleid in op iubenda.com"
|
900 |
+
|
901 |
+
#: views/partials/buttonPosition.php:73 views/tc-configuration.php:117
|
902 |
+
msgid "Shortcode"
|
903 |
+
msgstr "Shortcode"
|
904 |
+
|
905 |
+
#: views/partials/csGeneralSettings.php:14
|
906 |
+
#: views/partials/csGeneralSettings.php:23
|
907 |
+
msgid "Simplified"
|
908 |
+
msgstr "Vereenvoudigd"
|
909 |
+
|
910 |
+
#: views/partials/modals/modal_almost_there.php:6
|
911 |
+
msgid ""
|
912 |
+
"Since you already activated some products for this website, we just ask you "
|
913 |
+
"to copy and paste the embedding code of the product you already have to "
|
914 |
+
"syncronize your iubenda acount with WP plugin."
|
915 |
+
msgstr ""
|
916 |
+
"Omdat je al een aantal producten hebt geactiveerd voor deze website, vragen "
|
917 |
+
"we je om de insluitcode van het product dat je al hebt te kopiëren en zo je "
|
918 |
+
"iubenda-account te synchroniseren met de WP-plug-in."
|
919 |
+
|
920 |
+
#: views/cons-single-form.php:48
|
921 |
+
msgid "Status"
|
922 |
+
msgstr "Status"
|
923 |
+
|
924 |
+
#: includes/settings.php:106 views/partials/csGeneralSettings.php:184
|
925 |
+
#: views/partials/csGeneralSettings.php:200
|
926 |
+
#: views/partials/csGeneralSettings.php:219
|
927 |
+
#: views/partials/csGeneralSettings.php:235
|
928 |
+
#: views/partials/csPluginSettings.php:70
|
929 |
+
#: views/partials/csPluginSettings.php:86
|
930 |
+
#: views/partials/csPluginSettings.php:105
|
931 |
+
#: views/partials/csPluginSettings.php:121
|
932 |
+
msgid "Strictly necessary"
|
933 |
+
msgstr "Strikt noodzakelijk"
|
934 |
+
|
935 |
+
#: includes/settings.php:75 includes/settings.php:76 includes/settings.php:77
|
936 |
+
#: includes/settings.php:78 includes/settings.php:79
|
937 |
+
msgid "string"
|
938 |
+
msgstr "tekenreeks"
|
939 |
+
|
940 |
+
#: includes/settings.php:1114 includes/settings.php:1136
|
941 |
+
#: includes/settings.php:1155 includes/settings.php:1175
|
942 |
+
msgid "Style"
|
943 |
+
msgstr "Stijl"
|
944 |
+
|
945 |
+
#: views/cons-single-form.php:65
|
946 |
+
msgid "Subject field"
|
947 |
+
msgstr "Veld betrokkene"
|
948 |
+
|
949 |
+
#: views/cons-single-form.php:61
|
950 |
+
msgid "Subject fields"
|
951 |
+
msgstr "Velden voor betrokkenen"
|
952 |
+
|
953 |
+
#: views/cons-single-form.php:62
|
954 |
+
msgid ""
|
955 |
+
"Subject fields allow you to store a series of identifying values about your "
|
956 |
+
"individual subjects/users. Please map the subject field with the "
|
957 |
+
"corresponding form fields where applicable."
|
958 |
+
msgstr ""
|
959 |
+
"Velden voor betrokkenen laten toe een reeks identificerende waarden over je "
|
960 |
+
"individuele betrokkenen of gebruikers op te slaan. Wijs velden toe aan de "
|
961 |
+
"overeenkomstige formuliervelden waar dat relevant is."
|
962 |
+
|
963 |
+
#: views/partials/csPluginSettings.php:53 views/plugin-settings.php:36
|
964 |
+
msgid "Submenu"
|
965 |
+
msgstr "Submenu"
|
966 |
+
|
967 |
+
#: includes/settings.php:926
|
968 |
+
msgid "Sure!"
|
969 |
+
msgstr "Natuurlijk!"
|
970 |
+
|
971 |
+
#: views/partials/modals/modal_almost_there.php:75
|
972 |
+
msgid "Synchronize products"
|
973 |
+
msgstr "Producten synchroniseren"
|
974 |
+
|
975 |
+
#: includes/settings.php:110
|
976 |
+
msgid "Targeting & Advertising"
|
977 |
+
msgstr "Targeting en advertenties"
|
978 |
+
|
979 |
+
#: views/partials/csGeneralSettings.php:188
|
980 |
+
#: views/partials/csGeneralSettings.php:204
|
981 |
+
#: views/partials/csGeneralSettings.php:223
|
982 |
+
#: views/partials/csGeneralSettings.php:239
|
983 |
+
#: views/partials/csPluginSettings.php:74
|
984 |
+
#: views/partials/csPluginSettings.php:90
|
985 |
+
#: views/partials/csPluginSettings.php:109
|
986 |
+
#: views/partials/csPluginSettings.php:125
|
987 |
+
msgid "Targeting & Advertising"
|
988 |
+
msgstr "Targeting en advertenties"
|
989 |
+
|
990 |
+
#: includes/settings.php:412
|
991 |
+
msgid "Terms and condition"
|
992 |
+
msgstr "Algemene voorwaarden"
|
993 |
+
|
994 |
+
#: includes/settings.php:1170
|
995 |
+
msgid "Terms and Conditions"
|
996 |
+
msgstr "Algemene voorwaarden"
|
997 |
+
|
998 |
+
#: views/partials/bannerStyle.php:2
|
999 |
+
msgid "Theme"
|
1000 |
+
msgstr "Thema"
|
1001 |
+
|
1002 |
+
#: includes/ServiceRating.php:109
|
1003 |
+
#, php-format
|
1004 |
+
#| msgid ""
|
1005 |
+
#| "This accounts for 25% of your score. A privacy policy is a requirement "
|
1006 |
+
#| "under most privacy laws around the world. This document typically "
|
1007 |
+
#| "includes legally required disclosures about the type of personal data you "
|
1008 |
+
#| "process, why you need to process it, how the processing is done and the "
|
1009 |
+
#| "user’s rights under applicable law."
|
1010 |
+
msgid ""
|
1011 |
+
"This accounts for 25% of your score. A privacy policy is a requirement "
|
1012 |
+
"under most privacy laws around the world. This document typically includes "
|
1013 |
+
"legally required disclosures about the type of personal data you process, "
|
1014 |
+
"why you need to process it, how the processing is done and the user’s rights "
|
1015 |
+
"under applicable law."
|
1016 |
+
msgstr ""
|
1017 |
+
"Dit is goed voor 25% van je score. Een privacybeleid wordt door de "
|
1018 |
+
"meeste privacywetten wereldwijd verplicht gesteld. Dit document bevat "
|
1019 |
+
"meestal juridisch vereiste informatie over wat voor persoonsgegevens je "
|
1020 |
+
"verwerkt, waarom en hoe je die verwerkt, en welke rechten gebruikers in dat "
|
1021 |
+
"verband kunnen laten gelden."
|
1022 |
+
|
1023 |
+
#: includes/ServiceRating.php:104
|
1024 |
+
#, php-format
|
1025 |
+
#| msgid ""
|
1026 |
+
#| "This accounts for 25% of your score. If you’re based in Europe or have "
|
1027 |
+
#| "Europe-based users, you likely need to block cookies from running until "
|
1028 |
+
#| "you receive user consent. To do this, select “Automatically block scripts "
|
1029 |
+
#| "detected by the plugin”."
|
1030 |
+
msgid ""
|
1031 |
+
"This accounts for 25% of your score. If you’re based in Europe or have "
|
1032 |
+
"Europe-based users, you likely need to block cookies from running until you "
|
1033 |
+
"receive user consent. To do this, select “Automatically block scripts "
|
1034 |
+
"detected by the plugin”."
|
1035 |
+
msgstr ""
|
1036 |
+
"Dit is goed voor 25% van je score. Als je in Europa gevestigd bent of "
|
1037 |
+
"gebruikers in Europa bereikt, mag je waarschijnlijk geen cookies uitvoeren "
|
1038 |
+
"zolang een gebruiker daar geen toestemming voor heeft gegeven. Selecteer "
|
1039 |
+
"daarvoor de optie \"Door de plug-in gedetecteerde scripts automatisch "
|
1040 |
+
"blokkeren\"."
|
1041 |
+
|
1042 |
+
#: includes/ServiceRating.php:114
|
1043 |
+
#, php-format
|
1044 |
+
#| msgid ""
|
1045 |
+
#| "This accounts for 25% of your score. Terms and conditions help to protect "
|
1046 |
+
#| "you, the website owner, from potential liabilities and more. Furthermore, "
|
1047 |
+
#| "if you run an e-commerce site or app, having this document may be legally "
|
1048 |
+
#| "required as Terms typically contain legally mandatory disclosures. Terms "
|
1049 |
+
#| "are legally binding documents, and therefore it’s important to ensure "
|
1050 |
+
#| "that they actually fit your specific scenario."
|
1051 |
+
msgid ""
|
1052 |
+
"This accounts for 25% of your score. Terms and conditions help to "
|
1053 |
+
"protect you, the website owner, from potential liabilities and more. "
|
1054 |
+
"Furthermore, if you run an e-commerce site or app, having this document may "
|
1055 |
+
"be legally required as Terms typically contain legally mandatory disclosures."
|
1056 |
+
" Terms are legally binding documents, and therefore it’s important to ensure "
|
1057 |
+
"that they actually fit your specific scenario."
|
1058 |
+
msgstr ""
|
1059 |
+
"Dit is goed voor 25% van je score. Algemene voorwaarden kunnen jou als "
|
1060 |
+
"eigenaar van de website beschermen tegen onder andere mogelijke "
|
1061 |
+
"aansprakelijkheid. Als je een e-commerce website of app hebt, kan het hebben "
|
1062 |
+
"van algemene voorwaarden zelfs verplicht zijn, omdat je er bepaalde "
|
1063 |
+
"informatie in moet opnemen. Algemene voorwaarden zijn juridisch bindend. Je "
|
1064 |
+
"moet er dus voor zorgen dat ze passen bij jouw specifieke situatie."
|
1065 |
+
|
1066 |
+
#: includes/ServiceRating.php:99
|
1067 |
+
#, php-format
|
1068 |
+
#| msgid ""
|
1069 |
+
#| "This accounts for 25% of your score. Your cookie banner should inform "
|
1070 |
+
#| "your users about your use of cookies and similar tracking technologies, "
|
1071 |
+
#| "and their rights in this regard. You may need a banner if either the GDPR,"
|
1072 |
+
#| " CCPA or ePrivacy apply to you."
|
1073 |
+
msgid ""
|
1074 |
+
"This accounts for 25% of your score. Your cookie banner should inform "
|
1075 |
+
"your users about your use of cookies and similar tracking technologies, and "
|
1076 |
+
"their rights in this regard. You may need a banner if either the GDPR, CCPA "
|
1077 |
+
"or ePrivacy apply to you."
|
1078 |
+
msgstr ""
|
1079 |
+
"Dit is goed voor 25% van je score. In je cookiebanner moet je informatie "
|
1080 |
+
"geven over hoe je cookies en andere tracking-technologieën gebruikt, en over "
|
1081 |
+
"welke rechten gebruikers in dit verband hebben. Je hebt een banner nodig als "
|
1082 |
+
"de GDPR, CCPA of ePrivacy-wetgeving voor jou van toepassing zijn."
|
1083 |
+
|
1084 |
+
#: views/partials/frontpage_main_box.php:26
|
1085 |
+
msgid "This is what you may need to be compliant"
|
1086 |
+
msgstr "Dit kan vereist zijn voor compliance"
|
1087 |
+
|
1088 |
+
#: views/partials/auto_detect_forms.php:29
|
1089 |
+
msgid ""
|
1090 |
+
"This section lists the forms available for field mapping. The plugin "
|
1091 |
+
"currently supports & detects: WordPress Comment, Contact Form 7, WooCommerce "
|
1092 |
+
"Checkout and WP Forms."
|
1093 |
+
msgstr ""
|
1094 |
+
"In dit onderdeel vind je alle formulieren die je kunt gebruiken voor "
|
1095 |
+
"veldtoewijzing. De plug-in ondersteunt en detecteert: WordPress Comment, "
|
1096 |
+
"Contact Form 7, WooCommerce Checkout en WP Forms."
|
1097 |
+
|
1098 |
+
#: includes/widget/IubendaLegalWidget.php:176
|
1099 |
+
msgid "Title:"
|
1100 |
+
msgstr "Titel:"
|
1101 |
+
|
1102 |
+
#: includes/settings.php:905
|
1103 |
+
#, php-format
|
1104 |
+
msgid ""
|
1105 |
+
"To ensure regular scans and full support, <span class=\"text-bold\">verify "
|
1106 |
+
"your account</span>. Check your mailbox now and validate your email address, "
|
1107 |
+
"or check <a href=\"%s\" target=\"_blank\" class=\"link-underline\">your "
|
1108 |
+
"account</a> on iubenda.com. If you already did that, you can safely <a "
|
1109 |
+
"href=\"javascript:void(0)\" class=\"notice-dismiss-by-text dismiss-"
|
1110 |
+
"notification-alert link-underline\" data-dismiss-"
|
1111 |
+
"key=\"iub_user_needs_to_verify_his_account\">dismiss this reminder</a>."
|
1112 |
+
msgstr ""
|
1113 |
+
"<span class=\"text-bold\">Verifieer je account</span> om regelmatige scans "
|
1114 |
+
"en volledige ondersteuning te verzekeren. Kijk in je inbox en bevestig je e-"
|
1115 |
+
"mailadres, of controleer <a href=\"%s\" target=\"_blank\" class=\"link-"
|
1116 |
+
"underline\">je account</a> op iubenda.com. Heb je dat al gedaan? Dan kun je "
|
1117 |
+
"<a href='javascript:void(0)' class=\"notice-dismiss-by-text link-underline\" "
|
1118 |
+
"data-dismiss-key=\"iub_user_needs_to_verify_his_account\">deze melding "
|
1119 |
+
"negeren</a>."
|
1120 |
+
|
1121 |
+
#: views/partials/csPluginSettings.php:49 views/plugin-settings.php:32
|
1122 |
+
msgid "Top menu"
|
1123 |
+
msgstr "Hoofdmenu"
|
1124 |
+
|
1125 |
+
#: views/partials/modals/modal_no_website_found.php:10
|
1126 |
+
#: views/partials/modals/modal_ops_embed_invalid.php:10
|
1127 |
+
msgid "Try again"
|
1128 |
+
msgstr "Opnieuw proberen"
|
1129 |
+
|
1130 |
+
#: includes/settings.php:1154 includes/settings.php:1174
|
1131 |
+
msgid "Version"
|
1132 |
+
msgstr "Versie"
|
1133 |
+
|
1134 |
+
#: views/partials/header_scanned.php:4
|
1135 |
+
msgid "We have analyzed your website in background and this is the result."
|
1136 |
+
msgstr ""
|
1137 |
+
"We hebben je website op de achtergrond geanalyseerd. Dit is het resultaat."
|
1138 |
+
|
1139 |
+
#: views/partials/buttonPosition.php:28
|
1140 |
+
#: views/partials/modals/modal_almost_there.php:62
|
1141 |
+
#: views/tc-configuration.php:83
|
1142 |
+
#, php-format
|
1143 |
+
#| msgid ""
|
1144 |
+
#| "We were not able to add a \"Legal\" widget to the footer as your theme is "
|
1145 |
+
#| "not compatible, you can position the \"Legal\" widget manually from <a "
|
1146 |
+
#| "href=\"%s\" target=\"_blank\">here</a>."
|
1147 |
+
msgid ""
|
1148 |
+
"We were not able to add a \"Legal\" widget/block to the footer as your theme "
|
1149 |
+
"is not compatible, you can position the \"Legal\" widget/block manually from "
|
1150 |
+
"<a href=\"%s\" target=\"_blank\">here</a>."
|
1151 |
+
msgstr ""
|
1152 |
+
"Er kon geen widget met juridische informatie aan de voettekst worden "
|
1153 |
+
"toegevoegd omdat je thema dat niet toestaat. Je kunt de widget <a "
|
1154 |
+
"href=\"%s\" target=\"_blank\">hier</a> manueel plaatsen."
|
1155 |
+
|
1156 |
+
#: includes/settings.php:931
|
1157 |
+
msgid "We're sorry to hear that. Would you mind giving us some feedback?"
|
1158 |
+
msgstr "Jammer. Wil je ons wat feedback geven?"
|
1159 |
+
|
1160 |
+
#: views/partials/welcomeScreenHeader.php:2
|
1161 |
+
msgid "Welcome to iubenda!"
|
1162 |
+
msgstr "Welkom bij iubenda!"
|
1163 |
+
|
1164 |
+
#: views/cons-configuration.php:37 views/partials/languagesTabs.php:27
|
1165 |
+
#: views/partials/modals/modal_almost_there.php:42
|
1166 |
+
msgid "Where can I find this code?"
|
1167 |
+
msgstr "Waar vind ik deze code?"
|
1168 |
+
|
1169 |
+
#: includes/settings.php:924
|
1170 |
+
msgid ""
|
1171 |
+
"Whew, what a relief!? We've worked countless hours to make this plugin as "
|
1172 |
+
"useful as possible - so we're pretty happy that you're enjoying it. While "
|
1173 |
+
"you here, would you mind leaving us a 5 star rating? It would really help us "
|
1174 |
+
"out."
|
1175 |
+
msgstr ""
|
1176 |
+
"Dank je! We hebben er hard aan gewerkt om deze plug-in zo nuttig mogelijk te "
|
1177 |
+
"maken, dus we zijn blij dat er iets aan hebt. Wil je ons meteen ook 5 "
|
1178 |
+
"sterren geven? Dat helpt ons echt om de plug-in onder de aandacht te brengen."
|
1179 |
+
|
1180 |
+
#: views/partials/csSimplifiedConfiguration.php:43
|
1181 |
+
msgid "Worldwide"
|
1182 |
+
msgstr "Wereldwijd"
|
1183 |
+
|
1184 |
+
#: includes/settings.php:919
|
1185 |
+
msgid "Yes"
|
1186 |
+
msgstr "Ja"
|
1187 |
+
|
1188 |
+
#: includes/settings.php:389
|
1189 |
+
msgid "You don't have permission to access this page."
|
1190 |
+
msgstr ""
|
1191 |
+
"Je beschikt niet over de nodige toestemmingen om deze pagina te bekijken."
|
1192 |
+
|
1193 |
+
#: views/partials/csSimplifiedConfiguration.php:92
|
1194 |
+
msgid "You should activate this feature if you show ads on your website"
|
1195 |
+
msgstr ""
|
1196 |
+
"Als je advertenties op je website hebt staan, moet je moet deze functie "
|
1197 |
+
"activeren"
|
1198 |
+
|
1199 |
+
#: views/partials/buttonPosition.php:64 views/tc-configuration.php:108
|
1200 |
+
msgid "Your embed code"
|
1201 |
+
msgstr "Je insluitcode"
|
1202 |
+
|
1203 |
+
#: views/cons-configuration.php:29
|
1204 |
+
msgid "Your iubenda Javascript library public API key"
|
1205 |
+
msgstr "Je iubenda publieke API-sleutel voor de JavaScript-bibliotheek"
|
1206 |
+
|
1207 |
+
#: views/partials/modals/modal_pp_created.php:5
|
1208 |
+
msgid "Your privacy policy has been created!"
|
1209 |
+
msgstr "Je privacybeleid is klaar!"
|
1210 |
+
|
1211 |
+
#: views/partials/header_scanned.php:3 views/partials/modals/modal_rating.php:6
|
1212 |
+
#: views/partials/siteInfo.php:20
|
1213 |
+
msgid "Your rating"
|
1214 |
+
msgstr "Jouw score"
|
1215 |
+
|
1216 |
+
#: includes/QuickGeneratorService.php:111
|
1217 |
+
msgid ""
|
1218 |
+
"Your website has been created and your legal documents have been generated. "
|
1219 |
+
"Setup your cookie banner and privacy policy button to complete the "
|
1220 |
+
"integration."
|
1221 |
+
msgstr ""
|
1222 |
+
"Je website is gemaakt en je juridische documenten zijn gegenereerd. Stel je "
|
1223 |
+
"cookiebanner en je knop voor je privacybeleid in om de integratie te "
|
1224 |
+
"voltooien."
|
languages/iubenda-pt_BR.mo
ADDED
Binary file
|
languages/iubenda-pt_BR.po
ADDED
@@ -0,0 +1,1201 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: \n"
|
4 |
+
"POT-Creation-Date: 2022-06-22 14:50+0200\n"
|
5 |
+
"PO-Revision-Date: 2022-08-05 18:52+0000\n"
|
6 |
+
"Last-Translator: \n"
|
7 |
+
"Language-Team: Portuguese (Brazil)\n"
|
8 |
+
"Language: pt_BR\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
13 |
+
"X-Generator: Loco https://localise.biz/\n"
|
14 |
+
"X-Poedit-Basepath: ..\n"
|
15 |
+
"X-Poedit-KeywordsList: _e;__\n"
|
16 |
+
"X-Poedit-SearchPath-0: .\n"
|
17 |
+
"Report-Msgid-Bugs-To: \n"
|
18 |
+
"X-Loco-Version: 2.6.2; wp-6.0.1"
|
19 |
+
|
20 |
+
#: views/partials/modals/modal_almost_there.php:25
|
21 |
+
msgid "(required)"
|
22 |
+
msgstr "(Obrigatório)"
|
23 |
+
|
24 |
+
#: views/partials/buttonPosition.php:74
|
25 |
+
msgid ""
|
26 |
+
"A shortcode is a tiny bit of code that allows embedding interactive elements "
|
27 |
+
"or creating complex page layouts with a minimal effort.<br>Just copy and "
|
28 |
+
"paste the shortcode where you want the button to appear."
|
29 |
+
msgstr ""
|
30 |
+
"Um shortcode é um pequeno código que permite incorporar elementos "
|
31 |
+
"interativos ou criar layouts de página complexos sem esforço.<br>Basta "
|
32 |
+
"copiar e colar o shortcode onde você deseja que o botão apareça."
|
33 |
+
|
34 |
+
#: views/cons-configuration.php:17
|
35 |
+
msgid "Activate & Configure Consent Solution by"
|
36 |
+
msgstr "Ativar e configurar a Consent Solution"
|
37 |
+
|
38 |
+
#: views/cons-configuration.php:14
|
39 |
+
msgid ""
|
40 |
+
"Activate <strong>Consent Solution</strong> on our website in your iubenda "
|
41 |
+
"dashboard and paste here the <strong>API key</strong> to integrate it on "
|
42 |
+
"your website."
|
43 |
+
msgstr ""
|
44 |
+
"Ative a <strong>Consent Solution</strong> no nosso site pelo seu dashboard "
|
45 |
+
"da iubenda e cole aqui a <strong>chave API</strong> para integrá-la em seu "
|
46 |
+
"site."
|
47 |
+
|
48 |
+
#: views/integrate-setup.php:21
|
49 |
+
msgid "Add a cookie banner"
|
50 |
+
msgstr "Adicionar um banner de cookies"
|
51 |
+
|
52 |
+
#: views/cons-configuration.php:44
|
53 |
+
msgid "Add forms"
|
54 |
+
msgstr "Adicionar formulários"
|
55 |
+
|
56 |
+
#: views/cons-single-form.php:268
|
57 |
+
msgid "Add New Document"
|
58 |
+
msgstr "Adicionar Novo Documento"
|
59 |
+
|
60 |
+
#: views/cons-single-form.php:216
|
61 |
+
msgid "Add New Exclude"
|
62 |
+
msgstr "Adicionar nova exclusão"
|
63 |
+
|
64 |
+
#: views/partials/csGeneralSettings.php:247
|
65 |
+
#: views/partials/csPluginSettings.php:133
|
66 |
+
msgid "Add New iframe"
|
67 |
+
msgstr "Adicionar Novo iframe"
|
68 |
+
|
69 |
+
#: views/cons-single-form.php:155
|
70 |
+
msgid "Add New Preference"
|
71 |
+
msgstr "Adicionar Nova Preferência"
|
72 |
+
|
73 |
+
#: views/partials/csGeneralSettings.php:212
|
74 |
+
#: views/partials/csPluginSettings.php:98
|
75 |
+
msgid "Add New Script"
|
76 |
+
msgstr "Adicionar Novo Script"
|
77 |
+
|
78 |
+
#: views/integrate-setup.php:140
|
79 |
+
msgid "Add the privacy policy button"
|
80 |
+
msgstr "Adicione o botão da política de privacidade"
|
81 |
+
|
82 |
+
#: views/partials/buttonPosition.php:5 views/tc-configuration.php:61
|
83 |
+
msgid "Add to the footer automatically"
|
84 |
+
msgstr "Adicionar automaticamente ao rodapé"
|
85 |
+
|
86 |
+
#: includes/forms-list-table.php:279
|
87 |
+
msgid "All form sources"
|
88 |
+
msgstr "Todos os tipos de formulários"
|
89 |
+
|
90 |
+
#: views/cons-single-form.php:250
|
91 |
+
msgid "Alternatively, you may add your own custom document identifiers."
|
92 |
+
msgstr ""
|
93 |
+
"Em alternativa, você pode adicionar os seus próprios identificadores de "
|
94 |
+
"documentos personalizados."
|
95 |
+
|
96 |
+
#: includes/amp.php:281
|
97 |
+
msgid "AMP Cookie Consent"
|
98 |
+
msgstr "Consentimento de Cookies AMP"
|
99 |
+
|
100 |
+
#: includes/settings.php:109 views/partials/csGeneralSettings.php:187
|
101 |
+
#: views/partials/csGeneralSettings.php:203
|
102 |
+
#: views/partials/csGeneralSettings.php:222
|
103 |
+
#: views/partials/csGeneralSettings.php:238
|
104 |
+
#: views/partials/csPluginSettings.php:73
|
105 |
+
#: views/partials/csPluginSettings.php:89
|
106 |
+
#: views/partials/csPluginSettings.php:108
|
107 |
+
#: views/partials/csPluginSettings.php:124
|
108 |
+
msgid "Analytics"
|
109 |
+
msgstr "Analytics"
|
110 |
+
|
111 |
+
#: views/partials/frontpage_main_box.php:22
|
112 |
+
msgid "Analyzing your website"
|
113 |
+
msgstr "Analisando o seu site"
|
114 |
+
|
115 |
+
#: views/cons-configuration.php:53
|
116 |
+
msgid "Auto-detect forms"
|
117 |
+
msgstr "Auto-detectar formulários"
|
118 |
+
|
119 |
+
#: views/integrate-setup.php:36 views/partials/csGeneralSettings.php:77
|
120 |
+
msgid "Auto-generated configuration file"
|
121 |
+
msgstr "Arquivo de configuração gerado automaticamente"
|
122 |
+
|
123 |
+
#: views/cons-single-form.php:71
|
124 |
+
msgid "Autogenerated"
|
125 |
+
msgstr "Geração automática"
|
126 |
+
|
127 |
+
#: views/integrate-setup.php:108 views/partials/csGeneralSettings.php:149
|
128 |
+
#: views/partials/csPluginSettings.php:4
|
129 |
+
msgid "Automatically block scripts detected by the plugin"
|
130 |
+
msgstr "Bloqueie automaticamente scripts detectados pelo plugin"
|
131 |
+
|
132 |
+
#: views/partials/bannerPosition.php:41
|
133 |
+
msgid "Background-overlay"
|
134 |
+
msgstr "Sobreposição de fundo"
|
135 |
+
|
136 |
+
#: views/partials/csSimplifiedConfiguration.php:68
|
137 |
+
msgid "Banner buttons"
|
138 |
+
msgstr "Botões do banner"
|
139 |
+
|
140 |
+
#: includes/settings.php:107
|
141 |
+
msgid "Basic interactions & functionalities"
|
142 |
+
msgstr "Interações e funcionalidades básicas"
|
143 |
+
|
144 |
+
#: views/partials/csGeneralSettings.php:185
|
145 |
+
#: views/partials/csGeneralSettings.php:201
|
146 |
+
#: views/partials/csGeneralSettings.php:220
|
147 |
+
#: views/partials/csGeneralSettings.php:236
|
148 |
+
#: views/partials/csPluginSettings.php:71
|
149 |
+
#: views/partials/csPluginSettings.php:87
|
150 |
+
#: views/partials/csPluginSettings.php:106
|
151 |
+
#: views/partials/csPluginSettings.php:122
|
152 |
+
msgid "Basic interactions & functionalities"
|
153 |
+
msgstr "Interações básicas & funcionalidades"
|
154 |
+
|
155 |
+
#: views/partials/csGeneralSettings.php:173
|
156 |
+
msgid "Blocked domains"
|
157 |
+
msgstr "Domínios bloqueados"
|
158 |
+
|
159 |
+
#: views/partials/csSimplifiedConfiguration.php:22
|
160 |
+
msgid "Both"
|
161 |
+
msgstr "Ambos"
|
162 |
+
|
163 |
+
#: views/partials/buttonPosition.php:1 views/tc-configuration.php:57
|
164 |
+
msgid "Button position"
|
165 |
+
msgstr "Posição do botão"
|
166 |
+
|
167 |
+
#: views/partials/buttonStyle.php:1 views/tc-configuration.php:32
|
168 |
+
msgid "Button style"
|
169 |
+
msgstr "Estilo do botão"
|
170 |
+
|
171 |
+
#: views/cons-configuration.php:60 views/cons-single-form.php:277
|
172 |
+
#: views/cs-configuration.php:15 views/plugin-settings.php:44
|
173 |
+
#: views/pp-configuration.php:33 views/tc-configuration.php:131
|
174 |
+
msgid "Cancel"
|
175 |
+
msgstr "Cancelar"
|
176 |
+
|
177 |
+
#: views/partials/csSimplifiedConfiguration.php:18
|
178 |
+
msgid "CCPA Only"
|
179 |
+
msgstr "Apenas CCPA"
|
180 |
+
|
181 |
+
#: views/cons-configuration.php:18 views/partials/csManualConfiguration.php:6
|
182 |
+
#: views/tc-configuration.php:16
|
183 |
+
msgid "clicking here"
|
184 |
+
msgstr "clicando aqui"
|
185 |
+
|
186 |
+
#: views/partials/csGeneralSettings.php:2
|
187 |
+
msgid "Configuration"
|
188 |
+
msgstr "Configuração"
|
189 |
+
|
190 |
+
#: views/partials/product-card.php:48
|
191 |
+
msgid "Configure"
|
192 |
+
msgstr "Configurar"
|
193 |
+
|
194 |
+
#: views/partials/csManualConfiguration.php:5
|
195 |
+
msgid "Configure cookie banner by"
|
196 |
+
msgstr "Configurar banner de cookies"
|
197 |
+
|
198 |
+
#: views/tc-configuration.php:15
|
199 |
+
msgid "Configure terms and conditions by"
|
200 |
+
msgstr "Configure os termos e condições"
|
201 |
+
|
202 |
+
#: views/partials/csManualConfiguration.php:2
|
203 |
+
msgid ""
|
204 |
+
"Configure your cookie banner on our website and paste here the embed code to "
|
205 |
+
"integrate it to your website."
|
206 |
+
msgstr ""
|
207 |
+
"Configure o seu banner de cookies no nosso site e cole aqui o código de "
|
208 |
+
"incorporação para integrá-lo ao seu site."
|
209 |
+
|
210 |
+
#: views/tc-configuration.php:12
|
211 |
+
msgid ""
|
212 |
+
"Configure your terms and conditions on our website and paste here the embed "
|
213 |
+
"code to integrate the button on your website."
|
214 |
+
msgstr ""
|
215 |
+
"Configure os seus termos e condições no nosso site e cole aqui o código de "
|
216 |
+
"incorporação para integrar o botão em seu site."
|
217 |
+
|
218 |
+
#: views/cons-configuration.php:31
|
219 |
+
msgid "Confirm API"
|
220 |
+
msgstr "Confirmar API"
|
221 |
+
|
222 |
+
#: includes/settings.php:97 includes/settings.php:430 includes/settings.php:441
|
223 |
+
#: includes/settings.php:1182
|
224 |
+
msgid "Consent Solution"
|
225 |
+
msgstr "Consent Solution"
|
226 |
+
|
227 |
+
#: views/partials/modals/modal_almost_there.php:37
|
228 |
+
msgid "Consent Solution API key"
|
229 |
+
msgstr "Chave API da Consent Solution"
|
230 |
+
|
231 |
+
#: views/partials/modals/modal_select_language.php:54
|
232 |
+
msgid "Continue"
|
233 |
+
msgstr "Continuar"
|
234 |
+
|
235 |
+
#: includes/settings.php:91 includes/settings.php:424
|
236 |
+
#: includes/settings.php:1162
|
237 |
+
msgid "Cookie Solution"
|
238 |
+
msgstr "Cookie Solution"
|
239 |
+
|
240 |
+
#: includes/QuickGeneratorService.php:625
|
241 |
+
#, php-format
|
242 |
+
msgid ""
|
243 |
+
"Currently, you do not have write permission for <i class=\"text-bold\">%s</i>"
|
244 |
+
". For instructions on how to fix this, please read <a class=\"link-"
|
245 |
+
"underline\" target=\"_blank\" href=\"%s\">our guide</a>."
|
246 |
+
msgstr ""
|
247 |
+
"Atualmente, você não tem permissão de escrita para <i class=\"text-bold\">"
|
248 |
+
"%s</i>. Para saber como resolver, leia o <a class=\"link-underline\" "
|
249 |
+
"target=\\\"blank\\\" href=\\\"%s\\\">nosso guia</a>."
|
250 |
+
|
251 |
+
#: views/integrate-setup.php:40 views/partials/csGeneralSettings.php:81
|
252 |
+
msgid "Custom configuration file"
|
253 |
+
msgstr "Arquivo de configuração personalizado"
|
254 |
+
|
255 |
+
#: views/partials/csGeneralSettings.php:177
|
256 |
+
#: views/partials/csPluginSettings.php:63
|
257 |
+
msgid "Custom iframes"
|
258 |
+
msgstr "Iframes personalizados"
|
259 |
+
|
260 |
+
#: views/partials/csGeneralSettings.php:176
|
261 |
+
#: views/partials/csPluginSettings.php:62
|
262 |
+
msgid "Custom scripts"
|
263 |
+
msgstr "Scripts personalizados"
|
264 |
+
|
265 |
+
#: views/partials/csPluginSettings.php:59
|
266 |
+
msgid "Custom settings"
|
267 |
+
msgstr "Configurações personalizadas"
|
268 |
+
|
269 |
+
#: views/partials/bannerStyle.php:9 views/partials/buttonStyle.php:19
|
270 |
+
#: views/tc-configuration.php:50
|
271 |
+
msgid "Dark"
|
272 |
+
msgstr "Versão em preto"
|
273 |
+
|
274 |
+
#: includes/forms-list-table.php:90
|
275 |
+
msgid "Date"
|
276 |
+
msgstr "Data"
|
277 |
+
|
278 |
+
#: views/integrate-setup.php:73 views/integrate-setup.php:91
|
279 |
+
#: views/partials/csGeneralSettings.php:115
|
280 |
+
msgid "Default language"
|
281 |
+
msgstr "Idioma padrão"
|
282 |
+
|
283 |
+
#: includes/forms-list-table.php:160
|
284 |
+
msgid "Delete"
|
285 |
+
msgstr "Deletar"
|
286 |
+
|
287 |
+
#: views/partials/csPluginSettings.php:41 views/plugin-settings.php:25
|
288 |
+
msgid "Delete all plugin data upon deactivation"
|
289 |
+
msgstr "Excluir todos os dados do plugin após a desativação"
|
290 |
+
|
291 |
+
#: views/partials/csPluginSettings.php:33 views/plugin-settings.php:17
|
292 |
+
msgid "Do not run the plugin inside the RSS feed (recommended)"
|
293 |
+
msgstr "Não execute o plugin dentro do feed RSS (recomendado)"
|
294 |
+
|
295 |
+
#: views/partials/csPluginSettings.php:37 views/plugin-settings.php:21
|
296 |
+
msgid "Do not run the plugin on POST requests (recommended)"
|
297 |
+
msgstr "Não execute o plugin em solicitações POST (recomendado)"
|
298 |
+
|
299 |
+
#: views/partials/footer.php:5
|
300 |
+
msgid "Documentation"
|
301 |
+
msgstr "Documentação"
|
302 |
+
|
303 |
+
#: includes/forms-list-table.php:159
|
304 |
+
msgid "Edit"
|
305 |
+
msgstr "Editar"
|
306 |
+
|
307 |
+
#: views/integrate-setup.php:29 views/partials/csGeneralSettings.php:69
|
308 |
+
msgid "Enable Google AMP support"
|
309 |
+
msgstr "Ativar o suporte do Google AMP"
|
310 |
+
|
311 |
+
#: views/partials/csSimplifiedConfiguration.php:88
|
312 |
+
msgid "Enable IAB Transparency and Consent Framework"
|
313 |
+
msgstr "Habilitar IAB Transparency & Consent Framework"
|
314 |
+
|
315 |
+
#: views/integrate-setup.php:128 views/partials/csGeneralSettings.php:170
|
316 |
+
#: views/partials/csPluginSettings.php:24
|
317 |
+
msgid ""
|
318 |
+
"Enable this option to improve performance <strong>only</strong> if your site "
|
319 |
+
"does <strong>not</strong> use a cache system or a cache plugin and if you're "
|
320 |
+
"<strong>not</strong> collecting per-category consent. If you're in doubt, "
|
321 |
+
"keep this setting disabled"
|
322 |
+
msgstr ""
|
323 |
+
"Ative esta opção para melhorar o desempenho <strong>somente</strong> se seu "
|
324 |
+
"site <strong>não</strong> usar um sistema de cache ou um plugin de cache e "
|
325 |
+
"se você <strong>não</strong> coletar dados consentimento da categoria. Caso "
|
326 |
+
"esteja em dúvida, mantenha esta configuração desativada"
|
327 |
+
|
328 |
+
#: includes/settings.php:917
|
329 |
+
msgid "Enjoying the iubenda Cookie & Consent Solution Plugin?"
|
330 |
+
msgstr "Está gostando do plugin de Cookie & Consent Solution da iubenda?"
|
331 |
+
|
332 |
+
#: views/partials/csGeneralSettings.php:216
|
333 |
+
#: views/partials/csGeneralSettings.php:232
|
334 |
+
#: views/partials/csPluginSettings.php:102
|
335 |
+
#: views/partials/csPluginSettings.php:118
|
336 |
+
msgid "Enter custom iframe"
|
337 |
+
msgstr "Insira o iframe personalizado"
|
338 |
+
|
339 |
+
#: views/partials/csGeneralSettings.php:181
|
340 |
+
#: views/partials/csGeneralSettings.php:197
|
341 |
+
#: views/partials/csPluginSettings.php:67
|
342 |
+
#: views/partials/csPluginSettings.php:83
|
343 |
+
msgid "Enter custom script"
|
344 |
+
msgstr "Insira o script personalizado"
|
345 |
+
|
346 |
+
#: views/cons-single-form.php:108 views/cons-single-form.php:133
|
347 |
+
#: views/cons-single-form.php:234 views/cons-single-form.php:244
|
348 |
+
#: views/cons-single-form.php:260
|
349 |
+
msgid "Enter field name"
|
350 |
+
msgstr "Insira nome do campo"
|
351 |
+
|
352 |
+
#: views/partials/csSimplifiedConfiguration.php:59
|
353 |
+
msgid "EU Only"
|
354 |
+
msgstr "Apenas UE"
|
355 |
+
|
356 |
+
#: views/cons-single-form.php:164
|
357 |
+
msgid "Exclude field"
|
358 |
+
msgstr "Excluir campo"
|
359 |
+
|
360 |
+
#: views/cons-single-form.php:159
|
361 |
+
msgid "Exclude fields"
|
362 |
+
msgstr "Excluir campos"
|
363 |
+
|
364 |
+
#: views/cons-single-form.php:160
|
365 |
+
msgid ""
|
366 |
+
"Exclude fields allow you to create a list of fields that you would like to "
|
367 |
+
"exclude from your Consent Solution recorded proofs (for e.g. password or "
|
368 |
+
"other fields not related to the consent)."
|
369 |
+
msgstr ""
|
370 |
+
"Os campos de exclusão permitem que você crie uma lista de campos que você "
|
371 |
+
"gostaria de excluir das suas provas registradas da Consent Solution (ex: "
|
372 |
+
"senha ou outros campos não relacionados ao consentimento)."
|
373 |
+
|
374 |
+
#: includes/settings.php:108 views/partials/csGeneralSettings.php:186
|
375 |
+
#: views/partials/csGeneralSettings.php:202
|
376 |
+
#: views/partials/csGeneralSettings.php:221
|
377 |
+
#: views/partials/csGeneralSettings.php:237
|
378 |
+
#: views/partials/csPluginSettings.php:72
|
379 |
+
#: views/partials/csPluginSettings.php:88
|
380 |
+
#: views/partials/csPluginSettings.php:107
|
381 |
+
#: views/partials/csPluginSettings.php:123
|
382 |
+
msgid "Experience enhancement"
|
383 |
+
msgstr "Melhoria da experiência"
|
384 |
+
|
385 |
+
#: views/partials/csSimplifiedConfiguration.php:72
|
386 |
+
msgid "Explicit Accept and Customize buttons"
|
387 |
+
msgstr "Botões Aceitar e Personalizar explícitos"
|
388 |
+
|
389 |
+
#: views/partials/csSimplifiedConfiguration.php:77
|
390 |
+
msgid "Explicit Reject button"
|
391 |
+
msgstr "Botão de Recusar explícito"
|
392 |
+
|
393 |
+
#: views/cons-single-form.php:12
|
394 |
+
msgid "Field Mapping"
|
395 |
+
msgstr "Mapeamento de Campo"
|
396 |
+
|
397 |
+
#: includes/forms-list-table.php:89
|
398 |
+
msgid "Fields"
|
399 |
+
msgstr "Campos"
|
400 |
+
|
401 |
+
#: includes/forms-list-table.php:260
|
402 |
+
msgid "Filter"
|
403 |
+
msgstr "Filtrar"
|
404 |
+
|
405 |
+
#: includes/forms-list-table.php:277
|
406 |
+
msgid "Filter by source"
|
407 |
+
msgstr "Filtrar por tipo de formulário"
|
408 |
+
|
409 |
+
#: includes/forms.php:579 includes/forms.php:593
|
410 |
+
msgid "First name"
|
411 |
+
msgstr "Primeiro nome"
|
412 |
+
|
413 |
+
#: views/partials/modals/modal_sync.php:4
|
414 |
+
msgid ""
|
415 |
+
"First of all, tell us if you already use our products for this website or if "
|
416 |
+
"you want to start from scratch"
|
417 |
+
msgstr ""
|
418 |
+
"Antes de tudo, nos diga se você já usa os nossos produtos para este site ou "
|
419 |
+
"se deseja começar do zero"
|
420 |
+
|
421 |
+
#: includes/forms.php:153
|
422 |
+
msgid "Form"
|
423 |
+
msgstr "Formulário"
|
424 |
+
|
425 |
+
#: views/cons-single-form.php:66 views/cons-single-form.php:103
|
426 |
+
msgid "Form field"
|
427 |
+
msgstr "Campo do Formulário"
|
428 |
+
|
429 |
+
#: includes/forms-list-table.php:87
|
430 |
+
msgid "Form ID"
|
431 |
+
msgstr "ID do Formulário"
|
432 |
+
|
433 |
+
#: includes/settings.php:701
|
434 |
+
msgid "Form saving failed. Please fill the Subject fields."
|
435 |
+
msgstr "Falha ao salvar o formulário. Preencha o campo Titular."
|
436 |
+
|
437 |
+
#: includes/forms-list-table.php:88
|
438 |
+
msgid "Form Source"
|
439 |
+
msgstr "Fonte do Formulário"
|
440 |
+
|
441 |
+
#: includes/forms-list-table.php:86
|
442 |
+
msgid "Form Title"
|
443 |
+
msgstr "Título do Formulário"
|
444 |
+
|
445 |
+
#: includes/forms.php:152
|
446 |
+
msgid "Forms"
|
447 |
+
msgstr "Formulários"
|
448 |
+
|
449 |
+
#: views/partials/modals/modal_pp_created.php:7
|
450 |
+
msgid ""
|
451 |
+
"From here you can customize your privacy policy by adding the services you "
|
452 |
+
"use within your website or you can customize the style of the button that "
|
453 |
+
"displays your privacy policy."
|
454 |
+
msgstr ""
|
455 |
+
"A partir daqui, você pode personalizar sua política de privacidade "
|
456 |
+
"adicionando os serviços que usa no seu site ou pode personalizar o estilo do "
|
457 |
+
"botão que exibe a sua política de privacidade."
|
458 |
+
|
459 |
+
#: views/partials/csSimplifiedConfiguration.php:14
|
460 |
+
msgid "GDPR Only"
|
461 |
+
msgstr "Apenas GDPR"
|
462 |
+
|
463 |
+
#: views/partials/modals/modal_pp_created.php:9
|
464 |
+
msgid "Got it"
|
465 |
+
msgstr "Entendi"
|
466 |
+
|
467 |
+
#: views/frontpage.php:9
|
468 |
+
msgid "Help me get compliant!"
|
469 |
+
msgstr "Me ajude a ficar em conformidade!"
|
470 |
+
|
471 |
+
#: views/partials/modals/modal_rating.php:11
|
472 |
+
msgid "Here’s how we calculate your rating."
|
473 |
+
msgstr "Veja como calculamos a sua avaliação."
|
474 |
+
|
475 |
+
#: views/partials/siteInfo.php:21
|
476 |
+
msgid "How is it calculated?"
|
477 |
+
msgstr "Como é calculado?"
|
478 |
+
|
479 |
+
#: views/partials/buttonPosition.php:37 views/tc-configuration.php:92
|
480 |
+
msgid "HTML"
|
481 |
+
msgstr "HTML"
|
482 |
+
|
483 |
+
#: views/partials/modals/modal_no_website_found.php:11
|
484 |
+
#: views/partials/modals/modal_sync.php:8
|
485 |
+
msgid "I want to start from scratch"
|
486 |
+
msgstr "Quero começar do zero"
|
487 |
+
|
488 |
+
#: views/cons-single-form.php:225
|
489 |
+
msgid "Identifier"
|
490 |
+
msgstr "Identificador"
|
491 |
+
|
492 |
+
#: views/cons-single-form.php:222
|
493 |
+
msgid ""
|
494 |
+
"In general, it's important that you declare which legal documents are being "
|
495 |
+
"agreed upon when each consent is collected. However, if you use iubenda for "
|
496 |
+
"your legal documents, it is *required* that you identify the documents by "
|
497 |
+
"selecting them here."
|
498 |
+
msgstr ""
|
499 |
+
"Em geral, é importante que você declare quais documentos legais estão sendo "
|
500 |
+
"acordados quando cada consentimento é coletado. No entanto, se você usar a "
|
501 |
+
"iubenda para os seus documentos legais, é *obrigatório* identificar os "
|
502 |
+
"documentos selecionando-os aqui."
|
503 |
+
|
504 |
+
#: views/partials/integrateFooter.php:4
|
505 |
+
msgid "Integrate"
|
506 |
+
msgstr "Integrar"
|
507 |
+
|
508 |
+
#: views/partials/buttonPosition.php:10 views/tc-configuration.php:65
|
509 |
+
msgid "Integrate manually"
|
510 |
+
msgstr "Integrar manualmente"
|
511 |
+
|
512 |
+
#: views/pp-configuration.php:26 views/tc-configuration.php:30
|
513 |
+
msgid "Integration"
|
514 |
+
msgstr "Integração"
|
515 |
+
|
516 |
+
#: views/partials/modals/modal_no_website_found.php:8
|
517 |
+
msgid ""
|
518 |
+
"It seems that it is not possible to access your data with the code you "
|
519 |
+
"pasted, do you want to try again or do you prefer to start configuring your "
|
520 |
+
"website from scratch?"
|
521 |
+
msgstr ""
|
522 |
+
"Parece que não é possível acessar os seus dados com o código que você colou, "
|
523 |
+
"deseja tentar novamente ou prefere começar a configurar o seu site do zero?"
|
524 |
+
|
525 |
+
#: views/partials/modals/modal_ops_embed_invalid.php:8
|
526 |
+
msgid ""
|
527 |
+
"It seems that it is not possible to access your data with the code you "
|
528 |
+
"pasted, do you want to try again."
|
529 |
+
msgstr ""
|
530 |
+
"Parece que não é possível acessar os seus dados com o código que você colou, "
|
531 |
+
"deseja tentar novamente?"
|
532 |
+
|
533 |
+
#: views/products-page.php:15
|
534 |
+
msgid ""
|
535 |
+
"It seems that you have not activated any of our services, we recommend you "
|
536 |
+
"to activate them and increase your level of compliance and avoid risking "
|
537 |
+
"fines."
|
538 |
+
msgstr ""
|
539 |
+
"Parece que você não ativou nenhum dos nossos serviços. Recomendamos que você "
|
540 |
+
"os ative para aumentar o seu nível de conformidade com as leis e evitar o "
|
541 |
+
"risco de receber multas."
|
542 |
+
|
543 |
+
#: includes/widget/IubendaLegalWidget.php:18
|
544 |
+
msgid "Iubenda legal"
|
545 |
+
msgstr "Iubenda legal"
|
546 |
+
|
547 |
+
#: assets/js/legal_block.js:15 assets/js/legal_block.js:32
|
548 |
+
msgid "Iubenda legal block"
|
549 |
+
msgstr "Iubenda legal block"
|
550 |
+
|
551 |
+
#: includes/widget/IubendaLegalWidget.php:21
|
552 |
+
msgid "Iubenda legal widget for Privacy Policy and Terms & Conditions"
|
553 |
+
msgstr ""
|
554 |
+
"Widget legal da iubenda para Política de Privacidade e Termos e Condições"
|
555 |
+
|
556 |
+
#: views/partials/modals/modal_sync.php:6
|
557 |
+
msgid "I’ve already made the set up on iubenda.com"
|
558 |
+
msgstr "Eu já fiz a configuração em iubenda.com"
|
559 |
+
|
560 |
+
#: includes/forms.php:585 includes/forms.php:605
|
561 |
+
msgid "Last name"
|
562 |
+
msgstr "Sobrenome"
|
563 |
+
|
564 |
+
#: views/integrate-setup.php:85 views/partials/csGeneralSettings.php:127
|
565 |
+
msgid "Learn how to fix it"
|
566 |
+
msgstr "Saiba como consertar"
|
567 |
+
|
568 |
+
#: views/partials/csSimplifiedConfiguration.php:88
|
569 |
+
#: views/partials/modals/modal_rating.php:22
|
570 |
+
msgid "Learn More"
|
571 |
+
msgstr "Saber mais"
|
572 |
+
|
573 |
+
#: views/integrate-setup.php:126 views/partials/csGeneralSettings.php:168
|
574 |
+
#: views/partials/csPluginSettings.php:22
|
575 |
+
msgid ""
|
576 |
+
"Leave scripts untouched on the page if the user has already given consent"
|
577 |
+
msgstr ""
|
578 |
+
"Deixe os scripts intocados na página se o usuário já tiver dado consentimento"
|
579 |
+
|
580 |
+
#: assets/js/legal_block.js:21 includes/block/IubendaLegalBlock.php:255
|
581 |
+
#: includes/widget/IubendaLegalWidget.php:167
|
582 |
+
msgid "Legal"
|
583 |
+
msgstr "Jurídico"
|
584 |
+
|
585 |
+
#: views/cons-single-form.php:221
|
586 |
+
msgid "Legal documents"
|
587 |
+
msgstr "Documentos legais"
|
588 |
+
|
589 |
+
#: views/partials/csSimplifiedConfiguration.php:9
|
590 |
+
msgid "Legislation"
|
591 |
+
msgstr "Legislação"
|
592 |
+
|
593 |
+
#: includes/settings.php:1116 includes/settings.php:1138
|
594 |
+
msgid "legislation"
|
595 |
+
msgstr "legislação"
|
596 |
+
|
597 |
+
#: views/frontpage.php:8
|
598 |
+
msgid "Let's configure your website for compliance."
|
599 |
+
msgstr "Vamos configurar o seu site para conformidade."
|
600 |
+
|
601 |
+
#: views/partials/bannerStyle.php:15 views/partials/buttonStyle.php:10
|
602 |
+
#: views/tc-configuration.php:41
|
603 |
+
msgid "Light"
|
604 |
+
msgstr "Versão em branco"
|
605 |
+
|
606 |
+
#: views/partials/csGeneralSettings.php:35
|
607 |
+
#: views/partials/csGeneralSettings.php:42
|
608 |
+
msgid "Manual embed"
|
609 |
+
msgstr "Incorporação manual"
|
610 |
+
|
611 |
+
#: views/cons-single-form.php:44
|
612 |
+
msgid "Map fields"
|
613 |
+
msgstr "Campos do Mapa"
|
614 |
+
|
615 |
+
#: views/partials/csPluginSettings.php:45 views/plugin-settings.php:28
|
616 |
+
msgid "Menu position"
|
617 |
+
msgstr "Posição do menu"
|
618 |
+
|
619 |
+
#: includes/forms.php:599
|
620 |
+
msgid "Middle name"
|
621 |
+
msgstr "Segundo nome"
|
622 |
+
|
623 |
+
#: views/partials/modals/modal_almost_there.php:5
|
624 |
+
msgid "Nice! We are almost there."
|
625 |
+
msgstr "Muito bom! Estamos quase lá."
|
626 |
+
|
627 |
+
#: includes/settings.php:920
|
628 |
+
msgid "No"
|
629 |
+
msgstr "Não"
|
630 |
+
|
631 |
+
#: views/integrate-setup.php:49 views/partials/csGeneralSettings.php:91
|
632 |
+
msgid ""
|
633 |
+
"No file available. Save changes to generate iubenda AMP configuration file."
|
634 |
+
msgstr ""
|
635 |
+
"Nenhum arquivo disponível. Salve as alterações para gerar o arquivo de "
|
636 |
+
"configuração iubenda AMP."
|
637 |
+
|
638 |
+
#: includes/forms-list-table.php:347
|
639 |
+
msgid "No forms found."
|
640 |
+
msgstr "Nenhum formulário encontrado."
|
641 |
+
|
642 |
+
#: includes/settings.php:927 includes/settings.php:934
|
643 |
+
msgid "No thanks"
|
644 |
+
msgstr "Não obrigado(a)"
|
645 |
+
|
646 |
+
#: views/cons-single-form.php:71
|
647 |
+
msgid "None"
|
648 |
+
msgstr "Nenhum"
|
649 |
+
|
650 |
+
#: includes/settings.php:105 views/partials/csGeneralSettings.php:183
|
651 |
+
#: views/partials/csGeneralSettings.php:199
|
652 |
+
#: views/partials/csGeneralSettings.php:218
|
653 |
+
#: views/partials/csGeneralSettings.php:234
|
654 |
+
#: views/partials/csPluginSettings.php:69
|
655 |
+
#: views/partials/csPluginSettings.php:85
|
656 |
+
#: views/partials/csPluginSettings.php:104
|
657 |
+
#: views/partials/csPluginSettings.php:120
|
658 |
+
msgid "Not set"
|
659 |
+
msgstr "Não configurado"
|
660 |
+
|
661 |
+
#: views/partials/modals/modal_select_language.php:4
|
662 |
+
msgid "Now, select your website language"
|
663 |
+
msgstr "Agora, selecione o idioma do seu site"
|
664 |
+
|
665 |
+
#: includes/settings.php:933
|
666 |
+
msgid "Ok sure!"
|
667 |
+
msgstr "Ok, claro!"
|
668 |
+
|
669 |
+
#: includes/ServiceRating.php:103
|
670 |
+
msgid "Only track users that give consent"
|
671 |
+
msgstr "Rastrear somente usuários que dão consentimento"
|
672 |
+
|
673 |
+
#: views/partials/modals/modal_no_website_found.php:6
|
674 |
+
#: views/partials/modals/modal_ops_embed_invalid.php:6
|
675 |
+
msgid "Ooops! <br> No website found with this embed code."
|
676 |
+
msgstr "Ops! <br> Nenhum site encontrado com este código de incorporação."
|
677 |
+
|
678 |
+
#: views/partials/modals/modal_sync.php:7
|
679 |
+
msgid "or"
|
680 |
+
msgstr "ou"
|
681 |
+
|
682 |
+
#: views/partials/csSimplifiedConfiguration.php:83
|
683 |
+
msgid "Other options"
|
684 |
+
msgstr "Outras opções"
|
685 |
+
|
686 |
+
#: views/partials/welcomeScreenHeader.php:3
|
687 |
+
msgid "Our plugin will help you to make your website compliant in minutes."
|
688 |
+
msgstr "Nosso plugin irá ajudá-lo a tornar o seu site compatível em minutos."
|
689 |
+
|
690 |
+
#: includes/QuickGeneratorService.php:137
|
691 |
+
msgid ""
|
692 |
+
"Our products has been integrated successfully, now customize all products to "
|
693 |
+
"increase the compliance rating and make your website fully compliant."
|
694 |
+
msgstr ""
|
695 |
+
"Os nossos produtos foram integrados com sucesso, agora personalize todos os "
|
696 |
+
"produtos para aumentar a classificação de conformidade e tornar o seu site "
|
697 |
+
"compatível por completo."
|
698 |
+
|
699 |
+
#: views/partials/modals/modal_almost_there.php:39
|
700 |
+
msgid "Paste your API key here"
|
701 |
+
msgstr "Cole a sua chave API aqui"
|
702 |
+
|
703 |
+
#: views/partials/csManualConfiguration.php:11
|
704 |
+
msgid "Paste your cookie solution embed code here"
|
705 |
+
msgstr "Cole o código de incorporação da Cookie Solution aqui"
|
706 |
+
|
707 |
+
#: views/partials/languagesTabs.php:21
|
708 |
+
msgid "Paste your embed code here"
|
709 |
+
msgstr "Cole o seu código de incorporação aqui"
|
710 |
+
|
711 |
+
#: views/cons-configuration.php:23
|
712 |
+
msgid "Paste your public API key here"
|
713 |
+
msgstr "Cole aqui a sua chave API pública"
|
714 |
+
|
715 |
+
#: views/tc-configuration.php:21
|
716 |
+
msgid "Paste your terms and conditions embed code here"
|
717 |
+
msgstr "Cole o código de incorporação dos termos e condições aqui"
|
718 |
+
|
719 |
+
#: includes/settings.php:628
|
720 |
+
#, php-format
|
721 |
+
msgid ""
|
722 |
+
"Please enable comments cookies opt-in checkbox in the <a href=\"%s\" "
|
723 |
+
"target=\"_blank\">Discussion settings</a>."
|
724 |
+
msgstr ""
|
725 |
+
"Habilite a caixa de seleção de cookies de comentários nas <a href=\"%s\" "
|
726 |
+
"target=\"_blank\">configurações de Discussion</a>."
|
727 |
+
|
728 |
+
#: views/cons-single-form.php:234
|
729 |
+
msgid "Please select each legal document available on your site."
|
730 |
+
msgstr "Selecione cada documento legal disponível em seu site."
|
731 |
+
|
732 |
+
#: includes/settings.php:402 views/partials/siteInfo.php:14
|
733 |
+
msgid "Plugin settings"
|
734 |
+
msgstr "Configurações do plugin"
|
735 |
+
|
736 |
+
#: includes/settings.php:1115 includes/settings.php:1137
|
737 |
+
#: includes/settings.php:1156 includes/settings.php:1176
|
738 |
+
#: views/partials/bannerPosition.php:20
|
739 |
+
msgid "Position"
|
740 |
+
msgstr "Posição"
|
741 |
+
|
742 |
+
#: views/cons-single-form.php:102
|
743 |
+
msgid "Preferences field"
|
744 |
+
msgstr "Campo de preferências"
|
745 |
+
|
746 |
+
#: views/cons-single-form.php:98
|
747 |
+
msgid "Preferences fields"
|
748 |
+
msgstr "Campos de preferências"
|
749 |
+
|
750 |
+
#: views/cons-single-form.php:99
|
751 |
+
msgid ""
|
752 |
+
"Preferences fields allow you to store a record of the various opt-ins points "
|
753 |
+
"at which the user has agreed or given consent, such as fields for agreeing "
|
754 |
+
"to terms and conditions, newsletter, profiling, etc."
|
755 |
+
msgstr ""
|
756 |
+
"Os campos de preferências permitem que você armazene um registro dos vários "
|
757 |
+
"pontos de opt-ins nos quais o usuário concordou ou deu consentimento, como "
|
758 |
+
"campos para concordar com os termos e condições, boletim informativo, "
|
759 |
+
"perfilamento, etc."
|
760 |
+
|
761 |
+
#: views/integrate-setup.php:114 views/partials/csGeneralSettings.php:157
|
762 |
+
#: views/partials/csPluginSettings.php:10
|
763 |
+
msgid "Primary"
|
764 |
+
msgstr "Primário"
|
765 |
+
|
766 |
+
#: includes/settings.php:418 includes/settings.php:1150
|
767 |
+
msgid "Privacy and Cookie Policy"
|
768 |
+
msgstr "Política de Privacidade e Cookies"
|
769 |
+
|
770 |
+
#: includes/PrivacyPolicyGenerator.php:23
|
771 |
+
msgid "Privacy Policy"
|
772 |
+
msgstr "Política de Privacidade"
|
773 |
+
|
774 |
+
#: views/partials/breadcrumb.php:2
|
775 |
+
msgid "Products"
|
776 |
+
msgstr "Produtos"
|
777 |
+
|
778 |
+
#: views/partials/csGeneralSettings.php:246
|
779 |
+
#: views/partials/csPluginSettings.php:132
|
780 |
+
msgid ""
|
781 |
+
"Provide a list of domains for any custom iframes you'd like to block, and "
|
782 |
+
"assign their purposes. To make sure they are blocked correctly, please add "
|
783 |
+
"domains in the same format as 'example.com', without any protocols e.g. "
|
784 |
+
"'http://' or 'https://'. You may also use wildcards (*) to include parent "
|
785 |
+
"domains or subdomains."
|
786 |
+
msgstr ""
|
787 |
+
"Forneça uma lista de domínios para todos os iframes personalizados que você "
|
788 |
+
"deseja bloquear e atribua suas finalidades. Para garantir que eles sejam "
|
789 |
+
"bloqueados corretamente, adicione domínios no mesmo formato de ‘example.com’,"
|
790 |
+
" sem nenhum protocolo, por exemplo, ‘http://' ou ‘https://‘. Você também "
|
791 |
+
"pode usar wildcards (*) para incluir domínios ou subdomínios."
|
792 |
+
|
793 |
+
#: views/partials/csGeneralSettings.php:211
|
794 |
+
#: views/partials/csPluginSettings.php:97
|
795 |
+
msgid ""
|
796 |
+
"Provide a list of domains for any custom scripts you'd like to block, and "
|
797 |
+
"assign their purposes. To make sure they are blocked correctly, please add "
|
798 |
+
"domains in the same format as 'example.com', without any protocols e.g. "
|
799 |
+
"'http://' or 'https://'. You may also use wildcards (*) to include parent "
|
800 |
+
"domains or subdomains."
|
801 |
+
msgstr ""
|
802 |
+
"Forneça uma lista de domínios para qualquer script personalizado que você "
|
803 |
+
"gostaria de bloquear e atribua suas finalidades. Para garantir que eles "
|
804 |
+
"sejam bloqueados corretamente, adicione domínios no mesmo formato de "
|
805 |
+
"‘example.com’, sem nenhum protocolo, por exemplo, ‘http://' ou ‘https://‘. "
|
806 |
+
"Você também pode usar wildcards (*) para incluir domínios ou subdomínios."
|
807 |
+
|
808 |
+
#: views/cons-single-form.php:122 views/cons-single-form.php:148
|
809 |
+
#: views/cons-single-form.php:183 views/cons-single-form.php:207
|
810 |
+
#: views/cons-single-form.php:244 views/cons-single-form.php:260
|
811 |
+
msgid "Remove"
|
812 |
+
msgstr "Remover"
|
813 |
+
|
814 |
+
#: views/partials/csSimplifiedConfiguration.php:29
|
815 |
+
msgid "Require consent from"
|
816 |
+
msgstr "Exigir consentimento"
|
817 |
+
|
818 |
+
#: views/partials/integrateFooter.php:3
|
819 |
+
msgid "Reset settings"
|
820 |
+
msgstr "Redefinir as configurações"
|
821 |
+
|
822 |
+
#: views/partials/csPluginSettings.php:29 views/plugin-settings.php:13
|
823 |
+
msgid ""
|
824 |
+
"Restrict the plugin to run only for requests that have \"Content-type: text "
|
825 |
+
"/ html\" (recommended)"
|
826 |
+
msgstr ""
|
827 |
+
"Restringir o plugin para ser executado apenas para solicitações que tenham "
|
828 |
+
"“Content-type: text / html” (recomendado)"
|
829 |
+
|
830 |
+
#: views/cons-configuration.php:62 views/cons-single-form.php:279
|
831 |
+
#: views/cs-configuration.php:17 views/plugin-settings.php:46
|
832 |
+
#: views/pp-configuration.php:35 views/tc-configuration.php:133
|
833 |
+
msgid "Save settings"
|
834 |
+
msgstr "Salvar configurações"
|
835 |
+
|
836 |
+
#: views/integrate-setup.php:118 views/partials/csGeneralSettings.php:161
|
837 |
+
#: views/partials/csPluginSettings.php:14
|
838 |
+
msgid "Secondary"
|
839 |
+
msgstr "Secundário"
|
840 |
+
|
841 |
+
#: views/integrate-setup.php:85 views/partials/csGeneralSettings.php:127
|
842 |
+
msgid ""
|
843 |
+
"Seeing the AMP cookie notice when testing from Google but not when visiting "
|
844 |
+
"your AMP pages directly?"
|
845 |
+
msgstr ""
|
846 |
+
"Está vendo o aviso de cookie AMP ao testar no Google, mas não ao visitar as "
|
847 |
+
"suas páginas AMP diretamente?"
|
848 |
+
|
849 |
+
#: includes/forms-list-table.php:376
|
850 |
+
msgid "Select All"
|
851 |
+
msgstr "Selecionar Tudo"
|
852 |
+
|
853 |
+
#: views/integrate-setup.php:121 views/partials/csGeneralSettings.php:153
|
854 |
+
#: views/partials/csPluginSettings.php:17
|
855 |
+
msgid "Select Parsing Engine"
|
856 |
+
msgstr "Selecionar Mecanismo de Análise"
|
857 |
+
|
858 |
+
#: views/partials/modals/modal_almost_there.php:13
|
859 |
+
msgid "Select products you have already activated"
|
860 |
+
msgstr "Selecione os produtos que você já ativou"
|
861 |
+
|
862 |
+
#: views/integrate-setup.php:32 views/partials/csGeneralSettings.php:73
|
863 |
+
msgid "Select the iubenda AMP configuration file location."
|
864 |
+
msgstr "Selecione o local do arquivo de configuração AMP iubenda."
|
865 |
+
|
866 |
+
#: views/partials/csPluginSettings.php:56 views/plugin-settings.php:39
|
867 |
+
msgid ""
|
868 |
+
"Select whether to display iubenda in a top admin menu or the Settings "
|
869 |
+
"submenu."
|
870 |
+
msgstr ""
|
871 |
+
"Selecione se deseja exibir iubenda em um menu superior de administração ou "
|
872 |
+
"no sub-menu Configurações."
|
873 |
+
|
874 |
+
#: views/partials/product-card.php:46
|
875 |
+
msgid "Service off"
|
876 |
+
msgstr "Serviço desativado"
|
877 |
+
|
878 |
+
#: views/partials/product-card.php:46
|
879 |
+
#| msgid "Service"
|
880 |
+
msgid "Service on"
|
881 |
+
msgstr "Serviço ativado"
|
882 |
+
|
883 |
+
#: includes/ServiceRating.php:98
|
884 |
+
msgid "Set up a cookie banner"
|
885 |
+
msgstr "Configure seu banner de cookies"
|
886 |
+
|
887 |
+
#: includes/ServiceRating.php:108
|
888 |
+
msgid "Set up a privacy policy"
|
889 |
+
msgstr "Configure uma política de privacidade"
|
890 |
+
|
891 |
+
#: includes/ServiceRating.php:113
|
892 |
+
msgid "Set up terms and conditions"
|
893 |
+
msgstr "Configure termos e condições"
|
894 |
+
|
895 |
+
#: includes/settings.php:749
|
896 |
+
msgid "Settings saved."
|
897 |
+
msgstr "Configurações salvas."
|
898 |
+
|
899 |
+
#: views/pp-configuration.php:22
|
900 |
+
msgid "Setup your privacy and cookie policy on iubenda.com"
|
901 |
+
msgstr "Configure a sua política de privacidade e cookies em iubenda.com"
|
902 |
+
|
903 |
+
#: views/partials/buttonPosition.php:73 views/tc-configuration.php:117
|
904 |
+
msgid "Shortcode"
|
905 |
+
msgstr "Shortcode"
|
906 |
+
|
907 |
+
#: views/partials/csGeneralSettings.php:14
|
908 |
+
#: views/partials/csGeneralSettings.php:23
|
909 |
+
msgid "Simplified"
|
910 |
+
msgstr "Simplificado"
|
911 |
+
|
912 |
+
#: views/partials/modals/modal_almost_there.php:6
|
913 |
+
msgid ""
|
914 |
+
"Since you already activated some products for this website, we just ask you "
|
915 |
+
"to copy and paste the embedding code of the product you already have to "
|
916 |
+
"syncronize your iubenda acount with WP plugin."
|
917 |
+
msgstr ""
|
918 |
+
"Como você já ativou alguns produtos para este site, pedimos apenas que copie "
|
919 |
+
"e cole o código de incorporação do produto que você já possui para "
|
920 |
+
"sincronizar a sua conta iubenda com o plugin WP."
|
921 |
+
|
922 |
+
#: views/cons-single-form.php:48
|
923 |
+
msgid "Status"
|
924 |
+
msgstr "Status"
|
925 |
+
|
926 |
+
#: includes/settings.php:106 views/partials/csGeneralSettings.php:184
|
927 |
+
#: views/partials/csGeneralSettings.php:200
|
928 |
+
#: views/partials/csGeneralSettings.php:219
|
929 |
+
#: views/partials/csGeneralSettings.php:235
|
930 |
+
#: views/partials/csPluginSettings.php:70
|
931 |
+
#: views/partials/csPluginSettings.php:86
|
932 |
+
#: views/partials/csPluginSettings.php:105
|
933 |
+
#: views/partials/csPluginSettings.php:121
|
934 |
+
msgid "Strictly necessary"
|
935 |
+
msgstr "Estritamente necessário"
|
936 |
+
|
937 |
+
#: includes/settings.php:75 includes/settings.php:76 includes/settings.php:77
|
938 |
+
#: includes/settings.php:78 includes/settings.php:79
|
939 |
+
msgid "string"
|
940 |
+
msgstr "string"
|
941 |
+
|
942 |
+
#: includes/settings.php:1114 includes/settings.php:1136
|
943 |
+
#: includes/settings.php:1155 includes/settings.php:1175
|
944 |
+
msgid "Style"
|
945 |
+
msgstr "Estilo"
|
946 |
+
|
947 |
+
#: views/cons-single-form.php:65
|
948 |
+
msgid "Subject field"
|
949 |
+
msgstr "Campo do Titular"
|
950 |
+
|
951 |
+
#: views/cons-single-form.php:61
|
952 |
+
msgid "Subject fields"
|
953 |
+
msgstr "Campos dos Titulares"
|
954 |
+
|
955 |
+
#: views/cons-single-form.php:62
|
956 |
+
msgid ""
|
957 |
+
"Subject fields allow you to store a series of identifying values about your "
|
958 |
+
"individual subjects/users. Please map the subject field with the "
|
959 |
+
"corresponding form fields where applicable."
|
960 |
+
msgstr ""
|
961 |
+
"Os campos dos Titulares permitem que você armazene uma série de valores de "
|
962 |
+
"identificação sobre os seus titulares/usuários individuais. Mapeie o campo "
|
963 |
+
"titular com os campos de formulário correspondentes, quando aplicável."
|
964 |
+
|
965 |
+
#: views/partials/csPluginSettings.php:53 views/plugin-settings.php:36
|
966 |
+
msgid "Submenu"
|
967 |
+
msgstr "Sub-menu"
|
968 |
+
|
969 |
+
#: includes/settings.php:926
|
970 |
+
msgid "Sure!"
|
971 |
+
msgstr "Claro!"
|
972 |
+
|
973 |
+
#: views/partials/modals/modal_almost_there.php:75
|
974 |
+
msgid "Synchronize products"
|
975 |
+
msgstr "Sincronizar produtos"
|
976 |
+
|
977 |
+
#: includes/settings.php:110
|
978 |
+
msgid "Targeting & Advertising"
|
979 |
+
msgstr "Segmentação e publicidade"
|
980 |
+
|
981 |
+
#: views/partials/csGeneralSettings.php:188
|
982 |
+
#: views/partials/csGeneralSettings.php:204
|
983 |
+
#: views/partials/csGeneralSettings.php:223
|
984 |
+
#: views/partials/csGeneralSettings.php:239
|
985 |
+
#: views/partials/csPluginSettings.php:74
|
986 |
+
#: views/partials/csPluginSettings.php:90
|
987 |
+
#: views/partials/csPluginSettings.php:109
|
988 |
+
#: views/partials/csPluginSettings.php:125
|
989 |
+
msgid "Targeting & Advertising"
|
990 |
+
msgstr "Segmentação & Publicidade"
|
991 |
+
|
992 |
+
#: includes/settings.php:412
|
993 |
+
msgid "Terms and condition"
|
994 |
+
msgstr "Termos e Condições"
|
995 |
+
|
996 |
+
#: includes/settings.php:1170
|
997 |
+
msgid "Terms and Conditions"
|
998 |
+
msgstr "Termos e Condições"
|
999 |
+
|
1000 |
+
#: views/partials/bannerStyle.php:2
|
1001 |
+
msgid "Theme"
|
1002 |
+
msgstr "Tema"
|
1003 |
+
|
1004 |
+
#: includes/ServiceRating.php:109
|
1005 |
+
#, php-format
|
1006 |
+
msgid ""
|
1007 |
+
"This accounts for 25% of your score. A privacy policy is a requirement "
|
1008 |
+
"under most privacy laws around the world. This document typically includes "
|
1009 |
+
"legally required disclosures about the type of personal data you process, "
|
1010 |
+
"why you need to process it, how the processing is done and the user’s rights "
|
1011 |
+
"under applicable law."
|
1012 |
+
msgstr ""
|
1013 |
+
"Isso representa 25% da sua pontuação. Uma política de privacidade é um "
|
1014 |
+
"requisito da maioria das leis de privacidade em todo o mundo. Este documento "
|
1015 |
+
"normalmente inclui tópicos legalmente exigidos sobre o tipo de dados "
|
1016 |
+
"pessoais que você processa, por que você precisa processá-los, como o "
|
1017 |
+
"processamento é feito e os direitos do usuário sob a lei aplicável."
|
1018 |
+
|
1019 |
+
#: includes/ServiceRating.php:104
|
1020 |
+
#, php-format
|
1021 |
+
msgid ""
|
1022 |
+
"This accounts for 25% of your score. If you’re based in Europe or have "
|
1023 |
+
"Europe-based users, you likely need to block cookies from running until you "
|
1024 |
+
"receive user consent. To do this, select “Automatically block scripts "
|
1025 |
+
"detected by the plugin”."
|
1026 |
+
msgstr ""
|
1027 |
+
"Isso representa 25% da sua pontuação. Se você estiver na Europa ou tiver "
|
1028 |
+
"usuários na Europa, provavelmente precisará bloquear a execução de cookies "
|
1029 |
+
"até receber o consentimento do usuário. Para fazer isso, selecione “Bloquear "
|
1030 |
+
"scripts detectados automaticamente pelo plugin”."
|
1031 |
+
|
1032 |
+
#: includes/ServiceRating.php:114
|
1033 |
+
#, php-format
|
1034 |
+
msgid ""
|
1035 |
+
"This accounts for 25% of your score. Terms and conditions help to "
|
1036 |
+
"protect you, the website owner, from potential liabilities and more. "
|
1037 |
+
"Furthermore, if you run an e-commerce site or app, having this document may "
|
1038 |
+
"be legally required as Terms typically contain legally mandatory disclosures."
|
1039 |
+
" Terms are legally binding documents, and therefore it’s important to ensure "
|
1040 |
+
"that they actually fit your specific scenario."
|
1041 |
+
msgstr ""
|
1042 |
+
"Isso representa 25% da sua pontuação. Os termos e condições ajudam a "
|
1043 |
+
"proteger você, proprietário do site, de possíveis responsabilidades e muito "
|
1044 |
+
"mais. Além disso, se você administra um site ou aplicativo de e-commerce, "
|
1045 |
+
"ter este documento pode ser legalmente exigido, já que os Termos e Condições "
|
1046 |
+
"geralmente contem tópicos legalmente obrigatórios. Os termos são documentos "
|
1047 |
+
"juridicamente vinculativos, portanto, é importante garantir que eles "
|
1048 |
+
"realmente se ajustem ao seu caso específico."
|
1049 |
+
|
1050 |
+
#: includes/ServiceRating.php:99
|
1051 |
+
#, php-format
|
1052 |
+
msgid ""
|
1053 |
+
"This accounts for 25% of your score. Your cookie banner should inform "
|
1054 |
+
"your users about your use of cookies and similar tracking technologies, and "
|
1055 |
+
"their rights in this regard. You may need a banner if either the GDPR, CCPA "
|
1056 |
+
"or ePrivacy apply to you."
|
1057 |
+
msgstr ""
|
1058 |
+
"Isso representa 25% da sua pontuação. O seu banner de cookies deve "
|
1059 |
+
"informar os seus usuários sobre o uso de cookies e tecnologias de "
|
1060 |
+
"rastreamento semelhantes e os seus direitos a respeito. Você pode precisar "
|
1061 |
+
"de um banner se o GDPR, a CCPA ou a ePrivacy se aplicarem a você."
|
1062 |
+
|
1063 |
+
#: views/partials/frontpage_main_box.php:26
|
1064 |
+
msgid "This is what you may need to be compliant"
|
1065 |
+
msgstr "Isso é o que você pode precisar para estar em conformidade"
|
1066 |
+
|
1067 |
+
#: views/partials/auto_detect_forms.php:29
|
1068 |
+
msgid ""
|
1069 |
+
"This section lists the forms available for field mapping. The plugin "
|
1070 |
+
"currently supports & detects: WordPress Comment, Contact Form 7, WooCommerce "
|
1071 |
+
"Checkout and WP Forms."
|
1072 |
+
msgstr ""
|
1073 |
+
"Esta seção lista os formulários disponíveis para mapeamento de campo. O "
|
1074 |
+
"plugin atualmente suporta e detecta: WordPress Comment, Contact Form 7, "
|
1075 |
+
"WooCommerce Checkout e WP Forms."
|
1076 |
+
|
1077 |
+
#: includes/widget/IubendaLegalWidget.php:176
|
1078 |
+
msgid "Title:"
|
1079 |
+
msgstr "Título:"
|
1080 |
+
|
1081 |
+
#: includes/settings.php:905
|
1082 |
+
#, php-format
|
1083 |
+
msgid ""
|
1084 |
+
"To ensure regular scans and full support, <span class=\"text-bold\">verify "
|
1085 |
+
"your account</span>. Check your mailbox now and validate your email address, "
|
1086 |
+
"or check <a href=\"%s\" target=\"_blank\" class=\"link-underline\">your "
|
1087 |
+
"account</a> on iubenda.com. If you already did that, you can safely <a "
|
1088 |
+
"href=\"javascript:void(0)\" class=\"notice-dismiss-by-text dismiss-"
|
1089 |
+
"notification-alert link-underline\" data-dismiss-"
|
1090 |
+
"key=\"iub_user_needs_to_verify_his_account\">dismiss this reminder</a>."
|
1091 |
+
msgstr ""
|
1092 |
+
"Para garantir verificações regulares e suporte completo, <span class=\"text-"
|
1093 |
+
"bold\">verifique a sua conta</span>. Verifique a sua caixa de entrada e "
|
1094 |
+
"valide o seu endereço de e-mail, ou consulte <a href=\"%s\" "
|
1095 |
+
"target=\"_blank\" class=\"link-underline\">a sua conta</a> em iubenda.com. "
|
1096 |
+
"Se você já fez isso, pode <a href=\"javascript:void(0)\" class=\"notice-"
|
1097 |
+
"dismiss-by-text dismiss-notification-alert link-underline\" data-dismiss-"
|
1098 |
+
"key=\"iub_user_needs_to_verify_his_account\">dispensar este lembrete com "
|
1099 |
+
"segurança</a>."
|
1100 |
+
|
1101 |
+
#: views/partials/csPluginSettings.php:49 views/plugin-settings.php:32
|
1102 |
+
msgid "Top menu"
|
1103 |
+
msgstr "Menu principal"
|
1104 |
+
|
1105 |
+
#: views/partials/modals/modal_no_website_found.php:10
|
1106 |
+
#: views/partials/modals/modal_ops_embed_invalid.php:10
|
1107 |
+
msgid "Try again"
|
1108 |
+
msgstr "Tentar novamente"
|
1109 |
+
|
1110 |
+
#: includes/settings.php:1154 includes/settings.php:1174
|
1111 |
+
msgid "Version"
|
1112 |
+
msgstr "Versão"
|
1113 |
+
|
1114 |
+
#: views/partials/header_scanned.php:4
|
1115 |
+
msgid "We have analyzed your website in background and this is the result."
|
1116 |
+
msgstr "Analisamos o seu site em segundo plano e esse é o resultado."
|
1117 |
+
|
1118 |
+
#: views/partials/buttonPosition.php:28
|
1119 |
+
#: views/partials/modals/modal_almost_there.php:62
|
1120 |
+
#: views/tc-configuration.php:83
|
1121 |
+
#, php-format
|
1122 |
+
#| msgid ""
|
1123 |
+
#| "We were not able to add a \"Legal\" widget to the footer as your theme is "
|
1124 |
+
#| "not compatible, you can position the \"Legal\" widget manually from <a "
|
1125 |
+
#| "href=\"%s\" target=\"_blank\">here</a>."
|
1126 |
+
msgid ""
|
1127 |
+
"We were not able to add a \"Legal\" widget/block to the footer as your theme "
|
1128 |
+
"is not compatible, you can position the \"Legal\" widget/block manually from "
|
1129 |
+
"<a href=\"%s\" target=\"_blank\">here</a>."
|
1130 |
+
msgstr ""
|
1131 |
+
"Não foi possível adicionar um widget \"Legal\" ao rodapé porque o seu tema "
|
1132 |
+
"não é compatível, você pode posicionar o widget \"Legal\" manualmente <a "
|
1133 |
+
"href=\"%s\" target=\"_blank\">aqui</a>."
|
1134 |
+
|
1135 |
+
#: includes/settings.php:931
|
1136 |
+
msgid "We're sorry to hear that. Would you mind giving us some feedback?"
|
1137 |
+
msgstr "Sentimos muito. Você se importa de nos deixar um feedback?"
|
1138 |
+
|
1139 |
+
#: views/partials/welcomeScreenHeader.php:2
|
1140 |
+
msgid "Welcome to iubenda!"
|
1141 |
+
msgstr "Bem-vindo a iubenda!"
|
1142 |
+
|
1143 |
+
#: views/cons-configuration.php:37 views/partials/languagesTabs.php:27
|
1144 |
+
#: views/partials/modals/modal_almost_there.php:42
|
1145 |
+
msgid "Where can I find this code?"
|
1146 |
+
msgstr "Onde posso encontrar este código?"
|
1147 |
+
|
1148 |
+
#: includes/settings.php:924
|
1149 |
+
msgid ""
|
1150 |
+
"Whew, what a relief!? We've worked countless hours to make this plugin as "
|
1151 |
+
"useful as possible - so we're pretty happy that you're enjoying it. While "
|
1152 |
+
"you here, would you mind leaving us a 5 star rating? It would really help us "
|
1153 |
+
"out."
|
1154 |
+
msgstr ""
|
1155 |
+
"Ufa, que alívio! Trabalhamos inúmeras horas para tornar este plugin o mais "
|
1156 |
+
"útil possível - por isso estamos muito felizes que você esteja gostando. "
|
1157 |
+
"Aproveitando que está aqui, você se importaria de nos deixar uma "
|
1158 |
+
"classificação de 5 estrelas? Nos ajudaria bastante."
|
1159 |
+
|
1160 |
+
#: views/partials/csSimplifiedConfiguration.php:43
|
1161 |
+
msgid "Worldwide"
|
1162 |
+
msgstr "No mundo todo"
|
1163 |
+
|
1164 |
+
#: includes/settings.php:919
|
1165 |
+
msgid "Yes"
|
1166 |
+
msgstr "Sim"
|
1167 |
+
|
1168 |
+
#: includes/settings.php:389
|
1169 |
+
msgid "You don't have permission to access this page."
|
1170 |
+
msgstr "Você não tem permissão para acessar esta página."
|
1171 |
+
|
1172 |
+
#: views/partials/csSimplifiedConfiguration.php:92
|
1173 |
+
msgid "You should activate this feature if you show ads on your website"
|
1174 |
+
msgstr "Você deve ativar esse recurso se exibir anúncios no seu site"
|
1175 |
+
|
1176 |
+
#: views/partials/buttonPosition.php:64 views/tc-configuration.php:108
|
1177 |
+
msgid "Your embed code"
|
1178 |
+
msgstr "Seu código de incorporação"
|
1179 |
+
|
1180 |
+
#: views/cons-configuration.php:29
|
1181 |
+
msgid "Your iubenda Javascript library public API key"
|
1182 |
+
msgstr "A sua chave de API pública da biblioteca de Javascript da iubenda"
|
1183 |
+
|
1184 |
+
#: views/partials/modals/modal_pp_created.php:5
|
1185 |
+
msgid "Your privacy policy has been created!"
|
1186 |
+
msgstr "Sua política de privacidade foi criada!"
|
1187 |
+
|
1188 |
+
#: views/partials/header_scanned.php:3 views/partials/modals/modal_rating.php:6
|
1189 |
+
#: views/partials/siteInfo.php:20
|
1190 |
+
msgid "Your rating"
|
1191 |
+
msgstr "Sua avaliação"
|
1192 |
+
|
1193 |
+
#: includes/QuickGeneratorService.php:111
|
1194 |
+
msgid ""
|
1195 |
+
"Your website has been created and your legal documents have been generated. "
|
1196 |
+
"Setup your cookie banner and privacy policy button to complete the "
|
1197 |
+
"integration."
|
1198 |
+
msgstr ""
|
1199 |
+
"O seu site foi criado e seus documentos legais foram gerados. Configure seu "
|
1200 |
+
"banner de cookies e botão de política de privacidade para completar a "
|
1201 |
+
"integração."
|
languages/iubenda.pot
ADDED
@@ -0,0 +1,970 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#, fuzzy
|
2 |
+
msgid ""
|
3 |
+
msgstr ""
|
4 |
+
"Project-Id-Version: \n"
|
5 |
+
"POT-Creation-Date: 2022-08-05 20:45+0200\n"
|
6 |
+
"PO-Revision-Date: 2022-03-03 17:48+0200\n"
|
7 |
+
"Last-Translator: \n"
|
8 |
+
"Language-Team: \n"
|
9 |
+
"Language: en\n"
|
10 |
+
"MIME-Version: 1.0\n"
|
11 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
12 |
+
"Content-Transfer-Encoding: 8bit\n"
|
13 |
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
14 |
+
"X-Generator: Poedit 3.1.1\n"
|
15 |
+
"X-Poedit-Basepath: ..\n"
|
16 |
+
"X-Poedit-KeywordsList: _e;__\n"
|
17 |
+
"X-Poedit-SearchPath-0: .\n"
|
18 |
+
|
19 |
+
#: assets/js/legal_block.js:15 assets/js/legal_block.js:32
|
20 |
+
msgid "Iubenda legal block"
|
21 |
+
msgstr ""
|
22 |
+
|
23 |
+
#: assets/js/legal_block.js:21 includes/block/IubendaLegalBlock.php:255
|
24 |
+
#: includes/widget/IubendaLegalWidget.php:167
|
25 |
+
msgid "Legal"
|
26 |
+
msgstr ""
|
27 |
+
|
28 |
+
#: includes/PrivacyPolicyGenerator.php:23
|
29 |
+
msgid "Privacy Policy"
|
30 |
+
msgstr ""
|
31 |
+
|
32 |
+
#: includes/QuickGeneratorService.php:111
|
33 |
+
msgid "Your website has been created and your legal documents have been generated. Setup your cookie banner and privacy policy button to complete the integration."
|
34 |
+
msgstr ""
|
35 |
+
|
36 |
+
#: includes/QuickGeneratorService.php:137
|
37 |
+
msgid "Our products has been integrated successfully, now customize all products to increase the compliance rating and make your website fully compliant."
|
38 |
+
msgstr ""
|
39 |
+
|
40 |
+
#: includes/QuickGeneratorService.php:625
|
41 |
+
#, php-format
|
42 |
+
msgid "Currently, you do not have write permission for <i class=\"text-bold\">%s</i>. For instructions on how to fix this, please read <a class=\"link-underline\" target=\"_blank\" href=\"%s\">our guide</a>."
|
43 |
+
msgstr ""
|
44 |
+
|
45 |
+
#: includes/ServiceRating.php:98
|
46 |
+
msgid "Set up a cookie banner"
|
47 |
+
msgstr ""
|
48 |
+
|
49 |
+
#: includes/ServiceRating.php:99
|
50 |
+
msgid "This accounts for 25% of your score. Your cookie banner should inform your users about your use of cookies and similar tracking technologies, and their rights in this regard. You may need a banner if either the GDPR, CCPA or ePrivacy apply to you."
|
51 |
+
msgstr ""
|
52 |
+
|
53 |
+
#: includes/ServiceRating.php:103
|
54 |
+
msgid "Only track users that give consent"
|
55 |
+
msgstr ""
|
56 |
+
|
57 |
+
#: includes/ServiceRating.php:104
|
58 |
+
msgid "This accounts for 25% of your score. If you’re based in Europe or have Europe-based users, you likely need to block cookies from running until you receive user consent. To do this, select “Automatically block scripts detected by the plugin”."
|
59 |
+
msgstr ""
|
60 |
+
|
61 |
+
#: includes/ServiceRating.php:108
|
62 |
+
msgid "Set up a privacy policy"
|
63 |
+
msgstr ""
|
64 |
+
|
65 |
+
#: includes/ServiceRating.php:109
|
66 |
+
msgid "This accounts for 25% of your score. A privacy policy is a requirement under most privacy laws around the world. This document typically includes legally required disclosures about the type of personal data you process, why you need to process it, how the processing is done and the user’s rights under applicable law."
|
67 |
+
msgstr ""
|
68 |
+
|
69 |
+
#: includes/ServiceRating.php:113
|
70 |
+
msgid "Set up terms and conditions"
|
71 |
+
msgstr ""
|
72 |
+
|
73 |
+
#: includes/ServiceRating.php:114
|
74 |
+
msgid "This accounts for 25% of your score. Terms and conditions help to protect you, the website owner, from potential liabilities and more. Furthermore, if you run an e-commerce site or app, having this document may be legally required as Terms typically contain legally mandatory disclosures. Terms are legally binding documents, and therefore it’s important to ensure that they actually fit your specific scenario."
|
75 |
+
msgstr ""
|
76 |
+
|
77 |
+
#: includes/amp.php:281
|
78 |
+
msgid "AMP Cookie Consent"
|
79 |
+
msgstr ""
|
80 |
+
|
81 |
+
#: includes/forms-list-table.php:86
|
82 |
+
msgid "Form Title"
|
83 |
+
msgstr ""
|
84 |
+
|
85 |
+
#: includes/forms-list-table.php:87
|
86 |
+
msgid "Form ID"
|
87 |
+
msgstr ""
|
88 |
+
|
89 |
+
#: includes/forms-list-table.php:88
|
90 |
+
msgid "Form Source"
|
91 |
+
msgstr ""
|
92 |
+
|
93 |
+
#: includes/forms-list-table.php:89
|
94 |
+
msgid "Fields"
|
95 |
+
msgstr ""
|
96 |
+
|
97 |
+
#: includes/forms-list-table.php:90
|
98 |
+
msgid "Date"
|
99 |
+
msgstr ""
|
100 |
+
|
101 |
+
#: includes/forms-list-table.php:159
|
102 |
+
msgid "Edit"
|
103 |
+
msgstr ""
|
104 |
+
|
105 |
+
#: includes/forms-list-table.php:160
|
106 |
+
msgid "Delete"
|
107 |
+
msgstr ""
|
108 |
+
|
109 |
+
#: includes/forms-list-table.php:260
|
110 |
+
msgid "Filter"
|
111 |
+
msgstr ""
|
112 |
+
|
113 |
+
#: includes/forms-list-table.php:277
|
114 |
+
msgid "Filter by source"
|
115 |
+
msgstr ""
|
116 |
+
|
117 |
+
#: includes/forms-list-table.php:279
|
118 |
+
msgid "All form sources"
|
119 |
+
msgstr ""
|
120 |
+
|
121 |
+
#: includes/forms-list-table.php:347
|
122 |
+
msgid "No forms found."
|
123 |
+
msgstr ""
|
124 |
+
|
125 |
+
#: includes/forms-list-table.php:376
|
126 |
+
msgid "Select All"
|
127 |
+
msgstr ""
|
128 |
+
|
129 |
+
#: includes/forms.php:152
|
130 |
+
msgid "Forms"
|
131 |
+
msgstr ""
|
132 |
+
|
133 |
+
#: includes/forms.php:153
|
134 |
+
msgid "Form"
|
135 |
+
msgstr ""
|
136 |
+
|
137 |
+
#: includes/forms.php:579 includes/forms.php:593
|
138 |
+
msgid "First name"
|
139 |
+
msgstr ""
|
140 |
+
|
141 |
+
#: includes/forms.php:585 includes/forms.php:605
|
142 |
+
msgid "Last name"
|
143 |
+
msgstr ""
|
144 |
+
|
145 |
+
#: includes/forms.php:599
|
146 |
+
msgid "Middle name"
|
147 |
+
msgstr ""
|
148 |
+
|
149 |
+
#: includes/settings.php:75 includes/settings.php:76 includes/settings.php:77
|
150 |
+
#: includes/settings.php:78 includes/settings.php:79
|
151 |
+
msgid "string"
|
152 |
+
msgstr ""
|
153 |
+
|
154 |
+
#: includes/settings.php:91 includes/settings.php:424
|
155 |
+
#: includes/settings.php:1162
|
156 |
+
msgid "Cookie Solution"
|
157 |
+
msgstr ""
|
158 |
+
|
159 |
+
#: includes/settings.php:97 includes/settings.php:430 includes/settings.php:441
|
160 |
+
#: includes/settings.php:1182
|
161 |
+
msgid "Consent Solution"
|
162 |
+
msgstr ""
|
163 |
+
|
164 |
+
#: includes/settings.php:105 views/partials/csGeneralSettings.php:183
|
165 |
+
#: views/partials/csGeneralSettings.php:199
|
166 |
+
#: views/partials/csGeneralSettings.php:218
|
167 |
+
#: views/partials/csGeneralSettings.php:234
|
168 |
+
#: views/partials/csPluginSettings.php:69
|
169 |
+
#: views/partials/csPluginSettings.php:85
|
170 |
+
#: views/partials/csPluginSettings.php:104
|
171 |
+
#: views/partials/csPluginSettings.php:120
|
172 |
+
msgid "Not set"
|
173 |
+
msgstr ""
|
174 |
+
|
175 |
+
#: includes/settings.php:106 views/partials/csGeneralSettings.php:184
|
176 |
+
#: views/partials/csGeneralSettings.php:200
|
177 |
+
#: views/partials/csGeneralSettings.php:219
|
178 |
+
#: views/partials/csGeneralSettings.php:235
|
179 |
+
#: views/partials/csPluginSettings.php:70
|
180 |
+
#: views/partials/csPluginSettings.php:86
|
181 |
+
#: views/partials/csPluginSettings.php:105
|
182 |
+
#: views/partials/csPluginSettings.php:121
|
183 |
+
msgid "Strictly necessary"
|
184 |
+
msgstr ""
|
185 |
+
|
186 |
+
#: includes/settings.php:107
|
187 |
+
msgid "Basic interactions & functionalities"
|
188 |
+
msgstr ""
|
189 |
+
|
190 |
+
#: includes/settings.php:108 views/partials/csGeneralSettings.php:186
|
191 |
+
#: views/partials/csGeneralSettings.php:202
|
192 |
+
#: views/partials/csGeneralSettings.php:221
|
193 |
+
#: views/partials/csGeneralSettings.php:237
|
194 |
+
#: views/partials/csPluginSettings.php:72
|
195 |
+
#: views/partials/csPluginSettings.php:88
|
196 |
+
#: views/partials/csPluginSettings.php:107
|
197 |
+
#: views/partials/csPluginSettings.php:123
|
198 |
+
msgid "Experience enhancement"
|
199 |
+
msgstr ""
|
200 |
+
|
201 |
+
#: includes/settings.php:109 views/partials/csGeneralSettings.php:187
|
202 |
+
#: views/partials/csGeneralSettings.php:203
|
203 |
+
#: views/partials/csGeneralSettings.php:222
|
204 |
+
#: views/partials/csGeneralSettings.php:238
|
205 |
+
#: views/partials/csPluginSettings.php:73
|
206 |
+
#: views/partials/csPluginSettings.php:89
|
207 |
+
#: views/partials/csPluginSettings.php:108
|
208 |
+
#: views/partials/csPluginSettings.php:124
|
209 |
+
msgid "Analytics"
|
210 |
+
msgstr ""
|
211 |
+
|
212 |
+
#: includes/settings.php:110
|
213 |
+
msgid "Targeting & Advertising"
|
214 |
+
msgstr ""
|
215 |
+
|
216 |
+
#: includes/settings.php:389
|
217 |
+
msgid "You don't have permission to access this page."
|
218 |
+
msgstr ""
|
219 |
+
|
220 |
+
#: includes/settings.php:402 views/partials/siteInfo.php:14
|
221 |
+
msgid "Plugin settings"
|
222 |
+
msgstr ""
|
223 |
+
|
224 |
+
#: includes/settings.php:412
|
225 |
+
msgid "Terms and condition"
|
226 |
+
msgstr ""
|
227 |
+
|
228 |
+
#: includes/settings.php:418 includes/settings.php:1150
|
229 |
+
msgid "Privacy and Cookie Policy"
|
230 |
+
msgstr ""
|
231 |
+
|
232 |
+
#: includes/settings.php:628
|
233 |
+
#, php-format
|
234 |
+
msgid "Please enable comments cookies opt-in checkbox in the <a href=\"%s\" target=\"_blank\">Discussion settings</a>."
|
235 |
+
msgstr ""
|
236 |
+
|
237 |
+
#: includes/settings.php:701
|
238 |
+
msgid "Form saving failed. Please fill the Subject fields."
|
239 |
+
msgstr ""
|
240 |
+
|
241 |
+
#: includes/settings.php:749
|
242 |
+
msgid "Settings saved."
|
243 |
+
msgstr ""
|
244 |
+
|
245 |
+
#: includes/settings.php:905
|
246 |
+
#, php-format
|
247 |
+
msgid "To ensure regular scans and full support, <span class=\"text-bold\">verify your account</span>. Check your mailbox now and validate your email address, or check <a href=\"%s\" target=\"_blank\" class=\"link-underline\">your account</a> on iubenda.com. If you already did that, you can safely <a href=\"javascript:void(0)\" class=\"notice-dismiss-by-text dismiss-notification-alert link-underline\" data-dismiss-key=\"iub_user_needs_to_verify_his_account\">dismiss this reminder</a>."
|
248 |
+
msgstr ""
|
249 |
+
|
250 |
+
#: includes/settings.php:917
|
251 |
+
msgid "Enjoying the iubenda Cookie & Consent Solution Plugin?"
|
252 |
+
msgstr ""
|
253 |
+
|
254 |
+
#: includes/settings.php:919
|
255 |
+
msgid "Yes"
|
256 |
+
msgstr ""
|
257 |
+
|
258 |
+
#: includes/settings.php:920
|
259 |
+
msgid "No"
|
260 |
+
msgstr ""
|
261 |
+
|
262 |
+
#: includes/settings.php:924
|
263 |
+
msgid "Whew, what a relief!? We've worked countless hours to make this plugin as useful as possible - so we're pretty happy that you're enjoying it. While you here, would you mind leaving us a 5 star rating? It would really help us out."
|
264 |
+
msgstr ""
|
265 |
+
|
266 |
+
#: includes/settings.php:926
|
267 |
+
msgid "Sure!"
|
268 |
+
msgstr ""
|
269 |
+
|
270 |
+
#: includes/settings.php:927 includes/settings.php:934
|
271 |
+
msgid "No thanks"
|
272 |
+
msgstr ""
|
273 |
+
|
274 |
+
#: includes/settings.php:931
|
275 |
+
msgid "We're sorry to hear that. Would you mind giving us some feedback?"
|
276 |
+
msgstr ""
|
277 |
+
|
278 |
+
#: includes/settings.php:933
|
279 |
+
msgid "Ok sure!"
|
280 |
+
msgstr ""
|
281 |
+
|
282 |
+
#: includes/settings.php:1114 includes/settings.php:1136
|
283 |
+
#: includes/settings.php:1155 includes/settings.php:1175
|
284 |
+
msgid "Style"
|
285 |
+
msgstr ""
|
286 |
+
|
287 |
+
#: includes/settings.php:1115 includes/settings.php:1137
|
288 |
+
#: includes/settings.php:1156 includes/settings.php:1176
|
289 |
+
#: views/partials/bannerPosition.php:20
|
290 |
+
msgid "Position"
|
291 |
+
msgstr ""
|
292 |
+
|
293 |
+
#: includes/settings.php:1116 includes/settings.php:1138
|
294 |
+
msgid "legislation"
|
295 |
+
msgstr ""
|
296 |
+
|
297 |
+
#: includes/settings.php:1154 includes/settings.php:1174
|
298 |
+
msgid "Version"
|
299 |
+
msgstr ""
|
300 |
+
|
301 |
+
#: includes/settings.php:1170
|
302 |
+
msgid "Terms and Conditions"
|
303 |
+
msgstr ""
|
304 |
+
|
305 |
+
#: includes/widget/IubendaLegalWidget.php:18
|
306 |
+
msgid "Iubenda legal"
|
307 |
+
msgstr ""
|
308 |
+
|
309 |
+
#: includes/widget/IubendaLegalWidget.php:21
|
310 |
+
msgid "Iubenda legal widget for Privacy Policy and Terms & Conditions"
|
311 |
+
msgstr ""
|
312 |
+
|
313 |
+
#: includes/widget/IubendaLegalWidget.php:176
|
314 |
+
msgid "Title:"
|
315 |
+
msgstr ""
|
316 |
+
|
317 |
+
#: views/cons-configuration.php:14
|
318 |
+
msgid "Activate <strong>Consent Solution</strong> on our website in your iubenda dashboard and paste here the <strong>API key</strong> to integrate it on your website."
|
319 |
+
msgstr ""
|
320 |
+
|
321 |
+
#: views/cons-configuration.php:17
|
322 |
+
msgid "Activate & Configure Consent Solution by"
|
323 |
+
msgstr ""
|
324 |
+
|
325 |
+
#: views/cons-configuration.php:18 views/partials/csManualConfiguration.php:6
|
326 |
+
#: views/tc-configuration.php:16
|
327 |
+
msgid "clicking here"
|
328 |
+
msgstr ""
|
329 |
+
|
330 |
+
#: views/cons-configuration.php:23
|
331 |
+
msgid "Paste your public API key here"
|
332 |
+
msgstr ""
|
333 |
+
|
334 |
+
#: views/cons-configuration.php:29
|
335 |
+
msgid "Your iubenda Javascript library public API key"
|
336 |
+
msgstr ""
|
337 |
+
|
338 |
+
#: views/cons-configuration.php:31
|
339 |
+
msgid "Confirm API"
|
340 |
+
msgstr ""
|
341 |
+
|
342 |
+
#: views/cons-configuration.php:37 views/partials/languagesTabs.php:27
|
343 |
+
#: views/partials/modals/modal_almost_there.php:42
|
344 |
+
msgid "Where can I find this code?"
|
345 |
+
msgstr ""
|
346 |
+
|
347 |
+
#: views/cons-configuration.php:44
|
348 |
+
msgid "Add forms"
|
349 |
+
msgstr ""
|
350 |
+
|
351 |
+
#: views/cons-configuration.php:53
|
352 |
+
msgid "Auto-detect forms"
|
353 |
+
msgstr ""
|
354 |
+
|
355 |
+
#: views/cons-configuration.php:60 views/cons-single-form.php:277
|
356 |
+
#: views/cs-configuration.php:15 views/plugin-settings.php:44
|
357 |
+
#: views/pp-configuration.php:33 views/tc-configuration.php:131
|
358 |
+
msgid "Cancel"
|
359 |
+
msgstr ""
|
360 |
+
|
361 |
+
#: views/cons-configuration.php:62 views/cons-single-form.php:279
|
362 |
+
#: views/cs-configuration.php:17 views/plugin-settings.php:46
|
363 |
+
#: views/pp-configuration.php:35 views/tc-configuration.php:133
|
364 |
+
msgid "Save settings"
|
365 |
+
msgstr ""
|
366 |
+
|
367 |
+
#: views/cons-single-form.php:12
|
368 |
+
msgid "Field Mapping"
|
369 |
+
msgstr ""
|
370 |
+
|
371 |
+
#: views/cons-single-form.php:44
|
372 |
+
msgid "Map fields"
|
373 |
+
msgstr ""
|
374 |
+
|
375 |
+
#: views/cons-single-form.php:48
|
376 |
+
msgid "Status"
|
377 |
+
msgstr ""
|
378 |
+
|
379 |
+
#: views/cons-single-form.php:61
|
380 |
+
msgid "Subject fields"
|
381 |
+
msgstr ""
|
382 |
+
|
383 |
+
#: views/cons-single-form.php:62
|
384 |
+
msgid "Subject fields allow you to store a series of identifying values about your individual subjects/users. Please map the subject field with the corresponding form fields where applicable."
|
385 |
+
msgstr ""
|
386 |
+
|
387 |
+
#: views/cons-single-form.php:65
|
388 |
+
msgid "Subject field"
|
389 |
+
msgstr ""
|
390 |
+
|
391 |
+
#: views/cons-single-form.php:66 views/cons-single-form.php:103
|
392 |
+
msgid "Form field"
|
393 |
+
msgstr ""
|
394 |
+
|
395 |
+
#: views/cons-single-form.php:71
|
396 |
+
msgid "Autogenerated"
|
397 |
+
msgstr ""
|
398 |
+
|
399 |
+
#: views/cons-single-form.php:71
|
400 |
+
msgid "None"
|
401 |
+
msgstr ""
|
402 |
+
|
403 |
+
#: views/cons-single-form.php:98
|
404 |
+
msgid "Preferences fields"
|
405 |
+
msgstr ""
|
406 |
+
|
407 |
+
#: views/cons-single-form.php:99
|
408 |
+
msgid "Preferences fields allow you to store a record of the various opt-ins points at which the user has agreed or given consent, such as fields for agreeing to terms and conditions, newsletter, profiling, etc."
|
409 |
+
msgstr ""
|
410 |
+
|
411 |
+
#: views/cons-single-form.php:102
|
412 |
+
msgid "Preferences field"
|
413 |
+
msgstr ""
|
414 |
+
|
415 |
+
#: views/cons-single-form.php:108 views/cons-single-form.php:133
|
416 |
+
#: views/cons-single-form.php:234 views/cons-single-form.php:244
|
417 |
+
#: views/cons-single-form.php:260
|
418 |
+
msgid "Enter field name"
|
419 |
+
msgstr ""
|
420 |
+
|
421 |
+
#: views/cons-single-form.php:122 views/cons-single-form.php:148
|
422 |
+
#: views/cons-single-form.php:183 views/cons-single-form.php:207
|
423 |
+
#: views/cons-single-form.php:244 views/cons-single-form.php:260
|
424 |
+
msgid "Remove"
|
425 |
+
msgstr ""
|
426 |
+
|
427 |
+
#: views/cons-single-form.php:155
|
428 |
+
msgid "Add New Preference"
|
429 |
+
msgstr ""
|
430 |
+
|
431 |
+
#: views/cons-single-form.php:159
|
432 |
+
msgid "Exclude fields"
|
433 |
+
msgstr ""
|
434 |
+
|
435 |
+
#: views/cons-single-form.php:160
|
436 |
+
msgid "Exclude fields allow you to create a list of fields that you would like to exclude from your Consent Solution recorded proofs (for e.g. password or other fields not related to the consent)."
|
437 |
+
msgstr ""
|
438 |
+
|
439 |
+
#: views/cons-single-form.php:164
|
440 |
+
msgid "Exclude field"
|
441 |
+
msgstr ""
|
442 |
+
|
443 |
+
#: views/cons-single-form.php:216
|
444 |
+
msgid "Add New Exclude"
|
445 |
+
msgstr ""
|
446 |
+
|
447 |
+
#: views/cons-single-form.php:221
|
448 |
+
msgid "Legal documents"
|
449 |
+
msgstr ""
|
450 |
+
|
451 |
+
#: views/cons-single-form.php:222
|
452 |
+
msgid "In general, it's important that you declare which legal documents are being agreed upon when each consent is collected. However, if you use iubenda for your legal documents, it is *required* that you identify the documents by selecting them here."
|
453 |
+
msgstr ""
|
454 |
+
|
455 |
+
#: views/cons-single-form.php:225
|
456 |
+
msgid "Identifier"
|
457 |
+
msgstr ""
|
458 |
+
|
459 |
+
#: views/cons-single-form.php:234
|
460 |
+
msgid "Please select each legal document available on your site."
|
461 |
+
msgstr ""
|
462 |
+
|
463 |
+
#: views/cons-single-form.php:250
|
464 |
+
msgid "Alternatively, you may add your own custom document identifiers."
|
465 |
+
msgstr ""
|
466 |
+
|
467 |
+
#: views/cons-single-form.php:268
|
468 |
+
msgid "Add New Document"
|
469 |
+
msgstr ""
|
470 |
+
|
471 |
+
#: views/frontpage.php:8
|
472 |
+
msgid "Let's configure your website for compliance."
|
473 |
+
msgstr ""
|
474 |
+
|
475 |
+
#: views/frontpage.php:9
|
476 |
+
msgid "Help me get compliant!"
|
477 |
+
msgstr ""
|
478 |
+
|
479 |
+
#: views/integrate-setup.php:21
|
480 |
+
msgid "Add a cookie banner"
|
481 |
+
msgstr ""
|
482 |
+
|
483 |
+
#: views/integrate-setup.php:29 views/partials/csGeneralSettings.php:69
|
484 |
+
msgid "Enable Google AMP support"
|
485 |
+
msgstr ""
|
486 |
+
|
487 |
+
#: views/integrate-setup.php:32 views/partials/csGeneralSettings.php:73
|
488 |
+
msgid "Select the iubenda AMP configuration file location."
|
489 |
+
msgstr ""
|
490 |
+
|
491 |
+
#: views/integrate-setup.php:36 views/partials/csGeneralSettings.php:77
|
492 |
+
msgid "Auto-generated configuration file"
|
493 |
+
msgstr ""
|
494 |
+
|
495 |
+
#: views/integrate-setup.php:40 views/partials/csGeneralSettings.php:81
|
496 |
+
msgid "Custom configuration file"
|
497 |
+
msgstr ""
|
498 |
+
|
499 |
+
#: views/integrate-setup.php:49 views/partials/csGeneralSettings.php:91
|
500 |
+
msgid "No file available. Save changes to generate iubenda AMP configuration file."
|
501 |
+
msgstr ""
|
502 |
+
|
503 |
+
#: views/integrate-setup.php:73 views/integrate-setup.php:91
|
504 |
+
#: views/partials/csGeneralSettings.php:115
|
505 |
+
msgid "Default language"
|
506 |
+
msgstr ""
|
507 |
+
|
508 |
+
#: views/integrate-setup.php:85 views/partials/csGeneralSettings.php:127
|
509 |
+
msgid "Seeing the AMP cookie notice when testing from Google but not when visiting your AMP pages directly?"
|
510 |
+
msgstr ""
|
511 |
+
|
512 |
+
#: views/integrate-setup.php:85 views/partials/csGeneralSettings.php:127
|
513 |
+
msgid "Learn how to fix it"
|
514 |
+
msgstr ""
|
515 |
+
|
516 |
+
#: views/integrate-setup.php:108 views/partials/csGeneralSettings.php:149
|
517 |
+
#: views/partials/csPluginSettings.php:4
|
518 |
+
msgid "Automatically block scripts detected by the plugin"
|
519 |
+
msgstr ""
|
520 |
+
|
521 |
+
#: views/integrate-setup.php:114 views/partials/csGeneralSettings.php:157
|
522 |
+
#: views/partials/csPluginSettings.php:10
|
523 |
+
msgid "Primary"
|
524 |
+
msgstr ""
|
525 |
+
|
526 |
+
#: views/integrate-setup.php:118 views/partials/csGeneralSettings.php:161
|
527 |
+
#: views/partials/csPluginSettings.php:14
|
528 |
+
msgid "Secondary"
|
529 |
+
msgstr ""
|
530 |
+
|
531 |
+
#: views/integrate-setup.php:121 views/partials/csGeneralSettings.php:153
|
532 |
+
#: views/partials/csPluginSettings.php:17
|
533 |
+
msgid "Select Parsing Engine"
|
534 |
+
msgstr ""
|
535 |
+
|
536 |
+
#: views/integrate-setup.php:126 views/partials/csGeneralSettings.php:168
|
537 |
+
#: views/partials/csPluginSettings.php:22
|
538 |
+
msgid "Leave scripts untouched on the page if the user has already given consent"
|
539 |
+
msgstr ""
|
540 |
+
|
541 |
+
#: views/integrate-setup.php:128 views/partials/csGeneralSettings.php:170
|
542 |
+
#: views/partials/csPluginSettings.php:24
|
543 |
+
msgid "Enable this option to improve performance <strong>only</strong> if your site does <strong>not</strong> use a cache system or a cache plugin and if you're <strong>not</strong> collecting per-category consent. If you're in doubt, keep this setting disabled"
|
544 |
+
msgstr ""
|
545 |
+
|
546 |
+
#: views/integrate-setup.php:140
|
547 |
+
msgid "Add the privacy policy button"
|
548 |
+
msgstr ""
|
549 |
+
|
550 |
+
#: views/partials/auto_detect_forms.php:29
|
551 |
+
msgid "This section lists the forms available for field mapping. The plugin currently supports & detects: WordPress Comment, Contact Form 7, WooCommerce Checkout and WP Forms."
|
552 |
+
msgstr ""
|
553 |
+
|
554 |
+
#: views/partials/bannerPosition.php:41
|
555 |
+
msgid "Background-overlay"
|
556 |
+
msgstr ""
|
557 |
+
|
558 |
+
#: views/partials/bannerStyle.php:2
|
559 |
+
msgid "Theme"
|
560 |
+
msgstr ""
|
561 |
+
|
562 |
+
#: views/partials/bannerStyle.php:9 views/partials/buttonStyle.php:19
|
563 |
+
#: views/tc-configuration.php:50
|
564 |
+
msgid "Dark"
|
565 |
+
msgstr ""
|
566 |
+
|
567 |
+
#: views/partials/bannerStyle.php:15 views/partials/buttonStyle.php:10
|
568 |
+
#: views/tc-configuration.php:41
|
569 |
+
msgid "Light"
|
570 |
+
msgstr ""
|
571 |
+
|
572 |
+
#: views/partials/breadcrumb.php:2
|
573 |
+
msgid "Products"
|
574 |
+
msgstr ""
|
575 |
+
|
576 |
+
#: views/partials/buttonPosition.php:1 views/tc-configuration.php:57
|
577 |
+
msgid "Button position"
|
578 |
+
msgstr ""
|
579 |
+
|
580 |
+
#: views/partials/buttonPosition.php:5 views/tc-configuration.php:61
|
581 |
+
msgid "Add to the footer automatically"
|
582 |
+
msgstr ""
|
583 |
+
|
584 |
+
#: views/partials/buttonPosition.php:10 views/tc-configuration.php:65
|
585 |
+
msgid "Integrate manually"
|
586 |
+
msgstr ""
|
587 |
+
|
588 |
+
#: views/partials/buttonPosition.php:28
|
589 |
+
#: views/partials/modals/modal_almost_there.php:62
|
590 |
+
#: views/tc-configuration.php:83
|
591 |
+
#, php-format
|
592 |
+
msgid "We were not able to add a \"Legal\" widget/block to the footer as your theme is not compatible, you can position the \"Legal\" widget/block manually from <a href=\"%s\" target=\"_blank\">here</a>."
|
593 |
+
msgstr ""
|
594 |
+
|
595 |
+
#: views/partials/buttonPosition.php:37 views/tc-configuration.php:92
|
596 |
+
msgid "HTML"
|
597 |
+
msgstr ""
|
598 |
+
|
599 |
+
#: views/partials/buttonPosition.php:64 views/tc-configuration.php:108
|
600 |
+
msgid "Your embed code"
|
601 |
+
msgstr ""
|
602 |
+
|
603 |
+
#: views/partials/buttonPosition.php:73 views/tc-configuration.php:117
|
604 |
+
msgid "Shortcode"
|
605 |
+
msgstr ""
|
606 |
+
|
607 |
+
#: views/partials/buttonPosition.php:74
|
608 |
+
msgid "A shortcode is a tiny bit of code that allows embedding interactive elements or creating complex page layouts with a minimal effort.<br>Just copy and paste the shortcode where you want the button to appear."
|
609 |
+
msgstr ""
|
610 |
+
|
611 |
+
#: views/partials/buttonStyle.php:1 views/tc-configuration.php:32
|
612 |
+
msgid "Button style"
|
613 |
+
msgstr ""
|
614 |
+
|
615 |
+
#: views/partials/csGeneralSettings.php:2
|
616 |
+
msgid "Configuration"
|
617 |
+
msgstr ""
|
618 |
+
|
619 |
+
#: views/partials/csGeneralSettings.php:14
|
620 |
+
#: views/partials/csGeneralSettings.php:23
|
621 |
+
msgid "Simplified"
|
622 |
+
msgstr ""
|
623 |
+
|
624 |
+
#: views/partials/csGeneralSettings.php:35
|
625 |
+
#: views/partials/csGeneralSettings.php:42
|
626 |
+
msgid "Manual embed"
|
627 |
+
msgstr ""
|
628 |
+
|
629 |
+
#: views/partials/csGeneralSettings.php:173
|
630 |
+
msgid "Blocked domains"
|
631 |
+
msgstr ""
|
632 |
+
|
633 |
+
#: views/partials/csGeneralSettings.php:176
|
634 |
+
#: views/partials/csPluginSettings.php:62
|
635 |
+
msgid "Custom scripts"
|
636 |
+
msgstr ""
|
637 |
+
|
638 |
+
#: views/partials/csGeneralSettings.php:177
|
639 |
+
#: views/partials/csPluginSettings.php:63
|
640 |
+
msgid "Custom iframes"
|
641 |
+
msgstr ""
|
642 |
+
|
643 |
+
#: views/partials/csGeneralSettings.php:181
|
644 |
+
#: views/partials/csGeneralSettings.php:197
|
645 |
+
#: views/partials/csPluginSettings.php:67
|
646 |
+
#: views/partials/csPluginSettings.php:83
|
647 |
+
msgid "Enter custom script"
|
648 |
+
msgstr ""
|
649 |
+
|
650 |
+
#: views/partials/csGeneralSettings.php:185
|
651 |
+
#: views/partials/csGeneralSettings.php:201
|
652 |
+
#: views/partials/csGeneralSettings.php:220
|
653 |
+
#: views/partials/csGeneralSettings.php:236
|
654 |
+
#: views/partials/csPluginSettings.php:71
|
655 |
+
#: views/partials/csPluginSettings.php:87
|
656 |
+
#: views/partials/csPluginSettings.php:106
|
657 |
+
#: views/partials/csPluginSettings.php:122
|
658 |
+
msgid "Basic interactions & functionalities"
|
659 |
+
msgstr ""
|
660 |
+
|
661 |
+
#: views/partials/csGeneralSettings.php:188
|
662 |
+
#: views/partials/csGeneralSettings.php:204
|
663 |
+
#: views/partials/csGeneralSettings.php:223
|
664 |
+
#: views/partials/csGeneralSettings.php:239
|
665 |
+
#: views/partials/csPluginSettings.php:74
|
666 |
+
#: views/partials/csPluginSettings.php:90
|
667 |
+
#: views/partials/csPluginSettings.php:109
|
668 |
+
#: views/partials/csPluginSettings.php:125
|
669 |
+
msgid "Targeting & Advertising"
|
670 |
+
msgstr ""
|
671 |
+
|
672 |
+
#: views/partials/csGeneralSettings.php:211
|
673 |
+
#: views/partials/csPluginSettings.php:97
|
674 |
+
msgid "Provide a list of domains for any custom scripts you'd like to block, and assign their purposes. To make sure they are blocked correctly, please add domains in the same format as 'example.com', without any protocols e.g. 'http://' or 'https://'. You may also use wildcards (*) to include parent domains or subdomains."
|
675 |
+
msgstr ""
|
676 |
+
|
677 |
+
#: views/partials/csGeneralSettings.php:212
|
678 |
+
#: views/partials/csPluginSettings.php:98
|
679 |
+
msgid "Add New Script"
|
680 |
+
msgstr ""
|
681 |
+
|
682 |
+
#: views/partials/csGeneralSettings.php:216
|
683 |
+
#: views/partials/csGeneralSettings.php:232
|
684 |
+
#: views/partials/csPluginSettings.php:102
|
685 |
+
#: views/partials/csPluginSettings.php:118
|
686 |
+
msgid "Enter custom iframe"
|
687 |
+
msgstr ""
|
688 |
+
|
689 |
+
#: views/partials/csGeneralSettings.php:246
|
690 |
+
#: views/partials/csPluginSettings.php:132
|
691 |
+
msgid "Provide a list of domains for any custom iframes you'd like to block, and assign their purposes. To make sure they are blocked correctly, please add domains in the same format as 'example.com', without any protocols e.g. 'http://' or 'https://'. You may also use wildcards (*) to include parent domains or subdomains."
|
692 |
+
msgstr ""
|
693 |
+
|
694 |
+
#: views/partials/csGeneralSettings.php:247
|
695 |
+
#: views/partials/csPluginSettings.php:133
|
696 |
+
msgid "Add New iframe"
|
697 |
+
msgstr ""
|
698 |
+
|
699 |
+
#: views/partials/csManualConfiguration.php:2
|
700 |
+
msgid "Configure your cookie banner on our website and paste here the embed code to integrate it to your website."
|
701 |
+
msgstr ""
|
702 |
+
|
703 |
+
#: views/partials/csManualConfiguration.php:5
|
704 |
+
msgid "Configure cookie banner by"
|
705 |
+
msgstr ""
|
706 |
+
|
707 |
+
#: views/partials/csManualConfiguration.php:11
|
708 |
+
msgid "Paste your cookie solution embed code here"
|
709 |
+
msgstr ""
|
710 |
+
|
711 |
+
#: views/partials/csPluginSettings.php:29 views/plugin-settings.php:13
|
712 |
+
msgid "Restrict the plugin to run only for requests that have \"Content-type: text / html\" (recommended)"
|
713 |
+
msgstr ""
|
714 |
+
|
715 |
+
#: views/partials/csPluginSettings.php:33 views/plugin-settings.php:17
|
716 |
+
msgid "Do not run the plugin inside the RSS feed (recommended)"
|
717 |
+
msgstr ""
|
718 |
+
|
719 |
+
#: views/partials/csPluginSettings.php:37 views/plugin-settings.php:21
|
720 |
+
msgid "Do not run the plugin on POST requests (recommended)"
|
721 |
+
msgstr ""
|
722 |
+
|
723 |
+
#: views/partials/csPluginSettings.php:41 views/plugin-settings.php:25
|
724 |
+
msgid "Delete all plugin data upon deactivation"
|
725 |
+
msgstr ""
|
726 |
+
|
727 |
+
#: views/partials/csPluginSettings.php:45 views/plugin-settings.php:28
|
728 |
+
msgid "Menu position"
|
729 |
+
msgstr ""
|
730 |
+
|
731 |
+
#: views/partials/csPluginSettings.php:49 views/plugin-settings.php:32
|
732 |
+
msgid "Top menu"
|
733 |
+
msgstr ""
|
734 |
+
|
735 |
+
#: views/partials/csPluginSettings.php:53 views/plugin-settings.php:36
|
736 |
+
msgid "Submenu"
|
737 |
+
msgstr ""
|
738 |
+
|
739 |
+
#: views/partials/csPluginSettings.php:56 views/plugin-settings.php:39
|
740 |
+
msgid "Select whether to display iubenda in a top admin menu or the Settings submenu."
|
741 |
+
msgstr ""
|
742 |
+
|
743 |
+
#: views/partials/csPluginSettings.php:59
|
744 |
+
msgid "Custom settings"
|
745 |
+
msgstr ""
|
746 |
+
|
747 |
+
#: views/partials/csSimplifiedConfiguration.php:9
|
748 |
+
msgid "Legislation"
|
749 |
+
msgstr ""
|
750 |
+
|
751 |
+
#: views/partials/csSimplifiedConfiguration.php:14
|
752 |
+
msgid "GDPR Only"
|
753 |
+
msgstr ""
|
754 |
+
|
755 |
+
#: views/partials/csSimplifiedConfiguration.php:18
|
756 |
+
msgid "CCPA Only"
|
757 |
+
msgstr ""
|
758 |
+
|
759 |
+
#: views/partials/csSimplifiedConfiguration.php:22
|
760 |
+
msgid "Both"
|
761 |
+
msgstr ""
|
762 |
+
|
763 |
+
#: views/partials/csSimplifiedConfiguration.php:29
|
764 |
+
msgid "Require consent from"
|
765 |
+
msgstr ""
|
766 |
+
|
767 |
+
#: views/partials/csSimplifiedConfiguration.php:43
|
768 |
+
msgid "Worldwide"
|
769 |
+
msgstr ""
|
770 |
+
|
771 |
+
#: views/partials/csSimplifiedConfiguration.php:59
|
772 |
+
msgid "EU Only"
|
773 |
+
msgstr ""
|
774 |
+
|
775 |
+
#: views/partials/csSimplifiedConfiguration.php:68
|
776 |
+
msgid "Banner buttons"
|
777 |
+
msgstr ""
|
778 |
+
|
779 |
+
#: views/partials/csSimplifiedConfiguration.php:72
|
780 |
+
msgid "Explicit Accept and Customize buttons"
|
781 |
+
msgstr ""
|
782 |
+
|
783 |
+
#: views/partials/csSimplifiedConfiguration.php:77
|
784 |
+
msgid "Explicit Reject button"
|
785 |
+
msgstr ""
|
786 |
+
|
787 |
+
#: views/partials/csSimplifiedConfiguration.php:83
|
788 |
+
msgid "Other options"
|
789 |
+
msgstr ""
|
790 |
+
|
791 |
+
#: views/partials/csSimplifiedConfiguration.php:88
|
792 |
+
msgid "Enable IAB Transparency and Consent Framework"
|
793 |
+
msgstr ""
|
794 |
+
|
795 |
+
#: views/partials/csSimplifiedConfiguration.php:88
|
796 |
+
#: views/partials/modals/modal_rating.php:22
|
797 |
+
msgid "Learn More"
|
798 |
+
msgstr ""
|
799 |
+
|
800 |
+
#: views/partials/csSimplifiedConfiguration.php:92
|
801 |
+
msgid "You should activate this feature if you show ads on your website"
|
802 |
+
msgstr ""
|
803 |
+
|
804 |
+
#: views/partials/footer.php:5
|
805 |
+
msgid "Documentation"
|
806 |
+
msgstr ""
|
807 |
+
|
808 |
+
#: views/partials/frontpage_main_box.php:22
|
809 |
+
msgid "Analyzing your website"
|
810 |
+
msgstr ""
|
811 |
+
|
812 |
+
#: views/partials/frontpage_main_box.php:26
|
813 |
+
msgid "This is what you may need to be compliant"
|
814 |
+
msgstr ""
|
815 |
+
|
816 |
+
#: views/partials/header_scanned.php:3 views/partials/modals/modal_rating.php:6
|
817 |
+
#: views/partials/siteInfo.php:20
|
818 |
+
msgid "Your rating"
|
819 |
+
msgstr ""
|
820 |
+
|
821 |
+
#: views/partials/header_scanned.php:4
|
822 |
+
msgid "We have analyzed your website in background and this is the result."
|
823 |
+
msgstr ""
|
824 |
+
|
825 |
+
#: views/partials/integrateFooter.php:3
|
826 |
+
msgid "Reset settings"
|
827 |
+
msgstr ""
|
828 |
+
|
829 |
+
#: views/partials/integrateFooter.php:4
|
830 |
+
msgid "Integrate"
|
831 |
+
msgstr ""
|
832 |
+
|
833 |
+
#: views/partials/languagesTabs.php:21
|
834 |
+
msgid "Paste your embed code here"
|
835 |
+
msgstr ""
|
836 |
+
|
837 |
+
#: views/partials/modals/modal_almost_there.php:5
|
838 |
+
msgid "Nice! We are almost there."
|
839 |
+
msgstr ""
|
840 |
+
|
841 |
+
#: views/partials/modals/modal_almost_there.php:6
|
842 |
+
msgid "Since you already activated some products for this website, we just ask you to copy and paste the embedding code of the product you already have to syncronize your iubenda acount with WP plugin."
|
843 |
+
msgstr ""
|
844 |
+
|
845 |
+
#: views/partials/modals/modal_almost_there.php:13
|
846 |
+
msgid "Select products you have already activated"
|
847 |
+
msgstr ""
|
848 |
+
|
849 |
+
#: views/partials/modals/modal_almost_there.php:25
|
850 |
+
msgid "(required)"
|
851 |
+
msgstr ""
|
852 |
+
|
853 |
+
#: views/partials/modals/modal_almost_there.php:37
|
854 |
+
msgid "Consent Solution API key"
|
855 |
+
msgstr ""
|
856 |
+
|
857 |
+
#: views/partials/modals/modal_almost_there.php:39
|
858 |
+
msgid "Paste your API key here"
|
859 |
+
msgstr ""
|
860 |
+
|
861 |
+
#: views/partials/modals/modal_almost_there.php:75
|
862 |
+
msgid "Synchronize products"
|
863 |
+
msgstr ""
|
864 |
+
|
865 |
+
#: views/partials/modals/modal_no_website_found.php:6
|
866 |
+
#: views/partials/modals/modal_ops_embed_invalid.php:6
|
867 |
+
msgid "Ooops! <br> No website found with this embed code."
|
868 |
+
msgstr ""
|
869 |
+
|
870 |
+
#: views/partials/modals/modal_no_website_found.php:8
|
871 |
+
msgid "It seems that it is not possible to access your data with the code you pasted, do you want to try again or do you prefer to start configuring your website from scratch?"
|
872 |
+
msgstr ""
|
873 |
+
|
874 |
+
#: views/partials/modals/modal_no_website_found.php:10
|
875 |
+
#: views/partials/modals/modal_ops_embed_invalid.php:10
|
876 |
+
msgid "Try again"
|
877 |
+
msgstr ""
|
878 |
+
|
879 |
+
#: views/partials/modals/modal_no_website_found.php:11
|
880 |
+
#: views/partials/modals/modal_sync.php:8
|
881 |
+
msgid "I want to start from scratch"
|
882 |
+
msgstr ""
|
883 |
+
|
884 |
+
#: views/partials/modals/modal_ops_embed_invalid.php:8
|
885 |
+
msgid "It seems that it is not possible to access your data with the code you pasted, do you want to try again."
|
886 |
+
msgstr ""
|
887 |
+
|
888 |
+
#: views/partials/modals/modal_pp_created.php:5
|
889 |
+
msgid "Your privacy policy has been created!"
|
890 |
+
msgstr ""
|
891 |
+
|
892 |
+
#: views/partials/modals/modal_pp_created.php:7
|
893 |
+
msgid "From here you can customize your privacy policy by adding the services you use within your website or you can customize the style of the button that displays your privacy policy."
|
894 |
+
msgstr ""
|
895 |
+
|
896 |
+
#: views/partials/modals/modal_pp_created.php:9
|
897 |
+
msgid "Got it"
|
898 |
+
msgstr ""
|
899 |
+
|
900 |
+
#: views/partials/modals/modal_rating.php:11
|
901 |
+
msgid "Here’s how we calculate your rating."
|
902 |
+
msgstr ""
|
903 |
+
|
904 |
+
#: views/partials/modals/modal_select_language.php:4
|
905 |
+
msgid "Now, select your website language"
|
906 |
+
msgstr ""
|
907 |
+
|
908 |
+
#: views/partials/modals/modal_select_language.php:54
|
909 |
+
msgid "Continue"
|
910 |
+
msgstr ""
|
911 |
+
|
912 |
+
#: views/partials/modals/modal_sync.php:4
|
913 |
+
msgid "First of all, tell us if you already use our products for this website or if you want to start from scratch"
|
914 |
+
msgstr ""
|
915 |
+
|
916 |
+
#: views/partials/modals/modal_sync.php:6
|
917 |
+
msgid "I’ve already made the set up on iubenda.com"
|
918 |
+
msgstr ""
|
919 |
+
|
920 |
+
#: views/partials/modals/modal_sync.php:7
|
921 |
+
msgid "or"
|
922 |
+
msgstr ""
|
923 |
+
|
924 |
+
#: views/partials/product-card.php:46
|
925 |
+
msgid "Service off"
|
926 |
+
msgstr ""
|
927 |
+
|
928 |
+
#: views/partials/product-card.php:46
|
929 |
+
msgid "Service on"
|
930 |
+
msgstr ""
|
931 |
+
|
932 |
+
#: views/partials/product-card.php:48
|
933 |
+
msgid "Configure"
|
934 |
+
msgstr ""
|
935 |
+
|
936 |
+
#: views/partials/siteInfo.php:21
|
937 |
+
msgid "How is it calculated?"
|
938 |
+
msgstr ""
|
939 |
+
|
940 |
+
#: views/partials/welcomeScreenHeader.php:2
|
941 |
+
msgid "Welcome to iubenda!"
|
942 |
+
msgstr ""
|
943 |
+
|
944 |
+
#: views/partials/welcomeScreenHeader.php:3
|
945 |
+
msgid "Our plugin will help you to make your website compliant in minutes."
|
946 |
+
msgstr ""
|
947 |
+
|
948 |
+
#: views/pp-configuration.php:22
|
949 |
+
msgid "Setup your privacy and cookie policy on iubenda.com"
|
950 |
+
msgstr ""
|
951 |
+
|
952 |
+
#: views/pp-configuration.php:26 views/tc-configuration.php:30
|
953 |
+
msgid "Integration"
|
954 |
+
msgstr ""
|
955 |
+
|
956 |
+
#: views/products-page.php:15
|
957 |
+
msgid "It seems that you have not activated any of our services, we recommend you to activate them and increase your level of compliance and avoid risking fines."
|
958 |
+
msgstr ""
|
959 |
+
|
960 |
+
#: views/tc-configuration.php:12
|
961 |
+
msgid "Configure your terms and conditions on our website and paste here the embed code to integrate the button on your website."
|
962 |
+
msgstr ""
|
963 |
+
|
964 |
+
#: views/tc-configuration.php:15
|
965 |
+
msgid "Configure terms and conditions by"
|
966 |
+
msgstr ""
|
967 |
+
|
968 |
+
#: views/tc-configuration.php:21
|
969 |
+
msgid "Paste your terms and conditions embed code here"
|
970 |
+
msgstr ""
|
readme.txt
CHANGED
@@ -1,103 +1,137 @@
|
|
1 |
-
=== iubenda -
|
2 |
Contributors: iubenda
|
3 |
Donate link:
|
4 |
-
Tags:
|
5 |
-
Requires at least:
|
6 |
-
Requires PHP:
|
7 |
-
Tested up to:
|
8 |
-
Stable tag: 2.5
|
9 |
License: MIT License
|
10 |
License URI: http://opensource.org/licenses/MIT
|
11 |
|
12 |
-
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.
|
13 |
-
|
14 |
== Description ==
|
15 |
|
16 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
|
18 |
== Cookie Solution ==
|
19 |
|
20 |
-
|
21 |
-
|
22 |
-
**
|
23 |
-
|
24 |
-
*
|
25 |
-
*
|
26 |
-
*
|
27 |
-
*
|
28 |
-
*
|
29 |
-
*
|
30 |
-
*
|
31 |
-
*
|
32 |
-
*
|
33 |
-
*
|
34 |
-
*
|
35 |
-
*
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
*
|
46 |
-
*
|
47 |
-
*
|
48 |
-
*
|
49 |
-
*
|
50 |
-
*
|
51 |
-
*
|
52 |
-
*
|
53 |
-
*
|
54 |
-
*
|
55 |
-
*
|
56 |
-
|
57 |
-
|
58 |
-
* Disqus
|
59 |
-
* Optimizely
|
60 |
-
* Neodata
|
61 |
-
* Criteo
|
62 |
-
* Outbrain
|
63 |
-
* Headway
|
64 |
-
* Codepen
|
65 |
-
* Freshchat
|
66 |
-
* Uservoice
|
67 |
-
* AdRoll
|
68 |
-
* Olark
|
69 |
-
* Segment
|
70 |
-
* Kissmetrics
|
71 |
-
* Mixpanel
|
72 |
-
* Pingdom
|
73 |
-
* Bing
|
74 |
-
* Elevio
|
75 |
|
76 |
== Consent Solution ==
|
77 |
|
78 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
|
80 |
-
|
81 |
|
82 |
-
|
83 |
-
* It’s auto-compatible with and allows super easy mapping of Contact Form 7, WP Forms, WordPress comment and WooCommerce checkout forms
|
84 |
-
* It allows manual integration with any type of web-form
|
85 |
-
* For each consent, track the form/wording the user was prompted with
|
86 |
-
* Flexibly upload any form of proof of consent or legal notice, including a PDF if consent was collected offline
|
87 |
-
* It provides a high granularity: map individual form fields, exclude fields (like password inputs), add legal notices available at the time of consent collection, indicate double opt-in, set preferences and more
|
88 |
-
* REST HTTP API and JS SDK, to give you total control and how and when consent is stored
|
89 |
-
* Store multiple preferences for each user (e.g. if you have multiple newsletters or opt-ins)
|
90 |
-
* Features an easy-to-use interface for entering custom scripts and iframes
|
91 |
-
* It provides API input field for quick and easy activation
|
92 |
|
93 |
-
|
94 |
|
95 |
-
|
96 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
|
98 |
-
|
99 |
|
100 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
* Italian
|
102 |
* French
|
103 |
* Spanish
|
@@ -106,50 +140,229 @@ Our Cookie and Consent Solution plugin for WordPress simplifies and manages thes
|
|
106 |
* Dutch
|
107 |
* Russian
|
108 |
|
109 |
-
==
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
*
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
|
|
127 |
|
128 |
== Frequently Asked Questions ==
|
129 |
|
130 |
-
|
131 |
-
You can find a dedicated support forum thread here [Uservoice forum](https://support.iubenda.com/support/discussions/forums/42000118028) or we're happy to answer at info@iubenda.com.
|
132 |
|
133 |
-
|
134 |
-
Here’s a [quick video](https://iubenda.wistia.com/medias/02ie8av6kt) on what the cookie banner looks like and how you can configure it. More details on how to fully set up the Cookie Solution for wordpress [here](https://www.iubenda.com/en/help/1215-cookie-solution-wordpress-plugin-installation-guide).
|
135 |
|
136 |
-
Here’s a [quick look](https://iubenda.wistia.com/medias/fsbr465bku) at the Consent Solution dashboard. More details on how to fully set up the Consent Solution for wordpress [here](https://www.iubenda.com/en/help/13083-consent-solution-wordpress-contact-form-7) .
|
137 |
|
138 |
-
|
139 |
-
The best way you can help us is by providing as much information as possible, including the use of [wp_debug](https://wordpress.org/support/article/debugging-in-wordpress/).
|
140 |
-
We will be very happy to receive feedback here: [Uservoice forum](https://support.iubenda.com/support/discussions/forums/42000115771)
|
141 |
|
142 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
143 |
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
150 |
|
151 |
== Changelog ==
|
152 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
153 |
= 2.5.0 =
|
154 |
* Integrate with Mailchimp to add it in woo-commerce checkout form.
|
155 |
* Stop parsing scripts in Divi page builder
|
@@ -315,7 +528,7 @@ We will be very happy to receive feedback here: [Uservoice forum](https://suppor
|
|
315 |
= 1.15.4 =
|
316 |
* New: Option to block custom scripts and iframes
|
317 |
* Tweak: Update and extend the list of blocked scripts including Google Site Search, Google oAuth, Linkedin widgets, PayPal widgets, Freshchat, Uservoice
|
318 |
-
, AdRoll, Olark, Segment, Kissmetrics, Mixpanel, Pingdom, Bing and Elevio
|
319 |
|
320 |
= 1.15.3 =
|
321 |
* Tweak: Update and extend the list of blocked scripts including Pinterest, AddThis, Disqus, Optimizely, Neodata, Criteo, Outbrain, Headway and Codepen
|
@@ -512,6 +725,5 @@ We will be very happy to receive feedback here: [Uservoice forum](https://suppor
|
|
512 |
|
513 |
== Upgrade Notice ==
|
514 |
|
515 |
-
= 2.5
|
516 |
-
*
|
517 |
-
* Stop parsing scripts in Divi page builder
|
1 |
+
=== iubenda | All-in-one Compliance for GDPR / CCPA Cookie Consent + more ===
|
2 |
Contributors: iubenda
|
3 |
Donate link:
|
4 |
+
Tags: cookie banner, cookie law, eprivacy, gdpr, ukgdpr, ccpa, caloppa, lgpd, dsgvo, rgpd, pecr
|
5 |
+
Requires at least: 5.0
|
6 |
+
Requires PHP: 7.0.0
|
7 |
+
Tested up to: 6.0
|
8 |
+
Stable tag: 3.2.5
|
9 |
License: MIT License
|
10 |
License URI: http://opensource.org/licenses/MIT
|
11 |
|
|
|
|
|
12 |
== Description ==
|
13 |
|
14 |
+
The iubenda plugin is an **all-in-one**, extremely easy to use 360° compliance solution, with text crafted by actual lawyers, that quickly **scans your site and auto-configures to match your specific setup**. It supports the GDPR (DSGVO, RGPD), UK-GDPR, ePrivacy, LGPD, CCPA, CalOPPA, PECR and more.
|
15 |
+
|
16 |
+
It allows you to:
|
17 |
+
|
18 |
+
* **⚡️Scan your site and have solutions auto-configured** to match your site's specific needs.
|
19 |
+
* 🚀 Easily generate a fully customizable **cookie banner,** **manage cookie consent** and store legally required **GDPR consent proofs** for cookies.
|
20 |
+
* Generate a **CCPA notice with working DNSMPI link** as legally required.
|
21 |
+
* Activate IABs **TCF to maximize ad earning**.
|
22 |
+
* 🚀 Quickly generate a fully customizable **privacy and cookie policy**.
|
23 |
+
* **Auto-detect user location and auto-applies the correct data privacy settings** (needed if you have users from multiple regions like the US and the EU).
|
24 |
+
* 🚀 Capture, store and manage **GDPR consent records** for your webforms.
|
25 |
+
* 🚀 Effortlessly **generate professional Terms and Conditions** to protect you from liabilities and more.
|
26 |
+
* **Translate all documents with a single click** (supports 9 languages).
|
27 |
+
* Compatible with **Google’s Accelerated Mobile Pages** (AMP)
|
28 |
+
|
29 |
+
And of course, basic set-up is completely free.
|
30 |
+
|
31 |
+
[youtube https://www.youtube.com/watch?v=ZmUC66etPbk]
|
32 |
+
|
33 |
+
|
34 |
+
== Features ==
|
35 |
+
|
36 |
+
This all-in-one plugin lets you integrate all iubenda compliance solutions in a single install and basic set-up is completely free.
|
37 |
+
|
38 |
+
**⚡️** The plugin **scans your site and auto-configures everything** based on your site's specific needs.
|
39 |
+
|
40 |
+
**⭐ All our solutions are fully responsive (perfect for all screen sizes) and WCAG Level AAA Compliant.**
|
41 |
+
|
42 |
+
They’re auto-updated when the law changes so that they’re always up-to-date and our built-in site scanner runs periodic scans on your site and alerts you if it detects something that should be added to your compliance documents.
|
43 |
+
|
44 |
+
**Our solutions support the GDPR (DSGVO, RGPD), UK-GDPR, ePrivacy, LGPD, CCPA, CalOPPA, PECR and more.**
|
45 |
+
|
46 |
|
47 |
== Cookie Solution ==
|
48 |
|
49 |
+
Includes cookie banner/CCPA notice, and cookie consent management (blocking scripts until consent is collected as legally required). Free basic setup and full CCPA support.
|
50 |
+
|
51 |
+
* Easy and guided set-up: **Analyzes your site and auto-configures everything** to make set-up as easy as possible.
|
52 |
+
* **Fully customizable cookie banner** - change functionality, design, location, colors, add your logo and more.
|
53 |
+
* Asynchronously re-activates cookie scripts once consent is collected (**no page reload needed**).
|
54 |
+
* Lightning-fast: **won’t affect page performance**.
|
55 |
+
* **Auto-detects and blocks a wide range of 3rd party script**s like Google Analytics, Google Maps, Facebook and Instagram widgets, Youtube, Twitter, PayPal, Disqus, Outbrain, AdRoll, Kissmetrics, Freshchat and more.
|
56 |
+
* Allows you to provide your users with **granular, per-category preference control** (e.g. basic functionalities, experience enhancement, targeting & advertising)
|
57 |
+
* **Google Consent Mode** support.
|
58 |
+
* Integrates with IAB’s [Transparency and Consent Framework](https://www.iubenda.com/en/help/7440-enable-preference-management-iab-framework#revenue) (**TCF**) to maximize ad revenue (needed if your site uses ad networks like Google ads and more)
|
59 |
+
* Compatible with **Google’s Accelerated Mobile Pages** (AMP)
|
60 |
+
* Allows you to auto-detect and **limit prior-blocking and cookie consent requests only to users from the EU** – where this is a legal requirement – while running cookies scripts normally in regions where you are still legally allowed to do so.
|
61 |
+
* Features an **easy-to-use interface for entering custom scripts** and iframes
|
62 |
+
* Cookie database feature allows you to auto-set **cookie lifetime information**.
|
63 |
+
* **Display CCPA notice and opt-out link as required by the** [**California Consumer Privacy Act**](https://www.iubenda.com/en/help/21165-ccpa-how-to-add-a-notice-of-collection-and-a-do-not-sell-link)
|
64 |
+
* Provides **cookie consent analytics** for high-traffic sites.
|
65 |
+
* **Detects bots/spiders** and serves them a clean page **so that your SEO efforts are never compromised**
|
66 |
+
|
67 |
+
|
68 |
+
|
69 |
+
== Privacy and Cookie Policy Generator ==
|
70 |
+
|
71 |
+
This solution lets you generate professional privacy and cookie policies **in minutes**.
|
72 |
+
|
73 |
+
|
74 |
+
* Super **easy interface, guided process, fully customizable**
|
75 |
+
* All **legal text written by actual legal professionals**
|
76 |
+
* Quick select from **over 1900 clauses or create custom clauses**
|
77 |
+
* Activate **cookie policy in a single click**
|
78 |
+
* Site Scanner to quickly **detect which services/ clauses you need to add to your policies**.
|
79 |
+
* **One-click translation**. 9 languages supported: English-US, English-UK, Italian, French, Spanish, German, Portuguese (Brazilian), Russian, Dutch.
|
80 |
+
* One-click activation for **country/ region-specific text**.
|
81 |
+
* Compatible with **Google’s Accelerated Mobile Pages** (AMP)
|
82 |
+
* Documents are **remotely updated when legal requirements change**
|
83 |
+
* Manage documents for **multiple sites from a single dashboard**
|
84 |
+
* **White label option** allows you to seamlessly integrate your privacy policy text into the body of your webpage
|
85 |
+
|
86 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
|
88 |
== Consent Solution ==
|
89 |
|
90 |
+
Collect consent, document opt-ins and opt-outs via your web forms. This solution smoothly integrates with your consent collection forms to auto-create legally required GDPR and LGPD consent records.
|
91 |
+
|
92 |
+
**About Legal requirements and Consent Records**
|
93 |
+
These records should include a userid, timestamp, consent proof, record of the consenting action, and the legal documents available to the user at the time of consent, [among other things](https://www.iubenda.com/en/help/5428-gdpr-guide#records-of-consent).
|
94 |
+
|
95 |
+
This plugin is **THE most complete solution for recording, sorting and maintaining GDPR & LGPD records of consent**.
|
96 |
+
|
97 |
+
The plugin also boasts built-in compatibility with WordPress comment form, Contact Form 7 and WP Forms plugins for your convenience, but can be manually integrated with any type of web-form and can even store consent proofs for consents collected offline (e.g in-store sign-ups) via WP media upload.
|
98 |
+
|
99 |
+
|
100 |
+
* It’s **auto-compatible with and allows super easy mapping** of Contact Form 7, WP Forms, WordPress comment, Mailchimp for WordPress, Germanized for WooCommerce and WooCommerce checkout forms
|
101 |
+
* Also allows manual integration with **any type of web-form**
|
102 |
+
* For each consent, **track the form/wording the user was prompted** with at the time of the consent collection
|
103 |
+
* Accurate **timestamping and recording of consenting action**
|
104 |
+
* Flexibly **upload any form of proof of consent or legal notice, including a PDF if consent was collected offline**
|
105 |
+
* It provides a **high granularity**: map individual form fields, exclude fields (like password inputs), add legal notices available at the time of consent collection, indicate double opt-in, set preferences and more
|
106 |
+
* REST **HTTP API and JS SDK, to give you total control** and how and when consent is stored
|
107 |
+
* Store **multiple preferences for each user** (e.g. if you have multiple newsletters or opt-ins)
|
108 |
+
* Features an **easy-to-use interface for entering custom scripts and iframes**
|
109 |
+
* It provides **API input field for quick and easy activation**
|
110 |
|
111 |
+
== Terms and Conditions ==
|
112 |
|
113 |
+
Create your terms and conditions in minutes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
114 |
|
115 |
+
Customizable from hundreds of combinations, available in 9 languages, powerful and precise — our solution is capable of handling even the most complex, individual scenarios. Optimized for e-commerce, marketplace, SaaS, apps and more.
|
116 |
|
117 |
+
* Easy, **guided set-up**
|
118 |
+
* Expertly crafted at the hands of our **international legal team**
|
119 |
+
* Pre-defined scenarios modules for everything from basic **disclaimers to copyright licenses, account terminations rules, product-comparison, age-related disclaimers, virtual currency,** and more.
|
120 |
+
* Plug-and-go **integrations for popular eCommerce solutions like Shopify, Wix, Squarespace, Weebly, WooCommerce, PrestaShop** and more
|
121 |
+
* **One-click translation** (9 languages supported EN-US, EN-UK, IT, FR, ES, DE, PT-BR, RU, NL)
|
122 |
+
* Compatible with **Google’s Accelerated Mobile Pages** (AMP)
|
123 |
+
* Manage documents for **multiple sites from a single dashboard**
|
124 |
+
* **White label option** allows you to seamlessly integrate your privacy policy text into the body of your webpage
|
125 |
|
126 |
+
== About iubenda ==
|
127 |
|
128 |
+
We help companies all over the world to keep their websites and apps compliant with international privacy laws for optimal peace of mind. [More here](https://www.iubenda.com/).
|
129 |
+
|
130 |
+
== Languages ==
|
131 |
+
|
132 |
+
**Our services are currently available in the following languages:**
|
133 |
+
|
134 |
+
* English US and UK
|
135 |
* Italian
|
136 |
* French
|
137 |
* Spanish
|
140 |
* Dutch
|
141 |
* Russian
|
142 |
|
143 |
+
== Support & Updates ==
|
144 |
+
|
145 |
+
All our solutions and plugins are **regularly updated and well maintained** to ensure that you’re always protected.
|
146 |
+
|
147 |
+
You can access our friendly support in multiple languages (currently EN, IT, DE, FR, PT-BR) via [info@iubenda.com](mailto:info@iubenda.com), our [onsite chat](https://www.iubenda.com/) *(just click the green Help button on the right side of the page)*.
|
148 |
+
|
149 |
+
**Other links:**
|
150 |
+
|
151 |
+
* [Documentation](https://www.iubenda.com/en/help)
|
152 |
+
* [Feedback & Support forum](https://support.iubenda.com/)
|
153 |
+
|
154 |
+
== Screenshots ==
|
155 |
+
|
156 |
+
1. Scan and Automate your website's legal requirements
|
157 |
+
2. Easily customize your cookie banner & consent settings to suit your branding and needs
|
158 |
+
3. Cookie banner? Yes, but not only. Meet all the requirements
|
159 |
+
4. If you're already one of 1 M+ iubenda users you can integrate all solutions with WordPress in minutes
|
160 |
+
5. Capture, store and manage GDPR & LGPD consent records for your webforms
|
161 |
+
6. Auto-detects and blocks all the most common trackers prior to consent
|
162 |
|
163 |
== Frequently Asked Questions ==
|
164 |
|
165 |
+
= Updating to version 3 =
|
|
|
166 |
|
167 |
+
If you are experiencing troubles updating to the latest version, please ensure that your cookie banner is correctly activated and configured, and you've cleaned up you WordPress cache. In case of emergency, you can safely rollback to the previous version by [using WP Rollback](https://www.iubenda.com/en/help/1215-cookie-solution-wordpress-plugin-installation-guide#further-information-1).
|
|
|
168 |
|
|
|
169 |
|
170 |
+
= Do you have a Knowledge base or documentation? =
|
|
|
|
|
171 |
|
172 |
+
Our extensive documentation makes it easy for you to learn all you need to know about compliance and how to use iubenda’s products on your site or app. **[You can access it here](https://www.iubenda.com/en/help)**. You can also visit our support forum [here](https://support.iubenda.com/support/home).
|
173 |
+
|
174 |
+
|
175 |
+
= How do I know which laws apply to me and what I need to comply with? =
|
176 |
+
|
177 |
+
A good rule of thumb is to always comply with the laws of the region where you are based as well as the region or country in which the users you target are based.
|
178 |
+
|
179 |
+
📌 However, for an even easier, more specific way to tell which laws apply to you, you can [simply take this 1-minute quiz](https://www.iubenda.com/en/help#quiz).
|
180 |
+
|
181 |
+
|
182 |
+
= Do I really need a cookie banner or cookie notice? =
|
183 |
+
|
184 |
+
If you’re based in the European Union – including the UK – or target EU users, and your website uses [cookies or trackers](https://www.iubenda.com/en/help/22419-how-to-identify-the-cookies-used-by-your-website) (which it most likely does), then, yes, you do need a cookie notice.
|
185 |
+
|
186 |
+
= Why do I need a privacy policy? =
|
187 |
+
|
188 |
+
A privacy policy is a legal requirement almost everywhere in the world. You need it because under most countries’ laws, you’re legally required to inform your users about the data you’re collecting and how you’re processing them.
|
189 |
+
|
190 |
+
Find out what should be in a privacy policy [here](https://www.iubenda.com/en/help/6187-what-should-be-in-a-privacy-policy).
|
191 |
+
|
192 |
+
= Are terms and conditions necessary? =
|
193 |
+
|
194 |
+
While Terms and conditions aren’t always legally mandatory, they’re [always recommended](https://www.iubenda.com/en/help/2859-terms-and-conditions-when-are-they-needed). They help you protect you and your business from legal liabilities.
|
195 |
+
|
196 |
+
However, please note that if you run an **e-commerce, then you’ll most likely need terms and conditions**, as they usually contain legally mandatory information related to commerce.
|
197 |
+
|
198 |
+
|
199 |
+
= What is the GDPR and UK-GDPR (DSGVO & RGPD) =
|
200 |
+
|
201 |
+
GDPR stands for General Data Protection Regulation (Regulation (EU) 2016/679). The GDPR specifies how personal data should be lawfully processed (including how it’s collected, used, protected or interacted with in general).
|
202 |
|
203 |
+
While it was still an EU member state, the UK was very instrumental in the creation of the GDPR and therefore, Post-Brexit, has adopted the UK-GDPR – which currently is essentially the same as the European GDPR.
|
204 |
+
|
205 |
+
DSGVO & RGPD are, respectively, the German and Spanish translations of the English acronym of the General Data Protection Regulation (GDPR).
|
206 |
+
|
207 |
+
[Learn more about the GDPR here.](https://www.iubenda.com/en/help/5428-gdpr-guide)
|
208 |
+
|
209 |
+
= What is the ePrivacy or Cookie Law? =
|
210 |
+
|
211 |
+
In effect since 2002, the ePrivacy Directive (Cookie Law) was created to put guidelines in place for electronic privacy, including email marketing and cookie usage.
|
212 |
+
|
213 |
+
Under the Cookie law, organizations that target users from the EU must **inform users about data collection activities** and give them the option to **choose whether it’s allowed or not**.
|
214 |
+
|
215 |
+
|
216 |
+
This means that if **your site/app** (or **any third-party service** used by your site/app) uses cookies or similar technologies, you must first obtain valid consent **prior** to the installation of those cookies, except where they fall into [the exempt category](https://www.iubenda.com/en/help/5525#exemptions).
|
217 |
+
In practice, you’ll need to:
|
218 |
+
|
219 |
+
* show a **cookie banner** at the user’s first visit;
|
220 |
+
* implement a **cookie policy** that contains all required information;
|
221 |
+
* allow the user to provide or refuse **consent;**
|
222 |
+
* block cookie/ tracker scripts from running until consent is provided.
|
223 |
+
|
224 |
+
You can learn more about [how the ePrivacy and GDPR interact in regards to cookies and trackers here](https://www.iubenda.com/en/help/5525-cookies-gdpr-requirements).
|
225 |
+
|
226 |
+
= What is PECR =
|
227 |
+
|
228 |
+
The Privacy and Electronic Communications Regulations 2003 (PECR) is the UK's implementation of the EU's ePrivacy directive and set's out rules for electronic privacy
|
229 |
+
|
230 |
+
= What are the CCPA and CalOPPA =
|
231 |
+
|
232 |
+
California’s most well known Privacy Laws are some of the most robust in the United States. They are both relevant to you if you likely have users that are based in the state of California.
|
233 |
+
|
234 |
+
**California Online Privacy Protection Act (CalOPPA) - since 2002**
|
235 |
+
Law requires commercial websites and services to have a privacy policy.
|
236 |
+
The document:
|
237 |
+
|
238 |
+
* Must clearly state what info is collected and who it's shared with.
|
239 |
+
* Must disclose how a business’s website or online service responds to Do Not Track signals from Web browsers.
|
240 |
+
* Must include the effective date of the Privacy Policy and more.
|
241 |
+
|
242 |
+
**California Consumer Protection Act (CCPA)**
|
243 |
+
|
244 |
+
* Grants users additional rights such as the right to be informed and the right to access information you’ve collected about them - but perhaps, most relevant to marketing is the right to Opt-out.
|
245 |
+
* Under the CCPA, users have the right to opt-out of any processing that can be considered a *sale* of their data. Sale, in this context, is quite broad and simply means *sharing for any profit- monetary or otherwise*.
|
246 |
+
|
247 |
+
***Note that in the case of minors, they are granted the right to Opt-in.** *[More about the CCPA here.](https://www.iubenda.com/en/help/19133-ccpa-compliance-guide)
|
248 |
+
|
249 |
+
= What is the LGPD? =
|
250 |
+
|
251 |
+
The Brazilian General Data Protection Law, the ***Lei Geral de Proteção de Dados Pessoais***, (LGPD) can be considered as Brazil’s answer to the GDPR – with the Brazilian law aligning with the EU Regulation in many ways, while differing in others. [You can learn more about it here](https://www.iubenda.com/en/help/26706-lgpd-guide).
|
252 |
+
|
253 |
+
* * *
|
254 |
|
255 |
== Changelog ==
|
256 |
|
257 |
+
= 3.2.5 =
|
258 |
+
* Bugfix: Handle error on plugin activation
|
259 |
+
|
260 |
+
= 3.2.4 =
|
261 |
+
* Add PCP and T&C embedding section
|
262 |
+
|
263 |
+
= 3.2.3 =
|
264 |
+
* Support PHP 8
|
265 |
+
|
266 |
+
= 3.2.2 =
|
267 |
+
* Add analytics to the plugin
|
268 |
+
|
269 |
+
= 3.2.1 =
|
270 |
+
* Bugfix: Show Iubenda legal block in WP Block Editor
|
271 |
+
|
272 |
+
= 3.2.0 =
|
273 |
+
* Set EN as default language on QuickGenerator
|
274 |
+
* Bugfix: PCP detection not correctly rated
|
275 |
+
* Translate plugin into [IT, FR, PT-BR, ES, NL]
|
276 |
+
* Pre-select website language on the language setup dropdown
|
277 |
+
|
278 |
+
= 3.1.2 =
|
279 |
+
* Fix issue in radar score after resetting plugin data
|
280 |
+
|
281 |
+
= 3.1.1 =
|
282 |
+
* Revert: Add the ability to include PP and TC buttons for default WP
|
283 |
+
|
284 |
+
= 3.1.0 =
|
285 |
+
* Move plugin settings to a separate page
|
286 |
+
* Add the ability to include PP and TC buttons for default WP
|
287 |
+
|
288 |
+
= 3.0.10 =
|
289 |
+
* Add a link to show the rating calculation page
|
290 |
+
* Show Notification to encourage the user to verify his account
|
291 |
+
|
292 |
+
= 3.0.9 =
|
293 |
+
* Move www.googletagmanager.com/gtag/js to analytics #4
|
294 |
+
|
295 |
+
= 3.0.8 =
|
296 |
+
* Fix SSRF security vulnerability
|
297 |
+
* Remove googletagmanager.com/gtm.js from basic interaction
|
298 |
+
|
299 |
+
= 3.0.7 =
|
300 |
+
* Support WP 6.0
|
301 |
+
* Stop forcing purposes from Quick Generator widget
|
302 |
+
|
303 |
+
= 3.0.6 =
|
304 |
+
* Bugfix: Run upgrade process after using a new WP version
|
305 |
+
* Bugfix: Issue in integration with CF7
|
306 |
+
|
307 |
+
= 3.0.5 =
|
308 |
+
* Allow creating CS from QG widget
|
309 |
+
|
310 |
+
= 3.0.4 =
|
311 |
+
* Bugfix: Stop parsing code in Cookie banner
|
312 |
+
* Bugfix: Errors on plugin update
|
313 |
+
|
314 |
+
= 3.0.3 =
|
315 |
+
* Tweak: Prefix array_get with iub_ to avoid break comptability with other plugins
|
316 |
+
|
317 |
+
= 3.0.2 =
|
318 |
+
* Bugfix: remove data on plugin deactivation
|
319 |
+
|
320 |
+
= 3.0.1 =
|
321 |
+
* Bugfix: Fix issue after updating to new plugin
|
322 |
+
|
323 |
+
= 3.0.0 =
|
324 |
+
* New: Support Privacy Policy
|
325 |
+
* New: Support Terms and Conditions
|
326 |
+
* New: Generate your cookie solution with few clicks
|
327 |
+
* New: Use Radar to scan current website
|
328 |
+
|
329 |
+
= 2.5.91 =
|
330 |
+
* Bugfix: save CF7 Consent
|
331 |
+
|
332 |
+
= 2.5.9 =
|
333 |
+
* Support WP 5.9
|
334 |
+
* Set Skip parsing default to false
|
335 |
+
* Add filter after parsing forms to allow others to extend the Cons forms
|
336 |
+
|
337 |
+
= 2.5.8 =
|
338 |
+
* Bugfix: restrict recaptcha field in ConS
|
339 |
+
|
340 |
+
= 2.5.7 =
|
341 |
+
* Bugfix: Pagination into the consent solution tab
|
342 |
+
|
343 |
+
= 2.5.6 =
|
344 |
+
* Disable automatic block on page builder pages
|
345 |
+
|
346 |
+
= 2.5.5 =
|
347 |
+
* Disable CS on Divi builder page
|
348 |
+
|
349 |
+
= 2.5.4 =
|
350 |
+
* Cast preferences field into boolean in WPForms.
|
351 |
+
* Fix preference field not saved in CF7.
|
352 |
+
* Integrate with Germanized for WooCommerce in ConS.
|
353 |
+
* Allow only the mapped forms in ConS.
|
354 |
+
* Allow mapping the ConS forms without specifying the preferences field.
|
355 |
+
|
356 |
+
= 2.5.3 =
|
357 |
+
* Fix sub sub domain of generated AMP file.
|
358 |
+
* Add settings anchor in plugin page
|
359 |
+
|
360 |
+
= 2.5.2 =
|
361 |
+
* Tweak: Disallow using custom CSS in AMP
|
362 |
+
|
363 |
+
= 2.5.1 =
|
364 |
+
* Fix: Track the selected checkboxes into wpforms
|
365 |
+
|
366 |
= 2.5.0 =
|
367 |
* Integrate with Mailchimp to add it in woo-commerce checkout form.
|
368 |
* Stop parsing scripts in Divi page builder
|
528 |
= 1.15.4 =
|
529 |
* New: Option to block custom scripts and iframes
|
530 |
* Tweak: Update and extend the list of blocked scripts including Google Site Search, Google oAuth, Linkedin widgets, PayPal widgets, Freshchat, Uservoice
|
531 |
+
, AdRoll, Olark, Segment, Kissmetrics, Mixpanel, Pingdom, Bing and Elevio
|
532 |
|
533 |
= 1.15.3 =
|
534 |
* Tweak: Update and extend the list of blocked scripts including Pinterest, AddThis, Disqus, Optimizely, Neodata, Criteo, Outbrain, Headway and Codepen
|
725 |
|
726 |
== Upgrade Notice ==
|
727 |
|
728 |
+
= 3.2.5 =
|
729 |
+
* Bugfix: Handle error on plugin activation
|
|
views/cons-configuration.php
ADDED
@@ -0,0 +1,68 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php require_once IUBENDA_PLUGIN_PATH . 'views/partials/header.php'; ?>
|
2 |
+
<div class="main-box">
|
3 |
+
|
4 |
+
<?php require_once IUBENDA_PLUGIN_PATH . 'views/partials/siteInfo.php'; ?>
|
5 |
+
|
6 |
+
<?php require_once IUBENDA_PLUGIN_PATH . 'views/partials/breadcrumb.php'; ?>
|
7 |
+
<form class="ajax-form-to-options">
|
8 |
+
<input hidden name="iubenda_section_name" value="iubenda_consent_solution">
|
9 |
+
<input hidden name="iubenda_section_key" value="cons">
|
10 |
+
<input hidden name="action" value="ajax_save_options">
|
11 |
+
<input hidden name="_redirect" value="<?php echo esc_url(add_query_arg(['view' => 'products-page'], iubenda()->base_url)) ?>">
|
12 |
+
<div class="p-4 p-lg-5 text-gray">
|
13 |
+
|
14 |
+
<p><?php _e('Activate <strong>Consent Solution</strong> on our website in your iubenda dashboard and paste here the <strong>API key</strong> to integrate it on your website.', 'iubenda') ?></p>
|
15 |
+
<div class="d-flex align-items-center">
|
16 |
+
<div class="steps flex-shrink mr-3">1</div>
|
17 |
+
<p class="text-bold"> <?php _e('Activate & Configure Consent Solution by', 'iubenda') ?>
|
18 |
+
<a target="_blank" href="<?php echo iubenda()->settings->links['flow_page']; ?>" class="link-underline text-gray-lighter"> <?php _e('clicking here', 'iubenda') ?></a>
|
19 |
+
</p>
|
20 |
+
</div>
|
21 |
+
<div class="d-flex align-items-center">
|
22 |
+
<div class="steps flex-shrink mr-3">2</div>
|
23 |
+
<p class="text-bold"> <?php _e('Paste your public API key here', 'iubenda') ?>
|
24 |
+
</p>
|
25 |
+
</div>
|
26 |
+
|
27 |
+
<div class="subOptions">
|
28 |
+
<div class="paste-api-form" tabindex="0">
|
29 |
+
<input class="paste-api-input" id="public_api_key" name="iubenda_consent_solution[public_api_key]" type="text" placeholder="<?php _e('Your iubenda Javascript library public API key', 'iubenda'); ?>" value="<?php echo iub_array_get(iubenda()->options['cons'], 'public_api_key') ? iub_array_get(iubenda()->options['cons'], 'public_api_key') : false ?>" required>
|
30 |
+
<button type="submit" id="public_api_button" class="btn btn-xs btn-green-secondary">
|
31 |
+
<span class="button__text"><?php _e('Confirm API', 'iubenda') ?></span>
|
32 |
+
</button>
|
33 |
+
</div>
|
34 |
+
</div>
|
35 |
+
|
36 |
+
<div class="text-right mt-2">
|
37 |
+
<a target="_blank" href="<?php echo iubenda()->settings->links['how_generate_cons']; ?>" class="link link-helper"><span class="tooltip-icon mr-2">?</span><?php _e('Where can I find this code?', 'iubenda') ?></a>
|
38 |
+
</div>
|
39 |
+
|
40 |
+
<div id="public-api-key-div" class="<?php echo iub_array_get(iubenda()->options['cons'], 'public_api_key') ?: 'hidden'; ?>">
|
41 |
+
<div class="d-flex align-items-center">
|
42 |
+
<div class="steps flex-shrink mr-3">3</div>
|
43 |
+
<p class="text-bold">
|
44 |
+
<?php _e('Add forms', 'iubenda') ?>
|
45 |
+
</p>
|
46 |
+
</div>
|
47 |
+
<div class="ml-3 pl-4 mb-5">
|
48 |
+
<div id="auto-detect-parent-div">
|
49 |
+
<section id="auto-detect-forms">
|
50 |
+
<?php require_once IUBENDA_PLUGIN_PATH . 'views/partials/auto_detect_forms.php'; ?>
|
51 |
+
</section>
|
52 |
+
</div>
|
53 |
+
<a tabindex="-1" href="<?php echo esc_url( add_query_arg( array( 'view' => 'cons-configuration', 'action' => 'autodetect' ), iubenda()->base_url ) ) ?>" class="btn btn-xs btn-gray-outline mt-2 auto-detect-forms"><?php _e('Auto-detect forms', 'iubenda') ?></a>
|
54 |
+
</div>
|
55 |
+
</div>
|
56 |
+
|
57 |
+
</div>
|
58 |
+
<hr>
|
59 |
+
<div class="p-4 d-flex justify-content-end">
|
60 |
+
<input class="btn btn-gray-lighter btn-sm mr-2" type="button" value="<?php _e('Cancel', 'iubenda') ?>" onclick="window.location.href = '<?php echo esc_url(add_query_arg(array('view' => 'products-page'), iubenda()->base_url)) ?>'"/>
|
61 |
+
<button type="submit" class="btn btn-green-primary btn-sm" value="Save" name="save">
|
62 |
+
<span class="button__text"><?php _e('Save settings', 'iubenda') ?></span>
|
63 |
+
</button>
|
64 |
+
</div>
|
65 |
+
</form>
|
66 |
+
</div>
|
67 |
+
|
68 |
+
<?php require_once IUBENDA_PLUGIN_PATH . 'views/partials/footer.php'; ?>
|
views/cons-single-form.php
ADDED
@@ -0,0 +1,285 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php require_once IUBENDA_PLUGIN_PATH . 'views/partials/header.php'; ?>
|
2 |
+
<div class="main-box">
|
3 |
+
|
4 |
+
<?php require_once IUBENDA_PLUGIN_PATH . 'views/partials/siteInfo.php'; ?>
|
5 |
+
|
6 |
+
<?php require_once IUBENDA_PLUGIN_PATH . 'views/partials/breadcrumb.php'; ?>
|
7 |
+
|
8 |
+
<form id="postbox-container-2" action="options.php" method="post">
|
9 |
+
<?php
|
10 |
+
settings_fields( $this->tabs['cons']['key'] );
|
11 |
+
do_settings_sections( $this->tabs['cons']['key'] );
|
12 |
+
add_settings_section( 'iubenda_consent_form', __( 'Field Mapping', 'iubenda' ), array( $this, 'iubenda_consent_form' ), 'iubenda_consent_solution' );
|
13 |
+
|
14 |
+
$form_id = ! empty( $_GET['form_id'] ) ? absint( $_GET['form_id'] ) : 0;
|
15 |
+
$form = ! empty( $form_id ) ? iubenda()->forms->get_form( $form_id ) : false;
|
16 |
+
|
17 |
+
if ( ! $form )
|
18 |
+
return;
|
19 |
+
|
20 |
+
$status = isset($form->post_status) && in_array($form->post_status, array_keys(iubenda()->forms->statuses)) ? esc_attr($form->post_status) : 'publish';
|
21 |
+
$subject = isset($form->form_subject) && is_array($form->form_subject) ? array_map('esc_attr', $form->form_subject) : array();
|
22 |
+
$preferences = isset($form->form_preferences) && is_array($form->form_preferences) ? array_map('esc_attr', $form->form_preferences) : array();
|
23 |
+
$exclude = isset($form->form_exclude) && is_array($form->form_exclude) ? array_map('esc_attr', $form->form_exclude) : array();
|
24 |
+
$legal_notices = isset($form->form_legal_notices) && is_array($form->form_legal_notices) ? array_map('esc_attr', $form->form_legal_notices) : array();
|
25 |
+
|
26 |
+
$available_fields = array();
|
27 |
+
|
28 |
+
if (!empty($form->form_fields) && is_array($form->form_fields)) {
|
29 |
+
foreach ($form->form_fields as $index => $form_field) {
|
30 |
+
if (is_array($form_field)) {
|
31 |
+
// print_r( $form_field );
|
32 |
+
$available_fields[] = $form_field['label'] . ' (' . $form_field['type'] . ')';
|
33 |
+
} else {
|
34 |
+
$available_fields[] = $form_field;
|
35 |
+
}
|
36 |
+
}
|
37 |
+
}
|
38 |
+
echo '
|
39 |
+
<input type="hidden" value="'.$form_id.'" name="form_id">
|
40 |
+
<div class="px-4 px-lg-5">
|
41 |
+
<div class="py-5">
|
42 |
+
<div class="d-block d-lg-flex justify-content-between mb-4">
|
43 |
+
<div class="d-block d-lg-flex align-items-center text-center text-lg-left">
|
44 |
+
<h3 class="m-0 mb-4">'.__( 'Map fields', 'iubenda' ).'</h3>
|
45 |
+
</div>
|
46 |
+
<div class="d-block d-lg-flex align-items-center text-center text-lg-right">
|
47 |
+
<div class="misc-pub-section misc-pub-post-status p-0">
|
48 |
+
<label for="status">' . __( 'Status', 'iubenda' ) . ':</label>
|
49 |
+
<div id="status-select" class="" style="margin: 3px 0 0;">
|
50 |
+
<select id="status" name="status">';
|
51 |
+
foreach ( iubenda()->forms->statuses as $name => $label ) {
|
52 |
+
echo '<option value="' . $name . '"' . selected( $form->post_status, $name, true ) . '>' . $label . '</option>';
|
53 |
+
}
|
54 |
+
echo '
|
55 |
+
</select>
|
56 |
+
</div>
|
57 |
+
</div>
|
58 |
+
</div>
|
59 |
+
</div>
|
60 |
+
|
61 |
+
<h4 class="m-0 mb-2">' . __( 'Subject fields', 'iubenda' ) . ' <span class="required">(required)</span></h4>
|
62 |
+
<p class="mb-3 description">' . __( 'Subject fields allow you to store a series of identifying values about your individual subjects/users. Please map the subject field with the corresponding form fields where applicable.', 'iubenda' ) . '</p>
|
63 |
+
<table class="widefat mb-4 subject-table">
|
64 |
+
<thead>
|
65 |
+
<td class="label">' . __( 'Subject field', 'iubenda' ) . '</td>
|
66 |
+
<td class="label">' . __( 'Form field', 'iubenda' ) . '</td>
|
67 |
+
</thead>
|
68 |
+
<tbody>';
|
69 |
+
foreach ( $this->subject_fields as $field_name => $field_label ) {
|
70 |
+
$selected = isset( $subject[$field_name] ) ? $subject[$field_name] : '';
|
71 |
+
$none = $field_name == 'id' ? __( 'Autogenerated', 'iubenda' ) : __( 'None', 'iubenda' );
|
72 |
+
|
73 |
+
echo '
|
74 |
+
<tr class="subject-field options-field">
|
75 |
+
<td>' . $field_name . ' (' . $field_label . ')' . '</td>
|
76 |
+
<td>
|
77 |
+
<select class="subject-fields-select select-' . $field_name . '" name="subject[' . $field_name . ']">
|
78 |
+
<option value="" ' . selected( $selected, '', false ) . '>' . $none . '</option>';
|
79 |
+
if ( ! empty( $form->form_fields ) ) {
|
80 |
+
foreach ( $form->form_fields as $index => $form_field ) {
|
81 |
+
// get field data
|
82 |
+
$form_field_value = is_array( $form_field ) ? $index : $form_field;
|
83 |
+
$form_field_label = is_array( $form_field ) ? $form_field['label'] . ' (' . $form_field['type'] . ')' : $form_field;
|
84 |
+
$form_field_selected = is_array( $form_field ) ? $index : $form_field;
|
85 |
+
|
86 |
+
echo '<option value="' . $form_field_value . '" ' . selected( $selected, $form_field_selected, false ) . '>' . $form_field_label . '</option>';
|
87 |
+
}
|
88 |
+
}
|
89 |
+
echo '
|
90 |
+
</select>
|
91 |
+
</td>
|
92 |
+
</tr>';
|
93 |
+
}
|
94 |
+
echo '
|
95 |
+
</tbody>
|
96 |
+
</table>
|
97 |
+
<br>
|
98 |
+
<h4 class="m-0 mb-2">' . __( 'Preferences fields', 'iubenda' ) . '</h4>
|
99 |
+
<p class="mb-3 description">' . __( 'Preferences fields allow you to store a record of the various opt-ins points at which the user has agreed or given consent, such as fields for agreeing to terms and conditions, newsletter, profiling, etc.', 'iubenda' ) . '</p>
|
100 |
+
<table class="widefat mb-4 preferences-table">
|
101 |
+
<thead>
|
102 |
+
<td class="label">' . __( 'Preferences field', 'iubenda' ) . '</td>
|
103 |
+
<td class="label">' . __( 'Form field', 'iubenda' ) . '</td>
|
104 |
+
</thead>
|
105 |
+
<tbody>';
|
106 |
+
echo '
|
107 |
+
<tr id="preferences-field-template" class="template-field" style="display: none;">
|
108 |
+
<td><input type="text" class="preferences-inputs regular-text" value="" name="preferences[__PREFERENCE_ID__][field]" placeholder="' . __( 'Enter field name', 'iubenda' ) . '" disabled/></td>
|
109 |
+
<td>
|
110 |
+
<select class="preferences-inputs preferences-fields-select select-' . $field_name . '" name="preferences[__PREFERENCE_ID__][value]" disabled>';
|
111 |
+
if ( ! empty( $form->form_fields ) ) {
|
112 |
+
foreach ( $form->form_fields as $index => $form_field ) {
|
113 |
+
// get field data
|
114 |
+
$form_field_value = is_array( $form_field ) ? $index : $form_field;
|
115 |
+
$form_field_label = is_array( $form_field ) ? $form_field['label'] . ' (' . $form_field['type'] . ')' : $form_field;
|
116 |
+
|
117 |
+
echo '<option value="' . $form_field_value . '">' . $form_field_label . '</option>';
|
118 |
+
}
|
119 |
+
}
|
120 |
+
echo '
|
121 |
+
</select>
|
122 |
+
<a href="javascript:void(0)" class="remove-preferences-field button-secondary" title="' . __( 'Remove', 'iubenda' ) . '">-</a>
|
123 |
+
</td>
|
124 |
+
</tr>';
|
125 |
+
if ($preferences) {
|
126 |
+
$index = 0;
|
127 |
+
|
128 |
+
foreach ($preferences as $field_name => $field_value) {
|
129 |
+
$selected = isset($preferences[$field_name]) ? $preferences[$field_name] : '';
|
130 |
+
|
131 |
+
echo '
|
132 |
+
<tr class="preferences-field options-field">
|
133 |
+
<td><input type="text" class="regular-text" value="' . $field_name . '" name="preferences[' . $index . '][field]" placeholder="' . __('Enter field name', 'iubenda') . '" /></td>
|
134 |
+
<td>
|
135 |
+
<select class="preferences-fields-select select-' . $field_name . '" name="preferences[' . $index . '][value]">';
|
136 |
+
if (!empty($form->form_fields)) {
|
137 |
+
foreach ($form->form_fields as $index => $form_field) {
|
138 |
+
// get field data
|
139 |
+
$form_field_value = is_array($form_field) ? $index : $form_field;
|
140 |
+
$form_field_label = is_array($form_field) ? $form_field['label'] . ' (' . $form_field['type'] . ')' : $form_field;
|
141 |
+
$form_field_selected = is_array($form_field) ? $index : $form_field;
|
142 |
+
|
143 |
+
echo '<option value="' . $form_field_value . '" ' . selected($selected, $form_field_selected, false) . '>' . $form_field_label . '</option>';
|
144 |
+
}
|
145 |
+
}
|
146 |
+
echo '
|
147 |
+
</select>
|
148 |
+
<a href="javascript:void(0)" class="remove-preferences-field button-secondary" title="' . __('Remove', 'iubenda') . '">-</a>
|
149 |
+
</td>
|
150 |
+
</tr>';
|
151 |
+
$index++;
|
152 |
+
}
|
153 |
+
}
|
154 |
+
echo '
|
155 |
+
<tr class="submit-field"><td colspan="2"><a href="javascript:void(0)" class="add-preferences-field button-secondary">' . __( 'Add New Preference', 'iubenda' ) . '</a></td></tr>
|
156 |
+
</tbody>
|
157 |
+
</table>
|
158 |
+
<br>
|
159 |
+
<h4 class="m-0 mb-2">' . __( 'Exclude fields', 'iubenda' ) . '</h4>
|
160 |
+
<p class="mb-3 description">' . __( 'Exclude fields allow you to create a list of fields that you would like to exclude from your Consent Solution recorded proofs (for e.g. password or other fields not related to the consent).', 'iubenda' ) . '</p>
|
161 |
+
|
162 |
+
<table class="widefat mb-4 exclude-table">
|
163 |
+
<thead>
|
164 |
+
<td class="label">' . __( 'Exclude field', 'iubenda' ) . '</td>
|
165 |
+
<td class="label"></td>
|
166 |
+
</thead>
|
167 |
+
<tbody>';
|
168 |
+
echo '
|
169 |
+
<tr id="exclude-field-template" class="template-field" style="display: none;">
|
170 |
+
<td>
|
171 |
+
<select class="exclude-fields-select select-' . $field_name . '" name="exclude[__EXCLUDE_ID__][field]" disabled>';
|
172 |
+
if ( ! empty( $form->form_fields ) ) {
|
173 |
+
foreach ( $form->form_fields as $index => $form_field ) {
|
174 |
+
// get field data
|
175 |
+
$form_field_value = is_array( $form_field ) ? $index : $form_field;
|
176 |
+
$form_field_label = is_array( $form_field ) ? $form_field['label'] . ' (' . $form_field['type'] . ')' : $form_field;
|
177 |
+
|
178 |
+
echo '<option value="' . $form_field_value . '">' . $form_field_label . '</option>';
|
179 |
+
}
|
180 |
+
}
|
181 |
+
echo '
|
182 |
+
</select>
|
183 |
+
<a href="javascript:void(0)" class="remove-exclude-field button-secondary" title="' . __( 'Remove', 'iubenda' ) . '">-</a>
|
184 |
+
</td>
|
185 |
+
</tr>';
|
186 |
+
if ( $exclude ) {
|
187 |
+
$index = 0;
|
188 |
+
foreach ( $exclude as $index => $field_name ) {
|
189 |
+
$selected = isset( $exclude[$index] ) ? $exclude[$index] : '';
|
190 |
+
|
191 |
+
echo '
|
192 |
+
<tr class="exclude-field options-field">
|
193 |
+
<td>
|
194 |
+
<select class="exclude-fields-select select-' . $field_name . '" name="exclude[' . $index . '][field]">';
|
195 |
+
if ( ! empty( $form->form_fields ) ) {
|
196 |
+
foreach ( $form->form_fields as $index => $form_field ) {
|
197 |
+
// get field data
|
198 |
+
$form_field_value = is_array( $form_field ) ? $index : $form_field;
|
199 |
+
$form_field_label = is_array( $form_field ) ? $form_field['label'] . ' (' . $form_field['type'] . ')' : $form_field;
|
200 |
+
$form_field_selected = is_array( $form_field ) ? $index : $form_field;
|
201 |
+
|
202 |
+
echo '<option value="' . $form_field_value . '" ' . selected( $selected, $form_field_selected, false ) . '>' . $form_field_label . '</option>';
|
203 |
+
}
|
204 |
+
}
|
205 |
+
echo '
|
206 |
+
</select>
|
207 |
+
<a href="javascript:void(0)" class="remove-exclude-field button-secondary" title="' . __( 'Remove', 'iubenda' ) . '">-</a>
|
208 |
+
</td>
|
209 |
+
<td></td>
|
210 |
+
</tr>';
|
211 |
+
|
212 |
+
$index++;
|
213 |
+
}
|
214 |
+
}
|
215 |
+
echo '
|
216 |
+
<tr class="submit-field"><td colspan="2"><a href="javascript:void(0)" class="add-exclude-field button-secondary">' . __( 'Add New Exclude', 'iubenda' ) . '</a></td></tr>
|
217 |
+
</tbody>
|
218 |
+
</table>
|
219 |
+
|
220 |
+
<br>
|
221 |
+
<h4 class="m-0 mb-2">' . __( 'Legal documents', 'iubenda' ) . '</h4>
|
222 |
+
<p class="mb-3 description">' . __( 'In general, it\'s important that you declare which legal documents are being agreed upon when each consent is collected. However, if you use iubenda for your legal documents, it is *required* that you identify the documents by selecting them here.', 'iubenda' ) . '</p>
|
223 |
+
<table class="widefat mb-4 legal_notices-table">
|
224 |
+
<thead>
|
225 |
+
<td class="label">' . __( 'Identifier', 'iubenda' ) . '</td>
|
226 |
+
<td class="label"></td>
|
227 |
+
</thead>
|
228 |
+
<tbody>';
|
229 |
+
|
230 |
+
// default identifiers
|
231 |
+
foreach ( $this->legal_notices as $index => $field_name ) {
|
232 |
+
echo '
|
233 |
+
<tr class="legal_notices-field default-field">
|
234 |
+
<td>' . ( $index === 0 ? '<p class="description">' . __( 'Please select each legal document available on your site.', 'iubenda' ) . '</p>' : '' ) . '<label for="legal_notices-default-field=' . $index . '"><input id="legal_notices-default-field=' . $index . '" type="checkbox" value="' . $field_name . '" name="legal_notices[' . $index . '][field]"' . checked( in_array( $field_name, $legal_notices, true ), true, false ) . 'placeholder="' . __( 'Enter field name', 'iubenda' ) . '" />' . $field_name . '</label></td>
|
235 |
+
<td></td>
|
236 |
+
</tr>';
|
237 |
+
}
|
238 |
+
|
239 |
+
$index++;
|
240 |
+
|
241 |
+
// custom identifiers
|
242 |
+
echo '
|
243 |
+
<tr id="legal_notices-field-template" class="template-field" style="display: none;">
|
244 |
+
<td><input type="text" value="" name="legal_notices[__LEGAL_NOTICE_ID__][field]" placeholder="' . __( 'Enter field name', 'iubenda' ) . '" class="regular-text legal-notices-inputs" disabled /> <a href="javascript:void(0)" class="remove-legal_notices-field button-secondary" title="' . __( 'Remove', 'iubenda' ) . '">-</a></td>
|
245 |
+
<td></td>
|
246 |
+
</tr>';
|
247 |
+
|
248 |
+
echo '
|
249 |
+
<tr>
|
250 |
+
<td colspan="2"><p class="description" style="margin-bottom: 0;">' . __( 'Alternatively, you may add your own custom document identifiers.', 'iubenda' ) . '</p></td>
|
251 |
+
</tr>';
|
252 |
+
|
253 |
+
if ( $legal_notices ) {
|
254 |
+
foreach ( $legal_notices as $field_name ) {
|
255 |
+
if ( in_array( $field_name, $this->legal_notices, true ) )
|
256 |
+
continue;
|
257 |
+
|
258 |
+
echo '
|
259 |
+
<tr class="legal_notices-field options-field">
|
260 |
+
<td><input type="text" class="regular-text" value="' . $field_name . '" name="legal_notices[' . $index . '][field]" placeholder="' . __( 'Enter field name', 'iubenda' ) . '" /> <a href="javascript:void(0)" class="remove-legal_notices-field button-secondary" title="' . __( 'Remove', 'iubenda' ) . '">-</a></td>
|
261 |
+
<td></td>
|
262 |
+
</tr>';
|
263 |
+
|
264 |
+
$index++;
|
265 |
+
}
|
266 |
+
}
|
267 |
+
echo '
|
268 |
+
<tr class="submit-field"><td colspan="2"><a href="javascript:void(0)" class="add-legal_notices-field button-secondary">' . __( 'Add New Document', 'iubenda' ) . '</a></td></tr>';
|
269 |
+
echo '
|
270 |
+
</tbody>
|
271 |
+
</table>
|
272 |
+
</div>
|
273 |
+
</div>';
|
274 |
+
?>
|
275 |
+
<hr>
|
276 |
+
<div class="p-4 d-flex justify-content-end">
|
277 |
+
<input class="btn btn-gray-lighter btn-sm mr-2" type="button" value="<?php _e('Cancel', 'iubenda') ?>" onclick="window.location.href = '<?php echo esc_url(add_query_arg(array('view' => 'cons-configuration'), iubenda()->base_url)) ?>'"/>
|
278 |
+
<button type="submit" class="btn btn-green-primary btn-sm" value="Save" name="save">
|
279 |
+
<span class="button__text"><?php _e('Save settings', 'iubenda') ?></span>
|
280 |
+
</button>
|
281 |
+
</div>
|
282 |
+
</form>
|
283 |
+
</div>
|
284 |
+
|
285 |
+
<?php require_once IUBENDA_PLUGIN_PATH . 'views/partials/footer.php'; ?>
|
views/cs-configuration.php
ADDED
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php require_once IUBENDA_PLUGIN_PATH . 'views/partials/header.php'; ?>
|
2 |
+
<div class="main-box">
|
3 |
+
<?php require_once IUBENDA_PLUGIN_PATH . 'views/partials/siteInfo.php'; ?>
|
4 |
+
<?php require_once IUBENDA_PLUGIN_PATH . 'views/partials/breadcrumb.php'; ?>
|
5 |
+
<form class="ajax-form-to-options">
|
6 |
+
<input hidden name="iubenda_section_name" value="iubenda_cookie_law_solution">
|
7 |
+
<input hidden name="iubenda_section_key" value="cs">
|
8 |
+
<input hidden name="action" value="ajax_save_options">
|
9 |
+
<input hidden name="_redirect" value="<?php echo esc_url(add_query_arg(['view' => 'products-page'], iubenda()->base_url)) ?>">
|
10 |
+
<div class="p-4 p-lg-5">
|
11 |
+
<?php require_once IUBENDA_PLUGIN_PATH . 'views/partials/csGeneralSettings.php'; ?>
|
12 |
+
</div>
|
13 |
+
<hr>
|
14 |
+
<div class="p-4 d-flex justify-content-end">
|
15 |
+
<input class="btn btn-gray-lighter btn-sm mr-2" type="button" value="<?php _e('Cancel', 'iubenda') ?>" onclick="window.location.href = '<?php echo esc_url(add_query_arg(array('view' => 'products-page'), iubenda()->base_url)) ?>'"/>
|
16 |
+
<button type="submit" class="btn btn-green-primary btn-sm" value="Save" name="save">
|
17 |
+
<span class="button__text"><?php _e('Save settings', 'iubenda') ?></span>
|
18 |
+
</button>
|
19 |
+
</div>
|
20 |
+
</form>
|
21 |
+
</div>
|
22 |
+
<?php require_once IUBENDA_PLUGIN_PATH . '/views/partials/modals/modal_ops_embed_invalid.php'; ?>
|
23 |
+
<?php require_once IUBENDA_PLUGIN_PATH . 'views/partials/footer.php'; ?>
|
views/frontpage.php
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php require_once IUBENDA_PLUGIN_PATH . '/views/partials/header.php'; ?>
|
2 |
+
<div class="main-box main-box__bg text-center">
|
3 |
+
<div id="frontpage-main-box" class="p-5">
|
4 |
+
<?php require_once IUBENDA_PLUGIN_PATH . '/views/partials/frontpage_main_box.php'; ?>
|
5 |
+
</div>
|
6 |
+
<hr>
|
7 |
+
<div class="welcome-screen-footer p-5">
|
8 |
+
<h3 class="text-md text-normal m-0 mb-3"><?php _e("Let's configure your website for compliance.", 'iubenda') ?></h3>
|
9 |
+
<a class="btn btn-green-primary btn-lg show-modal" data-modal-name="#modal-setup-screen" href="javascript:void(0)" onclick="_paq.push(['trackEvent', 'Click', 'Help me get compliant!']);"><?php _e('Help me get compliant!', 'iubenda') ?></a>
|
10 |
+
</div>
|
11 |
+
</div>
|
12 |
+
|
13 |
+
<?php require_once IUBENDA_PLUGIN_PATH . '/views/partials/footer.php'; ?>
|
14 |
+
<div id="modal-setup-screen" class="modal">
|
15 |
+
<div class="modal__window modal__window--md p-4 p-lg-5">
|
16 |
+
<?php require_once IUBENDA_PLUGIN_PATH . '/views/partials/modals/modal_sync.php'; ?>
|
17 |
+
</div>
|
18 |
+
</div>
|
19 |
+
|
20 |
+
<!-- Modal pp created-->
|
21 |
+
<div id="modal_pp_created" class="modal">
|
22 |
+
<div class="modal__window modal__window--md p-4 p-lg-5">
|
23 |
+
<?php require_once IUBENDA_PLUGIN_PATH . '/views/partials/modals/modal_pp_created.php'; ?>
|
24 |
+
</div>
|
25 |
+
</div>
|
26 |
+
|
27 |
+
<!-- Modal Almost There -->
|
28 |
+
<div id="modal-have-existing-products" class="modal modal--xs">
|
29 |
+
<div class="modal__window modal__window--md p-4 p-lg-5">
|
30 |
+
<?php require_once IUBENDA_PLUGIN_PATH . '/views/partials/modals/modal_almost_there.php'; ?>
|
31 |
+
</div>
|
32 |
+
</div>
|
33 |
+
|
34 |
+
<!-- Modal Select language -->
|
35 |
+
<div id="modal-select-language" class="modal modal--xs">
|
36 |
+
<div class="modal__window modal__window--md p-4 p-lg-5">
|
37 |
+
<?php require_once IUBENDA_PLUGIN_PATH . '/views/partials/modals/modal_select_language.php'; ?>
|
38 |
+
</div>
|
39 |
+
</div>
|
40 |
+
|
41 |
+
<?php require_once IUBENDA_PLUGIN_PATH . '/views/partials/modals/modal_no_website_found.php'; ?>
|
42 |
+
<script type="text/javascript" src="https://cdn.iubenda.com/quick_generator/loader.js"></script>
|
views/integrate-setup.php
ADDED
@@ -0,0 +1,158 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php require_once IUBENDA_PLUGIN_PATH . '/views/partials/header.php'; ?>
|
2 |
+
<form class="ajax-form">
|
3 |
+
<input hidden name="action" value="integrate_setup">
|
4 |
+
<input hidden name="_redirect" value="<?php echo esc_url(add_query_arg(['view' => 'products-page'], iubenda()->base_url)) ?>">
|
5 |
+
<input hidden name="iubenda_cookie_law_solution[configuration_type]" value="simplified">
|
6 |
+
<div class="main-box">
|
7 |
+
<?php require_once IUBENDA_PLUGIN_PATH . '/views/partials/siteInfo.php'; ?>
|
8 |
+
|
9 |
+
<div class="p-3 m-3">
|
10 |
+
<?php if(iubenda()->settings->print_notices()): ?>
|
11 |
+
<div class="p-3 m-3">
|
12 |
+
<?php iubenda()->settings->print_notices() ?>
|
13 |
+
</div>
|
14 |
+
<?php endif; ?>
|
15 |
+
|
16 |
+
<div class="radio-toggle">
|
17 |
+
<div class="switch">
|
18 |
+
<input type="checkbox" name="cookie_law" id="toggleAddCookieBanner" class="section-checkbox-control" data-section-name="#section-add-cookie-banner" checked/>
|
19 |
+
<label for="toggleAddCookieBanner"></label>
|
20 |
+
</div>
|
21 |
+
<span><?php _e('Add a cookie banner', 'iubenda') ?></span>
|
22 |
+
</div>
|
23 |
+
<section id="section-add-cookie-banner">
|
24 |
+
<?php require_once IUBENDA_PLUGIN_PATH . '/views/partials/csSimplifiedConfiguration.php'; ?>
|
25 |
+
|
26 |
+
<div class="my-5">
|
27 |
+
<label class="checkbox-regular">
|
28 |
+
<input type="checkbox" class="mr-2 section-checkbox-control" name="iubenda_cookie_law_solution[amp_support]" value="1" checked data-section-name="#amp_support"/>
|
29 |
+
<span><?php _e('Enable Google AMP support', 'iubenda') ?> <a target="_blank" href="<?php echo iubenda()->settings->links["enable_amp_support"]; ?>" class="ml-1 tooltip-icon">?</a></span>
|
30 |
+
</label>
|
31 |
+
<section id="amp_support" class="subOptions my-2">
|
32 |
+
<h4><?php _e('Select the iubenda AMP configuration file location.', 'iubenda') ?></h4>
|
33 |
+
<div class="mb-2 d-flex flex-wrap align-items-center">
|
34 |
+
<label class="radio-regular mr-4 mb-3">
|
35 |
+
<input type="radio" name="iubenda_cookie_law_solution[amp_source]" value="local" class="mr-2 section-radio-control" data-section-name="#auto_generated_conf_file" data-section-group=".amp_configuration_file" checked>
|
36 |
+
<span><?php _e('Auto-generated configuration file', 'iubenda') ?></span>
|
37 |
+
</label>
|
38 |
+
<label class="mr-4 mb-3 radio-regular text-xs">
|
39 |
+
<input type="radio" name="iubenda_cookie_law_solution[amp_source]" value="remote" class="mr-2 section-radio-control" data-section-name="#custom_conf_file" data-section-group=".amp_configuration_file">
|
40 |
+
<span><?php _e('Custom configuration file', 'iubenda') ?></span>
|
41 |
+
</label>
|
42 |
+
</div>
|
43 |
+
|
44 |
+
<section id="auto_generated_conf_file" class="text-xs text-gray amp_configuration_file">
|
45 |
+
<div class="border-1 border-gray rounded mt-2 py-2 px-3 d-flex flex-wrap align-items-center">
|
46 |
+
<?php
|
47 |
+
if (empty(iubenda()->options['cs']['amp_template_done'])) {
|
48 |
+
echo '
|
49 |
+
<p class="description">' . _e('No file available. Save changes to generate iubenda AMP configuration file.', 'iubenda') . '</p>';
|
50 |
+
} else {
|
51 |
+
?>
|
52 |
+
<table class="table">
|
53 |
+
<tbody>
|
54 |
+
<?php
|
55 |
+
// multilang support
|
56 |
+
if (iubenda()->multilang && !empty(iubenda()->languages)) {
|
57 |
+
foreach (iubenda()->languages as $lang_id => $lang_name) {
|
58 |
+
if(!iub_array_get(iubenda()->options['cs']['amp_template_done'], $lang_id, false) ?: false){
|
59 |
+
continue;
|
60 |
+
}
|
61 |
+
?>
|
62 |
+
<tr>
|
63 |
+
<td><p class="text-bold"><?php echo $lang_name ?></p></td>
|
64 |
+
<td>
|
65 |
+
<a href="<?php echo iubenda()->AMP->get_amp_template_url($lang_id) ?>" target="_blank"><?php echo iubenda()->AMP->get_amp_template_url($lang_id) ?></a>
|
66 |
+
</td>
|
67 |
+
</tr>
|
68 |
+
<?php
|
69 |
+
}
|
70 |
+
} else {
|
71 |
+
?>
|
72 |
+
<tr>
|
73 |
+
<td><p class="text-bold"><?php _e('Default language', 'iubenda') ?></p></td>
|
74 |
+
<td>
|
75 |
+
<a href="<?php echo iubenda()->AMP->get_amp_template_url() ?>" target="_blank"><?php echo iubenda()->AMP->get_amp_template_url() ?></a>
|
76 |
+
</td>
|
77 |
+
</tr>
|
78 |
+
<?php
|
79 |
+
}
|
80 |
+
}
|
81 |
+
?>
|
82 |
+
</tbody>
|
83 |
+
</table>
|
84 |
+
</div>
|
85 |
+
<div class="notice notice--general mt-2 p-3 d-flex align-items-center text-xs">
|
86 |
+
<p><?php _e('Seeing the AMP cookie notice when testing from Google but not when visiting your AMP pages directly?', 'iubenda') ?> <a target="_blank" href="<?php echo iubenda()->settings->links["amp_support"]; ?>" class="link-underline"><?php _e('Learn how to fix it', 'iubenda') ?></a></p>
|
87 |
+
</div>
|
88 |
+
</section>
|
89 |
+
<section id="custom_conf_file" class="text-xs text-gray amp_configuration_file <?php echo iub_array_get(iubenda()->options['cs'], 'amp_source') == 'remote' ?: 'hidden' ?>">
|
90 |
+
<table class="table">
|
91 |
+
<tbody>
|
92 |
+
<?php
|
93 |
+
$languages = (iubenda()->multilang && !empty(iubenda()->languages)) ? iubenda()->languages : ['default' => __('Default language', 'iubenda')];
|
94 |
+
foreach ($languages as $lang_id => $lang_name) {
|
95 |
+
?>
|
96 |
+
<tr>
|
97 |
+
<td><label class="text-bold" for="iub_amp_template-<?php echo $lang_id; ?>"><?php echo $lang_name; ?></label></td>
|
98 |
+
<td><input id="iub_amp_template-<?php echo $lang_id; ?>" type="text" class="regular-text" name="iubenda_cookie_law_solution[amp_template][<?php echo $lang_id; ?>]" value="<?php echo iub_array_get(iubenda()->options['cs'], "amp_template.{$lang_id}") ?>"/></td>
|
99 |
+
</tr>
|
100 |
+
<?php } ?>
|
101 |
+
</tbody>
|
102 |
+
</table>
|
103 |
+
</section>
|
104 |
+
</section>
|
105 |
+
</div>
|
106 |
+
|
107 |
+
<div class="my-5">
|
108 |
+
<label class="checkbox-regular">
|
109 |
+
<input type="checkbox" name="iubenda_cookie_law_solution[parse]" value="1" class="mr-2 section-checkbox-control" data-section-name="#iub_parser_engine_container" checked>
|
110 |
+
<span><?php _e('Automatically block scripts detected by the plugin', 'iubenda') ?> <a target="_blank" href="<?php echo iubenda()->settings->links['automatic_block_scripts']; ?>" class="ml-1 tooltip-icon">?</a></span>
|
111 |
+
</label>
|
112 |
+
<section id="iub_parser_engine_container" class="subOptions">
|
113 |
+
<h4><?php _e("Select Parsing Engine", 'iubenda') ?></h4>
|
114 |
+
<div class="mb-3 d-flex flex-wrap align-items-center">
|
115 |
+
<label class="radio-regular mr-4 mb-3">
|
116 |
+
<input type="radio" name="iubenda_cookie_law_solution[parser_engine]" value="new" class="mr-2 section-radio-control" checked>
|
117 |
+
<span><?php _e('Primary', 'iubenda') ?></span>
|
118 |
+
</label>
|
119 |
+
<label class="mr-4 mb-3 radio-regular text-xs">
|
120 |
+
<input type="radio" name="iubenda_cookie_law_solution[parser_engine]" value="default" class="mr-2 section-radio-control">
|
121 |
+
<span><?php _e('Secondary', 'iubenda') ?></span>
|
122 |
+
</label>
|
123 |
+
</div>
|
124 |
+
<div class="mb-2 d-flex flex-wrap align-items-center">
|
125 |
+
<label class="checkbox-regular">
|
126 |
+
<input type="checkbox" name="iubenda_cookie_law_solution[skip_parsing]" value="1" class="mr-2 section-checkbox-control" data-section-name="#section-block-script">
|
127 |
+
<div class="px-0 py-1">
|
128 |
+
<span class="p-0"><?php _e('Leave scripts untouched on the page if the user has already given consent', 'iubenda') ?></span>
|
129 |
+
<div class="notice notice--info mt-2 mb-3 p-3 d-flex align-items-center text-xs">
|
130 |
+
<p><?php _e("Enable this option to improve performance <strong>only</strong> if your site does <strong>not</strong> use a cache system or a cache plugin and if you're <strong>not</strong> collecting per-category consent. If you're in doubt, keep this setting disabled", 'iubenda') ?></p>
|
131 |
+
</div>
|
132 |
+
</div>
|
133 |
+
</label>
|
134 |
+
</div>
|
135 |
+
</section>
|
136 |
+
</div>
|
137 |
+
</section>
|
138 |
+
|
139 |
+
<div class="radio-toggle">
|
140 |
+
<div class="switch">
|
141 |
+
<input type="checkbox" name="privacy_policy" id="toggleAddPrivacyButton" class="section-checkbox-control" data-section-name="#section-privacy-policy-button" checked/>
|
142 |
+
|
143 |
+
<label for="toggleAddPrivacyButton"></label>
|
144 |
+
</div>
|
145 |
+
<span><?php _e('Add the privacy policy button', 'iubenda') ?></span>
|
146 |
+
</div>
|
147 |
+
<section id="section-privacy-policy-button">
|
148 |
+
<?php require_once IUBENDA_PLUGIN_PATH . '/views/partials/buttonStyle.php'; ?>
|
149 |
+
<?php require_once IUBENDA_PLUGIN_PATH . '/views/partials/buttonPosition.php'; ?>
|
150 |
+
</section>
|
151 |
+
|
152 |
+
</div>
|
153 |
+
|
154 |
+
<?php require_once IUBENDA_PLUGIN_PATH . '/views/partials/integrateFooter.php'; ?>
|
155 |
+
|
156 |
+
</div>
|
157 |
+
</form>
|
158 |
+
<?php require_once IUBENDA_PLUGIN_PATH . '/views/partials/footer.php'; ?>
|
views/partials/alert.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
if (isset($notices) || isset($notice_type)):
|
3 |
+
foreach ($notices[$notice_type] as $key => $notice) {
|
4 |
+
?>
|
5 |
+
<div class="alert alert--<?php echo($notice_type === 'error' ? 'failure' : 'success'); ?> is-dismissible m-4">
|
6 |
+
<div class="alert__icon p-4">
|
7 |
+
<img src="<?php echo IUBENDA_PLUGIN_URL ?>/assets/images/banner_<?php echo($notice_type === 'error' ? 'failure' : 'success'); ?>.svg">
|
8 |
+
</div>
|
9 |
+
<?php
|
10 |
+
echo '<p class="text-regular">' . wp_kses_post($notice) . '</p> </br>';
|
11 |
+
?>
|
12 |
+
<button class="btn-close mr-3 notice-dismiss dismiss-notification-alert" data-dismiss-key="<?php echo $key ?>"> ×</button>
|
13 |
+
</div>
|
14 |
+
<?php
|
15 |
+
}
|
16 |
+
endif; ?>
|
views/partials/auto_detect_forms.php
ADDED
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$cons_page_configuration = get_option('iubenda_consent_solution');
|
3 |
+
|
4 |
+
if ($cons_page_configuration && iub_array_get($cons_page_configuration, 'public_api_key')){
|
5 |
+
|
6 |
+
$form_id = ! empty( $_GET['form_id'] ) ? absint( $_GET['form_id'] ) : 0;
|
7 |
+
$form = ! empty( $form_id ) ? iubenda()->forms->get_form( $form_id ) : false;
|
8 |
+
|
9 |
+
$supported_forms = iubenda()->forms->sources;
|
10 |
+
|
11 |
+
// list screen
|
12 |
+
if ( ! class_exists( 'WP_List_Table' ) )
|
13 |
+
include_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );
|
14 |
+
|
15 |
+
include_once( IUBENDA_PLUGIN_PATH . '/includes/forms-list-table.php' );
|
16 |
+
|
17 |
+
$list_table = new iubenda_List_Table_Forms();
|
18 |
+
|
19 |
+
echo '
|
20 |
+
<div id="iubenda-consent-forms">';
|
21 |
+
$list_table->views();
|
22 |
+
$list_table->prepare_items();
|
23 |
+
$list_table->display();
|
24 |
+
|
25 |
+
echo '
|
26 |
+
</div>';
|
27 |
+
}else{
|
28 |
+
?>
|
29 |
+
<p><?php _e('This section lists the forms available for field mapping. The plugin currently supports & detects: WordPress Comment, Contact Form 7, WooCommerce Checkout and WP Forms.', 'iubenda') ?></p>
|
30 |
+
|
31 |
+
<?php
|
32 |
+
|
33 |
+
}
|
views/partials/bannerPosition.php
ADDED
@@ -0,0 +1,52 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
$positions = [
|
4 |
+
'float-top-left',
|
5 |
+
'float-top-center',
|
6 |
+
'float-top-right',
|
7 |
+
'float-bottom-left',
|
8 |
+
'float-bottom-center',
|
9 |
+
'float-bottom-right',
|
10 |
+
'full-top',
|
11 |
+
'full-bottom',
|
12 |
+
'float-center'
|
13 |
+
];
|
14 |
+
|
15 |
+
?>
|
16 |
+
<div class="cs_banner_choices mb-5 mb-lg-0">
|
17 |
+
|
18 |
+
<div class="cs_banner_choices__position mr-4 pr-4">
|
19 |
+
|
20 |
+
<h4><?php _e('Position', 'iubenda') ?></h4>
|
21 |
+
|
22 |
+
<div class="position-select">
|
23 |
+
|
24 |
+
<div id="dropdown">
|
25 |
+
|
26 |
+
<?php foreach($positions as $v): ?>
|
27 |
+
<input type="radio" class="position-select-radio" name="iubenda_cookie_law_solution[simplified][position]" value="<?php echo $v; ?>" id="<?php echo $v ; ?>" <?php
|
28 |
+
checked( $v, iub_array_get(iubenda()->options['cs'], 'simplified.position'), true);
|
29 |
+
?> >
|
30 |
+
<label for="<?php echo $v ; ?>">
|
31 |
+
<div>
|
32 |
+
<div class="<?php echo str_replace('-', ' ', $v) ; ?>"><span></span></div>
|
33 |
+
</div>
|
34 |
+
</label>
|
35 |
+
<?php endforeach; ?>
|
36 |
+
|
37 |
+
<div class="overlaybox p-0">
|
38 |
+
<div class="p-3">
|
39 |
+
<label class="checkbox-regular">
|
40 |
+
<input type="checkbox" class="mr-2" name="iubenda_cookie_law_solution[simplified][background_overlay]" <?php echo checked( true, (bool) iub_array_get(iubenda()->options['cs'], 'simplified.background_overlay'), false); ?>>
|
41 |
+
<span><?php _e('Background-overlay', 'iubenda') ?></span>
|
42 |
+
</label>
|
43 |
+
</div>
|
44 |
+
</div>
|
45 |
+
|
46 |
+
</div>
|
47 |
+
|
48 |
+
</div>
|
49 |
+
|
50 |
+
</div>
|
51 |
+
|
52 |
+
</div>
|
views/partials/bannerStyle.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="cs_banner_theme">
|
2 |
+
<h4><?php _e('Theme', 'iubenda') ?></h4>
|
3 |
+
<div class="scrollable gap-fixer">
|
4 |
+
<fieldset class="theme-select d-flex">
|
5 |
+
<div class="mr-2">
|
6 |
+
<label class="radio-theme radio-theme-dark">
|
7 |
+
<input type="radio" name="iubenda_cookie_law_solution[simplified][banner_style]" value="dark" <?php echo checked( 'dark', iub_array_get(iubenda()->options['cs'], 'simplified.banner_style'), false) ?>>
|
8 |
+
</label>
|
9 |
+
<p class="text-xs text-center"><?php _e('Dark', 'iubenda') ?></p>
|
10 |
+
</div>
|
11 |
+
<div class="mr-2">
|
12 |
+
<label class="radio-theme radio-theme-light">
|
13 |
+
<input type="radio" name="iubenda_cookie_law_solution[simplified][banner_style]" value="light" <?php echo checked( 'light', iub_array_get(iubenda()->options['cs'], 'simplified.banner_style'), false) ?>>
|
14 |
+
</label>
|
15 |
+
<p class="text-xs text-center"><?php _e('Light', 'iubenda') ?></p>
|
16 |
+
</div>
|
17 |
+
</fieldset>
|
18 |
+
</div>
|
19 |
+
</div>
|
views/partials/breadcrumb.php
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<ul class="breadcrumb text-gray">
|
2 |
+
<li class="breadcrumb__item"><a href="<?php echo add_query_arg( array('view' => 'products-page'), iubenda()->base_url ); ?>"><?php _e('Products', 'iubenda') ?></a></li>
|
3 |
+
<?php
|
4 |
+
foreach($pageLabels as $pageLabel){
|
5 |
+
if(end($pageLabels) === $pageLabel){
|
6 |
+
$textStyle = 'text-bold';
|
7 |
+
}else{
|
8 |
+
$textStyle = '';
|
9 |
+
}
|
10 |
+
|
11 |
+
$href = iub_array_get($pageLabel, 'href') ?? 'javascript:void(0)';
|
12 |
+
echo "<li class='breadcrumb__item {$textStyle}'><a href='{$href}'>".iub_array_get($pageLabel, 'title')."</a></li>";
|
13 |
+
}
|
14 |
+
?>
|
15 |
+
</ul>
|
16 |
+
|
17 |
+
<?php if(iubenda()->settings->print_notices()): ?>
|
18 |
+
<div class="p-3 m-3">
|
19 |
+
<?php iubenda()->settings->print_notices() ?>
|
20 |
+
</div>
|
21 |
+
<?php endif; ?>
|
views/partials/buttonPosition.php
ADDED
@@ -0,0 +1,85 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h4><?php _e('Button position', 'iubenda') ?></h4>
|
2 |
+
<div class="mb-2 flex-wrap">
|
3 |
+
<label class="radio-regular mb-3">
|
4 |
+
<input type="radio" name="iubenda_privacy_policy_solution[button_position]" value="automatic" class="mr-2 section-radio-control" data-section-group=".pp_button_position" data-section-name="#pp_button_position_automatically" <?php checked( 'automatic', iub_array_get(iubenda()->options['pp'], 'button_position')) ?>>
|
5 |
+
<span><?php _e('Add to the footer automatically', 'iubenda') ?></span>
|
6 |
+
</label>
|
7 |
+
<label class="mr-4 radio-regular text-xs">
|
8 |
+
<input type="radio" name="iubenda_privacy_policy_solution[button_position]" value="manual" class="mr-2 section-radio-control" data-section-group=".pp_button_position" data-section-name="#pp_button_position_manually" <?php checked( 'manual', iub_array_get(iubenda()->options['pp'], 'button_position')) ?>>
|
9 |
+
|
10 |
+
<span><?php _e('Integrate manually', 'iubenda') ?></span>
|
11 |
+
</label>
|
12 |
+
</div>
|
13 |
+
<?php
|
14 |
+
// Check if we support current theme to attach legal
|
15 |
+
if (!iubenda()->check_if_we_support_current_theme_to_attach_legal()) {
|
16 |
+
$url = 'javascript:void(0)';
|
17 |
+
|
18 |
+
if(iubenda()->widget->check_current_theme_supports_widget()){
|
19 |
+
$url = admin_url( 'widgets.php' );
|
20 |
+
}elseif(iubenda()->block->check_current_theme_supports_blocks()){
|
21 |
+
$url = admin_url( 'site-editor.php' );
|
22 |
+
}
|
23 |
+
|
24 |
+
?>
|
25 |
+
<section id="pp_button_position_automatically" class="pp_button_position <?php echo iub_array_get(iubenda()->options['pp'], 'button_position') == 'automatic' ?:'hidden' ; ?>">
|
26 |
+
<div class="notice notice--warning mt-2 mb-4 p-3 d-flex align-items-center text-warning text-xs">
|
27 |
+
<img class="mr-2" src="<?php echo IUBENDA_PLUGIN_URL ?>/assets/images/warning-icon.svg">
|
28 |
+
<p><?php echo sprintf( __( 'We were not able to add a "Legal" widget/block to the footer as your theme is not compatible, you can position the "Legal" widget/block manually from <a href="%s" target="_blank">here</a>.', 'iubenda' ), esc_url( $url ) ) ?></p>
|
29 |
+
</div>
|
30 |
+
</section>
|
31 |
+
<?php
|
32 |
+
}
|
33 |
+
?>
|
34 |
+
<section id="pp_button_position_manually" class="pp_button_position <?php echo iub_array_get(iubenda()->options['pp'], 'button_position') == 'manual' ?:'hidden' ; ?>">
|
35 |
+
<div class="subOptions">
|
36 |
+
|
37 |
+
<p class="text-gray text-sm mb-4"><?php _e('Just copy and paste the embed code (WP shortcode or HTML) where you want the button to appear.', 'iubenda') ?></p>
|
38 |
+
|
39 |
+
<div class="d-lg-flex">
|
40 |
+
<div class="flex-fill mb-3 mr-0 mr-lg-5">
|
41 |
+
<h4><?php _e('WP shortcode (recommended)', 'iubenda') ?></h4>
|
42 |
+
<fieldset class="paste_embed_code">
|
43 |
+
<input type="text" class="form-control text-sm m-0" value="[iub-pp-button]" readonly />
|
44 |
+
</fieldset>
|
45 |
+
<p class="text-gray-lighter"><?php _e('A shortcode is a tiny bit of code that allows embedding interactive elements or creating complex page layouts with a minimal effort.', 'iubenda') ?></p>
|
46 |
+
</div>
|
47 |
+
|
48 |
+
<div class="flex-fill mb-0">
|
49 |
+
<h4><?php _e('HTML', 'iubenda') ?></h4>
|
50 |
+
<fieldset class="paste_embed_code tabs tabs--style2">
|
51 |
+
<ul class="tabs__nav">
|
52 |
+
<?php foreach(iubenda()->languages as $k => $v): ?>
|
53 |
+
<li class="tabs__nav__item <?php echo $k == iubenda()->lang_default?'active':false ; ?>" data-target="tab-<?php echo $k ; ?>" data-group="language-tabs">
|
54 |
+
<?php echo strtoupper($k) ; ?>
|
55 |
+
</li>
|
56 |
+
<?php endforeach; ?>
|
57 |
+
</ul>
|
58 |
+
<?php
|
59 |
+
$privacyPolicyGenerator = new PrivacyPolicyGenerator();
|
60 |
+
$globalOptions = get_option('iubenda_global_options');
|
61 |
+
|
62 |
+
$languages = (new ProductHelper())->get_languages();
|
63 |
+
foreach($languages as $lang_id => $v):
|
64 |
+
$code = iub_array_get(iubenda()->options['pp'], "code_{$lang_id}");
|
65 |
+
|
66 |
+
// if there is no embed code saved generate embed code
|
67 |
+
if(!$code){
|
68 |
+
$publicIds = iub_array_get($globalOptions, 'public_ids');
|
69 |
+
$publicId = iub_array_get($publicIds, $lang_id);
|
70 |
+
|
71 |
+
$code = $privacyPolicyGenerator->handle($lang_id, $publicId, 'white');
|
72 |
+
}
|
73 |
+
$code = html_entity_decode(iubenda()->parse_code($code));
|
74 |
+
?>
|
75 |
+
<div data-target="tab-<?php echo $lang_id ; ?>" class="tabs__target <?php echo $lang_id == iubenda()->lang_default || $lang_id == 'default'? 'active': '' ; ?>" data-group="language-tabs">
|
76 |
+
<textarea readonly class='form-control text-sm m-0 iub-pp-code' rows='4'><?php echo $code ?></textarea>
|
77 |
+
</div>
|
78 |
+
<?php endforeach; ?>
|
79 |
+
|
80 |
+
</fieldset>
|
81 |
+
</div>
|
82 |
+
</div>
|
83 |
+
|
84 |
+
</div>
|
85 |
+
</section>
|
views/partials/buttonStyle.php
ADDED
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h4><?php _e('Button style', 'iubenda') ?></h4>
|
2 |
+
<div class="scrollable gap-fixer">
|
3 |
+
<div class="button-style mb-3 d-flex">
|
4 |
+
<div class="m-1 mr-2">
|
5 |
+
<label class="radio-btn-style radio-btn-style-light">
|
6 |
+
<input type="radio" class="update-button-style" name="iubenda_privacy_policy_solution[button_style]" value="white" <?php echo checked( 'white', iub_array_get(iubenda()->options['pp'], 'button_style'), false) ?>>
|
7 |
+
<div>
|
8 |
+
<div class="btn-fake"></div>
|
9 |
+
</div>
|
10 |
+
<p class="text-xs text-center"><?php _e('Light', 'iubenda') ?></p>
|
11 |
+
</label>
|
12 |
+
</div>
|
13 |
+
<div class="m-1 mr-2">
|
14 |
+
<label class="radio-btn-style radio-btn-style-dark">
|
15 |
+
<input type="radio" class="update-button-style" name="iubenda_privacy_policy_solution[button_style]" value="black" <?php echo checked( 'black', iub_array_get(iubenda()->options['pp'], 'button_style'), false) ?>>
|
16 |
+
<div>
|
17 |
+
<div class="btn-fake"></div>
|
18 |
+
</div>
|
19 |
+
<p class="text-xs text-center"><?php _e('Dark', 'iubenda') ?></p>
|
20 |
+
</label>
|
21 |
+
</div>
|
22 |
+
</div>
|
23 |
+
</div>
|
views/partials/csGeneralSettings.php
ADDED
@@ -0,0 +1,262 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="tabs">
|
2 |
+
<h3 class="text-bold text-gray text-md mb-0"><?php _e('Configuration', 'iubenda') ?></h3>
|
3 |
+
<div class="scrollable gap-fixer">
|
4 |
+
<fieldset class="radio-large">
|
5 |
+
<div class="d-flex tabs__nav">
|
6 |
+
<?php
|
7 |
+
if (iub_array_get(iubenda()->options['global_options'], 'site_id')) {
|
8 |
+
?>
|
9 |
+
<div class="m-1 mr-2 tabs__nav__item <?php echo iub_array_get(iubenda()->options['cs'], 'configuration_type') == 'simplified' ?: 'active' ?>" data-target="configuration-type-simplified-tab" data-group="configuration-type">
|
10 |
+
<input class="section-radio-control cs-configuration-type" type="radio" id="radioSimplified" name="iubenda_cookie_law_solution[configuration_type]" value="simplified" <?php checked('simplified', iub_array_get(iubenda()->options['cs'], 'configuration_type')) ?>>
|
11 |
+
<label for="radioSimplified">
|
12 |
+
<div class=" d-flex align-items-center">
|
13 |
+
<svg xmlns="http://www.w3.org/2000/svg" width="29" height="27" viewBox="0 0 29 27">
|
14 |
+
<title><?php _e('Simplified', 'iubenda') ?></title>
|
15 |
+
<g fill="none" fill-rule="evenodd" transform="translate(1 1)">
|
16 |
+
<rect width="25" height="11" stroke="currentColor" rx="5.5"/>
|
17 |
+
<rect width="25" height="11" y="14" fill="currentColor" stroke="currentColor" rx="5.5"/>
|
18 |
+
<rect width="7" height="7" x="2" y="2" fill="currentColor" rx="3.5"/>
|
19 |
+
<rect width="7" height="7" x="16" y="16" fill="#FFF" rx="3.5"/>
|
20 |
+
<rect width="25" height="11" x="3" y="2" fill="currentColor" fill-opacity=".119" rx="5.5"/>
|
21 |
+
</g>
|
22 |
+
</svg>
|
23 |
+
<span href="#tab-3" class="ml-2"><?php _e('Simplified', 'iubenda') ?></span>
|
24 |
+
</div>
|
25 |
+
</label>
|
26 |
+
</div>
|
27 |
+
<?php
|
28 |
+
}
|
29 |
+
?>
|
30 |
+
<div class="m-1 mr-2 tabs__nav__item <?php echo iub_array_get(iubenda()->options['cs'], 'configuration_type') == 'manual' ?: 'active' ?>" data-target="configuration-type-manual-tab" data-group="configuration-type">
|
31 |
+
<input type="radio" id="radioManual" class="section-radio-control cs-configuration-type" name="iubenda_cookie_law_solution[configuration_type]" value="manual" <?php checked( 'manual', iub_array_get(iubenda()->options['cs'], 'configuration_type') ) ?>>
|
32 |
+
<label for="radioManual">
|
33 |
+
<div class="d-flex align-items-center">
|
34 |
+
<svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 25 25">
|
35 |
+
<title><?php _e('Manual embed', 'iubenda') ?></title>
|
36 |
+
<g fill="none" fill-rule="evenodd" transform="translate(1 1)">
|
37 |
+
<rect width="21" height="21" x="3" y="3" fill="currentColor" fill-opacity=".119" rx="2" />
|
38 |
+
<rect width="21" height="21" stroke="currentColor" rx="2" />
|
39 |
+
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M5.818 6.406l5.657 4-5.657 4M11.5 14.5h4" />
|
40 |
+
</g>
|
41 |
+
</svg>
|
42 |
+
<span href="#tab-4" class="ml-2"><?php _e('Manual embed', 'iubenda') ?></span>
|
43 |
+
</div>
|
44 |
+
</label>
|
45 |
+
</div>
|
46 |
+
|
47 |
+
</div>
|
48 |
+
</fieldset>
|
49 |
+
</div>
|
50 |
+
<div class="my-4 subOptions">
|
51 |
+
<?php
|
52 |
+
if (iub_array_get(iubenda()->options['global_options'], 'site_id')) {
|
53 |
+
?>
|
54 |
+
<section class="tabs__target <?php echo iub_array_get(iubenda()->options['cs'], 'configuration_type') != 'simplified' ?: 'active' ?>" data-target="configuration-type-simplified-tab" data-group="configuration-type">
|
55 |
+
<?php require_once IUBENDA_PLUGIN_PATH . 'views/partials/csSimplifiedConfiguration.php'; ?>
|
56 |
+
</section>
|
57 |
+
<?php
|
58 |
+
}
|
59 |
+
?>
|
60 |
+
<section class="tabs__target <?php echo iub_array_get(iubenda()->options['cs'], 'configuration_type') != 'manual' ?: 'active' ?>" data-target="configuration-type-manual-tab" data-group="configuration-type">
|
61 |
+
<?php require_once IUBENDA_PLUGIN_PATH . 'views/partials/csManualConfiguration.php'; ?>
|
62 |
+
</section>
|
63 |
+
</div>
|
64 |
+
</div>
|
65 |
+
|
66 |
+
<div class="d-flex align-items-center pt-3">
|
67 |
+
<label class="checkbox-regular">
|
68 |
+
<input type="checkbox" class="mr-2 section-checkbox-control" name="iubenda_cookie_law_solution[amp_support]" value="1" <?php checked( true, (bool) iubenda()->options['cs']['amp_support'] ) ?> data-section-name="#amp_support"/>
|
69 |
+
<span><?php _e('Enable Google AMP support', 'iubenda') ?> <a target="_blank" href="<?php echo iubenda()->settings->links["enable_amp_support"]; ?>" class="ml-1 tooltip-icon">?</a></span>
|
70 |
+
</label>
|
71 |
+
</div>
|
72 |
+
<section id="amp_support" class="subOptions my-2 <?php echo (bool) iubenda()->options['cs']['amp_support'] ?: 'hidden' ?>">
|
73 |
+
<h4><?php _e('Select the iubenda AMP configuration file location.', 'iubenda') ?></h4>
|
74 |
+
<div class="mb-2 d-flex flex-wrap align-items-center">
|
75 |
+
<label class="radio-regular mb-3 mr-4">
|
76 |
+
<input type="radio" name="iubenda_cookie_law_solution[amp_source]" value="local" class="mr-2 section-radio-control" data-section-name="#auto_generated_conf_file" data-section-group=".amp_configuration_file" <?php checked( 'local', iub_array_get(iubenda()->options['cs'], 'amp_source')) ?>>
|
77 |
+
<span><?php _e('Auto-generated configuration file', 'iubenda') ?></span>
|
78 |
+
</label>
|
79 |
+
<label class="mr-4 mb-3 radio-regular text-xs">
|
80 |
+
<input type="radio" name="iubenda_cookie_law_solution[amp_source]" value="remote" class="mr-2 section-radio-control" data-section-name="#custom_conf_file" data-section-group=".amp_configuration_file" <?php checked( 'remote', iub_array_get(iubenda()->options['cs'], 'amp_source')) ?>>
|
81 |
+
<span><?php _e('Custom configuration file', 'iubenda') ?></span>
|
82 |
+
</label>
|
83 |
+
</div>
|
84 |
+
|
85 |
+
<section id="auto_generated_conf_file" class="text-xs text-gray amp_configuration_file <?php echo iub_array_get(iubenda()->options['cs'], 'amp_source') == 'local' ?: 'hidden' ?>">
|
86 |
+
<div class="border-1 border-gray rounded mt-2 py-2 px-3 d-flex flex-wrap align-items-center">
|
87 |
+
<?php
|
88 |
+
|
89 |
+
if (empty(iubenda()->options['cs']['amp_template_done'])) {
|
90 |
+
echo '
|
91 |
+
<p class="description">' . _e('No file available. Save changes to generate iubenda AMP configuration file.', 'iubenda') . '</p>';
|
92 |
+
} else {
|
93 |
+
?>
|
94 |
+
<table class="table">
|
95 |
+
<tbody>
|
96 |
+
<?php
|
97 |
+
// multilang support
|
98 |
+
if (iubenda()->multilang && !empty(iubenda()->languages)) {
|
99 |
+
foreach (iubenda()->languages as $lang_id => $lang_name) {
|
100 |
+
if(!iub_array_get(iubenda()->options['cs']['amp_template_done'], $lang_id, false) ?: false){
|
101 |
+
continue;
|
102 |
+
}
|
103 |
+
?>
|
104 |
+
<tr>
|
105 |
+
<td><p class="text-bold"><?php echo $lang_name ?></p></td>
|
106 |
+
<td>
|
107 |
+
<a href="<?php echo iubenda()->AMP->get_amp_template_url($lang_id) ?>" target="_blank"><?php echo iubenda()->AMP->get_amp_template_url($lang_id) ?></a>
|
108 |
+
</td>
|
109 |
+
</tr>
|
110 |
+
<?php
|
111 |
+
}
|
112 |
+
} else {
|
113 |
+
?>
|
114 |
+
<tr>
|
115 |
+
<td><p class="text-bold"><?php _e('Default language', 'iubenda') ?></p></td>
|
116 |
+
<td>
|
117 |
+
<a href="<?php echo iubenda()->AMP->get_amp_template_url() ?>" target="_blank"><?php echo iubenda()->AMP->get_amp_template_url() ?></a>
|
118 |
+
</td>
|
119 |
+
</tr>
|
120 |
+
<?php
|
121 |
+
}
|
122 |
+
}
|
123 |
+
?>
|
124 |
+
</tbody>
|
125 |
+
</table>
|
126 |
+
</div>
|
127 |
+
|
128 |
+
<div class="notice notice--general mt-2 p-3 d-flex align-items-center text-xs">
|
129 |
+
<p><?php _e('Seeing the AMP cookie notice when testing from Google but not when visiting your AMP pages directly?', 'iubenda') ?> <a target="_blank" href="<?php echo iubenda()->settings->links["amp_support"]; ?>" class="link-underline"><?php _e('Learn how to fix it', 'iubenda') ?></a></p>
|
130 |
+
</div>
|
131 |
+
|
132 |
+
</section>
|
133 |
+
<section id="custom_conf_file" class="text-xs text-gray amp_configuration_file <?php echo iub_array_get(iubenda()->options['cs'], 'amp_source') == 'remote' ?: 'hidden' ?>">
|
134 |
+
<table class="table">
|
135 |
+
<tbody>
|
136 |
+
<?php
|
137 |
+
$languages = (new ProductHelper())->get_languages();
|
138 |
+
foreach ($languages as $lang_id => $lang_name){
|
139 |
+
?>
|
140 |
+
<tr>
|
141 |
+
<td><label class="text-bold" for="iub_amp_template-<?php echo $lang_id; ?>"><?php echo $lang_name; ?></label></td>
|
142 |
+
<td><input id="iub_amp_template-<?php echo $lang_id; ?>" type="text" class="regular-text" name="iubenda_cookie_law_solution[amp_template][<?php echo $lang_id; ?>]" value="<?php echo iub_array_get(iubenda()->options['cs'], "amp_template.{$lang_id}") ?>"/></td>
|
143 |
+
</tr>
|
144 |
+
<?php } ?>
|
145 |
+
</tbody>
|
146 |
+
</table>
|
147 |
+
</section>
|
148 |
+
</section>
|
149 |
+
|
150 |
+
<div class="d-flex align-items-center pt-3">
|
151 |
+
<label class="checkbox-regular">
|
152 |
+
<input type="checkbox" name="iubenda_cookie_law_solution[parse]" value="1" class="mr-2 section-checkbox-control" data-section-name="#iub_parser_engine_container" <?php checked( true, (bool) iubenda()->options['cs']['parse'] ) ?>>
|
153 |
+
<span><?php _e('Automatically block scripts detected by the plugin', 'iubenda') ?> <a target="_blank" href="<?php echo iubenda()->settings->links['automatic_block_scripts']; ?>" class="ml-1 tooltip-icon">?</a></span>
|
154 |
+
</label>
|
155 |
+
</div>
|
156 |
+
<section id="iub_parser_engine_container" class="subOptions <?php echo (bool) iubenda()->options['cs']['parse']?: 'hidden' ?>">
|
157 |
+
<h4><?php _e('Select Parsing Engine', 'iubenda') ?></h4>
|
158 |
+
<div class="mb-3 d-flex flex-wrap align-items-center">
|
159 |
+
<label class="radio-regular mr-4 mb-3">
|
160 |
+
<input type="radio" name="iubenda_cookie_law_solution[parser_engine]" value="new" class="mr-2 section-radio-control" <?php checked( 'new', iubenda()->options['cs']['parser_engine'] ) ?>>
|
161 |
+
<span><?php _e('Primary', 'iubenda') ?></span>
|
162 |
+
</label>
|
163 |
+
<label class="mr-4 mb-3 radio-regular text-xs">
|
164 |
+
<input type="radio" name="iubenda_cookie_law_solution[parser_engine]" value="default" class="mr-2 section-radio-control" <?php checked( 'default', iubenda()->options['cs']['parser_engine'] ) ?>>
|
165 |
+
<span><?php _e('Secondary', 'iubenda') ?></span>
|
166 |
+
</label>
|
167 |
+
</div>
|
168 |
+
<div class="mb-2 d-flex flex-wrap align-items-center">
|
169 |
+
<label class="checkbox-regular">
|
170 |
+
<input type="checkbox" name="iubenda_cookie_law_solution[skip_parsing]" value="1" class="mr-2 section-checkbox-control" data-section-name="#section-block-script" <?php checked( true, (bool) iubenda()->options['cs']['skip_parsing'] ) ?>>
|
171 |
+
<div class="px-0 py-1">
|
172 |
+
<span class="p-0"><?php _e('Leave scripts untouched on the page if the user has already given consent', 'iubenda') ?></span>
|
173 |
+
<div class="notice notice--info mt-2 mb-3 p-3 d-flex align-items-center text-xs">
|
174 |
+
<p><?php _e("Enable this option to improve performance <strong>only</strong> if your site does <strong>not</strong> use a cache system or a cache plugin and if you're <strong>not</strong> collecting per-category consent. If you're in doubt, keep this setting disabled", 'iubenda') ?></p>
|
175 |
+
</div>
|
176 |
+
</div>
|
177 |
+
</label>
|
178 |
+
|
179 |
+
</div>
|
180 |
+
|
181 |
+
<h4><?php _e('Blocked domains', 'iubenda') ?></h4>
|
182 |
+
<fieldset class="custom-scripts mb-3 p-0 tabs tabs--style2">
|
183 |
+
<ul class="tabs__nav text-xs">
|
184 |
+
<li data-target="tab-custom-scripts" data-group="custom-scripts" class="tabs__nav__item active"><?php _e('Custom scripts', 'iubenda') ?></li>
|
185 |
+
<li data-target="tab-custom-iframes" data-group="custom-scripts" class="tabs__nav__item"><?php _e('Custom iframes', 'iubenda') ?></li>
|
186 |
+
</ul>
|
187 |
+
<div data-target="tab-custom-scripts" data-group="custom-scripts" class="tabs__target p-3 active">
|
188 |
+
<section id="custom-script-field" class="custom-script-field hidden">
|
189 |
+
<input type="text" class="regular-text" name="iubenda_cookie_law_solution[custom_scripts][script][]" placeholder="<?php _e('Enter custom script', 'iubenda') ?>" disabled>
|
190 |
+
<select name="iubenda_cookie_law_solution[custom_scripts][type][]" disabled>
|
191 |
+
<option value="0" selected="selected"><?php _e('Not set', 'iubenda') ?></option>
|
192 |
+
<option value="1"><?php _e('Strictly necessary', 'iubenda') ?></option>
|
193 |
+
<option value="2"><?php _e('Basic interactions & functionalities', 'iubenda') ?></option>
|
194 |
+
<option value="3"><?php _e('Experience enhancement', 'iubenda') ?></option>
|
195 |
+
<option value="4"><?php _e('Analytics', 'iubenda') ?></option>
|
196 |
+
<option value="5"><?php _e('Targeting & Advertising', 'iubenda') ?></option>
|
197 |
+
</select>
|
198 |
+
<a target="_blank" href="javascript:void(0)" class="remove-custom-script-field button-secondary remove-custom-section" data-remove-section=".custom-script-field" title="Remove">-</a>
|
199 |
+
</section>
|
200 |
+
<div id="custom-script-fields">
|
201 |
+
<?php
|
202 |
+
foreach (iubenda()->options['cs']['custom_scripts'] as $script => $type){
|
203 |
+
?>
|
204 |
+
<section class="custom-script-field">
|
205 |
+
<input type="text" class="regular-text" name="iubenda_cookie_law_solution[custom_scripts][script][]" placeholder="<?php _e('Enter custom script', 'iubenda') ?>" value="<?php echo esc_attr( stripslashes($script) ); ?>">
|
206 |
+
<select name="iubenda_cookie_law_solution[custom_scripts][type][]">
|
207 |
+
<option value="0" <?php selected( $type, 0 ); ?>><?php _e('Not set', 'iubenda') ?></option>
|
208 |
+
<option value="1" <?php selected( $type, 1 ); ?>><?php _e('Strictly necessary', 'iubenda') ?></option>
|
209 |
+
<option value="2" <?php selected( $type, 2 ); ?>><?php _e('Basic interactions & functionalities', 'iubenda') ?></option>
|
210 |
+
<option value="3" <?php selected( $type, 3 ); ?>><?php _e('Experience enhancement', 'iubenda') ?></option>
|
211 |
+
<option value="4" <?php selected( $type, 4 ); ?>><?php _e('Analytics', 'iubenda') ?></option>
|
212 |
+
<option value="5" <?php selected( $type, 5 ); ?>><?php _e('Targeting & Advertising', 'iubenda') ?></option>
|
213 |
+
</select>
|
214 |
+
<a target="_blank" href="javascript:void(0)" class="remove-custom-script-field button-secondary remove-custom-section" data-remove-section=".custom-script-field" title="Remove">-</a>
|
215 |
+
</section>
|
216 |
+
<?php }?>
|
217 |
+
</div>
|
218 |
+
|
219 |
+
<p class=" text-gray-lighter m-0 mb-3"><?php _e("Provide a list of domains for any custom scripts you'd like to block, and assign their purposes. To make sure they are blocked correctly, please add domains in the same format as 'example.com', without any protocols e.g. 'http://' or 'https://'. You may also use wildcards (*) to include parent domains or subdomains.", 'iubenda') ?></p>
|
220 |
+
<button class="btn btn-gray-outline btn-xs add-custom-section" data-append-section="#custom-script-fields" data-clone-section="#custom-script-field"><?php _e('Add New Script', 'iubenda') ?></button>
|
221 |
+
</div>
|
222 |
+
<div data-target="tab-custom-iframes" data-group="custom-scripts" class="tabs__target p-3">
|
223 |
+
<section id="custom-iframe-field" class="custom-iframe-field hidden">
|
224 |
+
<input type="text" class="regular-text" name="iubenda_cookie_law_solution[custom_iframes][iframe][]" placeholder="<?php _e('Enter custom iframe', 'iubenda') ?>" disabled>
|
225 |
+
<select name="iubenda_cookie_law_solution[custom_iframes][type][]" disabled>
|
226 |
+
<option value="0" selected="selected"><?php _e('Not set', 'iubenda') ?></option>
|
227 |
+
<option value="1"><?php _e('Strictly necessary', 'iubenda') ?></option>
|
228 |
+
<option value="2"><?php _e('Basic interactions & functionalities', 'iubenda') ?></option>
|
229 |
+
<option value="3"><?php _e('Experience enhancement', 'iubenda') ?></option>
|
230 |
+
<option value="4"><?php _e('Analytics', 'iubenda') ?></option>
|
231 |
+
<option value="5"><?php _e('Targeting & Advertising', 'iubenda') ?></option>
|
232 |
+
</select>
|
233 |
+
<a target="_blank" href="javascript:void(0)" class="remove-custom-iframe-field button-secondary remove-custom-section" data-remove-section=".custom-iframe-field" title="Remove">-</a>
|
234 |
+
</section>
|
235 |
+
<div id="custom-iframe-fields">
|
236 |
+
<?php
|
237 |
+
foreach (iub_array_get(iubenda()->options['cs'],'custom_iframes') as $iframe => $type){
|
238 |
+
?>
|
239 |
+
<section id="custom-iframe-field" class="custom-iframe-field">
|
240 |
+
<input type="text" class="regular-text" name="iubenda_cookie_law_solution[custom_iframes][iframe][]" placeholder="<?php _e('Enter custom iframe', 'iubenda') ?>" value='<?php echo esc_attr( stripslashes($iframe) ); ?>'>
|
241 |
+
<select name="iubenda_cookie_law_solution[custom_iframes][type][]">
|
242 |
+
<option value="0" <?php selected( $type, 0 ); ?>><?php _e('Not set', 'iubenda') ?></option>
|
243 |
+
<option value="1" <?php selected( $type, 1 ); ?>><?php _e('Strictly necessary', 'iubenda') ?></option>
|
244 |
+
<option value="2" <?php selected( $type, 2 ); ?>><?php _e('Basic interactions & functionalities', 'iubenda') ?></option>
|
245 |
+
<option value="3" <?php selected( $type, 3 ); ?>><?php _e('Experience enhancement', 'iubenda') ?></option>
|
246 |
+
<option value="4" <?php selected( $type, 4 ); ?>><?php _e('Analytics', 'iubenda') ?></option>
|
247 |
+
<option value="5" <?php selected( $type, 5 ); ?>><?php _e('Targeting & Advertising', 'iubenda') ?></option>
|
248 |
+
</select>
|
249 |
+
<a target="_blank" href="javascript:void(0)" class="remove-custom-iframe-field button-secondary remove-custom-section" data-remove-section=".custom-iframe-field" title="Remove">-</a>
|
250 |
+
</section>
|
251 |
+
<?php }?>
|
252 |
+
|
253 |
+
</div>
|
254 |
+
<p class="text-gray-lighter m-0 mb-3"><?php _e("Provide a list of domains for any custom iframes you'd like to block, and assign their purposes. To make sure they are blocked correctly, please add domains in the same format as 'example.com', without any protocols e.g. 'http://' or 'https://'. You may also use wildcards (*) to include parent domains or subdomains.", 'iubenda') ?></p>
|
255 |
+
<button class="btn btn-gray-outline btn-xs add-custom-section" data-append-section="#custom-iframe-fields" data-clone-section="#custom-iframe-field"><?php _e('Add New iframe', 'iubenda') ?></button>
|
256 |
+
</div>
|
257 |
+
</fieldset>
|
258 |
+
</section>
|
259 |
+
|
260 |
+
<div class="pt-3">
|
261 |
+
|
262 |
+
</div>
|
views/partials/csManualConfiguration.php
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="text-gray">
|
2 |
+
<p><?php _e('Configure your cookie banner on our website and paste here the embed code to integrate it to your website.', 'iubenda') ?></p>
|
3 |
+
<div class="d-flex align-items-center">
|
4 |
+
<div class="steps flex-shrink mr-2">1</div>
|
5 |
+
<p class="text-bold"> <?php _e('Configure cookie banner by', 'iubenda') ?>
|
6 |
+
<a target="_blank" href="<?php echo iubenda()->settings->links['flow_page']; ?>" class="link-underline text-gray-lighter"> <?php _e('clicking here', 'iubenda') ?></a>
|
7 |
+
</p>
|
8 |
+
</div>
|
9 |
+
<div class="d-flex align-items-center">
|
10 |
+
<div class="steps flex-shrink mr-2">2</div>
|
11 |
+
<p class="text-bold"> <?php _e('Paste your cookie solution embed code here', 'iubenda') ?>
|
12 |
+
</p>
|
13 |
+
</div>
|
14 |
+
<div class="pl-5 mt-3">
|
15 |
+
<?php require_once IUBENDA_PLUGIN_PATH . 'views/partials/languagesTabs.php'; ?>
|
16 |
+
</div>
|
17 |
+
</div>
|
views/partials/csPluginSettings.php
ADDED
@@ -0,0 +1,135 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="py-5">
|
2 |
+
<label class="checkbox-regular">
|
3 |
+
<input type="checkbox" name="iubenda_cookie_law_solution[parse]" value="1" class="mr-2 section-checkbox-control" data-section-name="#iub_parser_engine_container" <?php checked( true, (bool) iubenda()->options['cs']['parse'] ) ?>>
|
4 |
+
<span><?php _e('Automatically block scripts detected by the plugin', 'iubenda') ?> <a target="_blank" href="<?php echo iubenda()->settings->links['automatic_block_scripts']; ?>" class="ml-1 tooltip-icon">?</a></span>
|
5 |
+
</label>
|
6 |
+
<section id="iub_parser_engine_container" class="subOptions <?php echo (bool) iubenda()->options['cs']['parse']?: 'hidden' ?>">
|
7 |
+
<div class="mb-3 d-flex flex-wrap align-items-center">
|
8 |
+
<label class="radio-regular mr-4">
|
9 |
+
<input type="radio" name="iubenda_cookie_law_solution[parser_engine]" value="new" class="mr-2 section-radio-control" <?php checked( 'new', iubenda()->options['cs']['parser_engine'] ) ?>>
|
10 |
+
<span><?php _e('Primary', 'iubenda') ?></span>
|
11 |
+
</label>
|
12 |
+
<label class="mr-4 radio-regular text-xs">
|
13 |
+
<input type="radio" name="iubenda_cookie_law_solution[parser_engine]" value="default" class="mr-2 section-radio-control" <?php checked( 'default', iubenda()->options['cs']['parser_engine'] ) ?>>
|
14 |
+
<span><?php _e('Secondary', 'iubenda') ?></span>
|
15 |
+
</label>
|
16 |
+
</div>
|
17 |
+
<p class="px-3 mx-4"><?php _e("Select Parsing Engine", 'iubenda') ?></p>
|
18 |
+
<br>
|
19 |
+
<div class="mb-2 d-flex flex-wrap align-items-center">
|
20 |
+
<label class="checkbox-regular">
|
21 |
+
<input type="checkbox" name="iubenda_cookie_law_solution[skip_parsing]" value="1" class="mr-2 section-checkbox-control" data-section-name="#section-block-script" <?php checked( true, (bool) iubenda()->options['cs']['skip_parsing'] ) ?>>
|
22 |
+
<span><?php _e('Leave scripts untouched on the page if the user has already given consent', 'iubenda') ?></span>
|
23 |
+
</label>
|
24 |
+
<p class="px-3 mx-4"><?php _e("Enable this option to improve performance <strong>only</strong> if your site does <strong>not</strong> use a cache system or a cache plugin and if you're <strong>not</strong> collecting per-category consent. If you're in doubt, keep this setting disabled", 'iubenda') ?></p>
|
25 |
+
</div>
|
26 |
+
</section>
|
27 |
+
<label class="checkbox-regular">
|
28 |
+
<input type="checkbox" class="mr-2" name="iubenda_cookie_law_solution[ctype]" value="1" <?php checked( true, (bool) iubenda()->options['cs']['ctype'] ) ?>>
|
29 |
+
<span><?php _e('Restrict the plugin to run only for requests that have "Content-type: text / html" (recommended)', 'iubenda') ?></span>
|
30 |
+
</label>
|
31 |
+
<label class="checkbox-regular">
|
32 |
+
<input type="checkbox" class="mr-2" name="iubenda_cookie_law_solution[output_feed]" value="1" <?php checked( true, (bool) iubenda()->options['cs']['output_feed'] ) ?>>
|
33 |
+
<span><?php _e('Do not run the plugin inside the RSS feed (recommended)', 'iubenda') ?></span>
|
34 |
+
</label>
|
35 |
+
<label class="checkbox-regular">
|
36 |
+
<input type="checkbox" class="mr-2" name="iubenda_cookie_law_solution[output_post]" value="1" <?php checked( true, (bool) iubenda()->options['cs']['output_post'] ) ?>>
|
37 |
+
<span><?php _e('Do not run the plugin on POST requests (recommended)', 'iubenda') ?></span>
|
38 |
+
</label>
|
39 |
+
<label class="checkbox-regular">
|
40 |
+
<input type="checkbox" class="mr-2" name="iubenda_cookie_law_solution[deactivation]" value="1" <?php checked( true, (bool) iubenda()->options['cs']['deactivation'] ) ?>>
|
41 |
+
<span><?php _e('Delete all plugin data upon deactivation', 'iubenda') ?></span>
|
42 |
+
</label>
|
43 |
+
</div>
|
44 |
+
<div class="mb-5">
|
45 |
+
<h4><?php _e('Menu position', 'iubenda') ?></h4>
|
46 |
+
<div class="mb-2 d-flex align-items-center flex-wrap">
|
47 |
+
<label class="radio-regular mr-3">
|
48 |
+
<input type="radio" name="iubenda_cookie_law_solution[menu_position]" value="topmenu" class="mr-2" <?php checked( 'topmenu', iubenda()->options['cs']['menu_position'] ) ?>>
|
49 |
+
<span><?php _e('Top menu', 'iubenda') ?></span>
|
50 |
+
</label>
|
51 |
+
<label class="mr-4 radio-regular text-xs">
|
52 |
+
<input type="radio" name="iubenda_cookie_law_solution[menu_position]" value="submenu" class="mr-2" <?php checked( 'submenu', iubenda()->options['cs']['menu_position'] ) ?>>
|
53 |
+
<span><?php _e('Submenu', 'iubenda') ?></span>
|
54 |
+
</label>
|
55 |
+
</div>
|
56 |
+
<p class="description"><?php _e('Select whether to display iubenda in a top admin menu or the Settings submenu.', 'iubenda') ?></p>
|
57 |
+
</div>
|
58 |
+
|
59 |
+
<h4><?php _e('Custom settings', 'iubenda') ?></h4>
|
60 |
+
<fieldset class="custom-scripts mb-3 p-0 tabs tabs--style2">
|
61 |
+
<ul class="tabs__nav text-xs">
|
62 |
+
<li data-target="tab-custom-scripts" data-group="custom-scripts" class="tabs__nav__item active"><?php _e('Custom scripts', 'iubenda') ?></li>
|
63 |
+
<li data-target="tab-custom-iframes" data-group="custom-scripts" class="tabs__nav__item"><?php _e('Custom iframes', 'iubenda') ?></li>
|
64 |
+
</ul>
|
65 |
+
<div data-target="tab-custom-scripts" data-group="custom-scripts" class="tabs__target p-3 active">
|
66 |
+
<section id="custom-script-field" class="custom-script-field hidden">
|
67 |
+
<input type="text" class="regular-text" name="iubenda_cookie_law_solution[custom_scripts][script][]" placeholder="<?php _e('Enter custom script', 'iubenda') ?>"" disabled>
|
68 |
+
<select name="iubenda_cookie_law_solution[custom_scripts][type][]" disabled>
|
69 |
+
<option value="0" selected="selected"><?php _e('Not set', 'iubenda') ?></option>
|
70 |
+
<option value="1"><?php _e('Strictly necessary', 'iubenda') ?></option>
|
71 |
+
<option value="2"><?php _e('Basic interactions & functionalities', 'iubenda') ?></option>
|
72 |
+
<option value="3"><?php _e('Experience enhancement', 'iubenda') ?></option>
|
73 |
+
<option value="4"><?php _e('Analytics', 'iubenda') ?></option>
|
74 |
+
<option value="5"><?php _e('Targeting & Advertising', 'iubenda') ?></option>
|
75 |
+
</select>
|
76 |
+
<a target="_blank" href="javascript:void(0)" class="remove-custom-script-field button-secondary remove-custom-section" data-remove-section=".custom-script-field" title="Remove">-</a>
|
77 |
+
</section>
|
78 |
+
<div id="custom-script-fields">
|
79 |
+
<?php
|
80 |
+
foreach (iubenda()->options['cs']['custom_scripts'] as $script => $type){
|
81 |
+
?>
|
82 |
+
<section class="custom-script-field">
|
83 |
+
<input type="text" class="regular-text" name="iubenda_cookie_law_solution[custom_scripts][script][]" placeholder="<?php _e('Enter custom script', 'iubenda') ?>"" value="<?php echo esc_attr( stripslashes($script) ); ?>">
|
84 |
+
<select name="iubenda_cookie_law_solution[custom_scripts][type][]">
|
85 |
+
<option value="0" <?php selected( $type, 0 ); ?>><?php _e('Not set', 'iubenda') ?></option>
|
86 |
+
<option value="1" <?php selected( $type, 1 ); ?>><?php _e('Strictly necessary', 'iubenda') ?></option>
|
87 |
+
<option value="2" <?php selected( $type, 2 ); ?>><?php _e('Basic interactions & functionalities', 'iubenda') ?></option>
|
88 |
+
<option value="3" <?php selected( $type, 3 ); ?>><?php _e('Experience enhancement', 'iubenda') ?></option>
|
89 |
+
<option value="4" <?php selected( $type, 4 ); ?>><?php _e('Analytics', 'iubenda') ?></option>
|
90 |
+
<option value="5" <?php selected( $type, 5 ); ?>><?php _e('Targeting & Advertising', 'iubenda') ?></option>
|
91 |
+
</select>
|
92 |
+
<a target="_blank" href="javascript:void(0)" class="remove-custom-script-field button-secondary remove-custom-section" data-remove-section=".custom-script-field" title="Remove">-</a>
|
93 |
+
</section>
|
94 |
+
<?php }?>
|
95 |
+
</div>
|
96 |
+
|
97 |
+
<p class=" text-gray-lighter m-0 mb-3"><?php _e("Provide a list of domains for any custom scripts you'd like to block, and assign their purposes. To make sure they are blocked correctly, please add domains in the same format as 'example.com', without any protocols e.g. 'http://' or 'https://'. You may also use wildcards (*) to include parent domains or subdomains.", 'iubenda') ?></p>
|
98 |
+
<button class="btn btn-gray-outline btn-xs add-custom-section" data-append-section="#custom-script-fields" data-clone-section="#custom-script-field"><?php _e('Add New Script', 'iubenda') ?></button>
|
99 |
+
</div>
|
100 |
+
<div data-target="tab-custom-iframes" data-group="custom-scripts" class="tabs__target p-3">
|
101 |
+
<section id="custom-iframe-field" class="custom-iframe-field hidden">
|
102 |
+
<input type="text" class="regular-text" name="iubenda_cookie_law_solution[custom_iframes][iframe][]" placeholder="<?php _e('Enter custom iframe', 'iubenda') ?>"" disabled>
|
103 |
+
<select name="iubenda_cookie_law_solution[custom_iframes][type][]" disabled>
|
104 |
+
<option value="0" selected="selected"><?php _e('Not set', 'iubenda') ?></option>
|
105 |
+
<option value="1"><?php _e('Strictly necessary', 'iubenda') ?></option>
|
106 |
+
<option value="2"><?php _e('Basic interactions & functionalities', 'iubenda') ?></option>
|
107 |
+
<option value="3"><?php _e('Experience enhancement', 'iubenda') ?></option>
|
108 |
+
<option value="4"><?php _e('Analytics', 'iubenda') ?></option>
|
109 |
+
<option value="5"><?php _e('Targeting & Advertising', 'iubenda') ?></option>
|
110 |
+
</select>
|
111 |
+
<a target="_blank" href="javascript:void(0)" class="remove-custom-iframe-field button-secondary remove-custom-section" data-remove-section=".custom-iframe-field" title="Remove">-</a>
|
112 |
+
</section>
|
113 |
+
<div id="custom-iframe-fields">
|
114 |
+
<?php
|
115 |
+
foreach (iub_array_get(iubenda()->options['cs'],'custom_iframes') as $iframe => $type){
|
116 |
+
?>
|
117 |
+
<section id="custom-iframe-field" class="custom-iframe-field">
|
118 |
+
<input type="text" class="regular-text" name="iubenda_cookie_law_solution[custom_iframes][iframe][]" placeholder="<?php _e('Enter custom iframe', 'iubenda') ?>" value='<?php echo esc_attr( stripslashes($iframe) ); ?>'>
|
119 |
+
<select name="iubenda_cookie_law_solution[custom_iframes][type][]">
|
120 |
+
<option value="0" <?php selected( $type, 0 ); ?>><?php _e('Not set', 'iubenda') ?></option>
|
121 |
+
<option value="1" <?php selected( $type, 1 ); ?>><?php _e('Strictly necessary', 'iubenda') ?></option>
|
122 |
+
<option value="2" <?php selected( $type, 2 ); ?>><?php _e('Basic interactions & functionalities', 'iubenda') ?></option>
|
123 |
+
<option value="3" <?php selected( $type, 3 ); ?>><?php _e('Experience enhancement', 'iubenda') ?></option>
|
124 |
+
<option value="4" <?php selected( $type, 4 ); ?>><?php _e('Analytics', 'iubenda') ?></option>
|
125 |
+
<option value="5" <?php selected( $type, 5 ); ?>><?php _e('Targeting & Advertising', 'iubenda') ?></option>
|
126 |
+
</select>
|
127 |
+
<a target="_blank" href="javascript:void(0)" class="remove-custom-iframe-field button-secondary remove-custom-section" data-remove-section=".custom-iframe-field" title="Remove">-</a>
|
128 |
+
</section>
|
129 |
+
<?php }?>
|
130 |
+
|
131 |
+
</div>
|
132 |
+
<p class="text-gray-lighter m-0 mb-3"><?php _e("Provide a list of domains for any custom iframes you'd like to block, and assign their purposes. To make sure they are blocked correctly, please add domains in the same format as 'example.com', without any protocols e.g. 'http://' or 'https://'. You may also use wildcards (*) to include parent domains or subdomains.", 'iubenda') ?></p>
|
133 |
+
<button class="btn btn-gray-outline btn-xs add-custom-section" data-append-section="#custom-iframe-fields" data-clone-section="#custom-iframe-field"><?php _e('Add New iframe', 'iubenda') ?></button>
|
134 |
+
</div>
|
135 |
+
</fieldset>
|
views/partials/csSimplifiedConfiguration.php
ADDED
@@ -0,0 +1,97 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="d-lg-flex">
|
2 |
+
|
3 |
+
<?php require_once IUBENDA_PLUGIN_PATH . '/views/partials/bannerPosition.php'; ?>
|
4 |
+
<?php require_once IUBENDA_PLUGIN_PATH . '/views/partials/bannerStyle.php'; ?>
|
5 |
+
|
6 |
+
</div>
|
7 |
+
|
8 |
+
<div class="mb-5">
|
9 |
+
<h4><?php _e('Legislation', 'iubenda') ?></h4>
|
10 |
+
<div class="scrollable gap-fixer">
|
11 |
+
<fieldset class="d-flex radio-large">
|
12 |
+
<div class="radio-controller">
|
13 |
+
<input type="radio" id="radioGdpr" name="iubenda_cookie_law_solution[simplified][legislation]" value="gdpr" <?php checked( 'gdpr', iub_array_get(iubenda()->options['cs'], 'simplified.legislation'), true ) ?>>
|
14 |
+
<label for="radioGdpr"><?php _e('GDPR Only', 'iubenda') ?></label>
|
15 |
+
</div>
|
16 |
+
<div class="radio-controller">
|
17 |
+
<input type="radio" id="radioCcpa" name="iubenda_cookie_law_solution[simplified][legislation]" value="ccpa" <?php checked( 'ccpa', iub_array_get(iubenda()->options['cs'], 'simplified.legislation'), true ) ?>>
|
18 |
+
<label for="radioCcpa"><?php _e('CCPA Only', 'iubenda') ?></label>
|
19 |
+
</div>
|
20 |
+
<div class="radio-controller">
|
21 |
+
<input type="radio" id="radioBoth" name="iubenda_cookie_law_solution[simplified][legislation]" value="both" <?php checked( 'both', iub_array_get(iubenda()->options['cs'], 'simplified.legislation'), true ) ?>>
|
22 |
+
<label for="radioBoth"><?php _e('Both', 'iubenda') ?></label>
|
23 |
+
</div>
|
24 |
+
</fieldset>
|
25 |
+
</div>
|
26 |
+
</div>
|
27 |
+
|
28 |
+
<div class="mb-5">
|
29 |
+
<h4><?php _e('Require consent from', 'iubenda') ?></h4>
|
30 |
+
<div class="scrollable gap-fixer">
|
31 |
+
<fieldset class="d-flex radio-large">
|
32 |
+
<div class="radio-controller">
|
33 |
+
<input type="radio" id="radioWorldwide" name="iubenda_cookie_law_solution[simplified][require_consent]" value="worldwide" <?php checked( 'worldwide', iub_array_get(iubenda()->options['cs'], 'simplified.require_consent') ) ?>>
|
34 |
+
<label for="radioWorldwide">
|
35 |
+
<div class="d-flex align-items-center">
|
36 |
+
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="30" viewBox="0 0 32 30">
|
37 |
+
<g fill="none" fill-rule="evenodd" transform="translate(1 1.632)">
|
38 |
+
<circle cx="18" cy="14.368" r="13" fill="currentColor" fill-opacity=".1" />
|
39 |
+
<circle cx="13" cy="13.368" r="13" stroke="currentColor" />
|
40 |
+
<path stroke="currentColor" d="M17.545 4.368h-3.409l-2.045 1.715v1.143h-2.046L8 8.368v1.143h3.409l.682.572h1.364l1.363 1.143h2.727l1.364 1.142 1.364-1.142H23M15.5 15.243h-1.25l-1.875-1.875h-2.5L8 15.243l1.25 3.125h1.875l1.25 1.25v3.125l.625.625h1.25l1.875-1.875v-1.875L18 17.743z" />
|
41 |
+
</g>
|
42 |
+
</svg>
|
43 |
+
<span class="ml-2"><?php _e('Worldwide', 'iubenda') ?></span>
|
44 |
+
</div>
|
45 |
+
</label>
|
46 |
+
</div>
|
47 |
+
<div class="radio-controller">
|
48 |
+
<input type="radio" id="radioEU" name="iubenda_cookie_law_solution[simplified][require_consent]" value="eu_only" <?php checked( 'eu_only', iub_array_get(iubenda()->options['cs'], 'simplified.require_consent'), true ) ?>>
|
49 |
+
<label for="radioEU">
|
50 |
+
<div class=" d-flex align-items-center">
|
51 |
+
<svg xmlns="http://www.w3.org/2000/svg" width="30" height="28" viewBox="0 0 30 28">
|
52 |
+
<g fill="none" fill-rule="evenodd">
|
53 |
+
<path fill="currentColor" fill-opacity=".1" d="M4.5 5.5H30v18H4.5z" />
|
54 |
+
<path fill="currentColor" d="M13.5 7a.75.75 0 100-1.5.75.75 0 000 1.5zM13.5 17.5a.75.75 0 100-1.5.75.75 0 000 1.5zM18 11.5a.75.75 0 101.5 0 .75.75 0 00-1.5 0zM7.5 11.5a.75.75 0 101.5 0 .75.75 0 00-1.5 0zM16.682 14.682a.75.75 0 101.06 1.06.75.75 0 00-1.06-1.06zM9.257 7.257a.75.75 0 101.061 1.061.75.75 0 00-1.06-1.06zM10.318 14.682a.75.75 0 10-1.06 1.06.75.75 0 001.06-1.06zM17.743 7.257a.75.75 0 10-1.061 1.061.75.75 0 001.06-1.06z" />
|
55 |
+
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M.75 2.5h25.391v18H.75z" />
|
56 |
+
<path class="svg-stroke" fill="#D8D8D8" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M.75 1v26.027" />
|
57 |
+
</g>
|
58 |
+
</svg>
|
59 |
+
<span class="ml-2"><?php _e('EU Only', 'iubenda') ?></span>
|
60 |
+
</div>
|
61 |
+
</label>
|
62 |
+
</div>
|
63 |
+
</fieldset>
|
64 |
+
</div>
|
65 |
+
</div>
|
66 |
+
|
67 |
+
<div class="my-5">
|
68 |
+
<h4><?php _e('Banner buttons', 'iubenda') ?></h4>
|
69 |
+
<fieldset>
|
70 |
+
<label class="checkbox-regular">
|
71 |
+
<input type="checkbox" class="mr-2 tcf-dependency" name="iubenda_cookie_law_solution[simplified][explicit_accept]" <?php checked( true, (bool) iub_array_get(iubenda()->options['cs'], 'simplified.explicit_accept')); ?> <?php echo true == (bool) iub_array_get(iubenda()->options['cs'], 'simplified.tcf') ? 'disabled':null ?>>
|
72 |
+
<span><?php _e('Explicit Accept and Customize buttons', 'iubenda') ?></span>
|
73 |
+
</label>
|
74 |
+
|
75 |
+
<label class="checkbox-regular">
|
76 |
+
<input type="checkbox" class="mr-2 tcf-dependency" name="iubenda_cookie_law_solution[simplified][explicit_reject]" <?php checked( true, (bool) iub_array_get(iubenda()->options['cs'], 'simplified.explicit_reject')); ?> <?php echo true == (bool) iub_array_get(iubenda()->options['cs'], 'simplified.tcf') ? 'disabled':null ?>>
|
77 |
+
<span><?php _e('Explicit Reject button', 'iubenda') ?></span>
|
78 |
+
</label>
|
79 |
+
</fieldset>
|
80 |
+
</div>
|
81 |
+
|
82 |
+
<div class="my-5">
|
83 |
+
<h4><?php _e('Other options', 'iubenda') ?></h4>
|
84 |
+
<label class="checkbox-regular">
|
85 |
+
<input type="checkbox" class="mr-2 iub-toggle-elements-status" data-group=".tcf-dependency" name="iubenda_cookie_law_solution[simplified][tcf]" <?php checked( true, (bool) iub_array_get(iubenda()->options['cs'], 'simplified.tcf')); ?>>
|
86 |
+
<span>
|
87 |
+
<div>
|
88 |
+
<?php _e('Enable IAB Transparency and Consent Framework', 'iubenda') ?> - <a target="_blank" href="<?php echo iubenda()->settings->links['enable_iab']; ?>" class="link-underline"><?php _e('Learn More', 'iubenda') ?></a></div>
|
89 |
+
<div class="notice notice--warning mt-2 p-3 d-flex align-items-center text-warning text-xs">
|
90 |
+
<img class="mr-2" src="<?php echo IUBENDA_PLUGIN_URL ?>/assets/images/warning-icon.svg">
|
91 |
+
|
92 |
+
<p><?php _e('You should activate this feature if you show ads on your website', 'iubenda') ?></p>
|
93 |
+
</div>
|
94 |
+
</span>
|
95 |
+
</label>
|
96 |
+
|
97 |
+
</div>
|
views/partials/footer.php
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<footer class="py-4">
|
2 |
+
<div class="d-flex justify-content-center">
|
3 |
+
<div class="text-center">
|
4 |
+
<p>Cookie and Consent Solution for the GDPR & ePrivacy | v<?php echo get_option( 'iubenda_cookie_law_version' ) ?></p>
|
5 |
+
<a target="_blank" class="text-bold text-xs text-gray mr-4" href="<?php echo iubenda()->settings->links['documentation']; ?>"><?php _e('Documentation', 'iubenda') ?></a>
|
6 |
+
</div>
|
7 |
+
</div>
|
8 |
+
</footer>
|
views/partials/frontpage_main_box.php
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div id="alert-div-container" class="hidden">
|
2 |
+
<div id="alert-div" class="alert is-dismissible m-4" >
|
3 |
+
<div class="alert__icon p-4">
|
4 |
+
<img id="alert-image" src="<?php echo IUBENDA_PLUGIN_URL ?>/assets/images/banner_failure.svg">
|
5 |
+
</div>
|
6 |
+
<p id="alert-message" class="text-regular text-left"></p>
|
7 |
+
<button class="btn-close mr-3 notice-dismiss">×</button>
|
8 |
+
</div>
|
9 |
+
</div>
|
10 |
+
|
11 |
+
<?php require_once (IUBENDA_PLUGIN_PATH . 'views/partials/welcomeScreenHeader.php'); ?>
|
12 |
+
|
13 |
+
<?php
|
14 |
+
$radar = new RadarService();
|
15 |
+
|
16 |
+
if (!empty($radar->apiConfiguration) && iub_array_get($radar->apiConfiguration, 'status') == 'completed') {
|
17 |
+
require_once IUBENDA_PLUGIN_PATH . '/views/partials/header_scanned.php';
|
18 |
+
} else {
|
19 |
+
?>
|
20 |
+
<div class="p-4 my-5 text-center">
|
21 |
+
<span class="inline-spinner lg text-gray"></span>
|
22 |
+
<p class="m-0 mt-3 text-md"><?php _e('Analyzing your website', 'iubenda') ?>...</p>
|
23 |
+
</div>
|
24 |
+
|
25 |
+
<div class="mt-4 pt-4">
|
26 |
+
<h2 class="text-md m-0 mb-4"><?php _e('This is what you may need to be compliant', 'iubenda') ?>:</h2>
|
27 |
+
</div>
|
28 |
+
<?php
|
29 |
+
}
|
30 |
+
?>
|
31 |
+
|
32 |
+
|
33 |
+
<div>
|
34 |
+
<ul class="list_radar m-0 mt-4 px-4">
|
35 |
+
<?php foreach (iubenda()->serviceRating->rating_calculation_components() as $key => $service) : ?>
|
36 |
+
<li class="list_radar__item my-5 my-lg-0 mx-lg-3 list_radar__item--<?php echo iub_array_get($radar->apiConfiguration, 'status') == 'completed' ? iub_array_get($service, 'status') == true ? 'on':'off' : null; ?> iubenda-<?php echo $key ?>-item">
|
37 |
+
<figure><img src="<?php echo IUBENDA_PLUGIN_URL ?>/assets/images/list_radar_<?php echo $key; ?>.svg"></figure>
|
38 |
+
<p class="text-bold m-0 mx-4"><?php echo $service['label']; ?></p>
|
39 |
+
</li>
|
40 |
+
<?php endforeach; ?>
|
41 |
+
</ul>
|
42 |
+
</div>
|
views/partials/header.php
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<header class="text-center">
|
2 |
+
<a href="https://www.iubenda.com" target="_blank">
|
3 |
+
<img src="<?php echo IUBENDA_PLUGIN_URL ?>/assets/images/iubenda_logo.svg" alt="iubenda logo">
|
4 |
+
</a>
|
5 |
+
</header>
|
6 |
+
|
7 |
+
<div id="iubenda-alert" class="p-2 hidden" style="width: 90%;max-width: 1140px;margin: 0 auto;" >
|
8 |
+
<div class="alert alert--failure">
|
9 |
+
<div class="alert__icon p-4">
|
10 |
+
<img src="<?php echo IUBENDA_PLUGIN_URL ?>/assets/images/banner_failure.svg">
|
11 |
+
</div>
|
12 |
+
<p class="text-md text-lg-left" id="iubenda-alert-content"></p>
|
13 |
+
</div>
|
14 |
+
</div>
|
views/partials/header_scanned.php
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="my-5">
|
2 |
+
<div class="circularBar" id="iubendaRadarCircularBar" data-perc="<?php echo iubenda()->serviceRating->services_percentage() ?>"></div>
|
3 |
+
<h2 class="text-md mt-2 mb-1"><?php _e('Your rating', 'iubenda') ?></h2>
|
4 |
+
<p class="m-0"><?php _e('We have analyzed your website in background and this is the result.', 'iubenda') ?></p>
|
5 |
+
</div>
|
views/partials/integrateFooter.php
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<hr>
|
2 |
+
<div class="px-3 m-4 d-flex align-items-center justify-content-between">
|
3 |
+
<button type='reset' class="btn btn-gray-lighter btn-sm"><?php _e('Reset settings', 'iubenda') ?></button>
|
4 |
+
<button type="submit" class="btn btn-green-primary btn-sm"><span class="button__text"><?php _e('Integrate', 'iubenda') ?></span></button>
|
5 |
+
</div>
|
views/partials/languagesTabs.php
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="mb-3 p-0">
|
2 |
+
|
3 |
+
<fieldset class="paste_embed_code tabs tabs--style2">
|
4 |
+
|
5 |
+
<ul class="tabs__nav">
|
6 |
+
<?php foreach(iubenda()->languages as $k => $v): ?>
|
7 |
+
<li id="<?php echo "code_{$k}-iubenda_{$service['name']}_solution_tab" ?>" class="tabs__nav__item <?php echo $k == iubenda()->lang_default?'active':false ; ?>" data-target="tab-<?php echo $k ; ?>" data-group="language-tabs">
|
8 |
+
<?php echo strtoupper($k) ; ?>
|
9 |
+
</li>
|
10 |
+
<?php endforeach; ?>
|
11 |
+
</ul>
|
12 |
+
|
13 |
+
<?php
|
14 |
+
$product_helper = new ProductHelper();
|
15 |
+
|
16 |
+
foreach($product_helper->get_languages() as $lang_id => $v):
|
17 |
+
$method = "get_{$key}_embed_code_by_lang";
|
18 |
+
$code = $product_helper->{$method}($lang_id);
|
19 |
+
?>
|
20 |
+
<div data-target="tab-<?php echo $lang_id ; ?>" class="tabs__target <?php echo $lang_id == iubenda()->lang_default || $lang_id == 'default'? 'active': '' ; ?>" data-group="language-tabs">
|
21 |
+
<textarea class='form-control text-sm m-0 iub-language-code iub-embed-code-<?php echo $key; ?>' data-language="<?php echo $lang_id; ?>" placeholder='<?php _e('Paste your embed code here', 'iubenda') ?>' name='iubenda_<?php echo $service['name']; ?>_solution[code_<?php echo $lang_id ; ?>]' rows='4'><?php echo $code ?></textarea>
|
22 |
+
</div>
|
23 |
+
<?php endforeach; ?>
|
24 |
+
|
25 |
+
</fieldset>
|
26 |
+
<div class="text-right mt-2">
|
27 |
+
<a target="_blank" href="<?php echo iubenda()->settings->links["how_generate_{$key}"]; ?>" class="link link-helper"><span class="tooltip-icon mr-2">?</span><?php _e('Where can I find this code?', 'iubenda') ?></a>
|
28 |
+
</div>
|
29 |
+
</div>
|
views/partials/modals/modal_almost_there.php
ADDED
@@ -0,0 +1,81 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="modalAlmostThere">
|
2 |
+
|
3 |
+
<div class="text-center">
|
4 |
+
<img src="<?php echo IUBENDA_PLUGIN_URL ?>/assets/images/modals/modal_almost_there.svg" alt="" />
|
5 |
+
<h2 class="text-lg"><?php _e('Nice! We are almost there.', 'iubenda') ?></h2>
|
6 |
+
<p class="text-regular pb-3"><?php _e('Since you already activated some products for this website, we just ask you to copy and paste the embedding code of the product you already have to syncronize your iubenda acount with WP plugin.', 'iubenda') ?></p>
|
7 |
+
</div>
|
8 |
+
|
9 |
+
<form class="ajax-form">
|
10 |
+
<input hidden name="action" value="update_options">
|
11 |
+
<input hidden name="_redirect" value="<?php echo esc_url(add_query_arg(['view' => 'products-page'], iubenda()->base_url)) ?>">
|
12 |
+
|
13 |
+
<h4 class="mb-3"><?php _e('Select products you have already activated', 'iubenda') ?></h4>
|
14 |
+
<div class="radio-cards pb-3 mb-4">
|
15 |
+
|
16 |
+
<?php foreach(iubenda()->settings->services as $key => $service): ?>
|
17 |
+
<label for="radio-card-<?php echo $key; ?>" class="radio-card">
|
18 |
+
<input type="checkbox" name="iubenda_<?php echo $service['name']; ?>_solution_status" class="select-product-checkbox section-checkbox-control<?php if($key == 'cs'): echo ' required-control'; endif;?>" data-section-name="#section-<?php echo $key; ?>" <?php if($key == 'cs'): echo 'data-required-control="#submit-btn"'; endif;?> value="true" id="radio-card-<?php echo $key; ?>" <?php echo $service['status']=='true' ? 'checked':''; ?>/>
|
19 |
+
<span class="check-icon"></span>
|
20 |
+
|
21 |
+
<div>
|
22 |
+
<img src="<?php echo IUBENDA_PLUGIN_URL ?>/assets/images/checkboxes/<?php echo $key; ?>_icon.svg" alt="<?php echo $service['label']; ?>" />
|
23 |
+
<span>
|
24 |
+
<?php echo $service['label']; ?>
|
25 |
+
<?php if ($key == 'cs'): echo __('(required)', 'iubenda'); endif; ?>
|
26 |
+
</span>
|
27 |
+
</div>
|
28 |
+
</label>
|
29 |
+
|
30 |
+
<?php endforeach; ?>
|
31 |
+
|
32 |
+
</div>
|
33 |
+
|
34 |
+
<?php foreach(iubenda()->settings->services as $key => $service): ?>
|
35 |
+
<?php if ($key == 'cons'): ?>
|
36 |
+
<section id="section-<?php echo $key; ?>" class="<?php echo $service['status']=='true' ? '':'hidden'; ?>">
|
37 |
+
<h4 class="mb-3"><?php _e('Consent Solution API key', 'iubenda') ?></h4>
|
38 |
+
<fieldset class="paste_embed_code">
|
39 |
+
<input name="public_api_key" class="form field-input" type="text" value="<?php echo iubenda()->options['cons']['public_api_key'] ?>" placeholder="<?php _e('Paste your API key here', 'iubenda') ?>">
|
40 |
+
</fieldset>
|
41 |
+
<div class="text-right mt-2">
|
42 |
+
<a target="_blank" href="<?php echo iubenda()->settings->links['how_generate_cons']; ?>" class="link link-helper"><span class="tooltip-icon mr-2">?</span><?php _e('Where can I find this code?', 'iubenda') ?></a>
|
43 |
+
</div>
|
44 |
+
</section>
|
45 |
+
<?php else: ?>
|
46 |
+
<section id="section-<?php echo $key; ?>" class="<?php echo $service['status']=='true' ? '':'hidden'; ?>">
|
47 |
+
<h4 class="mb-3"><?php echo $service['label']; ?></h4>
|
48 |
+
<?php
|
49 |
+
// Check if we support current theme to attach legal
|
50 |
+
if (!iubenda()->check_if_we_support_current_theme_to_attach_legal()) {
|
51 |
+
$url = 'javascript:void(0)';
|
52 |
+
|
53 |
+
if(iubenda()->widget->check_current_theme_supports_widget()){
|
54 |
+
$url = admin_url( 'widgets.php' );
|
55 |
+
}elseif(iubenda()->block->check_current_theme_supports_blocks()){
|
56 |
+
$url = admin_url( 'site-editor.php' );
|
57 |
+
}
|
58 |
+
|
59 |
+
?>
|
60 |
+
<div class="notice notice--warning mt-2 mb-4 p-3 d-flex align-items-center text-warning text-xs">
|
61 |
+
<img class="mr-2" style="width: 3rem !important" src="<?php echo IUBENDA_PLUGIN_URL ?>/assets/images/warning-icon.svg">
|
62 |
+
<p><?php echo sprintf( __( 'We were not able to add a "Legal" widget/block to the footer as your theme is not compatible, you can position the "Legal" widget/block manually from <a href="%s" target="_blank">here</a>.', 'iubenda' ), esc_url( $url ) ) ?></p>
|
63 |
+
</div>
|
64 |
+
<?php
|
65 |
+
}
|
66 |
+
?>
|
67 |
+
<?php require IUBENDA_PLUGIN_PATH . '/views/partials/languagesTabs.php'; ?>
|
68 |
+
</section>
|
69 |
+
<?php endif; ?>
|
70 |
+
|
71 |
+
<?php endforeach; ?>
|
72 |
+
|
73 |
+
<div class="text-center">
|
74 |
+
<button type="submit" class="btn btn-green-primary btn-sm mt-5 hidden" id="submit-btn" onclick="_paq.push(['trackEvent', 'Click', 'Synchronize products']);">
|
75 |
+
<span class="button__text"><?php _e('Synchronize products', 'iubenda') ?></span>
|
76 |
+
</button>
|
77 |
+
</div>
|
78 |
+
|
79 |
+
</form>
|
80 |
+
|
81 |
+
</div>
|
views/partials/modals/modal_no_website_found.php
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div id="modal-no-website-found" class="modal" style="z-index: 999999 !important;">
|
2 |
+
<div class="modal__window modal__window--md p-4 p-lg-5">
|
3 |
+
<div class="modalSync">
|
4 |
+
<img class="ml-4" src="<?php echo IUBENDA_PLUGIN_URL ?>/assets/images/modals/modal_no_website_found.svg" alt="" />
|
5 |
+
<h1 class="text-lg">
|
6 |
+
<?php _e('Ooops! <br> No website found with this embed code.', 'iubenda') ?>
|
7 |
+
</h1>
|
8 |
+
<p class="mb-4"><?php _e('It seems that it is not possible to access your data with the code you pasted, do you want to try again or do you prefer to start configuring your website from scratch?', 'iubenda') ?></p>
|
9 |
+
|
10 |
+
<button class="btn btn-gray-lighter btn-block btn-sm mb-3 hide-modal" data-modal-name="#modal-no-website-found" href="javascript:void(0)" onclick="_paq.push(['trackEvent', 'Click', 'Try again']);"><?php _e('Try again', 'iubenda') ?></button>
|
11 |
+
<div class="btn btn-gray-lighter btn-block btn-sm show-modal" data-modal-name="#modal-setup-screen" onclick="_paq.push(['trackEvent', 'Click', 'I want to start from scratch']);"> <?php _e('I want to start from scratch', 'iubenda') ?></div>
|
12 |
+
</div>
|
13 |
+
</div>
|
14 |
+
</div>
|
views/partials/modals/modal_ops_embed_invalid.php
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div id="modal-no-website-found" class="modal" style="z-index: 999999 !important;">
|
2 |
+
<div class="modal__window modal__window--md p-4 p-lg-5">
|
3 |
+
<div class="modalSync">
|
4 |
+
<img class="ml-4" src="<?php echo IUBENDA_PLUGIN_URL ?>/assets/images/modals/modal_no_website_found.svg" alt="" />
|
5 |
+
<h1 class="text-lg">
|
6 |
+
<?php _e('Ooops! <br> No website found with this embed code.', 'iubenda') ?>
|
7 |
+
</h1>
|
8 |
+
<p class="mb-4"><?php _e('It seems that it is not possible to access your data with the code you pasted, do you want to try again.', 'iubenda') ?></p>
|
9 |
+
|
10 |
+
<button class="btn btn-gray-lighter btn-block btn-sm mb-3 hide-modal" data-modal-name="#modal-no-website-found" href="javascript:void(0)"><?php _e('Try again', 'iubenda') ?></button>
|
11 |
+
</div>
|
12 |
+
</div>
|
13 |
+
</div>
|
views/partials/modals/modal_pp_created.php
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="modalSync">
|
2 |
+
<img src="<?php echo IUBENDA_PLUGIN_URL ?>/assets/images/modals/modal_pp_created.svg" alt="" />
|
3 |
+
|
4 |
+
<h1 class="text-xl">
|
5 |
+
<?php _e('Your privacy policy has been created!', 'iubenda') ?>
|
6 |
+
</h1>
|
7 |
+
<p class="mb-4"><?php _e('From here you can customize your privacy policy by adding the services you use within your website or you can customize the style of the button that displays your privacy policy.', 'iubenda') ?></p>
|
8 |
+
|
9 |
+
<a class="btn-green-primary btn-block btn-sm" href="<?php echo add_query_arg( array('view' => "integrate-setup"), iubenda()->base_url ); ?>"><?php _e('Got it', 'iubenda') ?></a>
|
10 |
+
|
11 |
+
</div>
|
views/partials/modals/modal_rating.php
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div>
|
2 |
+
|
3 |
+
<div class="text-center mb-5">
|
4 |
+
|
5 |
+
<h1 class="text-xl">
|
6 |
+
<?php _e('Your rating', 'iubenda') ?>
|
7 |
+
</h1>
|
8 |
+
|
9 |
+
<div class="circularBar" id="iubendaRadarCircularBar" data-perc="<?php echo iubenda()->serviceRating->services_percentage() ?>"></div>
|
10 |
+
|
11 |
+
<p class="text-gray text-md"><?php _e('Here’s how we calculate your rating.', 'iubenda') ?></p>
|
12 |
+
|
13 |
+
</div>
|
14 |
+
|
15 |
+
|
16 |
+
<ul class="list_radar list_radar--block">
|
17 |
+
<?php foreach (iubenda()->serviceRating->rating_calculation_components() as $rating_calculation_component_key => $rating_calculation_component_value) : ?>
|
18 |
+
<li class="list_radar__item mb-4 list_radar__item--<?php echo $rating_calculation_component_value['status']?'on':'off'; ?> iubenda-<?php echo $rating_calculation_component_key == 'cons' ? 'cs' : $rating_calculation_component_key ?>-item">
|
19 |
+
<figure><img src="<?php echo IUBENDA_PLUGIN_URL ?>/assets/images/list_radar_<?php echo $rating_calculation_component_key; ?>.svg"></figure>
|
20 |
+
<div>
|
21 |
+
<h2 class="m-0 mb-2"><?php echo $rating_calculation_component_value['label']; ?></h2>
|
22 |
+
<p><?php echo $rating_calculation_component_value['paragraph']; ?> <a target="_blank" href="<?php echo iubenda()->settings->links["how_{$rating_calculation_component_key}_rate"]; ?>" class="link-underline"><?php _e('Learn More', 'iubenda') ?></a></p>
|
23 |
+
</div>
|
24 |
+
|
25 |
+
</li>
|
26 |
+
<?php endforeach; ?>
|
27 |
+
</ul>
|
28 |
+
|
29 |
+
</div>
|
views/partials/modals/modal_select_language.php
ADDED
@@ -0,0 +1,91 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="modalSync">
|
2 |
+
<img src="<?php echo IUBENDA_PLUGIN_URL ?>/assets/images/modals/modal_sync.svg" alt="" />
|
3 |
+
<h1 class="text-lg mb-4">
|
4 |
+
<?php _e('Now, select your website language', 'iubenda') ?>
|
5 |
+
</h1>
|
6 |
+
<div>
|
7 |
+
<?php
|
8 |
+
$language_helper= new LanguageHelper();
|
9 |
+
$iubenda_intersect_supported_langs = [];
|
10 |
+
$default_website_language = $language_helper->get_default_website_language_code(true);
|
11 |
+
|
12 |
+
if (iubenda()->multilang && ! empty( iubenda()->languages )) {
|
13 |
+
$local_languages = array_keys(iubenda()->languages_locale) ?? [];
|
14 |
+
$local_languages = iubenda()->language_unification_locale_to_iub($local_languages);
|
15 |
+
|
16 |
+
$iubenda_intersect_supported_langs = array_intersect($local_languages, array_keys(iubenda()->supported_languages)) ?: [];
|
17 |
+
} else {
|
18 |
+
$iubenda_intersect_supported_langs = array_intersect([iub_array_get(iubenda()->lang_mapping, get_locale())], array_values(iubenda()->lang_mapping)) ?: [];
|
19 |
+
}
|
20 |
+
// Fallback to EN if no supported local languages intersect with iubenda supported languages
|
21 |
+
if (empty($iubenda_intersect_supported_langs)) {
|
22 |
+
$iubenda_intersect_supported_langs[] = 'en';
|
23 |
+
}
|
24 |
+
|
25 |
+
// Unify intersect (iubenda with local) supported languages by STR to Lower function
|
26 |
+
$iubenda_intersect_supported_langs = array_map('strtolower', $iubenda_intersect_supported_langs);
|
27 |
+
?>
|
28 |
+
<select id="iub-website-language" name="website-language" required>
|
29 |
+
<?php foreach (iubenda()->supported_languages as $key => $label): ?>
|
30 |
+
<option <?php echo (strtolower($default_website_language) == strtolower($key)) ? 'selected' : ''; ?> <?php echo (!in_array(strtolower($key), $iubenda_intersect_supported_langs)) ?'disabled' : ''; ?> value=<?php echo $key; ?>><?php echo $label; ?></option>
|
31 |
+
<?php endforeach; ?>
|
32 |
+
</select>
|
33 |
+
</div>
|
34 |
+
<?php if (empty((new ProductHelper())->get_local_supported_language())):?>
|
35 |
+
<div class="notice notice--warning mt-2 mb-4 p-3 d-flex align-items-center text-warning text-xs">
|
36 |
+
<img class="mr-2" src="<?php echo IUBENDA_PLUGIN_URL ?>/assets/images/warning-icon.svg">
|
37 |
+
<p class="text-left"><?php _e( 'Since there is no common language between the supported languages of iubenda and the available languages on the current website, The default one will be English and the CS/PP will be shown on your default website language', 'iubenda' ) ?></p>
|
38 |
+
</div>
|
39 |
+
<?php endif; ?>
|
40 |
+
<br>
|
41 |
+
<div id="iubenda-policy-config-start"></div>
|
42 |
+
</div>
|
43 |
+
<script>
|
44 |
+
var _iub = _iub || [];
|
45 |
+
|
46 |
+
_iub.quick_generator = {
|
47 |
+
input:{
|
48 |
+
privacy_policy:{
|
49 |
+
type: 'web_site',
|
50 |
+
cookie_solution: true,
|
51 |
+
url: '<?php echo get_site_url() ?>',
|
52 |
+
langs: ['<?php echo $default_website_language ?>']
|
53 |
+
},
|
54 |
+
user:{
|
55 |
+
email: '<?php echo get_bloginfo( "admin_email" ) ?>',
|
56 |
+
},
|
57 |
+
},
|
58 |
+
no_style:true,
|
59 |
+
css:"background-color:#e7e7e7;cursor:pointer;color: #585858;padding: 0.5rem 1.7rem;font-size: .95rem;border: 0;border-radius: 3rem;font-weight: bold;width: 100%;",
|
60 |
+
placeholder:document.getElementById("iubenda-policy-config-start"),
|
61 |
+
callback:iubendaQuickGeneratorCallback,
|
62 |
+
api_key:"c52997770b2613f6b0d8b6becffeff8d8071a6ab",
|
63 |
+
language: "<?php echo $language_helper->get_user_profile_language_code(true)?>",
|
64 |
+
caption:"<?php echo __('Continue' ,'iubenda')?>"
|
65 |
+
};
|
66 |
+
|
67 |
+
function iubendaQuickGeneratorCallback(payload) {
|
68 |
+
_paq.push(['trackEvent', 'Event', 'Quick generator api done']);
|
69 |
+
jQuery.ajax({
|
70 |
+
type: "POST",
|
71 |
+
dataType: "json",
|
72 |
+
url: iub_js_vars['site_url'] + "/wp-admin/admin-ajax.php",
|
73 |
+
data : {action: "quick_generator_api", payload: payload},
|
74 |
+
success: function(result){
|
75 |
+
if (result.status === 'done') {
|
76 |
+
window.location = result.redirect
|
77 |
+
}else{
|
78 |
+
|
79 |
+
}
|
80 |
+
},
|
81 |
+
error: function(response) { // if error occured
|
82 |
+
jQuery("#alert-div").addClass("alert--failure");
|
83 |
+
jQuery("#alert-image").attr('src',iub_js_vars['plugin_url'] + '/assets/images/banner_failure.svg')
|
84 |
+
jQuery("#alert-message").text(response.responseText);
|
85 |
+
|
86 |
+
jQuery("#alert-div").removeClass("hidden");
|
87 |
+
},
|
88 |
+
});
|
89 |
+
}
|
90 |
+
|
91 |
+
</script>
|
views/partials/modals/modal_sync.php
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="modalSync">
|
2 |
+
<img src="<?php echo IUBENDA_PLUGIN_URL ?>/assets/images/modals/modal_sync.svg" alt="" />
|
3 |
+
<h1 class="text-lg mb-4">
|
4 |
+
<?php _e('First of all, tell us if you already use our products for this website or if you want to start from scratch', 'iubenda') ?>
|
5 |
+
</h1>
|
6 |
+
<button class="btn btn-gray-lighter btn-block btn-sm mb-3 show-modal" data-modal-name="#modal-have-existing-products" onclick="_paq.push(['trackEvent', 'Click', 'I’ve already made the set up on iubenda.com']);"><?php _e('I’ve already made the set up on iubenda.com', 'iubenda') ?></button>
|
7 |
+
<div class="mb-3"><?php _e('or', 'iubenda') ?></div>
|
8 |
+
<button class="btn btn-gray-lighter btn-block btn-sm mb-3 show-modal" data-modal-name="#modal-select-language" onclick="_paq.push(['trackEvent', 'Click', 'I want to start from scratch']);"><?php _e('I want to start from scratch', 'iubenda') ?></button>
|
9 |
+
</div>
|
views/partials/product-card.php
ADDED
@@ -0,0 +1,52 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="service-card">
|
2 |
+
|
3 |
+
<div class="flex-fill d-flex flex-direction-column">
|
4 |
+
|
5 |
+
<div class="d-flex justify-content-end p-3">
|
6 |
+
<a target="_blank" href="<?php echo iubenda()->settings->links["about_{$serviceKey}"]; ?>" class="tooltip-icon">?</a>
|
7 |
+
</div>
|
8 |
+
|
9 |
+
<div class="text-center pb-4 flex-fill d-flex align-items-center justify-content-center flex-direction-column">
|
10 |
+
<img src="<?php echo IUBENDA_PLUGIN_URL ?>/assets/images/service_cards/<?php echo $serviceKey; ?>_icon.svg">
|
11 |
+
<h3 class="text-regular text-bold text-gray m-0"><?php echo $serviceOptions['label']; ?></h3>
|
12 |
+
</div>
|
13 |
+
|
14 |
+
<?php
|
15 |
+
//Check if the site_id is not entered before
|
16 |
+
$site_id = iub_array_get(iubenda()->options['global_options'], 'site_id') ?: null;
|
17 |
+
if(isset($serviceOptions['settings']) && $site_id):
|
18 |
+
?>
|
19 |
+
<ul id="configiration-iubenda-<?php echo $serviceKey ?>" class="service-on text-gray text-xs " <?php echo $serviceOptions['status']!='true' ? 'style="display: none;"':''; ?> id="toggleServiceOn">
|
20 |
+
<?php
|
21 |
+
foreach (iub_array_get($serviceOptions, 'settings', []) ?: [] as $setting) :
|
22 |
+
$value = '';
|
23 |
+
if ($setting['label'] === 'Version') {
|
24 |
+
continue;
|
25 |
+
}
|
26 |
+
|
27 |
+
if($setting['value'] == 'black'){
|
28 |
+
$value = 'Dark';
|
29 |
+
}elseif($setting['value'] == 'white'){
|
30 |
+
$value = 'Light';
|
31 |
+
}else{
|
32 |
+
$value = $setting['value'];
|
33 |
+
}
|
34 |
+
?>
|
35 |
+
<li class="mr-3"><span class="text-bold"><?php echo ucfirst($setting['label']); ?>:</span> <?php echo ucfirst($value); ?></li>
|
36 |
+
<?php endforeach; ?>
|
37 |
+
</ul>
|
38 |
+
<?php endif; ?>
|
39 |
+
|
40 |
+
<hr>
|
41 |
+
|
42 |
+
<div class="d-flex align-items-center justify-content-between p-3">
|
43 |
+
<div class="switch align-items-center">
|
44 |
+
<input type="checkbox" class="service-checkbox" data-redirect="<?php echo add_query_arg(array('view' => "$serviceKey-configuration"), iubenda()->base_url ); ?>" data-service-key="iubenda-<?php echo $serviceKey; ?>" data-service-name="iubenda_<?php echo $serviceOptions['name']; ?>_solution" id="toggle-<?php echo $serviceKey; ?>" <?php echo $serviceOptions['status']=='true' ? 'checked':' '; ?> />
|
45 |
+
<label for="toggle-<?php echo $serviceKey; ?>"></label>
|
46 |
+
<p class="notification text-xs text-bold text-gray-lighter ml-2" id="<?php echo "iubenda-{$serviceKey}-status-label" ?>" data-status-label-off="<?php _e('Service off', 'iubenda') ?>"><?php $serviceOptions['status']=='true' ? _e('Service on', 'iubenda') : _e('Service off', 'iubenda') ?></p>
|
47 |
+
</div>
|
48 |
+
<a class="btn btn-gray-lighter btn-xs" href="<?php echo add_query_arg(array('view' => "$serviceKey-configuration"), iubenda()->base_url ); ?>" onclick="_paq.push(['trackEvent', 'Click', '<?php echo $serviceOptions['label']. " configuration" ?>']);"><?php _e('Configure', 'iubenda') ?></a>
|
49 |
+
</div>
|
50 |
+
|
51 |
+
</div>
|
52 |
+
</div>
|
views/partials/siteInfo.php
ADDED
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="siteinfo p-4 d-block d-lg-flex justify-content-between">
|
2 |
+
<div class="d-block d-lg-flex align-items-center text-center text-lg-left">
|
3 |
+
<div class="siteinfo--icon"><img src="<?php echo IUBENDA_PLUGIN_URL ?>/assets/images/pc_screen_icon.svg"></div>
|
4 |
+
<?php
|
5 |
+
$url = 'https://www.iubenda.com/account';
|
6 |
+
|
7 |
+
if (!empty(iubenda()->settings->links['privacy_policy_generator_edit'])) {
|
8 |
+
$url = iubenda()->settings->links['privacy_policy_generator_edit'];
|
9 |
+
}
|
10 |
+
?>
|
11 |
+
<div>
|
12 |
+
<h1 class="text-bold text-lg m-0"><?php echo parse_url(home_url())['host']; ?></h1>
|
13 |
+
<?php if (isset($show_products_page) && $show_products_page): ?>
|
14 |
+
<a class="link-underline" href="<?php echo add_query_arg(['view' => "plugin-settings"], iubenda()->base_url); ?>"><?php _e('Plugin settings', 'iubenda') ?></a>
|
15 |
+
<?php endif; ?>
|
16 |
+
</div>
|
17 |
+
</div>
|
18 |
+
<div class="d-block d-lg-flex mt-lg-0 mt-4 align-items-center text-center text-lg-right">
|
19 |
+
<div class="mr-lg-3 mb-lg-0 mb-4">
|
20 |
+
<p class="m-0 text-bold text-md"><?php _e('Your rating', 'iubenda') ?></p>
|
21 |
+
<span class="btn-reset link-underline-dashed text-gray show-modal show-rating-modal"><?php _e('How is it calculated?', 'iubenda') ?></span>
|
22 |
+
</div>
|
23 |
+
<div class="circularBar sm show-modal show-rating-modal" id="iubendaRadarCircularBar" data-perc="<?php echo iubenda()->serviceRating->services_percentage() ?>" onclick="_paq.push(['trackEvent', 'Click', 'How is it calculated?']);"></div>
|
24 |
+
</div>
|
25 |
+
</div>
|
26 |
+
<hr>
|
27 |
+
<!-- Modal rating -->
|
28 |
+
<div id="modal-rating" class="modal">
|
29 |
+
<div class="modal__window modal__window--md p-4 p-lg-5">
|
30 |
+
<?php require_once IUBENDA_PLUGIN_PATH . '/views/partials/modals/modal_rating.php'; ?>
|
31 |
+
</div>
|
32 |
+
</div>
|
views/partials/welcomeScreenHeader.php
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
1 |
+
<div>
|
2 |
+
<h1 class="text-xl mb-1 m-0"><?php _e('Welcome to iubenda!', 'iubenda') ?></h1>
|
3 |
+
<p class="text-md m-0"><?php _e('Our plugin will help you to make your website compliant in minutes.', 'iubenda') ?></p>
|
4 |
+
</div>
|
views/plugin-settings.php
ADDED
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php require_once IUBENDA_PLUGIN_PATH . '/views/partials/header.php'; ?>
|
2 |
+
<div class="main-box">
|
3 |
+
<?php require_once IUBENDA_PLUGIN_PATH . '/views/partials/siteInfo.php'; ?>
|
4 |
+
<?php require_once IUBENDA_PLUGIN_PATH . 'views/partials/breadcrumb.php'; ?>
|
5 |
+
<form class="ajax-form-to-options">
|
6 |
+
<input hidden name="iubenda_section_name" value="iubenda_cookie_law_solution">
|
7 |
+
<input hidden name="iubenda_section_key" value="plugin-settings">
|
8 |
+
<input hidden name="action" value="ajax_save_options">
|
9 |
+
<input hidden name="_redirect" value="<?php echo esc_url(add_query_arg(['view' => 'products-page'], iubenda()->base_url)) ?>">
|
10 |
+
<div class="p-3 m-3">
|
11 |
+
<label class="checkbox-regular">
|
12 |
+
<input type="checkbox" class="mr-2" name="iubenda_plugin_settings[ctype]" value="1" <?php checked( true, (bool) iubenda()->options['cs']['ctype'] ) ?>>
|
13 |
+
<span><?php _e('Restrict the plugin to run only for requests that have "Content-type: text / html" (recommended)', 'iubenda') ?></span>
|
14 |
+
</label>
|
15 |
+
<label class="checkbox-regular">
|
16 |
+
<input type="checkbox" class="mr-2" name="iubenda_plugin_settings[output_feed]" value="1" <?php checked( true, (bool) iubenda()->options['cs']['output_feed'] ) ?>>
|
17 |
+
<span><?php _e('Do not run the plugin inside the RSS feed (recommended)', 'iubenda') ?></span>
|
18 |
+
</label>
|
19 |
+
<label class="checkbox-regular">
|
20 |
+
<input type="checkbox" class="mr-2" name="iubenda_plugin_settings[output_post]" value="1" <?php checked( true, (bool) iubenda()->options['cs']['output_post'] ) ?>>
|
21 |
+
<span><?php _e('Do not run the plugin on POST requests (recommended)', 'iubenda') ?></span>
|
22 |
+
</label>
|
23 |
+
<label class="checkbox-regular">
|
24 |
+
<input type="checkbox" class="mr-2" name="iubenda_plugin_settings[deactivation]" value="1" <?php checked( true, (bool) iubenda()->options['cs']['deactivation'] ) ?>>
|
25 |
+
<span><?php _e('Delete all plugin data upon deactivation', 'iubenda') ?></span>
|
26 |
+
</label>
|
27 |
+
<div class="mt-5">
|
28 |
+
<h4><?php _e('Menu position', 'iubenda') ?></h4>
|
29 |
+
<div class="mb-2 d-flex align-items-center flex-wrap">
|
30 |
+
<label class="radio-regular mr-3">
|
31 |
+
<input type="radio" name="iubenda_plugin_settings[menu_position]" value="topmenu" class="mr-2" <?php checked( 'topmenu', iubenda()->options['cs']['menu_position'] ) ?>>
|
32 |
+
<span><?php _e('Top menu', 'iubenda') ?></span>
|
33 |
+
</label>
|
34 |
+
<label class="mr-4 radio-regular text-xs">
|
35 |
+
<input type="radio" name="iubenda_plugin_settings[menu_position]" value="submenu" class="mr-2" <?php checked( 'submenu', iubenda()->options['cs']['menu_position'] ) ?>>
|
36 |
+
<span><?php _e('Submenu', 'iubenda') ?></span>
|
37 |
+
</label>
|
38 |
+
</div>
|
39 |
+
<p class="description"><?php _e('Select whether to display iubenda in a top admin menu or the Settings submenu.', 'iubenda') ?></p>
|
40 |
+
</div>
|
41 |
+
</div>
|
42 |
+
<hr>
|
43 |
+
<div class="p-4 d-flex justify-content-end">
|
44 |
+
<input class="btn btn-gray-lighter btn-sm mr-2" type="button" value="<?php _e('Cancel', 'iubenda') ?>" onclick="window.location.href = '<?php echo esc_url(add_query_arg(array('view' => 'products-page'), iubenda()->base_url)) ?>'"/>
|
45 |
+
<button type="submit" class="btn btn-green-primary btn-sm" value="Save" name="save">
|
46 |
+
<span class="button__text"><?php _e('Save settings', 'iubenda') ?></span>
|
47 |
+
</button>
|
48 |
+
</div>
|
49 |
+
</form>
|
50 |
+
</div>
|
51 |
+
<?php require_once IUBENDA_PLUGIN_PATH . 'views/partials/footer.php'; ?>
|
views/pp-configuration.php
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php require_once IUBENDA_PLUGIN_PATH . '/views/partials/header.php'; ?>
|
2 |
+
|
3 |
+
<div class="main-box">
|
4 |
+
<?php require_once IUBENDA_PLUGIN_PATH . 'views/partials/siteInfo.php'; ?>
|
5 |
+
<?php require_once IUBENDA_PLUGIN_PATH . 'views/partials/breadcrumb.php'; ?>
|
6 |
+
<form class="ajax-form-to-options">
|
7 |
+
<input hidden name="iubenda_section_name" value="iubenda_privacy_policy_solution">
|
8 |
+
<input hidden name="iubenda_section_key" value="pp">
|
9 |
+
<input hidden name="action" value="ajax_save_options">
|
10 |
+
<input hidden name="_redirect" value="<?php echo esc_url(add_query_arg(['view' => 'products-page'], iubenda()->base_url)) ?>">
|
11 |
+
<div class="px-4 px-lg-5">
|
12 |
+
<?php
|
13 |
+
$url = 'javascript:void(0)';
|
14 |
+
|
15 |
+
if (!empty(iubenda()->settings->links['privacy_policy_generator_edit'])) {
|
16 |
+
$url = iubenda()->settings->links['privacy_policy_generator_edit'];
|
17 |
+
}elseif(iub_array_get(iubenda()->options['global_options'], 'site_id')){
|
18 |
+
$url = iubenda()->settings->links['flow_page'];
|
19 |
+
}
|
20 |
+
?>
|
21 |
+
<div class="text-center py-5">
|
22 |
+
<a target="_blank" href="<?php echo $url ?>" class="btn btn-green-secondary btn-sm"><?php _e('Setup your privacy and cookie policy on iubenda.com', 'iubenda') ?></a>
|
23 |
+
</div>
|
24 |
+
<hr>
|
25 |
+
<div class="py-5">
|
26 |
+
<h3 class="m-0 mb-4"><?php _e('Integration', 'iubenda') ?></h3>
|
27 |
+
<?php require_once IUBENDA_PLUGIN_PATH . 'views/partials/buttonStyle.php'; ?>
|
28 |
+
<?php require_once IUBENDA_PLUGIN_PATH . 'views/partials/buttonPosition.php'; ?>
|
29 |
+
</div>
|
30 |
+
</div>
|
31 |
+
<hr>
|
32 |
+
<div class="p-4 d-flex justify-content-end">
|
33 |
+
<input class="btn btn-gray-lighter btn-sm mr-2" type="button" value="<?php _e('Cancel', 'iubenda') ?>" onclick="window.location.href = '<?php echo esc_url(add_query_arg(array('view' => 'products-page'), iubenda()->base_url)) ?>'"/>
|
34 |
+
<button type="submit" class="btn btn-green-primary btn-sm" value="Save" name="save">
|
35 |
+
<span class="button__text"><?php _e('Save settings', 'iubenda') ?></span>
|
36 |
+
</button>
|
37 |
+
</div>
|
38 |
+
</form>
|
39 |
+
</div>
|
40 |
+
|
41 |
+
<?php require_once IUBENDA_PLUGIN_PATH . 'views/partials/footer.php'; ?>
|
views/products-page.php
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php require_once IUBENDA_PLUGIN_PATH . '/views/partials/header.php'; ?>
|
2 |
+
<div class="main-box">
|
3 |
+
<?php require_once IUBENDA_PLUGIN_PATH . '/views/partials/siteInfo.php'; ?>
|
4 |
+
<div class="p-3 m-3">
|
5 |
+
<?php
|
6 |
+
$result = array_filter(array_column($this->services, 'status'), function ($service) {
|
7 |
+
return (stripos($service, 'false') === false);
|
8 |
+
});
|
9 |
+
if (!$result) {
|
10 |
+
?>
|
11 |
+
<div class="alert alert--failure is-dismissible m-4">
|
12 |
+
<div class="alert__icon p-4">
|
13 |
+
<img src="<?php echo IUBENDA_PLUGIN_URL . '/assets/images/banner_failure.svg' ?>">
|
14 |
+
</div>
|
15 |
+
<p id="products-page-alert-text" class="text-regular"><?php _e('It seems that you have not activated any of our services, we recommend you to activate them and increase your level of compliance and avoid risking fines.', 'iubenda') ?></p>
|
16 |
+
<button class="btn-close mr-3 notice-dismiss">×</button>
|
17 |
+
</div>
|
18 |
+
<?php
|
19 |
+
}
|
20 |
+
|
21 |
+
if(iubenda()->settings->print_notices()){
|
22 |
+
iubenda()->settings->print_notices();
|
23 |
+
}
|
24 |
+
?>
|
25 |
+
<div class="configure-services-cards">
|
26 |
+
<?php
|
27 |
+
foreach (iubenda()->settings->services as $serviceKey => $serviceOptions) :
|
28 |
+
require IUBENDA_PLUGIN_PATH . '/views/partials/product-card.php';
|
29 |
+
endforeach;
|
30 |
+
?>
|
31 |
+
</div>
|
32 |
+
</div>
|
33 |
+
</div>
|
34 |
+
<?php require_once IUBENDA_PLUGIN_PATH . 'views/partials/footer.php'; ?>
|
views/tc-configuration.php
ADDED
@@ -0,0 +1,162 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php require_once IUBENDA_PLUGIN_PATH . '/views/partials/header.php'; ?>
|
2 |
+
<div class="main-box">
|
3 |
+
<?php require_once IUBENDA_PLUGIN_PATH . '/views/partials/siteInfo.php'; ?>
|
4 |
+
<?php require_once IUBENDA_PLUGIN_PATH . '/views/partials/breadcrumb.php'; ?>
|
5 |
+
<form class="ajax-form-to-options">
|
6 |
+
<input hidden name="iubenda_section_name" value="iubenda_terms_conditions_solution">
|
7 |
+
<input hidden name="iubenda_section_key" value="tc">
|
8 |
+
<input hidden name="action" value="ajax_save_options">
|
9 |
+
<input hidden name="_redirect" value="<?php echo esc_url(add_query_arg(['view' => 'products-page'], iubenda()->base_url)) ?>">
|
10 |
+
<div class="mx-4 mx-lg-5">
|
11 |
+
<div class="py-4 py-lg-5 text-gray">
|
12 |
+
<p class=""><?php _e('Configure your terms and conditions on our website and paste here the embed code to integrate the button on your website.', 'iubenda') ?></p>
|
13 |
+
<div class="d-flex align-items-center ">
|
14 |
+
<div class="steps flex-shrink mr-2">1</div>
|
15 |
+
<p class="text-bold"> <?php _e('Configure terms and conditions by', 'iubenda') ?>
|
16 |
+
<a target="_blank" href="<?php echo iubenda()->settings->links['about_tc']; ?>" class="link-underline text-gray-lighter"> <?php _e('clicking here', 'iubenda') ?></a>
|
17 |
+
</p>
|
18 |
+
</div>
|
19 |
+
<div class="d-flex align-items-center ">
|
20 |
+
<div class="steps flex-shrink mr-2">2</div>
|
21 |
+
<p class="text-bold"> <?php _e('Paste your terms and conditions embed code here', 'iubenda') ?>
|
22 |
+
</p>
|
23 |
+
</div>
|
24 |
+
<div class="ml-5 mt-3">
|
25 |
+
<?php require_once IUBENDA_PLUGIN_PATH . '/views/partials/languagesTabs.php'; ?>
|
26 |
+
</div>
|
27 |
+
</div>
|
28 |
+
<hr>
|
29 |
+
<div id="integration-div" class="py-5">
|
30 |
+
<h3 class="m-0 mb-4"><?php _e('Integration', 'iubenda') ?></h3>
|
31 |
+
<!-- Button Style -->
|
32 |
+
<h4><?php _e('Button style', 'iubenda') ?></h4>
|
33 |
+
<div class="scrollable gap-fixer">
|
34 |
+
<div class="button-style mb-3 d-flex">
|
35 |
+
<div class="m-1 mr-2">
|
36 |
+
<label class="radio-btn-style radio-btn-style-light">
|
37 |
+
<input type="radio" class="update-button-style" name="iubenda_terms_conditions_solution[button_style]" value="white" <?php echo checked( 'white', iub_array_get(iubenda()->options['tc'], 'button_style'), false) ?>>
|
38 |
+
<div>
|
39 |
+
<div class="btn-fake"></div>
|
40 |
+
</div>
|
41 |
+
<p class="text-xs text-center"><?php _e('Light', 'iubenda') ?></p>
|
42 |
+
</label>
|
43 |
+
</div>
|
44 |
+
<div class="m-1 mr-2">
|
45 |
+
<label class="radio-btn-style radio-btn-style-dark">
|
46 |
+
<input type="radio" class="update-button-style" name="iubenda_terms_conditions_solution[button_style]" value="black" <?php echo checked( 'black', iub_array_get(iubenda()->options['tc'], 'button_style'), false) ?>>
|
47 |
+
<div>
|
48 |
+
<div class="btn-fake"></div>
|
49 |
+
</div>
|
50 |
+
<p class="text-xs text-center"><?php _e('Dark', 'iubenda') ?></p>
|
51 |
+
</label>
|
52 |
+
</div>
|
53 |
+
</div>
|
54 |
+
</div>
|
55 |
+
|
56 |
+
<!-- Button Position -->
|
57 |
+
<h4><?php _e('Button position', 'iubenda') ?></h4>
|
58 |
+
<div class="mb-2 align-items-center flex-wrap">
|
59 |
+
<label class="radio-regular mb-3">
|
60 |
+
<input type="radio" name="iubenda_terms_conditions_solution[button_position]" value="automatic" class="mr-2 section-radio-control" data-section-group=".tc_button_position" data-section-name="#tc_button_position_automatic" <?php checked( 'automatic', iub_array_get(iubenda()->options['tc'], 'button_position')) ?>>
|
61 |
+
<span><?php _e('Add to the footer automatically', 'iubenda') ?></span>
|
62 |
+
</label>
|
63 |
+
<label class="mr-4 radio-regular text-xs">
|
64 |
+
<input type="radio" name="iubenda_terms_conditions_solution[button_position]" value="manual" class="mr-2 section-radio-control" data-section-group=".tc_button_position" data-section-name="#tc_button_position_manually" <?php checked( 'manual', iub_array_get(iubenda()->options['tc'], 'button_position')) ?>>
|
65 |
+
<span><?php _e('Integrate manually', 'iubenda') ?></span>
|
66 |
+
</label>
|
67 |
+
</div>
|
68 |
+
<?php
|
69 |
+
// Check if we support current theme to attach legal
|
70 |
+
if (!iubenda()->check_if_we_support_current_theme_to_attach_legal()) {
|
71 |
+
$url = 'javascript:void(0)';
|
72 |
+
|
73 |
+
if(iubenda()->widget->check_current_theme_supports_widget()){
|
74 |
+
$url = admin_url( 'widgets.php' );
|
75 |
+
}elseif(iubenda()->block->check_current_theme_supports_blocks()){
|
76 |
+
$url = admin_url( 'site-editor.php' );
|
77 |
+
}
|
78 |
+
|
79 |
+
?>
|
80 |
+
<section id="tc_button_position_automatic" class="tc_button_position <?php echo iub_array_get(iubenda()->options['tc'], 'button_position') == 'automatic' ?:'hidden' ; ?>">
|
81 |
+
<div class="notice notice--warning mt-2 mb-4 p-3 d-flex align-items-center text-warning text-xs">
|
82 |
+
<img class="mr-2" src="<?php echo IUBENDA_PLUGIN_URL ?>/assets/images/warning-icon.svg">
|
83 |
+
<p><?php echo sprintf( __( 'We were not able to add a "Legal" widget/block to the footer as your theme is not compatible, you can position the "Legal" widget/block manually from <a href="%s" target="_blank">here</a>.', 'iubenda' ), esc_url( $url ) ) ?></p>
|
84 |
+
</div>
|
85 |
+
</section>
|
86 |
+
<?php
|
87 |
+
}
|
88 |
+
?>
|
89 |
+
<section id="tc_button_position_manually" class="tc_button_position <?php echo iub_array_get(iubenda()->options['tc'], 'button_position') == 'manual' ?:'hidden' ; ?>">
|
90 |
+
<div class="subOptions">
|
91 |
+
|
92 |
+
<p class="text-gray text-sm mb-4"><?php _e('Just copy and paste the embed code (WP shortcode or HTML) where you want the button to appear.', 'iubenda') ?></p>
|
93 |
+
|
94 |
+
<div class="d-lg-flex">
|
95 |
+
<div class="flex-fill mb-3 mr-0 mr-lg-5">
|
96 |
+
<h4><?php _e('WP shortcode (recommended)', 'iubenda') ?></h4>
|
97 |
+
<fieldset class="paste_embed_code">
|
98 |
+
<input type="text" class="form-control text-sm m-0" value="[iub-tc-button]" readonly />
|
99 |
+
</fieldset>
|
100 |
+
<p class="text-gray-lighter"><?php _e('A shortcode is a tiny bit of code that allows embedding interactive elements or creating complex page layouts with a minimal effort.', 'iubenda') ?></p>
|
101 |
+
</div>
|
102 |
+
<div class="flex-fill mb-0">
|
103 |
+
<h4><?php _e('HTML', 'iubenda') ?></h4>
|
104 |
+
<fieldset class="paste_embed_code tabs tabs--style2">
|
105 |
+
<ul class="tabs__nav">
|
106 |
+
<?php foreach(iubenda()->languages as $k => $v): ?>
|
107 |
+
<li class="tabs__nav__item <?php echo $k == iubenda()->lang_default?'active':false ; ?>" data-target="tab-<?php echo $k ; ?>" id="iub-embed-code-readonly-<?php echo $k ; ?>" data-group="language-tabs">
|
108 |
+
<?php echo strtoupper($k) ; ?>
|
109 |
+
</li>
|
110 |
+
<?php endforeach; ?>
|
111 |
+
</ul>
|
112 |
+
<?php
|
113 |
+
$languages = (new ProductHelper())->get_languages();
|
114 |
+
foreach($languages as $lang_id => $v):
|
115 |
+
$code = iub_array_get(iubenda()->options['tc'], "code_{$lang_id}");
|
116 |
+
$code = html_entity_decode(iubenda()->parse_code($code));
|
117 |
+
?>
|
118 |
+
<div data-target="tab-<?php echo $lang_id ; ?>" class="tabs__target <?php echo $lang_id == iubenda()->lang_default || $lang_id == 'default'? 'active': '' ; ?>" data-group="language-tabs">
|
119 |
+
<textarea readonly class='form-control text-sm m-0 iub-tc-code' id="iub-tc-code-<?php echo $lang_id; ?>" rows='4'><?php echo $code ?></textarea>
|
120 |
+
</div>
|
121 |
+
<?php endforeach; ?>
|
122 |
+
|
123 |
+
</fieldset>
|
124 |
+
</div>
|
125 |
+
</div>
|
126 |
+
</div>
|
127 |
+
</section>
|
128 |
+
</div>
|
129 |
+
</div>
|
130 |
+
<hr>
|
131 |
+
<div class="p-4 d-flex justify-content-end">
|
132 |
+
<input class="btn btn-gray-lighter btn-sm mr-2" type="button" value="<?php _e('Cancel', 'iubenda') ?>" onclick="window.location.href = '<?php echo esc_url(add_query_arg(array('view' => 'products-page'), iubenda()->base_url)) ?>'"/>
|
133 |
+
<button type="submit" class="btn btn-green-primary btn-sm" value="Save" name="save">
|
134 |
+
<span class="button__text"><?php _e('Save settings', 'iubenda') ?></span>
|
135 |
+
</button>
|
136 |
+
</div>
|
137 |
+
</form>
|
138 |
+
</div>
|
139 |
+
|
140 |
+
<?php require_once IUBENDA_PLUGIN_PATH . '/views/partials/modals/modal_ops_embed_invalid.php'; ?>
|
141 |
+
<?php require_once IUBENDA_PLUGIN_PATH . '/views/partials/footer.php'; ?>
|
142 |
+
<script>
|
143 |
+
jQuery('.iub-language-code').on('keyup change past', function() {
|
144 |
+
if(check_if_all_embed_codes_is_empty()){
|
145 |
+
jQuery('#integration-div').hide()
|
146 |
+
}else{
|
147 |
+
jQuery('#integration-div').show()
|
148 |
+
}
|
149 |
+
}).trigger('change');
|
150 |
+
|
151 |
+
function check_if_all_embed_codes_is_empty(){
|
152 |
+
var empty = true;
|
153 |
+
jQuery('.iub-language-code').each(function() {
|
154 |
+
if (jQuery(this).val() != "") {
|
155 |
+
empty = false;
|
156 |
+
return false;
|
157 |
+
}
|
158 |
+
});
|
159 |
+
|
160 |
+
return empty
|
161 |
+
}
|
162 |
+
</script>
|