WP DSGVO Tools - Version 3.1.10

Version Description

  • fixed cronjob of delete requests
  • bugfixes with dynamic blocking of content
  • CDN text fix
  • use custom endpoint for popup texts instead of ajax
Download this release

Release Info

Developer legalweb
Plugin Icon 128x128 WP DSGVO Tools
Version 3.1.10
Comparing to
See all releases

Code changes from version 3.1.9 to 3.1.10

README.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: legalweb
3
  Donate link: https://legalweb.io
4
  Tags: gdpr, dsgvo, datenschutz, privacy, privacy policy, imprint, impressum, wordpress, compliance, privacy, woocommerce, law
5
  Requires at least: 3.0.1
6
- Tested up to: 5.4.0
7
- Stable tag: 3.1.9
8
  Requires PHP: 5.6.0
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -203,6 +203,12 @@ Just install via wordpress plugin feature or upload zip and activate it.
203
 
204
 
205
  == Changelog ==
 
 
 
 
 
 
206
  = 3.1.9 =
207
  * IE compatibility
208
  * changed yt channel
3
  Donate link: https://legalweb.io
4
  Tags: gdpr, dsgvo, datenschutz, privacy, privacy policy, imprint, impressum, wordpress, compliance, privacy, woocommerce, law
5
  Requires at least: 3.0.1
6
+ Tested up to: 5.5.0
7
+ Stable tag: 3.1.10
8
  Requires PHP: 5.6.0
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
203
 
204
 
205
  == Changelog ==
206
+ = 3.1.10 =
207
+ * fixed cronjob of delete requests
208
+ * bugfixes with dynamic blocking of content
209
+ * CDN text fix
210
+ * use custom endpoint for popup texts instead of ajax
211
+
212
  = 3.1.9 =
213
  * IE compatibility
214
  * changed yt channel
admin/base.php CHANGED
@@ -67,6 +67,14 @@
67
  <p class="card-text"><?= __('Do you have problems our questions how to configure this plugin correctly? Just visit <a href="https://legalweb.freshdesk.com/support/solutions" target="_blank" >this link</a> to see a quick start tutorial and access our FAQa.','shapepress-dsgvo'); ?> </p>
68
  </div>
69
  </div>
 
 
 
 
 
 
 
 
70
  <div class="card border-info bg-light" style="">
71
  <div class="card-header"><h5 class="text-info font-weight-bold text-uppercase m-0"><?= __("Free Webinars",'shapepress-dsgvo')?></h5></div>
72
  <div class="card-body">
@@ -81,41 +89,42 @@
81
 
82
  $products = json_decode( $response['body'], true );
83
 
84
- $count = 0;
85
- $maxCount = 3;
86
- $result = '';
87
- $result .= '<div class="list-group list-group-flush col-12">';
88
- foreach ($products as $product)
89
- {
90
- if ($count == $maxCount) break;
91
- $webinar = $product['product']['data'];
92
- $meta = $product['meta'];
93
-
94
- $result .= '<div class="list-group-item font-weight-bold py-1 px-1 bg-light">';
95
- $result .= '<a href="' . $webinar['link'] . '" class="clear">';
96
- $result .= '<span class="seminare-date">' . date_format(date_create_from_format("Y-m-d H:i", $meta['seminar_beginn'][0]), "d.m.") . ' </span>';
97
- $result .= '<span class="seminare-text">';
98
- $result .= $webinar['title']['rendered'] . ' <br />';
99
- /*
100
- $result .= '<span class="seminare-ortdatum">';
101
- if (array_key_exists('Ausgebucht', $meta) && $meta['Ausgebucht'][0]) {
102
- $result .= $meta['Ausgebucht'][0];
103
- } else if ($meta['seminar_ort'][0]) {
104
- $result .= $meta['seminar_ort'][0];
105
- } else {
106
- $result .= '<small>Online Webinar</small>';
 
 
 
 
 
 
 
 
107
  }
108
- $result .= '</span>';
109
- */
110
- $result .= '</span>';
111
- $result .= '</a>';
112
  $result .= '</div>';
113
-
114
- $count++;
115
  }
116
- $result .= '</div>';
117
 
118
- if (count($products) > 0) {
119
  echo $result;
120
  } else
121
  {
67
  <p class="card-text"><?= __('Do you have problems our questions how to configure this plugin correctly? Just visit <a href="https://legalweb.freshdesk.com/support/solutions" target="_blank" >this link</a> to see a quick start tutorial and access our FAQa.','shapepress-dsgvo'); ?> </p>
68
  </div>
69
  </div>
70
+
71
+ <div class="card border-info bg-light" style="">
72
+ <div class="card-header"><h5 class="text-info font-weight-bold text-uppercase m-0"><?= __("Hello LegalWeb Cloud",'shapepress-dsgvo')?></h5></div>
73
+ <div class="card-body">
74
+ <p class="card-text"><?= __('We announce the release of an CMS independent product for legal compliance on July 10th. Cookie popup, imprint, privacy policy, tracker management and much more is possbible with LegalWeb cloud. Plugins for Typo3, Shopware, Neos and of cource Wordpress. Just visit <a href="https://legalweb.io" target="_blank" >this link</a> to see a lot of more details.','shapepress-dsgvo'); ?> </p>
75
+ </div>
76
+ </div>
77
+
78
  <div class="card border-info bg-light" style="">
79
  <div class="card-header"><h5 class="text-info font-weight-bold text-uppercase m-0"><?= __("Free Webinars",'shapepress-dsgvo')?></h5></div>
80
  <div class="card-body">
89
 
90
  $products = json_decode( $response['body'], true );
91
 
92
+ if (isset($products)) {
93
+ $count = 0;
94
+ $maxCount = 3;
95
+ $result = '';
96
+ $result .= '<div class="list-group list-group-flush col-12">';
97
+ foreach ($products as $product) {
98
+ if ($count == $maxCount) break;
99
+ $webinar = $product['product']['data'];
100
+ $meta = $product['meta'];
101
+
102
+ $result .= '<div class="list-group-item font-weight-bold py-1 px-1 bg-light">';
103
+ $result .= '<a href="' . $webinar['link'] . '" class="clear">';
104
+ $result .= '<span class="seminare-date">' . date_format(date_create_from_format("Y-m-d H:i", $meta['seminar_beginn'][0]), "d.m.") . ' </span>';
105
+ $result .= '<span class="seminare-text">';
106
+ $result .= $webinar['title']['rendered'] . ' <br />';
107
+ /*
108
+ $result .= '<span class="seminare-ortdatum">';
109
+ if (array_key_exists('Ausgebucht', $meta) && $meta['Ausgebucht'][0]) {
110
+ $result .= $meta['Ausgebucht'][0];
111
+ } else if ($meta['seminar_ort'][0]) {
112
+ $result .= $meta['seminar_ort'][0];
113
+ } else {
114
+ $result .= '<small>Online Webinar</small>';
115
+ }
116
+ $result .= '</span>';
117
+ */
118
+ $result .= '</span>';
119
+ $result .= '</a>';
120
+ $result .= '</div>';
121
+
122
+ $count++;
123
  }
 
 
 
 
124
  $result .= '</div>';
 
 
125
  }
 
126
 
127
+ if (isset($result) && isset($products) && count($products) > 0) {
128
  echo $result;
129
  } else
130
  {
admin/css/sp-dsgvo-admin.css CHANGED
@@ -133,7 +133,7 @@ hr.sp-dsgvo {
133
 
134
  }
135
 
136
- .dsgvo-wrap .form-table {
137
  margin-top: 0;
138
  }
139
 
@@ -190,11 +190,11 @@ textarea.own-code-text {
190
  stroke-width: 2px;
191
  }
192
 
193
- .form-table td {
194
  vertical-align: top;
195
  }
196
 
197
- .form-table tbody {
198
  display: table;
199
  width: 100%;
200
  }
133
 
134
  }
135
 
136
+ .dsgvo-wrap .lw-form-table {
137
  margin-top: 0;
138
  }
139
 
190
  stroke-width: 2px;
191
  }
192
 
193
+ .lw-form-table td {
194
  vertical-align: top;
195
  }
196
 
197
+ .lw-form-table tbody {
198
  display: table;
199
  width: 100%;
200
  }
admin/css/sp-dsgvo-admin.min.css CHANGED
@@ -1 +1 @@
1
- @font-face{font-family:'Open Sans';font-style:italic;font-weight:300;src:local('Open Sans Light Italic'),local('OpenSans-LightItalic'),url(fonts/open-sans/opensans-lightitalic-webfont.woff2) format('woff2')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;src:local('Open Sans Italic'),local('OpenSans-Italic'),url(fonts/open-sans/opensans-italic-webfont.woff2) format('woff2')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;src:local('Open Sans Bold Italic'),local('OpenSans-BoldItalic'),url(fonts/open-sans/opensans-bolditalic-webfont.woff2) format('woff2')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url(fonts/open-sans/opensans-light-webfont.woff2) format('woff2')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans Regular'),local('OpenSans-Regular'),url(fonts/open-sans/opensans-regular-webfont.woff2) format('woff2')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url(fonts/open-sans/opensans-bold-webfont.woff2) format('woff2')}.sp-dsgvo{font-family:"Open Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"}.sp-dsgvo .breadcrumb{margin-left:0 !important;margin-bottom:0 !important;font-weight:500 !important}.sp-dsgvo .card{padding:0}.sp-dsgvo h4.card-title{margin-bottom:0}.sp-dsgvo label{font-weight:500 !important}.sp-dsgvo .custom-control-label{font-weight:400 !important}.sp-dsgvo select{max-width:initial}@media(min-width:576px){.sp-dsgvo .card-columns{-webkit-column-count:2;column-count:2;-webkit-column-gap:1rem;column-gap:1rem;orphans:1;widows:1}}.sp-dsgvo .form-control-plaintext{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}hr.sp-dsgvo{border:0;margin-top:20px;border-top:1px solid #bbb;border-bottom:1px solid #fafafa}.dsgvo-wrap{float:left;width:calc(100% - 310px)}.dsgvo-wrap .form-table{margin-top:0}.w-100{width:100%}.position-relative{position:relative}.sp-dsgvo-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,0.5) !important;border-radius:2px;z-index:20}.sp-dsgvo-overlay-text{position:absolute;top:50%;left:50%;text-align:center;font-size:14px;color:white;background-color:#fff;opacity:.9;border-radius:3px;border:1px solid orange;transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%)}.woo-privacy-text{width:100%}textarea.own-code-text{font-size:12px !important;font-family:Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,sans-serif !important}.unsubscribe-dismiss{cursor:pointer}.unsubscribe-dismiss line{stroke:#000;stroke-width:2px}.form-table td{vertical-align:top}.form-table tbody{display:table;width:100%}.wrap.dsgvo-wrap .main-title{justify-content:left;align-items:center}.wrap.dsgvo-wrap .main-title h2{font-size:200%;margin-top:.8em;margin-bottom:.8em;padding-top:5px}.wrap.dsgvo-wrap .main-title>img{width:30px;margin-right:10px;float:left}.wrap.dsgvo-wrap input[type="checkbox"]:not(.checkbox){width:3.5em;height:2em;border-radius:3em;position:relative;cursor:pointer;outline:0;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wrap.dsgvo-wrap input[type=checkbox]:not(.checkbox):before{display:none}.wrap.dsgvo-wrap input[type=checkbox]:not(.checkbox):after{position:absolute;content:"";width:1em;height:1em;border-radius:50%;background:#f0f0f0;-webkit-box-shadow:0 0 .25em rgba(0,0,0,.3);box-shadow:0 0 .25em rgba(0,0,0,.3);-webkit-transform:scale(.7);transform:scale(.7);left:0;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;top:22%}.wrap.dsgvo-wrap input[type=checkbox]:not(.checkbox):checked:after{left:calc(100% - 2em);background:#0085ba;width:2em;height:2em;top:0}.wrap.dsgvo-wrap .module-title{background:#122459;background:linear-gradient(90deg,rgba(18,36,89,1) 0,rgba(241,241,241,1) 70%);padding-left:5px;padding-top:10px;padding-bottom:10px;font-weight:bold;color:#fff;border-radius:.2rem;text-transform:uppercase;margin-bottom:10px}.wpk-main-design--margin-bottom{margin-bottom:20px}.wpk-main-design--margin-top{margin-top:20px}.wpk-main-design--one-table{display:block;width:100%;background-color:#fff;box-sizing:border-box;padding:15px;border-radius:.2rem}.wpk-main-design--one-table_special{width:100%;box-sizing:border-box;padding:15px;border-radius:.2rem}.wpk-main-design--two-table__left{display:inline-block;width:calc(50% - 10px);box-sizing:border-box;padding:15px;margin-right:10px;margin-bottom:10px;background:#fff;border-radius:.2rem;float:left}.wpk-main-design--two-table__right{display:inline-block;float:left;width:calc(50% - 10px);box-sizing:border-box;padding:15px;margin-bottom:10px;background:#fff;border-radius:.2rem}.wpk-main-design--one-table th,.wpk-main-design--one-table_special th,.wpk-main-design--two-table__left th,.wpk-main-design--two-table__right th,.wpk-main-design--one-table thead tr th,.wpk-main-design--one-table_special thead tr th,.wpk-main-design--two-table__left thead tr th,.wpk-main-design--two-table__right thead tr th{background-color:#122459;border-radius:.2rem;text-align:center;color:white;text-transform:uppercase}.wpk-main-design--one-table input[type="text"],.wpk-main-design--one-table_special input[type="text"],.wpk-main-design--two-table__left input[type="text"],.wpk-main-design--two-table__right input[type="text"],.input-w100 input[type="text"]{width:100%}.wpk-main-design--one-table select,.wpk-main-design--one-table_special select,.wpk-main-design--two-table__left select,.wpk-main-design--two-table__right select{width:100%}.wpk-main-design--submit{width:100%;display:inline-block}.cookie-notive-settings-advanced tbody{display:block}.cookie-notive-settings-advanced tbody tr{width:100%;box-sizing:border-box}.cn_advanced_cookie_textarea{display:block;padding:0 35px}.cn_advanced_cookie_textarea td{width:49%;display:inline-block}img[class*="cookie-style-admin-show--"]{width:100%;box-shadow:0 0 5px;display:none}.wpk-admin-cookie-scan-done{color:green}input[name="dsgvo_licence"]{width:200px}.wpk-company-data>tbody>tr>td>label>input[type="text"],input[name="cn_button_text_ok"],input[name="cn_button_text_cancel"],input[name="cn_decline_target_url"],input[name="cn_button_text_more"]{width:100%}input[name="sar_dsgvo_accepted_text"],input[name="su_dsgvo_accepted_text"]{width:550px}.spdsgvo-d-none{display:none}.spdsgvo-d-block{display:block}@media only screen and (max-width:986px){.dsgvo-wrap{width:calc(100% - 50px)}.wpk-main-design--two-table__left,.wpk-main-design--two-table__right{width:100%}.nav-tab-wrapper>a{width:95%;text-align:center}.dsgvo-wrap{width:calc(100% - 50px)}.wpk-main-design--two-table__left,.wpk-main-design--two-table__right{width:100%}.wpk-main-design--two-table__right{margin-top:25px}input[name="dsgvo_licence"]{width:100%}input[name="spdsgvo_comments_checkbox_confirm"],.wpk-company-data>tbody>tr>td>label>input[type="text"]{width:100% !important}input[name="sar_dsgvo_accepted_text"]{width:100%}input[name="su_dsgvo_accepted_text"]{width:100%}}@media only screen and (max-width:768px){.wpk-services-table>thead>tr{display:flex;flex-direction:column;width:100%;min-width:275px}.wpk-services-table>thead>tr>th{width:100% !important;padding:8px 0;text-align:center}.wpk-services-table>tbody>tr,.wpk-unsub-table>tbody>tr{display:flex;flex-direction:column;width:100%;min-width:275px}.wpk-services-table>tbody>tr>td,.wpk-unsub-table>tbody>tr>td{width:100% !important;text-align:center;padding:8px 0}.wpk-services-table>tbody>tr>td>input,.wpk-services-table>tbody>tr>td>textarea{text-align:center}.wpk-services-table-name{font-weight:bold;display:block}.wpk-services-table>tfoot,.wpk-services-table>thead,.wpk-unsub-table>thead,.wpk-unsub-table>tfoot{display:none}}@media only screen and (max-width:1268px) and (min-width:769px){.wpk-services-table>tbody>tr>td>input,.wpk-services-table>tbody>tr>td>textarea,.wpk-services-table>tbody>tr>td>select{width:100%}.wpk-services-table>tbody>tr>td input{width:100%;font-size:1em !important}.wpk-services-table .image-preview-wrapper{display:none}}@media only screen and (min-width:769px){.wpk-services-table-name{display:none}.wpk-services-table>tbody>tr>td>input,.wpk-services-table>tbody>tr>td>textarea,.wpk-services-table>tbody>tr>td>select{width:100%}.image-preview-wrapper>input{padding:0}}@media only screen and (max-width:1268px){.wrap-premium{width:calc(100% - 20px)}.dsgvo-wrap{width:calc(100% - 40px)}}@media only screen and (min-width:1269px){.wpk-company-data>tbody>tr>td>label>input[type="text"],input[name="cn_button_text_ok"],input[name="cn_button_text_cancel"],input[name="cn_decline_target_url"],input[name="cn_button_text_more"]{width:100%}}.sp-dsgvo_plugin_upgrade_notice>div.header{background-color:#d54e21;padding:10px;color:#f9f9f9;margin-top:10px}p.sp-dsgvo_plugin_upgrade_notice:before{content:none}.sp-dsgvo-blocked-embedding-placeholder{min-height:100px;background:linear-gradient(90deg,#e3ffe7 0,#d9e7ff 100%);padding:20px 10px;color:black;font-family:'Roboto',sans-serif;text-align:center;border-radius:3px}.sp-dsgvo-blocked-embedding-placeholder-header{font-weight:bold;font-size:120%}.sp-dsgvo-blocked-embedding-placeholder-header-icon{height:40px;display:block;margin-left:auto;margin-right:auto}.sp-dsgvo-blocked-embedding-button-container{margin-top:20px}a.sp-dsgvo-blocked-embedding-button-enable{display:inline-block;padding:.5em 3em;border-style:solid;border-width:2px;margin:0 .3em .3em 0;box-sizing:border-box;text-decoration:none;text-transform:uppercase;font-family:'Roboto',sans-serif;font-weight:400;text-align:center;transition:all .15s}.sp-dsgvo-hidden-embedding-content{display:none}
1
+ @font-face{font-family:'Open Sans';font-style:italic;font-weight:300;src:local('Open Sans Light Italic'),local('OpenSans-LightItalic'),url(fonts/open-sans/opensans-lightitalic-webfont.woff2) format('woff2')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;src:local('Open Sans Italic'),local('OpenSans-Italic'),url(fonts/open-sans/opensans-italic-webfont.woff2) format('woff2')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;src:local('Open Sans Bold Italic'),local('OpenSans-BoldItalic'),url(fonts/open-sans/opensans-bolditalic-webfont.woff2) format('woff2')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url(fonts/open-sans/opensans-light-webfont.woff2) format('woff2')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans Regular'),local('OpenSans-Regular'),url(fonts/open-sans/opensans-regular-webfont.woff2) format('woff2')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url(fonts/open-sans/opensans-bold-webfont.woff2) format('woff2')}.sp-dsgvo{font-family:"Open Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"}.sp-dsgvo .breadcrumb{margin-left:0 !important;margin-bottom:0 !important;font-weight:500 !important}.sp-dsgvo .card{padding:0}.sp-dsgvo h4.card-title{margin-bottom:0}.sp-dsgvo label{font-weight:500 !important}.sp-dsgvo .custom-control-label{font-weight:400 !important}.sp-dsgvo select{max-width:initial}@media(min-width:576px){.sp-dsgvo .card-columns{-webkit-column-count:2;column-count:2;-webkit-column-gap:1rem;column-gap:1rem;orphans:1;widows:1}}.sp-dsgvo .form-control-plaintext{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}hr.sp-dsgvo{border:0;margin-top:20px;border-top:1px solid #bbb;border-bottom:1px solid #fafafa}.dsgvo-wrap{float:left;width:calc(100% - 310px)}.dsgvo-wrap .lw-form-table{margin-top:0}.w-100{width:100%}.position-relative{position:relative}.sp-dsgvo-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,0.5) !important;border-radius:2px;z-index:20}.sp-dsgvo-overlay-text{position:absolute;top:50%;left:50%;text-align:center;font-size:14px;color:white;background-color:#fff;opacity:.9;border-radius:3px;border:1px solid orange;transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%)}.woo-privacy-text{width:100%}textarea.own-code-text{font-size:12px !important;font-family:Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,sans-serif !important}.unsubscribe-dismiss{cursor:pointer}.unsubscribe-dismiss line{stroke:#000;stroke-width:2px}.lw-form-table td{vertical-align:top}.lw-form-table tbody{display:table;width:100%}.wrap.dsgvo-wrap .main-title{justify-content:left;align-items:center}.wrap.dsgvo-wrap .main-title h2{font-size:200%;margin-top:.8em;margin-bottom:.8em;padding-top:5px}.wrap.dsgvo-wrap .main-title>img{width:30px;margin-right:10px;float:left}.wrap.dsgvo-wrap input[type="checkbox"]:not(.checkbox){width:3.5em;height:2em;border-radius:3em;position:relative;cursor:pointer;outline:0;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wrap.dsgvo-wrap input[type=checkbox]:not(.checkbox):before{display:none}.wrap.dsgvo-wrap input[type=checkbox]:not(.checkbox):after{position:absolute;content:"";width:1em;height:1em;border-radius:50%;background:#f0f0f0;-webkit-box-shadow:0 0 .25em rgba(0,0,0,.3);box-shadow:0 0 .25em rgba(0,0,0,.3);-webkit-transform:scale(.7);transform:scale(.7);left:0;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;top:22%}.wrap.dsgvo-wrap input[type=checkbox]:not(.checkbox):checked:after{left:calc(100% - 2em);background:#0085ba;width:2em;height:2em;top:0}.wrap.dsgvo-wrap .module-title{background:#122459;background:linear-gradient(90deg,rgba(18,36,89,1) 0,rgba(241,241,241,1) 70%);padding-left:5px;padding-top:10px;padding-bottom:10px;font-weight:bold;color:#fff;border-radius:.2rem;text-transform:uppercase;margin-bottom:10px}.wpk-main-design--margin-bottom{margin-bottom:20px}.wpk-main-design--margin-top{margin-top:20px}.wpk-main-design--one-table{display:block;width:100%;background-color:#fff;box-sizing:border-box;padding:15px;border-radius:.2rem}.wpk-main-design--one-table_special{width:100%;box-sizing:border-box;padding:15px;border-radius:.2rem}.wpk-main-design--two-table__left{display:inline-block;width:calc(50% - 10px);box-sizing:border-box;padding:15px;margin-right:10px;margin-bottom:10px;background:#fff;border-radius:.2rem;float:left}.wpk-main-design--two-table__right{display:inline-block;float:left;width:calc(50% - 10px);box-sizing:border-box;padding:15px;margin-bottom:10px;background:#fff;border-radius:.2rem}.wpk-main-design--one-table th,.wpk-main-design--one-table_special th,.wpk-main-design--two-table__left th,.wpk-main-design--two-table__right th,.wpk-main-design--one-table thead tr th,.wpk-main-design--one-table_special thead tr th,.wpk-main-design--two-table__left thead tr th,.wpk-main-design--two-table__right thead tr th{background-color:#122459;border-radius:.2rem;text-align:center;color:white;text-transform:uppercase}.wpk-main-design--one-table input[type="text"],.wpk-main-design--one-table_special input[type="text"],.wpk-main-design--two-table__left input[type="text"],.wpk-main-design--two-table__right input[type="text"],.input-w100 input[type="text"]{width:100%}.wpk-main-design--one-table select,.wpk-main-design--one-table_special select,.wpk-main-design--two-table__left select,.wpk-main-design--two-table__right select{width:100%}.wpk-main-design--submit{width:100%;display:inline-block}.cookie-notive-settings-advanced tbody{display:block}.cookie-notive-settings-advanced tbody tr{width:100%;box-sizing:border-box}.cn_advanced_cookie_textarea{display:block;padding:0 35px}.cn_advanced_cookie_textarea td{width:49%;display:inline-block}img[class*="cookie-style-admin-show--"]{width:100%;box-shadow:0 0 5px;display:none}.wpk-admin-cookie-scan-done{color:green}input[name="dsgvo_licence"]{width:200px}.wpk-company-data>tbody>tr>td>label>input[type="text"],input[name="cn_button_text_ok"],input[name="cn_button_text_cancel"],input[name="cn_decline_target_url"],input[name="cn_button_text_more"]{width:100%}input[name="sar_dsgvo_accepted_text"],input[name="su_dsgvo_accepted_text"]{width:550px}.spdsgvo-d-none{display:none}.spdsgvo-d-block{display:block}@media only screen and (max-width:986px){.dsgvo-wrap{width:calc(100% - 50px)}.wpk-main-design--two-table__left,.wpk-main-design--two-table__right{width:100%}.nav-tab-wrapper>a{width:95%;text-align:center}.dsgvo-wrap{width:calc(100% - 50px)}.wpk-main-design--two-table__left,.wpk-main-design--two-table__right{width:100%}.wpk-main-design--two-table__right{margin-top:25px}input[name="dsgvo_licence"]{width:100%}input[name="spdsgvo_comments_checkbox_confirm"],.wpk-company-data>tbody>tr>td>label>input[type="text"]{width:100% !important}input[name="sar_dsgvo_accepted_text"]{width:100%}input[name="su_dsgvo_accepted_text"]{width:100%}}@media only screen and (max-width:768px){.wpk-services-table>thead>tr{display:flex;flex-direction:column;width:100%;min-width:275px}.wpk-services-table>thead>tr>th{width:100% !important;padding:8px 0;text-align:center}.wpk-services-table>tbody>tr,.wpk-unsub-table>tbody>tr{display:flex;flex-direction:column;width:100%;min-width:275px}.wpk-services-table>tbody>tr>td,.wpk-unsub-table>tbody>tr>td{width:100% !important;text-align:center;padding:8px 0}.wpk-services-table>tbody>tr>td>input,.wpk-services-table>tbody>tr>td>textarea{text-align:center}.wpk-services-table-name{font-weight:bold;display:block}.wpk-services-table>tfoot,.wpk-services-table>thead,.wpk-unsub-table>thead,.wpk-unsub-table>tfoot{display:none}}@media only screen and (max-width:1268px) and (min-width:769px){.wpk-services-table>tbody>tr>td>input,.wpk-services-table>tbody>tr>td>textarea,.wpk-services-table>tbody>tr>td>select{width:100%}.wpk-services-table>tbody>tr>td input{width:100%;font-size:1em !important}.wpk-services-table .image-preview-wrapper{display:none}}@media only screen and (min-width:769px){.wpk-services-table-name{display:none}.wpk-services-table>tbody>tr>td>input,.wpk-services-table>tbody>tr>td>textarea,.wpk-services-table>tbody>tr>td>select{width:100%}.image-preview-wrapper>input{padding:0}}@media only screen and (max-width:1268px){.wrap-premium{width:calc(100% - 20px)}.dsgvo-wrap{width:calc(100% - 40px)}}@media only screen and (min-width:1269px){.wpk-company-data>tbody>tr>td>label>input[type="text"],input[name="cn_button_text_ok"],input[name="cn_button_text_cancel"],input[name="cn_decline_target_url"],input[name="cn_button_text_more"]{width:100%}}.sp-dsgvo_plugin_upgrade_notice>div.header{background-color:#d54e21;padding:10px;color:#f9f9f9;margin-top:10px}p.sp-dsgvo_plugin_upgrade_notice:before{content:none}.sp-dsgvo-blocked-embedding-placeholder{min-height:100px;background:linear-gradient(90deg,#e3ffe7 0,#d9e7ff 100%);padding:20px 10px;color:black;font-family:'Roboto',sans-serif;text-align:center;border-radius:3px}.sp-dsgvo-blocked-embedding-placeholder-header{font-weight:bold;font-size:120%}.sp-dsgvo-blocked-embedding-placeholder-header-icon{height:40px;display:block;margin-left:auto;margin-right:auto}.sp-dsgvo-blocked-embedding-button-container{margin-top:20px}a.sp-dsgvo-blocked-embedding-button-enable{display:inline-block;padding:.5em 3em;border-style:solid;border-width:2px;margin:0 .3em .3em 0;box-sizing:border-box;text-decoration:none;text-transform:uppercase;font-family:'Roboto',sans-serif;font-weight:400;text-align:center;transition:all .15s}.sp-dsgvo-hidden-embedding-content{display:none}
admin/tabs/gravity-forms/page.php CHANGED
@@ -8,7 +8,7 @@
8
 
9
  <hr>
10
 
11
- <table class="form-table">
12
  <tbody>
13
  <tr>
14
  <th scope="row"><?php _e('Do not save form data in the database','shapepress-dsgvo')?></th>
@@ -34,7 +34,7 @@
34
 
35
  <h2><?php _e('Specific form settings','shapepress-dsgvo')?></h2>
36
  <h4><?php _e('For each Gravity Forms form, it can be subsequently defined for each field whether the data of the input field is stored in the database or not.','shapepress-dsgvo')?></h4>
37
- <table class="form-table ">
38
  <tbody>
39
  <?php foreach( SPDSGVOGravityFormsTab::get_gf_forms() as $form ) :?>
40
  <tr>
8
 
9
  <hr>
10
 
11
+ <table class="lw-form-table">
12
  <tbody>
13
  <tr>
14
  <th scope="row"><?php _e('Do not save form data in the database','shapepress-dsgvo')?></th>
34
 
35
  <h2><?php _e('Specific form settings','shapepress-dsgvo')?></h2>
36
  <h4><?php _e('For each Gravity Forms form, it can be subsequently defined for each field whether the data of the input field is stored in the database or not.','shapepress-dsgvo')?></h4>
37
+ <table class="lw-form-table ">
38
  <tbody>
39
  <?php foreach( SPDSGVOGravityFormsTab::get_gf_forms() as $form ) :?>
40
  <tr>
admin/tabs/integrations/page.php CHANGED
@@ -5,7 +5,7 @@
5
  <input type="hidden" name="action" value="<?= SPDSGVOIntegrationsAction::getActionName() ?>">
6
  <?php wp_nonce_field( SPDSGVOIntegrationsAction::getActionName(). '-nonce' ); ?>
7
 
8
- <table class="form-table">
9
  <tbody>
10
 
11
  <?php $integrations = SPDSGVOIntegration::getAllIntegrations(FALSE); ?>
5
  <input type="hidden" name="action" value="<?= SPDSGVOIntegrationsAction::getActionName() ?>">
6
  <?php wp_nonce_field( SPDSGVOIntegrationsAction::getActionName(). '-nonce' ); ?>
7
 
8
+ <table class="lw-form-table">
9
  <tbody>
10
 
11
  <?php $integrations = SPDSGVOIntegration::getAllIntegrations(FALSE); ?>
admin/tabs/v3/page-basics/page.php CHANGED
@@ -125,7 +125,7 @@ $hasValidLicense = isValidPremiumEdition() || isValidBlogEdition();
125
  }
126
  ?>
127
 
128
- <div id="container-other-cdn" class="form-table <?= checked(in_array('other', $selectedCdnProvider)) ? 'spdsgvo-d-block' : 'spdsgvo-d-none' ?>">
129
 
130
  <label><?php _e('Other CDN Provider', 'shapepress-dsgvo') ?></label>
131
  <small class="form-text text-muted"><?php _e('If you do not use any of the services proposed by us, you would need to complete the privacy policy for the service you use in this text box.', 'shapepress-dsgvo') ?></small>
@@ -339,7 +339,7 @@ $hasValidLicense = isValidPremiumEdition() || isValidBlogEdition();
339
 
340
  </div>
341
 
342
- <div id="container-other-security" class="form-table <?= checked(in_array('other', $selectedSecurityProvider)) ? 'spdsgvo-d-block' : 'spdsgvo-d-none' ?>">
343
 
344
  <div class="form-group">
345
  <small class="text-muted form-text"><?php _e('Please complete those services that you have included in your website but are not listed in the list. The privacy policy of the respective service provider can be found on the website of the provider. In order to determine whether the US service provider Privacy Shield is certified, a query can be made in the list provided at this link: <a href="https://www.privacyshield.gov/list" target="_blank">https://www.privacyshield.gov/list</a>.', 'shapepress-dsgvo') ?></small>
@@ -398,7 +398,7 @@ $hasValidLicense = isValidPremiumEdition() || isValidBlogEdition();
398
  ?>
399
  </div>
400
 
401
- <div id="container-other-newsletter" class="form-table <?= checked(in_array('other', $selectedNewsletter)) ? 'spdsgvo-d-block' : 'spdsgvo-d-none' ?>">
402
 
403
  <div class="form-group">
404
  <small class="text-muted form-text"><?php _e('Please complete those services that you have included in your website but are not listed in the list. The privacy policy of the respective service provider can be found on the website of the provider. In order to determine whether the US service provider Privacy Shield is certified, a query can be made in the list provided at this link: <a href="https://www.privacyshield.gov/list" target="_blank">https://www.privacyshield.gov/list</a>.', 'shapepress-dsgvo') ?></small>
125
  }
126
  ?>
127
 
128
+ <div id="container-other-cdn" class="lw-form-table <?= checked(in_array('other', $selectedCdnProvider)) ? 'spdsgvo-d-block' : 'spdsgvo-d-none' ?>">
129
 
130
  <label><?php _e('Other CDN Provider', 'shapepress-dsgvo') ?></label>
131
  <small class="form-text text-muted"><?php _e('If you do not use any of the services proposed by us, you would need to complete the privacy policy for the service you use in this text box.', 'shapepress-dsgvo') ?></small>
339
 
340
  </div>
341
 
342
+ <div id="container-other-security" class="lw-form-table <?= checked(in_array('other', $selectedSecurityProvider)) ? 'spdsgvo-d-block' : 'spdsgvo-d-none' ?>">
343
 
344
  <div class="form-group">
345
  <small class="text-muted form-text"><?php _e('Please complete those services that you have included in your website but are not listed in the list. The privacy policy of the respective service provider can be found on the website of the provider. In order to determine whether the US service provider Privacy Shield is certified, a query can be made in the list provided at this link: <a href="https://www.privacyshield.gov/list" target="_blank">https://www.privacyshield.gov/list</a>.', 'shapepress-dsgvo') ?></small>
398
  ?>
399
  </div>
400
 
401
+ <div id="container-other-newsletter" class="lw-form-table <?= checked(in_array('other', $selectedNewsletter)) ? 'spdsgvo-d-block' : 'spdsgvo-d-none' ?>">
402
 
403
  <div class="form-group">
404
  <small class="text-muted form-text"><?php _e('Please complete those services that you have included in your website but are not listed in the list. The privacy policy of the respective service provider can be found on the website of the provider. In order to determine whether the US service provider Privacy Shield is certified, a query can be made in the list provided at this link: <a href="https://www.privacyshield.gov/list" target="_blank">https://www.privacyshield.gov/list</a>.', 'shapepress-dsgvo') ?></small>
admin/tabs/v3/webinars/page.php CHANGED
@@ -71,34 +71,35 @@ $hasValidLicense = isValidPremiumEdition() || isValidBlogEdition();
71
 
72
  $products = json_decode( $response['body'], true );
73
 
74
- $result = '';
75
- $result .= '<div class="list-group list-group-flush col-12">';
76
- foreach ($products as $product)
77
- {
78
- $webinar = $product['product']['data'];
79
- $meta = $product['meta'];
80
 
81
- $result .= '<div class="list-group-item font-weight-bold py-1 px-1">';
82
- $result .= '<a href="' . $webinar['link'] . '" class="clear">';
83
- $result .= '<span class="seminare-date">' . date_format(date_create_from_format("Y-m-d H:i", $meta['seminar_beginn'][0]), "d.m.") . ' </span>';
84
- $result .= '<span class="seminare-text">';
85
- $result .= $webinar['title']['rendered'] . ' <br />';
86
- $result .= '<span class="seminare-ortdatum">';
87
- if (array_key_exists('Ausgebucht', $meta) && $meta['Ausgebucht'][0]) {
88
- $result .= $meta['Ausgebucht'][0];
89
- } else if ($meta['seminar_ort'][0]) {
90
- $result .= $meta['seminar_ort'][0];
91
- } else {
92
- $result .= '<small>Online Webinar</small>';
 
 
 
 
 
93
  }
94
- $result .= '</span>';
95
- $result .= '</span>';
96
- $result .= '</a>';
97
  $result .= '</div>';
98
  }
99
- $result .= '</div>';
100
 
101
- if (count($products) > 0) {
102
  echo $result;
103
  }else
104
  {
71
 
72
  $products = json_decode( $response['body'], true );
73
 
74
+ if (isset($products)) {
75
+ $result = '';
76
+ $result .= '<div class="list-group list-group-flush col-12">';
77
+ foreach ($products as $product) {
78
+ $webinar = $product['product']['data'];
79
+ $meta = $product['meta'];
80
 
81
+ $result .= '<div class="list-group-item font-weight-bold py-1 px-1">';
82
+ $result .= '<a href="' . $webinar['link'] . '" class="clear">';
83
+ $result .= '<span class="seminare-date">' . date_format(date_create_from_format("Y-m-d H:i", $meta['seminar_beginn'][0]), "d.m.") . ' </span>';
84
+ $result .= '<span class="seminare-text">';
85
+ $result .= $webinar['title']['rendered'] . ' <br />';
86
+ $result .= '<span class="seminare-ortdatum">';
87
+ if (array_key_exists('Ausgebucht', $meta) && $meta['Ausgebucht'][0]) {
88
+ $result .= $meta['Ausgebucht'][0];
89
+ } else if ($meta['seminar_ort'][0]) {
90
+ $result .= $meta['seminar_ort'][0];
91
+ } else {
92
+ $result .= '<small>Online Webinar</small>';
93
+ }
94
+ $result .= '</span>';
95
+ $result .= '</span>';
96
+ $result .= '</a>';
97
+ $result .= '</div>';
98
  }
 
 
 
99
  $result .= '</div>';
100
  }
 
101
 
102
+ if (isset($result) && isset($products) && count($products) > 0) {
103
  echo $result;
104
  }else
105
  {
includes/class-sp-dsgvo-constants.php CHANGED
@@ -42,7 +42,7 @@ class SPDSGVOConstants
42
  'fastly-cdn' => 'Fastly CDN',
43
  'google-cloud' => 'Google Cloud CDN',
44
  'g-core-labs-cdn' => 'G-Core Labs CDN',
45
- 'key' => 'Key CDN',
46
  'medianova' => 'Medianova',
47
  'ovh-cdn' => 'OVH CDN',
48
  'stackpath' => 'StackPath',
42
  'fastly-cdn' => 'Fastly CDN',
43
  'google-cloud' => 'Google Cloud CDN',
44
  'g-core-labs-cdn' => 'G-Core Labs CDN',
45
+ 'key-cdn' => 'Key CDN',
46
  'medianova' => 'Medianova',
47
  'ovh-cdn' => 'OVH CDN',
48
  'stackpath' => 'StackPath',
includes/class-sp-dsgvo-javascript.php CHANGED
@@ -96,6 +96,7 @@ class SPDSGVOJavascript
96
 
97
  $generalConfig = [
98
  'ajaxUrl' => admin_url('admin-ajax.php'),
 
99
  'cookieName' => SPDSGVOConstants::CCOKIE_NAME,
100
  'cookieVersion' => $settings['cookie_version'],
101
  'cookieLifeTime' => $settings['cn_cookie_validity'],
96
 
97
  $generalConfig = [
98
  'ajaxUrl' => admin_url('admin-ajax.php'),
99
+ 'wpJsonUrl' => rest_url('legalweb/v1/'),
100
  'cookieName' => SPDSGVOConstants::CCOKIE_NAME,
101
  'cookieVersion' => $settings['cookie_version'],
102
  'cookieLifeTime' => $settings['cn_cookie_validity'],
includes/class-sp-dsgvo.php CHANGED
@@ -396,6 +396,10 @@ class SPDSGVO
396
  $this->loader->add_filter('widget_custom_html_content', SPDSGVOEmbeddingsManager::getInstance(), 'findAndProcessIframes', 50, 1);
397
  $this->loader->add_filter('embed_oembed_html', SPDSGVOEmbeddingsManager::getInstance(), 'findAndProcessOembeds', 50, 2);
398
 
 
 
 
 
399
  /**
400
  * If activated by user, block google-fonts if cookies are not accepted
401
  */
396
  $this->loader->add_filter('widget_custom_html_content', SPDSGVOEmbeddingsManager::getInstance(), 'findAndProcessIframes', 50, 1);
397
  $this->loader->add_filter('embed_oembed_html', SPDSGVOEmbeddingsManager::getInstance(), 'findAndProcessOembeds', 50, 2);
398
 
399
+ $this->loader->add_action('rest_api_init', $public, 'registerTextActionEndpoint', 1);
400
+ //$this->loader->add_action('rest_api_init', new SPDSGVOLegalWebTextAction(), 'run', 10);
401
+
402
+
403
  /**
404
  * If activated by user, block google-fonts if cookies are not accepted
405
  */
includes/integrations/embeddings/facebook-feed/class-sp-dsgvo-facebook-feed-api.php CHANGED
@@ -6,7 +6,7 @@ class SPDSGVOFacebookFeedApi extends SPDSGVOEmbeddingApiBase
6
  {
7
  $this->name = "Facebook";
8
  $this->company = "Facebook Inc.";
9
- $this->country = "Ireland";
10
  $this->slug = 'facebook-feed';
11
  $this->storageId = 'fbfeed';
12
  $this->cookieCategory = SPDSGVOConstants::CATEGORY_SLUG_EMBEDDINGS;
6
  {
7
  $this->name = "Facebook";
8
  $this->company = "Facebook Inc.";
9
+ $this->country = "Ireland, USA";
10
  $this->slug = 'facebook-feed';
11
  $this->storageId = 'fbfeed';
12
  $this->cookieCategory = SPDSGVOConstants::CATEGORY_SLUG_EMBEDDINGS;
includes/integrations/embeddings/instagram/class-sp-dsgvo-instagram-api.php CHANGED
@@ -6,7 +6,7 @@ class SPDSGVOInstagramApi extends SPDSGVOEmbeddingApiBase
6
  {
7
  $this->name = "Instagram";
8
  $this->company = "Facebook Inc.";
9
- $this->country = "Ireland";
10
  $this->slug = 'insta';
11
  $this->storageId = 'insta';
12
  $this->cookieCategory = SPDSGVOConstants::CATEGORY_SLUG_EMBEDDINGS;
6
  {
7
  $this->name = "Instagram";
8
  $this->company = "Facebook Inc.";
9
+ $this->country = "Ireland, USA";
10
  $this->slug = 'insta';
11
  $this->storageId = 'insta';
12
  $this->cookieCategory = SPDSGVOConstants::CATEGORY_SLUG_EMBEDDINGS;
includes/integrations/mailchimp/page.php CHANGED
@@ -2,7 +2,7 @@
2
  <form method="post" action="<?= SPDSGVOMailchimpIntegration::formURL() ?> ">
3
  <input type="hidden" name="action" value="<?= SPDSGVOMailchimpIntegration::action() ?>">
4
 
5
- <table class="form-table wpk-main-design--one-table wpk-main-design--margin-top">
6
  <tbody>
7
  <tr>
8
  <td scope="row" style="width: 150px"><label for="mailchimp_api_token"><?php _e('Mailchimp API Key','shapepress-dsgvo')?></label></td>
2
  <form method="post" action="<?= SPDSGVOMailchimpIntegration::formURL() ?> ">
3
  <input type="hidden" name="action" value="<?= SPDSGVOMailchimpIntegration::action() ?>">
4
 
5
+ <table class="lw-form-table wpk-main-design--one-table wpk-main-design--margin-top">
6
  <tbody>
7
  <tr>
8
  <td scope="row" style="width: 150px"><label for="mailchimp_api_token"><?php _e('Mailchimp API Key','shapepress-dsgvo')?></label></td>
includes/integrations/targeting/fbpixel/class-sp-dsgvo-fb-pixel-api.php CHANGED
@@ -8,7 +8,7 @@ class SPDSGVOFbPixelApi extends SPDSGVOIntegrationApiBase
8
  {
9
  $this->name = "Facebook Pixel";
10
  $this->company = "Facebook Inc.";
11
- $this->country = "Ireland";
12
  $this->slug = 'facebook-pixel';
13
  $this->storageId = 'fbpixel';
14
  $this->cookieCategory = SPDSGVOConstants::CATEGORY_SLUG_TARGETING;
8
  {
9
  $this->name = "Facebook Pixel";
10
  $this->company = "Facebook Inc.";
11
+ $this->country = "Ireland, USA";
12
  $this->slug = 'facebook-pixel';
13
  $this->storageId = 'fbpixel';
14
  $this->cookieCategory = SPDSGVOConstants::CATEGORY_SLUG_TARGETING;
includes/models/unsubscriber.php CHANGED
@@ -82,6 +82,17 @@ Class SPDSGVOUnsubscriber extends SPDSGVOModel {
82
  );
83
  }
84
 
 
 
 
 
 
 
 
 
 
 
 
85
 
86
  //======================================================================
87
  // Hooks
82
  );
83
  }
84
 
85
+ public function _finderPending($args){
86
+ return array(
87
+ 'meta_query' => array(
88
+ array(
89
+ 'key' => 'status',
90
+ 'value' => 'pending'
91
+ )
92
+ )
93
+ );
94
+ }
95
+
96
 
97
  //======================================================================
98
  // Hooks
public/actions/legal-web-text-action.php CHANGED
@@ -44,15 +44,6 @@ Class SPDSGVOLegalWebTextAction extends SPDSGVOAjaxAction{
44
  $settings = SPDSGVOPiwikApi::getInstance()->getSettings();
45
  break;
46
  }
47
- /*
48
- if ($settings['showAsTechMandatory'] == '1')
49
- {
50
- $slug .= '-mandatory';
51
- } else
52
- {
53
-
54
- }
55
- */
56
 
57
  $slug .= '-';
58
  $slug .= (array_key_exists('implementationMode',$settings)) ? $settings['implementationMode'] : 'on-premises';
44
  $settings = SPDSGVOPiwikApi::getInstance()->getSettings();
45
  break;
46
  }
 
 
 
 
 
 
 
 
 
47
 
48
  $slug .= '-';
49
  $slug .= (array_key_exists('implementationMode',$settings)) ? $settings['implementationMode'] : 'on-premises';
public/class-sp-dsgvo-public.php CHANGED
@@ -983,6 +983,99 @@ class SPDSGVOPublic
983
 
984
  }
985
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
986
  public function allowJSON($mime_types)
987
  {
988
  $mime_types['json'] = 'application/json';
983
 
984
  }
985
 
986
+ public function registerTextActionEndpoint()
987
+ {
988
+ register_rest_route( 'legalweb/v1', 'lwTextEndpoint',array(
989
+ 'methods' => 'GET',
990
+ 'callback' => array($this, 'getLwText'),
991
+ 'args' => array(
992
+ 'locale',
993
+ 'slug',
994
+ 'textId',
995
+ 'includeTagManager'
996
+ )
997
+ ));
998
+ }
999
+
1000
+ public function getLwText(WP_REST_Request $request){
1001
+
1002
+ $locale = $request->get_param('locale');
1003
+ $slug = $request->get_param('slug');
1004
+ $textId = $request->get_param('textId');
1005
+ $includeTagManager = $request->get_param('includeTagManager','');
1006
+ //error_log('notice-action: '.$noticeKey);
1007
+
1008
+ if ($locale == NULL || $locale == '')
1009
+ {
1010
+ return "invalid locale";
1011
+ }
1012
+
1013
+ if ($slug == NULL || $slug == '')
1014
+ {
1015
+ return "invalid slug";
1016
+ }
1017
+
1018
+ if ($slug == NULL || $slug == '')
1019
+ {
1020
+ return "invalid textId";
1021
+ }
1022
+
1023
+ //special case for matomo and piwik. only in cloud mode they are in popup, so attach -cloud to get correct popup text
1024
+ $specialIntegrations = array('matomo', 'piwik');
1025
+ $webAgencyText = "";
1026
+ if (in_array($slug, $specialIntegrations)) {
1027
+
1028
+ $settings = null;
1029
+ switch ($slug){
1030
+ case SPDSGVOMatomoApi::getInstance()->getSlug():
1031
+ $settings = SPDSGVOMatomoApi::getInstance()->getSettings();
1032
+ break;
1033
+ case SPDSGVOPiwikApi::getInstance()->getSlug():
1034
+ $settings = SPDSGVOPiwikApi::getInstance()->getSettings();
1035
+ break;
1036
+ }
1037
+
1038
+ $slug .= '-';
1039
+ $slug .= (array_key_exists('implementationMode',$settings)) ? $settings['implementationMode'] : 'on-premises';
1040
+
1041
+ if (array_key_exists('agency', $settings['meta']) == true)
1042
+ {
1043
+ $webAgencyText = $settings['meta']['agency'];
1044
+ }
1045
+ }
1046
+
1047
+ $result = SPDSGVOLanguageTools::getLwText($slug, $textId, $locale);
1048
+
1049
+ if (strpos($slug, "by-agency") >= 0)
1050
+ {
1051
+ $result = str_replace("{web_agency}", $webAgencyText, $result);
1052
+ }
1053
+
1054
+ if ($includeTagManager != '')
1055
+ {
1056
+ switch ($includeTagManager)
1057
+ {
1058
+ case 'google-tagmanager':
1059
+ $tagTitle = SPDSGVOGoogleTagmanagerApi::getInstance()->getName();
1060
+ $result .= "<br /><p><strong style='font-size:110%'>$tagTitle</strong><br />";
1061
+ $result .= SPDSGVOLanguageTools::getLwText('google-tagmanager', $textId, $locale) . "</p>";
1062
+ break;
1063
+ case 'matomo-tagmanager':
1064
+
1065
+ // nothing to do here for now because matomo only works as container
1066
+ /*
1067
+ $tagTitle = SPDSGVOMatomoTagmanagerApi::getInstance()->getName();
1068
+ $result .= "<br /><p><strong style='font-size:110%'>$tagTitle</strong><br />";
1069
+ $result .= SPDSGVOLanguageTools::getLwText('matomo-tagmanager', $textId, $locale) . "</p>";
1070
+ */
1071
+ break;
1072
+ }
1073
+
1074
+ }
1075
+
1076
+ return $result;
1077
+ }
1078
+
1079
  public function allowJSON($mime_types)
1080
  {
1081
  $mime_types['json'] = 'application/json';
public/js/sp-dsgvo-public.js CHANGED
@@ -399,8 +399,8 @@ const CATEGORY_SLUG_MANDATORY = 'necessary';
399
 
400
  var integrationObject = getIntegrationConfigBySlug(slug);
401
 
402
- $.get(spDsgvoGeneralConfig.ajaxUrl, {
403
- action: 'legal-web-text-action',
404
  slug: slug,
405
  textId: 'popup',
406
  locale: locale,
@@ -1037,8 +1037,8 @@ const CATEGORY_SLUG_MANDATORY = 'necessary';
1037
  // subscriber function
1038
  function subscriber(mutations) {
1039
  //console.log('subscriber');
1040
- for (let i = 0; i < mutations.length; i++) {
1041
- const addedNodes = mutations[i];
1042
  for(let i = 0; i < addedNodes.length; i++) {
1043
  const node = addedNodes[i];
1044
  // For each added script tag
399
 
400
  var integrationObject = getIntegrationConfigBySlug(slug);
401
 
402
+ $.get(spDsgvoGeneralConfig.wpJsonUrl +'lwTextEndpoint', {
403
+ //action: 'legal-web-text-action',
404
  slug: slug,
405
  textId: 'popup',
406
  locale: locale,
1037
  // subscriber function
1038
  function subscriber(mutations) {
1039
  //console.log('subscriber');
1040
+ for (let k = 0; k < mutations.length; k++) {
1041
+ const addedNodes = mutations[k].addedNodes;
1042
  for(let i = 0; i < addedNodes.length; i++) {
1043
  const node = addedNodes[i];
1044
  // For each added script tag
public/shortcodes/privacy-policy.php CHANGED
@@ -110,34 +110,32 @@ function SPDSGVOPrivacyPolicyShortcode($atts){
110
  // </editor-fold>
111
 
112
  // <editor-fold desc="Responsible person for data security questions">
113
- $operator_pp_responsibility_contact = SPDSGVOSettings::get('operator_pp_responsibility_contact');
114
- $dpqText = SPDSGVOLanguageTools::getPrivacyPolicyText('data-protection-responsible', $locale);
115
- // Unseren Ansprechpartner für Datenschutzangelegenheiten erreichen Sie unter:
116
- if ( $operator_pp_responsibility_contact == 'external')
117
- {
118
- $dpqText .= SPDSGVOSettings::get('operator_pp_dso_contact_external_company') .", ";
119
- $dpqText .= __('attn.','shapepress-dsgvo') . ' ' . SPDSGVOSettings::get('operator_pp_dso_contact_external_name') .", <br />";
120
- $dpqText .= SPDSGVOSettings::get('operator_pp_dso_contact_external_street') ." <br />";
121
- $dpqText .= SPDSGVOSettings::get('operator_pp_dso_contact_external_loc') ." ";
122
- $dpqText .= SPDSGVOSettings::get('operator_pp_dso_contact_external_zip') ." <br />";
123
- $dpqText .= __('Phone:','shapepress-dsgvo') . ' ' . SPDSGVOSettings::get('operator_pp_dso_contact_external_phone') ." <br />";
124
- $dpqText .= __('Email:','shapepress-dsgvo') . ' <a href= "mailto:' . SPDSGVOSettings::get('operator_pp_dso_contact_external_email').'">'.SPDSGVOSettings::get("operator_pp_dso_contact_external_email").'</a>' ." <br />";
125
- }
126
- elseif ($operator_pp_responsibility_contact == 'internal')
127
- {
128
- $dpqText .= SPDSGVOSettings::get('spdsgvo_company_info_name') ." <br />";
129
- $dpqText .= __('attn.','shapepress-dsgvo') . ' ' . SPDSGVOSettings::get('operator_pp_dso_contact_intern_name') .", <br />";
130
- $dpqText .= SPDSGVOSettings::get('spdsgvo_company_info_street') ." <br />";
131
- $dpqText .= SPDSGVOSettings::get('spdsgvo_company_info_zip') ." ";
132
- $dpqText .= SPDSGVOSettings::get('spdsgvo_company_info_loc') ." <br />";
133
- $dpqText .= __('Phone:','shapepress-dsgvo') . ' ' . SPDSGVOSettings::get('operator_pp_dso_contact_intern_phone') ." <br />";
134
- $dpqText .= __('Email:','shapepress-dsgvo') . ' <a href= "mailto:' . SPDSGVOSettings::get('operator_pp_dso_contact_intern_email').'">'.SPDSGVOSettings::get("operator_pp_dso_contact_intern_email").'</a>' ." <br />";
135
- }
136
 
137
- if ($operator_pp_responsibility_contact == 'external' || $operator_pp_responsibility_contact == 'internal')
138
- {
139
- $privacyPolicy[] = SPDSGVOGetFormatedHtmlTextArray($hTagSubtitle, __('Responsible for privacy issues','shapepress-dsgvo'));
140
- $privacyPolicy[] = SPDSGVOGetFormatedHtmlTextArray('p', $dpqText);
141
  }
142
  // </editor-fold>
143
 
110
  // </editor-fold>
111
 
112
  // <editor-fold desc="Responsible person for data security questions">
113
+ if ($operator_pp_responsibility_type == 'no') {
114
+ $operator_pp_responsibility_contact = SPDSGVOSettings::get('operator_pp_responsibility_contact');
115
+ $dpqText = SPDSGVOLanguageTools::getPrivacyPolicyText('data-protection-responsible', $locale);
116
+ // Unseren Ansprechpartner für Datenschutzangelegenheiten erreichen Sie unter:
117
+ if ($operator_pp_responsibility_contact == 'external') {
118
+ $dpqText .= SPDSGVOSettings::get('operator_pp_dso_contact_external_company') . ", ";
119
+ $dpqText .= __('attn.', 'shapepress-dsgvo') . ' ' . SPDSGVOSettings::get('operator_pp_dso_contact_external_name') . ", <br />";
120
+ $dpqText .= SPDSGVOSettings::get('operator_pp_dso_contact_external_street') . " <br />";
121
+ $dpqText .= SPDSGVOSettings::get('operator_pp_dso_contact_external_loc') . " ";
122
+ $dpqText .= SPDSGVOSettings::get('operator_pp_dso_contact_external_zip') . " <br />";
123
+ $dpqText .= __('Phone:', 'shapepress-dsgvo') . ' ' . SPDSGVOSettings::get('operator_pp_dso_contact_external_phone') . " <br />";
124
+ $dpqText .= __('Email:', 'shapepress-dsgvo') . ' <a href= "mailto:' . SPDSGVOSettings::get('operator_pp_dso_contact_external_email') . '">' . SPDSGVOSettings::get("operator_pp_dso_contact_external_email") . '</a>' . " <br />";
125
+ } elseif ($operator_pp_responsibility_contact == 'internal') {
126
+ $dpqText .= SPDSGVOSettings::get('spdsgvo_company_info_name') . " <br />";
127
+ $dpqText .= __('attn.', 'shapepress-dsgvo') . ' ' . SPDSGVOSettings::get('operator_pp_dso_contact_intern_name') . ", <br />";
128
+ $dpqText .= SPDSGVOSettings::get('spdsgvo_company_info_street') . " <br />";
129
+ $dpqText .= SPDSGVOSettings::get('spdsgvo_company_info_zip') . " ";
130
+ $dpqText .= SPDSGVOSettings::get('spdsgvo_company_info_loc') . " <br />";
131
+ $dpqText .= __('Phone:', 'shapepress-dsgvo') . ' ' . SPDSGVOSettings::get('operator_pp_dso_contact_intern_phone') . " <br />";
132
+ $dpqText .= __('Email:', 'shapepress-dsgvo') . ' <a href= "mailto:' . SPDSGVOSettings::get('operator_pp_dso_contact_intern_email') . '">' . SPDSGVOSettings::get("operator_pp_dso_contact_intern_email") . '</a>' . " <br />";
133
+ }
 
 
134
 
135
+ if ($operator_pp_responsibility_contact == 'external' || $operator_pp_responsibility_contact == 'internal') {
136
+ $privacyPolicy[] = SPDSGVOGetFormatedHtmlTextArray($hTagSubtitle, __('Responsible for privacy issues', 'shapepress-dsgvo'));
137
+ $privacyPolicy[] = SPDSGVOGetFormatedHtmlTextArray('p', $dpqText);
138
+ }
139
  }
140
  // </editor-fold>
141
 
sp-dsgvo.php CHANGED
@@ -16,7 +16,7 @@
16
  * Plugin Name: WP DSGVO Tools (GDPR)
17
  * Plugin URI: https://legalweb.io
18
  * Description: WP DSGVO Tools (GDPR) help you to fulfill the GDPR (DGSVO) compliance guidance (<a target="_blank" href="https://ico.org.uk/for-organisations/data-protection-reform/overview-of-the-gdpr/">GDPR</a>)
19
- * Version: 3.1.9
20
  * Author: legalweb
21
  * Author URI: https://www.legalweb.io
22
  * License URI: http://www.gnu.org/licenses/gpl-2.0.txt
@@ -28,7 +28,7 @@ if (! defined('WPINC')) {
28
  die();
29
  }
30
 
31
- define('sp_dsgvo_VERSION', '3.1.9');
32
  define('sp_dsgvo_NAME', 'sp-dsgvo');
33
  define('sp_dsgvo_PLUGIN_NAME', 'shapepress-dsgvo');
34
  define('sp_dsgvo_LEGAL_TEXTS_MIN_VERSION', '1579021814');
16
  * Plugin Name: WP DSGVO Tools (GDPR)
17
  * Plugin URI: https://legalweb.io
18
  * Description: WP DSGVO Tools (GDPR) help you to fulfill the GDPR (DGSVO) compliance guidance (<a target="_blank" href="https://ico.org.uk/for-organisations/data-protection-reform/overview-of-the-gdpr/">GDPR</a>)
19
+ * Version: 3.1.10
20
  * Author: legalweb
21
  * Author URI: https://www.legalweb.io
22
  * License URI: http://www.gnu.org/licenses/gpl-2.0.txt
28
  die();
29
  }
30
 
31
+ define('sp_dsgvo_VERSION', '3.1.10');
32
  define('sp_dsgvo_NAME', 'sp-dsgvo');
33
  define('sp_dsgvo_PLUGIN_NAME', 'shapepress-dsgvo');
34
  define('sp_dsgvo_LEGAL_TEXTS_MIN_VERSION', '1579021814');