Version Description
Release date: May 11th, 2018 * Added translatable 'Yes' and 'No' strings. * Added confirmation mails sent after processing a anonymise request. * Added mail sent to the admin when a new request is created. * Added 'noopener noreferrer' to the Privacy Policy link.
Download this release
Release Info
Developer | donnyoexman |
Plugin | WP GDPR Compliance |
Version | 1.3.2 |
Comparing to | |
See all releases |
Code changes from version 1.3.1 to 1.3.2
- Includes/Ajax.php +88 -25
- Includes/Data.php +1 -1
- Includes/DeleteRequest.php +21 -0
- Includes/Extensions/WP.php +1 -1
- Includes/Helper.php +14 -1
- Includes/Integration.php +1 -1
- Includes/Page.php +85 -63
- Includes/Shortcode.php +15 -3
- assets/css/admin.css +122 -13
- assets/svg/stars.svg +8 -0
- languages/wp-gdpr-compliance.pot +150 -86
- readme.txt +8 -1
- wp-gdpr-compliance.php +1 -1
Includes/Ajax.php
CHANGED
@@ -97,35 +97,35 @@ class Ajax {
|
|
97 |
if ($id !== false) {
|
98 |
$page = Helper::getAccessRequestPage();
|
99 |
if (!empty($page)) {
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
110 |
$message = sprintf(
|
111 |
__('You have requested to access your data on %s.', WP_GDPR_C_SLUG),
|
112 |
sprintf('<a target="_blank" href="%s">%s</a>', $siteUrl, $siteName)
|
113 |
) . '<br /><br />';
|
114 |
$message .= sprintf(
|
115 |
__('Please visit this %s to view the data linked to the email address %s', WP_GDPR_C_SLUG),
|
116 |
-
|
117 |
-
'<a target="_blank" href="%s">%s</a>',
|
118 |
-
add_query_arg(
|
119 |
-
array(
|
120 |
-
'wpgdprc' => base64_encode(serialize(array(
|
121 |
-
'email' => $request->getEmailAddress(),
|
122 |
-
'sId' => $request->getSessionId()
|
123 |
-
)))
|
124 |
-
),
|
125 |
-
get_permalink($page)
|
126 |
-
),
|
127 |
-
__('page', WP_GDPR_C_SLUG)
|
128 |
-
),
|
129 |
$emailAddress
|
130 |
) . '<br /><br />';
|
131 |
$message .= __('This page is available for 24 hours and can only be reached from the same IP address you requested from.', WP_GDPR_C_SLUG) . '<br />';
|
@@ -133,6 +133,7 @@ class Ajax {
|
|
133 |
__('If your link is invalid please fill in a new request: %s.', WP_GDPR_C_SLUG),
|
134 |
sprintf('<a target="_blank" href="%s">%s</a>', get_permalink($page), get_the_title($page))
|
135 |
);
|
|
|
136 |
$headers = array(
|
137 |
'Content-Type: text/html; charset=UTF-8',
|
138 |
"From: $siteName <$siteEmail>"
|
@@ -189,6 +190,38 @@ class Ajax {
|
|
189 |
$id = $request->save();
|
190 |
if ($id === false) {
|
191 |
$output['error'] = __('Something went wrong while saving this request. Please try again.', WP_GDPR_C_SLUG);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
192 |
}
|
193 |
} else {
|
194 |
$output['error'] = __('Session doesn\'t match.', WP_GDPR_C_SLUG);
|
@@ -230,7 +263,7 @@ class Ajax {
|
|
230 |
}
|
231 |
|
232 |
if ($id === 0 || !DeleteRequest::getInstance()->exists($id)) {
|
233 |
-
$output['error'] = __('This
|
234 |
}
|
235 |
|
236 |
// Let's do this!
|
@@ -297,13 +330,43 @@ class Ajax {
|
|
297 |
update_post_meta($request->getDataId(), '_shipping_address_2', 'ADDRESS_2');
|
298 |
update_post_meta($request->getDataId(), '_shipping_postcode', 'ZIP_CODE');
|
299 |
update_post_meta($request->getDataId(), '_shipping_city', 'CITY');
|
|
|
|
|
300 |
} else {
|
301 |
$output['error'] = __('You\'re not allowed to edit WooCommerce orders.', WP_GDPR_C_SLUG);
|
302 |
}
|
303 |
break;
|
304 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
305 |
} else {
|
306 |
-
$output['error'] = __('This
|
307 |
}
|
308 |
}
|
309 |
|
97 |
if ($id !== false) {
|
98 |
$page = Helper::getAccessRequestPage();
|
99 |
if (!empty($page)) {
|
100 |
+
$deleteRequestPage = sprintf(
|
101 |
+
'<a target="_blank" href="%s">%s</a>',
|
102 |
+
add_query_arg(
|
103 |
+
array(
|
104 |
+
'wpgdprc' => base64_encode(serialize(array(
|
105 |
+
'email' => $request->getEmailAddress(),
|
106 |
+
'sId' => $request->getSessionId()
|
107 |
+
)))
|
108 |
+
),
|
109 |
+
get_permalink($page)
|
110 |
+
),
|
111 |
+
__('page', WP_GDPR_C_SLUG)
|
112 |
+
);
|
113 |
+
$siteName = Helper::getSiteData('blogname', $request->getSiteId());
|
114 |
+
$siteEmail = Helper::getSiteData('admin_email', $request->getSiteId());
|
115 |
+
$siteUrl = Helper::getSiteData('siteurl', $request->getSiteId());
|
116 |
+
$subject = apply_filters(
|
117 |
+
'wpgdprc_access_request_mail_subject',
|
118 |
+
sprintf(__('%s - Your data request', WP_GDPR_C_SLUG), $siteName),
|
119 |
+
$request,
|
120 |
+
$siteName
|
121 |
+
);
|
122 |
$message = sprintf(
|
123 |
__('You have requested to access your data on %s.', WP_GDPR_C_SLUG),
|
124 |
sprintf('<a target="_blank" href="%s">%s</a>', $siteUrl, $siteName)
|
125 |
) . '<br /><br />';
|
126 |
$message .= sprintf(
|
127 |
__('Please visit this %s to view the data linked to the email address %s', WP_GDPR_C_SLUG),
|
128 |
+
$deleteRequestPage,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
129 |
$emailAddress
|
130 |
) . '<br /><br />';
|
131 |
$message .= __('This page is available for 24 hours and can only be reached from the same IP address you requested from.', WP_GDPR_C_SLUG) . '<br />';
|
133 |
__('If your link is invalid please fill in a new request: %s.', WP_GDPR_C_SLUG),
|
134 |
sprintf('<a target="_blank" href="%s">%s</a>', get_permalink($page), get_the_title($page))
|
135 |
);
|
136 |
+
$message = apply_filters('wpgdprc_access_request_mail_content', $message, $request, $deleteRequestPage);
|
137 |
$headers = array(
|
138 |
'Content-Type: text/html; charset=UTF-8',
|
139 |
"From: $siteName <$siteEmail>"
|
190 |
$id = $request->save();
|
191 |
if ($id === false) {
|
192 |
$output['error'] = __('Something went wrong while saving this request. Please try again.', WP_GDPR_C_SLUG);
|
193 |
+
} else {
|
194 |
+
$siteName = Helper::getSiteData('blogname', $request->getSiteId());
|
195 |
+
$siteEmail = Helper::getSiteData('admin_email', $request->getSiteId());
|
196 |
+
$siteUrl = Helper::getSiteData('siteurl', $request->getSiteId());
|
197 |
+
$adminPage = sprintf(
|
198 |
+
'<a target="_blank" href="%s">%s</a>',
|
199 |
+
add_query_arg(
|
200 |
+
array('type' => 'requests'),
|
201 |
+
Helper::getPluginAdminUrl()
|
202 |
+
),
|
203 |
+
__('Requests', WP_GDPR_C_SLUG)
|
204 |
+
);
|
205 |
+
$subject = apply_filters(
|
206 |
+
'wpgdprc_delete_request_admin_mail_subject',
|
207 |
+
sprintf(__('%s - New anonymise request', WP_GDPR_C_SLUG), $siteName),
|
208 |
+
$request,
|
209 |
+
$siteName
|
210 |
+
);
|
211 |
+
$message = sprintf(
|
212 |
+
__('You have received a new anonymise request on %s.', WP_GDPR_C_SLUG),
|
213 |
+
sprintf('<a target="_blank" href="%s">%s</a>', $siteUrl, $siteName)
|
214 |
+
) . '<br /><br />';
|
215 |
+
$message .= sprintf(
|
216 |
+
__('You can manage this request in the admin panel: %s', WP_GDPR_C_SLUG),
|
217 |
+
$adminPage
|
218 |
+
);
|
219 |
+
$message = apply_filters('wpgdprc_delete_request_admin_mail_content', $message, $request, $adminPage);
|
220 |
+
$headers = array(
|
221 |
+
'Content-Type: text/html; charset=UTF-8',
|
222 |
+
"From: $siteName <$siteEmail>"
|
223 |
+
);
|
224 |
+
wp_mail($siteEmail, $subject, $message, $headers);
|
225 |
}
|
226 |
} else {
|
227 |
$output['error'] = __('Session doesn\'t match.', WP_GDPR_C_SLUG);
|
263 |
}
|
264 |
|
265 |
if ($id === 0 || !DeleteRequest::getInstance()->exists($id)) {
|
266 |
+
$output['error'] = __('This request doesn\'t exist.', WP_GDPR_C_SLUG);
|
267 |
}
|
268 |
|
269 |
// Let's do this!
|
330 |
update_post_meta($request->getDataId(), '_shipping_address_2', 'ADDRESS_2');
|
331 |
update_post_meta($request->getDataId(), '_shipping_postcode', 'ZIP_CODE');
|
332 |
update_post_meta($request->getDataId(), '_shipping_city', 'CITY');
|
333 |
+
$request->setProcessed(1);
|
334 |
+
$request->save();
|
335 |
} else {
|
336 |
$output['error'] = __('You\'re not allowed to edit WooCommerce orders.', WP_GDPR_C_SLUG);
|
337 |
}
|
338 |
break;
|
339 |
}
|
340 |
+
|
341 |
+
if (empty($output['error']) && $request->getProcessed()) {
|
342 |
+
$accessRequest = new AccessRequest($request->getAccessRequestId());
|
343 |
+
$siteName = Helper::getSiteData('blogname', $request->getSiteId());
|
344 |
+
$siteEmail = Helper::getSiteData('admin_email', $request->getSiteId());
|
345 |
+
$siteUrl = Helper::getSiteData('siteurl', $request->getSiteId());
|
346 |
+
$subject = apply_filters(
|
347 |
+
'wpgdprc_delete_request_mail_subject',
|
348 |
+
sprintf(__('%s - Your request', WP_GDPR_C_SLUG), $siteName),
|
349 |
+
$request,
|
350 |
+
$accessRequest
|
351 |
+
);
|
352 |
+
$message = sprintf(
|
353 |
+
__('We have successfully processed your request and your data has been anonymised on %s.', WP_GDPR_C_SLUG),
|
354 |
+
sprintf('<a target="_blank" href="%s">%s</a>', $siteUrl, $siteName)
|
355 |
+
) . '<br /><br />';
|
356 |
+
$message .= __('The following has been processed:', WP_GDPR_C_SLUG) . '<br />';
|
357 |
+
$message .= sprintf('%s #%d with email address %s.', $request->getNiceTypeLabel(), $request->getDataId(), $accessRequest->getEmailAddress());
|
358 |
+
$message = apply_filters('wpgdprc_delete_request_mail_content', $message, $request, $accessRequest);
|
359 |
+
$headers = array(
|
360 |
+
'Content-Type: text/html; charset=UTF-8',
|
361 |
+
"From: $siteName <$siteEmail>"
|
362 |
+
);
|
363 |
+
$response = wp_mail($accessRequest->getEmailAddress(), $subject, $message, $headers);
|
364 |
+
if ($response !== false) {
|
365 |
+
$output['message'] = __('Successfully sent an confirmation mail to the user.', WP_GDPR_C_SLUG);
|
366 |
+
}
|
367 |
+
}
|
368 |
} else {
|
369 |
+
$output['error'] = __('This request has already been processed.', WP_GDPR_C_SLUG);
|
370 |
}
|
371 |
}
|
372 |
|
Includes/Data.php
CHANGED
@@ -171,7 +171,7 @@ class Data {
|
|
171 |
$output .= '</tbody>';
|
172 |
$output .= '</table>';
|
173 |
$output .= sprintf(
|
174 |
-
'<p><input type="submit" class="wpgdprc-remove" value="
|
175 |
str_replace('_', ' ', $type)
|
176 |
);
|
177 |
$output .= '</form>';
|
171 |
$output .= '</tbody>';
|
172 |
$output .= '</table>';
|
173 |
$output .= sprintf(
|
174 |
+
'<p><input type="submit" class="wpgdprc-remove" value="Anonymise selected %s(s)" /></p>',
|
175 |
str_replace('_', ' ', $type)
|
176 |
);
|
177 |
$output .= '</form>';
|
Includes/DeleteRequest.php
CHANGED
@@ -209,6 +209,27 @@ class DeleteRequest {
|
|
209 |
return '';
|
210 |
}
|
211 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
212 |
/**
|
213 |
* @return null|DeleteRequest
|
214 |
*/
|
209 |
return '';
|
210 |
}
|
211 |
|
212 |
+
/**
|
213 |
+
* @return string
|
214 |
+
*/
|
215 |
+
public function getNiceTypeLabel() {
|
216 |
+
switch ($this->getType()) {
|
217 |
+
case 'user' :
|
218 |
+
$output = __('User', WP_GDPR_C_SLUG);
|
219 |
+
break;
|
220 |
+
case 'comment' :
|
221 |
+
$output = __('Comment', WP_GDPR_C_SLUG);
|
222 |
+
break;
|
223 |
+
case 'woocommerce_order' :
|
224 |
+
$output = __('WooCommerce Order', WP_GDPR_C_SLUG);
|
225 |
+
break;
|
226 |
+
default :
|
227 |
+
$output = $this->getType();
|
228 |
+
break;
|
229 |
+
}
|
230 |
+
return $output;
|
231 |
+
}
|
232 |
+
|
233 |
/**
|
234 |
* @return null|DeleteRequest
|
235 |
*/
|
Includes/Extensions/WP.php
CHANGED
@@ -21,7 +21,7 @@ class WP {
|
|
21 |
public function addField($submitField = '') {
|
22 |
$field = apply_filters(
|
23 |
'wpgdprc_wordpress_field',
|
24 |
-
'<p class="wpgdprc-checkbox"><label><input type="checkbox" name="wpgdprc" id="wpgdprc" value="1" />' . Integration::getCheckboxText(self::ID) . ' <abbr class="required" title="' . esc_attr__('required', WP_GDPR_C_SLUG) . '">*</abbr></label></p>',
|
25 |
$submitField
|
26 |
);
|
27 |
return $field . $submitField;
|
21 |
public function addField($submitField = '') {
|
22 |
$field = apply_filters(
|
23 |
'wpgdprc_wordpress_field',
|
24 |
+
'<p class="wpgdprc-checkbox"><label><input type="checkbox" name="wpgdprc" id="wpgdprc" value="1" /> ' . Integration::getCheckboxText(self::ID) . ' <abbr class="required" title="' . esc_attr__('required', WP_GDPR_C_SLUG) . '">*</abbr></label></p>',
|
25 |
$submitField
|
26 |
);
|
27 |
return $field . $submitField;
|
Includes/Helper.php
CHANGED
@@ -388,6 +388,19 @@ class Helper {
|
|
388 |
return self::getClientIpAddress() === $ipAddress;
|
389 |
}
|
390 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
391 |
/**
|
392 |
* @return bool|\WP_Post
|
393 |
*/
|
@@ -458,7 +471,7 @@ class Helper {
|
|
458 |
$output .= " )";
|
459 |
} else {
|
460 |
$value = (isset($filter['value'])) ? $filter['value'] : false;
|
461 |
-
if (
|
462 |
$or = (isset($filter['or']) && filter_var($filter['or'], FILTER_VALIDATE_BOOLEAN)) ? 'OR' : 'AND';
|
463 |
$or = ($grouped === true && $count === 0) ? '' : $or;
|
464 |
$compare = (isset($filter['compare'])) ? $filter['compare'] : '=';
|
388 |
return self::getClientIpAddress() === $ipAddress;
|
389 |
}
|
390 |
|
391 |
+
/**
|
392 |
+
* @param string $type
|
393 |
+
* @param int $siteId
|
394 |
+
* @return string
|
395 |
+
*/
|
396 |
+
public static function getSiteData($type = '', $siteId = 0) {
|
397 |
+
$output = '';
|
398 |
+
if (!empty($type)) {
|
399 |
+
$output = (!empty($siteId)) ? get_blog_option($siteId, $type) : get_option($type);
|
400 |
+
}
|
401 |
+
return $output;
|
402 |
+
}
|
403 |
+
|
404 |
/**
|
405 |
* @return bool|\WP_Post
|
406 |
*/
|
471 |
$output .= " )";
|
472 |
} else {
|
473 |
$value = (isset($filter['value'])) ? $filter['value'] : false;
|
474 |
+
if ($value !== false) {
|
475 |
$or = (isset($filter['or']) && filter_var($filter['or'], FILTER_VALIDATE_BOOLEAN)) ? 'OR' : 'AND';
|
476 |
$or = ($grouped === true && $count === 0) ? '' : $or;
|
477 |
$compare = (isset($filter['compare'])) ? $filter['compare'] : '=';
|
Includes/Integration.php
CHANGED
@@ -284,7 +284,7 @@ class Integration {
|
|
284 |
$link = apply_filters(
|
285 |
'wpgdprc_privacy_policy_link',
|
286 |
sprintf(
|
287 |
-
'<a target="_blank" href="%s">%s</a>',
|
288 |
get_page_link($page),
|
289 |
esc_html($text)
|
290 |
),
|
284 |
$link = apply_filters(
|
285 |
'wpgdprc_privacy_policy_link',
|
286 |
sprintf(
|
287 |
+
'<a target="_blank" href="%s" rel="noopener noreferrer">%s</a>',
|
288 |
get_page_link($page),
|
289 |
esc_html($text)
|
290 |
),
|
Includes/Page.php
CHANGED
@@ -55,80 +55,102 @@ class Page {
|
|
55 |
?>
|
56 |
<div class="wrap">
|
57 |
<div class="wpgdprc">
|
58 |
-
<
|
|
|
59 |
|
60 |
-
|
61 |
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
<?php
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
|
|
|
|
|
|
75 |
<?php
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
81 |
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
case 'checklist' :
|
94 |
-
self::renderChecklistPage();
|
95 |
-
break;
|
96 |
-
case 'settings' :
|
97 |
-
self::renderSettingsPage();
|
98 |
-
break;
|
99 |
-
default :
|
100 |
-
self::renderIntegrationsPage();
|
101 |
-
break;
|
102 |
-
}
|
103 |
-
?>
|
104 |
-
</div>
|
105 |
|
106 |
-
|
107 |
-
<p><?php _e('This plugin assists website and webshop owners to comply with European privacy regulations known as GDPR. By May 25th, 2018 your site or shop has to comply.', WP_GDPR_C_SLUG); ?></p>
|
108 |
-
<p><?php
|
109 |
-
printf(
|
110 |
-
__('%s currently supports %s. Please visit %s for frequently asked questions and our development roadmap.', WP_GDPR_C_SLUG),
|
111 |
-
$pluginData['Name'],
|
112 |
-
implode(', ', Integration::getSupportedIntegrationsLabels()),
|
113 |
-
sprintf('<a target="_blank" href="%s">%s</a>', '//www.wpgdprc.com/', 'www.wpgdprc.com')
|
114 |
-
);
|
115 |
-
?></p>
|
116 |
</div>
|
117 |
|
118 |
-
<
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
|
|
|
|
125 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
</div>
|
127 |
-
|
128 |
|
129 |
<div class="wpgdprc-background"><?php include(WP_GDPR_C_DIR_SVG . '/inline-waves.svg.php'); ?></div>
|
130 |
</div>
|
131 |
</div>
|
|
|
|
|
|
|
|
|
132 |
<?php
|
133 |
}
|
134 |
|
@@ -330,7 +352,7 @@ class Page {
|
|
330 |
</div>
|
331 |
</div>
|
332 |
<div class="wpgdprc-setting">
|
333 |
-
<label for="<?php echo $optionNameDeleteRequestFormExplanationText; ?>"><?php _e('
|
334 |
<div class="wpgdprc-options">
|
335 |
<textarea name="<?php echo $optionNameDeleteRequestFormExplanationText; ?>" rows="5" id="<?php echo $optionNameAccessRequestFormCheckboxText; ?>" placeholder="<?php echo $deleteRequestFormExplanationText; ?>"><?php echo $deleteRequestFormExplanationText; ?></textarea>
|
336 |
<?php echo Helper::getAllowedHTMLTagsOutput(); ?>
|
@@ -390,7 +412,7 @@ class Page {
|
|
390 |
?>
|
391 |
<tr data-id="<?php echo $request->getId(); ?>">
|
392 |
<td><?php printf('#%d', $request->getId()); ?></td>
|
393 |
-
<td><?php echo $request->
|
394 |
<td><?php echo $request->getIpAddress(); ?></td>
|
395 |
<td><?php echo $request->getDateCreated(); ?></td>
|
396 |
<td><span class="dashicons dashicons-<?php echo ($request->getProcessed()) ? 'yes' : 'no'; ?>"></span></td>
|
@@ -436,7 +458,7 @@ class Page {
|
|
436 |
<?php
|
437 |
else :
|
438 |
?>
|
439 |
-
<p><strong><?php _e('No
|
440 |
<?php
|
441 |
endif;
|
442 |
?>
|
55 |
?>
|
56 |
<div class="wrap">
|
57 |
<div class="wpgdprc">
|
58 |
+
<div class="wpgdprc-contents">
|
59 |
+
<h1 class="wpgdprc-title"><?php echo $pluginData['Name']; ?> <?php printf('v%s', $pluginData['Version']); ?></h1>
|
60 |
|
61 |
+
<?php settings_errors(); ?>
|
62 |
|
63 |
+
<div class="wpgdprc-navigation wpgdprc-clearfix">
|
64 |
+
<a class="<?php echo (empty($type)) ? 'wpgdprc-active' : ''; ?>" href="<?php echo $adminUrl; ?>"><?php _e('Integration', WP_GDPR_C_SLUG); ?></a>
|
65 |
+
<?php
|
66 |
+
if ($enableAccessRequest) :
|
67 |
+
$totalDeleteRequests = DeleteRequest::getInstance()->getTotal(array(
|
68 |
+
'processed' => array(
|
69 |
+
'value' => 0
|
70 |
+
)
|
71 |
+
));
|
72 |
+
?>
|
73 |
+
<a class="<?php echo checked('requests', $type, false) ? 'wpgdprc-active' : ''; ?>" href="<?php echo $adminUrl; ?>&type=requests">
|
74 |
+
<?php _e('Requests', WP_GDPR_C_SLUG); ?>
|
75 |
+
<?php
|
76 |
+
if ($totalDeleteRequests > 1) {
|
77 |
+
printf('<span class="wpgdprc-badge">%d</span>', $totalDeleteRequests);
|
78 |
+
}
|
79 |
+
?>
|
80 |
+
</a>
|
81 |
<?php
|
82 |
+
endif;
|
83 |
+
?>
|
84 |
+
<a class="<?php echo checked('checklist', $type, false) ? 'wpgdprc-active' : ''; ?>" href="<?php echo $adminUrl; ?>&type=checklist"><?php _e('Checklist', WP_GDPR_C_SLUG); ?></a>
|
85 |
+
<a class="<?php echo checked('settings', $type, false) ? 'wpgdprc-active' : ''; ?>" href="<?php echo $adminUrl; ?>&type=settings"><?php _e('Settings', WP_GDPR_C_SLUG); ?></a>
|
86 |
+
</div>
|
87 |
+
|
88 |
+
<div class="wpgdprc-content wpgdprc-clearfix">
|
89 |
<?php
|
90 |
+
switch ($type) {
|
91 |
+
case 'requests' :
|
92 |
+
$id = (isset($_REQUEST['id']) && is_numeric($_REQUEST['id'])) ? intval($_REQUEST['id']) : 0;
|
93 |
+
if (!empty($id) && AccessRequest::getInstance()->exists($id)) {
|
94 |
+
self::renderManageRequestPage($id);
|
95 |
+
} else {
|
96 |
+
self::renderRequestsPage();
|
97 |
+
}
|
98 |
+
break;
|
99 |
+
case 'checklist' :
|
100 |
+
self::renderChecklistPage();
|
101 |
+
break;
|
102 |
+
case 'settings' :
|
103 |
+
self::renderSettingsPage();
|
104 |
+
break;
|
105 |
+
default :
|
106 |
+
self::renderIntegrationsPage();
|
107 |
+
break;
|
108 |
+
}
|
109 |
+
?>
|
110 |
+
</div>
|
111 |
|
112 |
+
<div class="wpgdprc-description">
|
113 |
+
<p><?php _e('This plugin assists website and webshop owners to comply with European privacy regulations known as GDPR. By May 25th, 2018 your site or shop has to comply.', WP_GDPR_C_SLUG); ?></p>
|
114 |
+
<p><?php
|
115 |
+
printf(
|
116 |
+
__('%s currently supports %s. Please visit %s for frequently asked questions and our development roadmap.', WP_GDPR_C_SLUG),
|
117 |
+
$pluginData['Name'],
|
118 |
+
implode(', ', Integration::getSupportedIntegrationsLabels()),
|
119 |
+
sprintf('<a target="_blank" href="%s">%s</a>', '//www.wpgdprc.com/', 'www.wpgdprc.com')
|
120 |
+
);
|
121 |
+
?></p>
|
122 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
123 |
|
124 |
+
<p class="wpgdprc-disclaimer"><?php _e('Disclaimer: The creators of this plugin do not have a legal background please contact a law firm for rock solid legal advice.', WP_GDPR_C_SLUG); ?></p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
125 |
</div>
|
126 |
|
127 |
+
<div class="wpgdprc-sidebar">
|
128 |
+
<?php if ($daysLeftToComply > 0) : ?>
|
129 |
+
<div class="wpgdprc-sidebar-block wpgdprc-sidebar-block--no-background">
|
130 |
+
<div class="wpgdprc-countdown">
|
131 |
+
<div class="wpgdprc-countdown-inner">
|
132 |
+
<h2><?php echo date(get_option('date_format'), strtotime('25 May 2018')); ?></h2>
|
133 |
+
<p><?php printf(__('You have %s left to comply with GDPR.', WP_GDPR_C_SLUG), sprintf(_n('%s day', '%s days', $daysLeftToComply, WP_GDPR_C_SLUG), number_format_i18n($daysLeftToComply))); ?></p>
|
134 |
+
</div>
|
135 |
+
</div>
|
136 |
</div>
|
137 |
+
<?php endif; ?>
|
138 |
+
|
139 |
+
<div class="wpgdprc-sidebar-block">
|
140 |
+
<h3><?php _e('Rate us', WP_GDPR_C_SLUG); ?></h3>
|
141 |
+
<div class="wpgdprc-stars"></div>
|
142 |
+
<p><?php echo sprintf(__('Did %s help you out? Please leave a positive 5-star review.', WP_GDPR_C_SLUG), $pluginData['Name']); ?></p>
|
143 |
+
<a target="_blank" href="//wordpress.org/support/plugin/wp-gdpr-compliance/reviews/#new-post" class="button button-primary" rel="noopener noreferrer"><?php _e('Write a review', WP_GDPR_C_SLUG); ?></a>
|
144 |
</div>
|
145 |
+
</div>
|
146 |
|
147 |
<div class="wpgdprc-background"><?php include(WP_GDPR_C_DIR_SVG . '/inline-waves.svg.php'); ?></div>
|
148 |
</div>
|
149 |
</div>
|
150 |
+
<style>
|
151 |
+
.wpgdprc-switch .wpgdprc-switch-inner:before { content: '<?php _e('Yes', WP_GDPR_C_SLUG); ?>'; }
|
152 |
+
.wpgdprc-switch .wpgdprc-switch-inner:after { content: '<?php _e('No', WP_GDPR_C_SLUG); ?>'; }
|
153 |
+
</style>
|
154 |
<?php
|
155 |
}
|
156 |
|
352 |
</div>
|
353 |
</div>
|
354 |
<div class="wpgdprc-setting">
|
355 |
+
<label for="<?php echo $optionNameDeleteRequestFormExplanationText; ?>"><?php _e('Anonymise request explanation', WP_GDPR_C_SLUG); ?></label>
|
356 |
<div class="wpgdprc-options">
|
357 |
<textarea name="<?php echo $optionNameDeleteRequestFormExplanationText; ?>" rows="5" id="<?php echo $optionNameAccessRequestFormCheckboxText; ?>" placeholder="<?php echo $deleteRequestFormExplanationText; ?>"><?php echo $deleteRequestFormExplanationText; ?></textarea>
|
358 |
<?php echo Helper::getAllowedHTMLTagsOutput(); ?>
|
412 |
?>
|
413 |
<tr data-id="<?php echo $request->getId(); ?>">
|
414 |
<td><?php printf('#%d', $request->getId()); ?></td>
|
415 |
+
<td><?php echo $request->getNiceTypeLabel(); ?></td>
|
416 |
<td><?php echo $request->getIpAddress(); ?></td>
|
417 |
<td><?php echo $request->getDateCreated(); ?></td>
|
418 |
<td><span class="dashicons dashicons-<?php echo ($request->getProcessed()) ? 'yes' : 'no'; ?>"></span></td>
|
458 |
<?php
|
459 |
else :
|
460 |
?>
|
461 |
+
<p><strong><?php _e('No requests found.', WP_GDPR_C_SLUG); ?></strong></p>
|
462 |
<?php
|
463 |
endif;
|
464 |
?>
|
Includes/Shortcode.php
CHANGED
@@ -92,15 +92,27 @@ class Shortcode {
|
|
92 |
$output .= self::getAccessRequestData();
|
93 |
} else {
|
94 |
$output .= '<form class="wpgdprc-form wpgdprc-form--access-request" name="wpgdprc_form" method="POST">';
|
95 |
-
$output .= apply_filters(
|
|
|
|
|
|
|
|
|
|
|
|
|
96 |
$output .= apply_filters(
|
97 |
'wpgdprc_request_form_consent_field',
|
98 |
sprintf(
|
99 |
-
'<p><input type="checkbox" name="wpgdprc_consent" id="wpgdprc-form__consent" value="1" required /> %s</p>',
|
100 |
Integration::getAccessRequestFormCheckboxText()
|
101 |
)
|
102 |
);
|
103 |
-
$output .= apply_filters(
|
|
|
|
|
|
|
|
|
|
|
|
|
104 |
$output .= '<div class="wpgdprc-feedback" style="display: none;"></div>';
|
105 |
$output .= '</form>';
|
106 |
}
|
92 |
$output .= self::getAccessRequestData();
|
93 |
} else {
|
94 |
$output .= '<form class="wpgdprc-form wpgdprc-form--access-request" name="wpgdprc_form" method="POST">';
|
95 |
+
$output .= apply_filters(
|
96 |
+
'wpgdprc_request_form_email_field',
|
97 |
+
sprintf(
|
98 |
+
'<p><input type="email" name="wpgdprc_email" id="wpgdprc-form__email" placeholder="%s" required /></p>',
|
99 |
+
esc_attr__(apply_filters('wpgdprc_request_form_email_placeholder', __('Your Email Address', WP_GDPR_C_SLUG)))
|
100 |
+
)
|
101 |
+
);
|
102 |
$output .= apply_filters(
|
103 |
'wpgdprc_request_form_consent_field',
|
104 |
sprintf(
|
105 |
+
'<p><label><input type="checkbox" name="wpgdprc_consent" id="wpgdprc-form__consent" value="1" required /> %s</label></p>',
|
106 |
Integration::getAccessRequestFormCheckboxText()
|
107 |
)
|
108 |
);
|
109 |
+
$output .= apply_filters(
|
110 |
+
'wpgdprc_request_form_submit_field',
|
111 |
+
sprintf(
|
112 |
+
'<p><input type="submit" name="wpgdprc_submit" value="%s" /></p>',
|
113 |
+
esc_attr__(apply_filters('wpgdprc_request_form_submit_label', __('Send', WP_GDPR_C_SLUG)))
|
114 |
+
)
|
115 |
+
);
|
116 |
$output .= '<div class="wpgdprc-feedback" style="display: none;"></div>';
|
117 |
$output .= '</form>';
|
118 |
}
|
assets/css/admin.css
CHANGED
@@ -1,3 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
.wpgdprc-clearfix:before, .wpgdprc-clearfix:after {
|
2 |
content: " ";
|
3 |
display: table;
|
@@ -26,17 +59,17 @@
|
|
26 |
}
|
27 |
|
28 |
.wpgdprc {
|
|
|
29 |
padding: 20px;
|
30 |
-webkit-box-sizing: border-box;
|
31 |
-moz-box-sizing: border-box;
|
32 |
box-sizing: border-box;
|
33 |
-
max-width: 900px;
|
34 |
font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
|
35 |
font-weight: normal;
|
36 |
font-size: 14px;
|
37 |
line-height: 1.4;
|
38 |
-
text-rendering: optimizeLegibility;
|
39 |
color: #0A0A0A;
|
|
|
40 |
}
|
41 |
|
42 |
.wpgdprc h1, .wpgdprc h2, .wpgdprc p {
|
@@ -96,6 +129,10 @@ div.wpgdprc-message p:first-child {
|
|
96 |
margin-top: 0;
|
97 |
}
|
98 |
|
|
|
|
|
|
|
|
|
99 |
div.wpgdprc-message--notice {
|
100 |
background: #FFF3D9;
|
101 |
border-color: #E7D996;
|
@@ -141,8 +178,10 @@ h1.wpgdprc-title {
|
|
141 |
|
142 |
div.wpgdprc-description {
|
143 |
margin-top: 20px;
|
144 |
-
padding:
|
145 |
-
background: #
|
|
|
|
|
146 |
}
|
147 |
|
148 |
div.wpgdprc-description p {
|
@@ -189,6 +228,41 @@ table.wpgdprc-table tr:nth-child(even) {
|
|
189 |
fill: #4AA94F;
|
190 |
}
|
191 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
192 |
.wpgdprc-navigation {
|
193 |
border-bottom: 1px solid #DBD6D6;
|
194 |
}
|
@@ -343,18 +417,18 @@ span.wpgdprc-instructions {
|
|
343 |
.wpgdprc-switch .wpgdprc-switch-inner:after {
|
344 |
float: left;
|
345 |
width: 50%;
|
|
|
346 |
line-height: 30px;
|
347 |
color: #FFFFFF;
|
|
|
348 |
}
|
349 |
|
350 |
.wpgdprc-switch .wpgdprc-switch-inner:before {
|
351 |
-
content: 'YES';
|
352 |
padding-left: 10px;
|
353 |
background-color: #4AA94F;
|
354 |
}
|
355 |
|
356 |
.wpgdprc-switch .wpgdprc-switch-inner:after {
|
357 |
-
content: 'NO';
|
358 |
padding-right: 10px;
|
359 |
background-color: #0A0A0A;
|
360 |
text-align: right;
|
@@ -472,7 +546,7 @@ span.wpgdprc-instructions {
|
|
472 |
|
473 |
.wpgdprc-countdown {
|
474 |
display: table;
|
475 |
-
margin:
|
476 |
padding: 20px;
|
477 |
background: #4AA94F;
|
478 |
-webkit-border-radius: 50%;
|
@@ -516,6 +590,17 @@ span.wpgdprc-instructions {
|
|
516 |
margin-left: 10px;
|
517 |
}
|
518 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
519 |
@media screen and (max-width: 639px) {
|
520 |
.wpgdprc-instructions {
|
521 |
display: none;
|
@@ -540,11 +625,35 @@ span.wpgdprc-instructions {
|
|
540 |
}
|
541 |
}
|
542 |
|
543 |
-
@media screen and (
|
544 |
-
.wpgdprc
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
549 |
}
|
550 |
}
|
1 |
+
@keyframes wpgdprc-stars {
|
2 |
+
1% {
|
3 |
+
background-position: 0;
|
4 |
+
}
|
5 |
+
2% {
|
6 |
+
background-position: 30px;
|
7 |
+
}
|
8 |
+
3% {
|
9 |
+
background-position: 60px;
|
10 |
+
}
|
11 |
+
4% {
|
12 |
+
background-position: 90px;
|
13 |
+
}
|
14 |
+
5% {
|
15 |
+
background-position: 120px;
|
16 |
+
}
|
17 |
+
6% {
|
18 |
+
background-position: 150px;
|
19 |
+
}
|
20 |
+
7% {
|
21 |
+
background-position: 180px;
|
22 |
+
}
|
23 |
+
8% {
|
24 |
+
background-position: 210px;
|
25 |
+
}
|
26 |
+
9% {
|
27 |
+
background-position: 240px;
|
28 |
+
}
|
29 |
+
100% {
|
30 |
+
background-position: 240px;
|
31 |
+
}
|
32 |
+
}
|
33 |
+
|
34 |
.wpgdprc-clearfix:before, .wpgdprc-clearfix:after {
|
35 |
content: " ";
|
36 |
display: table;
|
59 |
}
|
60 |
|
61 |
.wpgdprc {
|
62 |
+
display: flex;
|
63 |
padding: 20px;
|
64 |
-webkit-box-sizing: border-box;
|
65 |
-moz-box-sizing: border-box;
|
66 |
box-sizing: border-box;
|
|
|
67 |
font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
|
68 |
font-weight: normal;
|
69 |
font-size: 14px;
|
70 |
line-height: 1.4;
|
|
|
71 |
color: #0A0A0A;
|
72 |
+
flex-direction: row;
|
73 |
}
|
74 |
|
75 |
.wpgdprc h1, .wpgdprc h2, .wpgdprc p {
|
129 |
margin-top: 0;
|
130 |
}
|
131 |
|
132 |
+
div.wpgdprc-message p:last-child {
|
133 |
+
margin-bottom: 0;
|
134 |
+
}
|
135 |
+
|
136 |
div.wpgdprc-message--notice {
|
137 |
background: #FFF3D9;
|
138 |
border-color: #E7D996;
|
178 |
|
179 |
div.wpgdprc-description {
|
180 |
margin-top: 20px;
|
181 |
+
padding: 20px;
|
182 |
+
background: #F3F3F3;
|
183 |
+
border-bottom: 2px solid #DFDFDF;
|
184 |
+
border-radius: 5px;
|
185 |
}
|
186 |
|
187 |
div.wpgdprc-description p {
|
228 |
fill: #4AA94F;
|
229 |
}
|
230 |
|
231 |
+
.wpgdprc-contents {
|
232 |
+
flex: 11;
|
233 |
+
}
|
234 |
+
|
235 |
+
.wpgdprc-sidebar {
|
236 |
+
flex: 3;
|
237 |
+
padding: 0 20px;
|
238 |
+
align-items: flex-start;
|
239 |
+
align-content: flex-start;
|
240 |
+
}
|
241 |
+
|
242 |
+
.wpgdprc-sidebar-block {
|
243 |
+
background: #F3F3F3;
|
244 |
+
padding: 20px;
|
245 |
+
margin: 0 0 20px 0;
|
246 |
+
border-bottom: 2px solid #DFDFDF;
|
247 |
+
border-radius: 5px;
|
248 |
+
}
|
249 |
+
|
250 |
+
.wpgdprc-sidebar-block h3 {
|
251 |
+
display: inline-block;
|
252 |
+
margin: 0;
|
253 |
+
}
|
254 |
+
|
255 |
+
.wpgdprc-sidebar-block--no-background {
|
256 |
+
background: none;
|
257 |
+
border: 0;
|
258 |
+
}
|
259 |
+
|
260 |
+
.wpgdprc-sidebar-donate {
|
261 |
+
margin: 5px 0 0 10px;
|
262 |
+
display: inline-block;
|
263 |
+
float: right;
|
264 |
+
}
|
265 |
+
|
266 |
.wpgdprc-navigation {
|
267 |
border-bottom: 1px solid #DBD6D6;
|
268 |
}
|
417 |
.wpgdprc-switch .wpgdprc-switch-inner:after {
|
418 |
float: left;
|
419 |
width: 50%;
|
420 |
+
text-transform: uppercase;
|
421 |
line-height: 30px;
|
422 |
color: #FFFFFF;
|
423 |
+
content: '';
|
424 |
}
|
425 |
|
426 |
.wpgdprc-switch .wpgdprc-switch-inner:before {
|
|
|
427 |
padding-left: 10px;
|
428 |
background-color: #4AA94F;
|
429 |
}
|
430 |
|
431 |
.wpgdprc-switch .wpgdprc-switch-inner:after {
|
|
|
432 |
padding-right: 10px;
|
433 |
background-color: #0A0A0A;
|
434 |
text-align: right;
|
546 |
|
547 |
.wpgdprc-countdown {
|
548 |
display: table;
|
549 |
+
margin: 0 auto;
|
550 |
padding: 20px;
|
551 |
background: #4AA94F;
|
552 |
-webkit-border-radius: 50%;
|
590 |
margin-left: 10px;
|
591 |
}
|
592 |
|
593 |
+
.wpgdprc-stars {
|
594 |
+
margin: 15px auto;
|
595 |
+
width: 150px;
|
596 |
+
height: 30px;
|
597 |
+
background: url('../svg/stars.svg');
|
598 |
+
animation: wpgdprc-stars 4.5s steps(1, end) infinite;
|
599 |
+
-webkit-animation: wpgdprc-stars 4.5s steps(1, end) infinite;
|
600 |
+
-moz-animation: wpgdprc-stars 4.5s steps(1, end) infinite;
|
601 |
+
-o-animation: wpgdprc-stars 4.5s steps(1, end) infinite;
|
602 |
+
}
|
603 |
+
|
604 |
@media screen and (max-width: 639px) {
|
605 |
.wpgdprc-instructions {
|
606 |
display: none;
|
625 |
}
|
626 |
}
|
627 |
|
628 |
+
@media screen and (max-width: 1400px) {
|
629 |
+
.wpgdprc {
|
630 |
+
display: block;
|
631 |
+
}
|
632 |
+
.wpgdprc-contents, .wpgdprc-sidebar {
|
633 |
+
display: block;
|
634 |
+
max-width: 100%;
|
635 |
+
width: 100%;
|
636 |
+
}
|
637 |
+
.wpgdprc-sidebar {
|
638 |
+
display: flex;
|
639 |
+
margin: 30px 0 0 0;
|
640 |
+
}
|
641 |
+
.wpgdprc-sidebar-block {
|
642 |
+
margin: 0 30px 0 0;
|
643 |
+
width: 33%;
|
644 |
+
}
|
645 |
+
}
|
646 |
+
|
647 |
+
@media screen and (min-width: 320px) and (max-width: 840px) {
|
648 |
+
.wpgdprc-sidebar {
|
649 |
+
display: block;
|
650 |
+
}
|
651 |
+
.wpgdprc-sidebar-block {
|
652 |
+
max-width: 400px;
|
653 |
+
width: 100%;
|
654 |
+
margin: 0 auto;
|
655 |
+
}
|
656 |
+
.wpgdprc .button.button-primary {
|
657 |
+
height: auto;
|
658 |
}
|
659 |
}
|
assets/svg/stars.svg
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<svg xmlns="http://www.w3.org/2000/svg" width="240" height="30" viewBox="0 0 240 30">
|
2 |
+
<g fill="none" fill-rule="evenodd">
|
3 |
+
<path d="M0 0h30v30H0zM30 0h30v30H30zM60 0h30v30H60zM90 0h30v30H90zM120 0h30v30h-30zM180 0h30v30h-30zM150 0h30v30h-30zM210 0h30v30h-30z"/>
|
4 |
+
<path fill="#4AA94F" d="M14.362 5.703c.157-.312.386-.52.687-.625.3-.104.601-.104.902 0 .301.104.53.313.687.625l2.551 5.156 5.73.82c.34.053.609.209.805.47a1.3 1.3 0 0 1 .275.859 1.196 1.196 0 0 1-.373.82l-4.16 4.024.98 5.703c.053.312-.006.605-.176.879-.17.273-.412.449-.726.527-.314.078-.615.039-.903-.117L15.5 22.187l-5.141 2.657a1.216 1.216 0 0 1-.903.117 1.152 1.152 0 0 1-.726-.527 1.229 1.229 0 0 1-.177-.88l.981-5.702-4.16-4.024a1.196 1.196 0 0 1-.373-.82 1.3 1.3 0 0 1 .275-.86c.196-.26.464-.416.805-.468l5.73-.82 2.55-5.157zM44.362 5.703c.157-.312.386-.52.687-.625.3-.104.601-.104.902 0 .301.104.53.313.687.625l2.551 5.156 5.73.82c.34.053.609.209.805.47a1.3 1.3 0 0 1 .275.859 1.196 1.196 0 0 1-.373.82l-4.16 4.024.98 5.703c.053.312-.006.605-.176.879-.17.273-.412.449-.726.527-.314.078-.615.039-.903-.117L45.5 22.187l-5.141 2.657a1.216 1.216 0 0 1-.903.117 1.152 1.152 0 0 1-.726-.527 1.229 1.229 0 0 1-.177-.88l.981-5.702-4.16-4.024a1.196 1.196 0 0 1-.373-.82 1.3 1.3 0 0 1 .275-.86c.196-.26.464-.416.805-.468l5.73-.82 2.55-5.157zM74.362 5.703c.157-.312.386-.52.687-.625.3-.104.601-.104.902 0 .301.104.53.313.687.625l2.551 5.156 5.73.82c.34.053.609.209.805.47a1.3 1.3 0 0 1 .275.859 1.196 1.196 0 0 1-.373.82l-4.16 4.024.98 5.703c.053.312-.006.605-.176.879-.17.273-.412.449-.726.527-.314.078-.615.039-.903-.117L75.5 22.187l-5.141 2.657a1.216 1.216 0 0 1-.903.117 1.152 1.152 0 0 1-.726-.527 1.229 1.229 0 0 1-.177-.88l.981-5.702-4.16-4.024a1.196 1.196 0 0 1-.373-.82 1.3 1.3 0 0 1 .275-.86c.196-.26.464-.416.805-.468l5.73-.82 2.55-5.157zM104.362 5.703c.157-.312.386-.52.687-.625.3-.104.601-.104.902 0 .301.104.53.313.687.625l2.551 5.156 5.73.82c.34.053.609.209.805.47a1.3 1.3 0 0 1 .275.859 1.196 1.196 0 0 1-.373.82l-4.16 4.024.98 5.703c.053.312-.006.605-.176.879-.17.273-.412.449-.726.527-.314.078-.615.039-.903-.117l-5.141-2.657-5.141 2.657a1.216 1.216 0 0 1-.903.117 1.152 1.152 0 0 1-.726-.527 1.229 1.229 0 0 1-.177-.88l.981-5.702-4.16-4.024a1.196 1.196 0 0 1-.373-.82 1.3 1.3 0 0 1 .275-.86c.196-.26.464-.416.805-.468l5.73-.82 2.55-5.157zM134.362 5.703c.157-.312.386-.52.687-.625.3-.104.601-.104.902 0 .301.104.53.313.687.625l2.551 5.156 5.73.82c.34.053.609.209.805.47a1.3 1.3 0 0 1 .275.859 1.196 1.196 0 0 1-.373.82l-4.16 4.024.98 5.703c.053.312-.006.605-.176.879-.17.273-.412.449-.726.527-.314.078-.615.039-.903-.117l-5.141-2.657-5.141 2.657a1.216 1.216 0 0 1-.903.117 1.152 1.152 0 0 1-.726-.527 1.229 1.229 0 0 1-.177-.88l.981-5.702-4.16-4.024a1.196 1.196 0 0 1-.373-.82 1.3 1.3 0 0 1 .275-.86c.196-.26.464-.416.805-.468l5.73-.82 2.55-5.157z"/>
|
5 |
+
<path fill="#57B75C" d="M164.064 5.006c.169-.336.415-.56.738-.672.324-.112.647-.112.97 0 .324.112.57.336.739.672l2.742 5.543 6.16.882c.366.056.654.224.865.504.211.28.31.587.296.923-.014.336-.148.63-.401.882l-4.472 4.325 1.054 6.131c.057.336-.007.651-.19.945a1.238 1.238 0 0 1-.78.567 1.307 1.307 0 0 1-.97-.126l-5.528-2.855-5.527 2.855c-.309.168-.632.21-.97.126a1.238 1.238 0 0 1-.78-.567 1.321 1.321 0 0 1-.19-.945l1.054-6.13-4.472-4.326a1.286 1.286 0 0 1-.4-.882 1.398 1.398 0 0 1 .295-.923c.21-.28.499-.448.865-.504l6.16-.882 2.742-5.543zM224.064 5.006c.169-.336.415-.56.738-.672.324-.112.647-.112.97 0 .324.112.57.336.739.672l2.742 5.543 6.16.882c.366.056.654.224.865.504.211.28.31.587.296.923-.014.336-.148.63-.401.882l-4.472 4.325 1.054 6.131c.057.336-.007.651-.19.945a1.238 1.238 0 0 1-.78.567 1.307 1.307 0 0 1-.97-.126l-5.528-2.855-5.527 2.855c-.309.168-.632.21-.97.126a1.238 1.238 0 0 1-.78-.567 1.321 1.321 0 0 1-.19-.945l1.054-6.13-4.472-4.326a1.286 1.286 0 0 1-.4-.882 1.398 1.398 0 0 1 .295-.923c.21-.28.499-.448.865-.504l6.16-.882 2.742-5.543z"/>
|
6 |
+
<path fill="#61C166" d="M193.7 3.809c.179-.36.44-.6.784-.72.344-.119.688-.119 1.032 0 .344.12.605.36.785.72l2.915 5.93 6.55.943c.388.06.694.24.919.539.224.3.329.629.314.988a1.38 1.38 0 0 1-.427.943l-4.754 4.627 1.121 6.559c.06.36-.007.696-.202 1.01a1.317 1.317 0 0 1-.83.607c-.358.09-.702.045-1.031-.135L195 22.766l-5.876 3.054c-.329.18-.673.225-1.032.135a1.317 1.317 0 0 1-.83-.606 1.42 1.42 0 0 1-.201-1.011l1.121-6.559-4.754-4.627a1.38 1.38 0 0 1-.427-.943c-.015-.36.09-.689.314-.988.225-.3.531-.48.92-.54l6.549-.943 2.915-5.93z"/>
|
7 |
+
</g>
|
8 |
+
</svg>
|
languages/wp-gdpr-compliance.pot
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
msgid ""
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: WP GDPR Compliance\n"
|
5 |
-
"POT-Creation-Date: 2018-05-
|
6 |
"Last-Translator: \n"
|
7 |
"Language-Team: Van Ons <info@van-ons.nl>\n"
|
8 |
"MIME-Version: 1.0\n"
|
@@ -29,7 +29,7 @@ msgstr ""
|
|
29 |
msgid "Retry"
|
30 |
msgstr ""
|
31 |
|
32 |
-
#: Includes/Ajax.php:27 Includes/Ajax.php:
|
33 |
msgid "Missing data."
|
34 |
msgstr ""
|
35 |
|
@@ -53,25 +53,25 @@ msgstr ""
|
|
53 |
msgid "You need to accept the privacy checkbox."
|
54 |
msgstr ""
|
55 |
|
56 |
-
#: Includes/Ajax.php:
|
|
|
|
|
|
|
|
|
57 |
#, php-format
|
58 |
msgid "%s - Your data request"
|
59 |
msgstr ""
|
60 |
|
61 |
-
#: Includes/Ajax.php:
|
62 |
#, php-format
|
63 |
msgid "You have requested to access your data on %s."
|
64 |
msgstr ""
|
65 |
|
66 |
-
#: Includes/Ajax.php:
|
67 |
#, php-format
|
68 |
msgid "Please visit this %s to view the data linked to the email address %s"
|
69 |
msgstr ""
|
70 |
|
71 |
-
#: Includes/Ajax.php:127
|
72 |
-
msgid "page"
|
73 |
-
msgstr ""
|
74 |
-
|
75 |
#: Includes/Ajax.php:131
|
76 |
msgid ""
|
77 |
"This page is available for 24 hours and can only be reached from the same IP "
|
@@ -83,74 +83,113 @@ msgstr ""
|
|
83 |
msgid "If your link is invalid please fill in a new request: %s."
|
84 |
msgstr ""
|
85 |
|
86 |
-
#: Includes/Ajax.php:
|
87 |
msgid "Success. You will receive an email with your data shortly."
|
88 |
msgstr ""
|
89 |
|
90 |
-
#: Includes/Ajax.php:
|
91 |
msgid "Something went wrong while saving the request. Please try again."
|
92 |
msgstr ""
|
93 |
|
94 |
-
#: Includes/Ajax.php:
|
95 |
msgid ""
|
96 |
"You have already requested your data. Please check your mailbox. After 24 "
|
97 |
"hours you can put in a new request."
|
98 |
msgstr ""
|
99 |
|
100 |
-
#: Includes/Ajax.php:
|
101 |
msgid "Missing session."
|
102 |
msgstr ""
|
103 |
|
104 |
-
#: Includes/Ajax.php:
|
105 |
msgid "Missing or invalid type."
|
106 |
msgstr ""
|
107 |
|
108 |
-
#: Includes/Ajax.php:
|
109 |
msgid "No value selected."
|
110 |
msgstr ""
|
111 |
|
112 |
-
#: Includes/Ajax.php:
|
113 |
msgid "Something went wrong while saving this request. Please try again."
|
114 |
msgstr ""
|
115 |
|
116 |
-
#: Includes/Ajax.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
msgid "Session doesn't match."
|
118 |
msgstr ""
|
119 |
|
120 |
-
#: Includes/Ajax.php:
|
121 |
msgid "No session found."
|
122 |
msgstr ""
|
123 |
|
124 |
-
#: Includes/Ajax.php:
|
125 |
msgid "The access request functionality is not enabled."
|
126 |
msgstr ""
|
127 |
|
128 |
-
#: Includes/Ajax.php:
|
129 |
-
msgid "This
|
130 |
msgstr ""
|
131 |
|
132 |
-
#: Includes/Ajax.php:
|
133 |
msgid "This user doesn't exist."
|
134 |
msgstr ""
|
135 |
|
136 |
-
#: Includes/Ajax.php:
|
137 |
msgid "You're not allowed to edit users."
|
138 |
msgstr ""
|
139 |
|
140 |
-
#: Includes/Ajax.php:
|
141 |
msgid "This comment doesn't exist."
|
142 |
msgstr ""
|
143 |
|
144 |
-
#: Includes/Ajax.php:
|
145 |
msgid "You're not allowed to edit comments."
|
146 |
msgstr ""
|
147 |
|
148 |
-
#: Includes/Ajax.php:
|
149 |
msgid "You're not allowed to edit WooCommerce orders."
|
150 |
msgstr ""
|
151 |
|
152 |
-
#: Includes/Ajax.php:
|
153 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
154 |
msgstr ""
|
155 |
|
156 |
#: Includes/Data.php:27 Includes/Extensions/WP.php:34 Includes/Shortcode.php:72
|
@@ -171,7 +210,7 @@ msgid "Display Name"
|
|
171 |
msgstr ""
|
172 |
|
173 |
#: Includes/Data.php:54 Includes/Data.php:63 Includes/Data.php:70
|
174 |
-
#: Includes/Page.php:
|
175 |
msgid "Email Address"
|
176 |
msgstr ""
|
177 |
|
@@ -191,7 +230,7 @@ msgstr ""
|
|
191 |
msgid "Content"
|
192 |
msgstr ""
|
193 |
|
194 |
-
#: Includes/Data.php:64 Includes/Page.php:
|
195 |
msgid "IP Address"
|
196 |
msgstr ""
|
197 |
|
@@ -215,6 +254,18 @@ msgstr ""
|
|
215 |
msgid "City"
|
216 |
msgstr ""
|
217 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
218 |
#: Includes/Extensions/CF7.php:184 Includes/Extensions/GForms.php:111
|
219 |
#: Includes/Extensions/GForms.php:127 Includes/Extensions/GForms.php:146
|
220 |
#: Includes/Extensions/WC.php:55 Includes/Extensions/WP.php:69
|
@@ -251,7 +302,7 @@ msgstr ""
|
|
251 |
msgid "You can use: %s"
|
252 |
msgstr ""
|
253 |
|
254 |
-
#: Includes/Helper.php:90 Includes/Helper.php:111 Includes/Page.php:
|
255 |
msgid "Note"
|
256 |
msgstr ""
|
257 |
|
@@ -339,7 +390,7 @@ msgid "Activate for this form:"
|
|
339 |
msgstr ""
|
340 |
|
341 |
#: Includes/Integration.php:115 Includes/Integration.php:156
|
342 |
-
#: Includes/Integration.php:183 Includes/Page.php:
|
343 |
msgid "Checkbox text"
|
344 |
msgstr ""
|
345 |
|
@@ -362,7 +413,7 @@ msgstr ""
|
|
362 |
msgid "Please accept the privacy checkbox."
|
363 |
msgstr ""
|
364 |
|
365 |
-
#: Includes/Integration.php:243 Includes/Page.php:
|
366 |
msgid "Privacy Policy"
|
367 |
msgstr ""
|
368 |
|
@@ -375,7 +426,7 @@ msgid ""
|
|
375 |
"request. When your data is anonymised you will receive an email confirmation."
|
376 |
msgstr ""
|
377 |
|
378 |
-
#: Includes/Integration.php:306 Includes/Page.php:
|
379 |
msgid "WordPress Comments"
|
380 |
msgstr ""
|
381 |
|
@@ -397,7 +448,7 @@ msgstr ""
|
|
397 |
msgid "Gravity Forms"
|
398 |
msgstr ""
|
399 |
|
400 |
-
#: Includes/Integration.php:335 Includes/Page.php:
|
401 |
msgid "WooCommerce"
|
402 |
msgstr ""
|
403 |
|
@@ -407,92 +458,109 @@ msgid ""
|
|
407 |
"page."
|
408 |
msgstr ""
|
409 |
|
410 |
-
#: Includes/Page.php:
|
411 |
msgid "Integration"
|
412 |
msgstr ""
|
413 |
|
414 |
-
#: Includes/Page.php:
|
415 |
-
msgid "Requests"
|
416 |
-
msgstr ""
|
417 |
-
|
418 |
-
#: Includes/Page.php:78
|
419 |
msgid "Checklist"
|
420 |
msgstr ""
|
421 |
|
422 |
-
#: Includes/Page.php:
|
423 |
msgid "Settings"
|
424 |
msgstr ""
|
425 |
|
426 |
-
#: Includes/Page.php:
|
427 |
msgid ""
|
428 |
"This plugin assists website and webshop owners to comply with European "
|
429 |
"privacy regulations known as GDPR. By May 25th, 2018 your site or shop has "
|
430 |
"to comply."
|
431 |
msgstr ""
|
432 |
|
433 |
-
#: Includes/Page.php:
|
434 |
#, php-format
|
435 |
msgid ""
|
436 |
"%s currently supports %s. Please visit %s for frequently asked questions and "
|
437 |
"our development roadmap."
|
438 |
msgstr ""
|
439 |
|
440 |
-
#: Includes/Page.php:
|
441 |
msgid ""
|
442 |
"Disclaimer: The creators of this plugin do not have a legal background "
|
443 |
"please contact a law firm for rock solid legal advice."
|
444 |
msgstr ""
|
445 |
|
446 |
-
#: Includes/Page.php:
|
447 |
#, php-format
|
448 |
msgid "You have %s left to comply with GDPR."
|
449 |
msgstr ""
|
450 |
|
451 |
-
#: Includes/Page.php:
|
452 |
#, php-format
|
453 |
msgid "%s day"
|
454 |
msgstr ""
|
455 |
|
456 |
-
#: Includes/Page.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
457 |
msgid "Enable:"
|
458 |
msgstr ""
|
459 |
|
460 |
-
#: Includes/Page.php:
|
461 |
#, php-format
|
462 |
msgid "This plugin is outdated. %s supports version %s and up."
|
463 |
msgstr ""
|
464 |
|
465 |
-
#: Includes/Page.php:
|
466 |
msgid "Couldn't find any supported plugins installed."
|
467 |
msgstr ""
|
468 |
|
469 |
-
#: Includes/Page.php:
|
470 |
msgid "The following plugins are supported as of now:"
|
471 |
msgstr ""
|
472 |
|
473 |
-
#: Includes/Page.php:
|
474 |
msgid "More plugins will be added in the future."
|
475 |
msgstr ""
|
476 |
|
477 |
-
#: Includes/Page.php:
|
478 |
msgid ""
|
479 |
"Below we ask you what private data you currently collect and provide you "
|
480 |
"with tips to comply."
|
481 |
msgstr ""
|
482 |
|
483 |
-
#: Includes/Page.php:
|
484 |
msgid "Select an option"
|
485 |
msgstr ""
|
486 |
|
487 |
-
#: Includes/Page.php:
|
488 |
msgid "Link text"
|
489 |
msgstr ""
|
490 |
|
491 |
-
#: Includes/Page.php:
|
492 |
msgid "Request User Data"
|
493 |
msgstr ""
|
494 |
|
495 |
-
#: Includes/Page.php:
|
496 |
msgid ""
|
497 |
"Allow your site's visitors to request their data stored in the WordPress "
|
498 |
"database (comments, WooCommerce orders etc.). Data found is send to their "
|
@@ -500,100 +568,96 @@ msgid ""
|
|
500 |
"data anonymised."
|
501 |
msgstr ""
|
502 |
|
503 |
-
#: Includes/Page.php:
|
504 |
msgid "Activate"
|
505 |
msgstr ""
|
506 |
|
507 |
-
#: Includes/Page.php:
|
508 |
msgid "Activate page"
|
509 |
msgstr ""
|
510 |
|
511 |
-
#: Includes/Page.php:
|
512 |
#, php-format
|
513 |
msgid ""
|
514 |
"Enabling this will create one private page containing the necessary "
|
515 |
"shortcode: %s. You can determine when and how to publish this page yourself."
|
516 |
msgstr ""
|
517 |
|
518 |
-
#: Includes/Page.php:
|
519 |
msgid "Page"
|
520 |
msgstr ""
|
521 |
|
522 |
-
#: Includes/Page.php:
|
523 |
msgid "Click here to edit this page"
|
524 |
msgstr ""
|
525 |
|
526 |
-
#: Includes/Page.php:
|
527 |
-
msgid "
|
528 |
msgstr ""
|
529 |
|
530 |
-
#: Includes/Page.php:
|
531 |
msgid ""
|
532 |
"Anonymise a request by ticking the checkbox and clicking on the green "
|
533 |
"anonymise button below."
|
534 |
msgstr ""
|
535 |
|
536 |
-
#: Includes/Page.php:
|
537 |
msgid "WordPress Users"
|
538 |
msgstr ""
|
539 |
|
540 |
-
#: Includes/Page.php:
|
541 |
msgid "Request"
|
542 |
msgstr ""
|
543 |
|
544 |
-
#: Includes/Page.php:
|
545 |
msgid "Type"
|
546 |
msgstr ""
|
547 |
|
548 |
-
#: Includes/Page.php:
|
549 |
msgid "Date"
|
550 |
msgstr ""
|
551 |
|
552 |
-
#: Includes/Page.php:
|
553 |
msgid "Processed"
|
554 |
msgstr ""
|
555 |
|
556 |
-
#: Includes/Page.php:
|
557 |
msgid "Action"
|
558 |
msgstr ""
|
559 |
|
560 |
-
#: Includes/Page.php:
|
561 |
msgid "View"
|
562 |
msgstr ""
|
563 |
|
564 |
-
#: Includes/Page.php:
|
565 |
msgid "Anonymise selected request(s)"
|
566 |
msgstr ""
|
567 |
|
568 |
-
#: Includes/Page.php:
|
569 |
#, php-format
|
570 |
msgid "%d of %d results found"
|
571 |
msgstr ""
|
572 |
|
573 |
-
#: Includes/Page.php:
|
574 |
-
msgid "No
|
575 |
msgstr ""
|
576 |
|
577 |
-
#: Includes/Page.php:
|
578 |
msgid "ID"
|
579 |
msgstr ""
|
580 |
|
581 |
-
#: Includes/Page.php:
|
582 |
msgid "Requests to Process"
|
583 |
msgstr ""
|
584 |
|
585 |
-
#: Includes/Page.php:
|
586 |
msgid "Expired"
|
587 |
msgstr ""
|
588 |
|
589 |
-
#: Includes/Page.php:
|
590 |
msgid "Manage"
|
591 |
msgstr ""
|
592 |
|
593 |
-
#: Includes/Page.php:530
|
594 |
-
msgid "No requests found."
|
595 |
-
msgstr ""
|
596 |
-
|
597 |
#: Includes/Shortcode.php:33
|
598 |
msgid "Users"
|
599 |
msgstr ""
|
@@ -629,11 +693,11 @@ msgstr ""
|
|
629 |
msgid "This request is expired or doesn't exist."
|
630 |
msgstr ""
|
631 |
|
632 |
-
#: Includes/Shortcode.php:
|
633 |
msgid "Your Email Address"
|
634 |
msgstr ""
|
635 |
|
636 |
-
#: Includes/Shortcode.php:
|
637 |
msgid "Send"
|
638 |
msgstr ""
|
639 |
|
2 |
msgid ""
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: WP GDPR Compliance\n"
|
5 |
+
"POT-Creation-Date: 2018-05-11 13:34+0200\n"
|
6 |
"Last-Translator: \n"
|
7 |
"Language-Team: Van Ons <info@van-ons.nl>\n"
|
8 |
"MIME-Version: 1.0\n"
|
29 |
msgid "Retry"
|
30 |
msgstr ""
|
31 |
|
32 |
+
#: Includes/Ajax.php:27 Includes/Ajax.php:262
|
33 |
msgid "Missing data."
|
34 |
msgstr ""
|
35 |
|
53 |
msgid "You need to accept the privacy checkbox."
|
54 |
msgstr ""
|
55 |
|
56 |
+
#: Includes/Ajax.php:111
|
57 |
+
msgid "page"
|
58 |
+
msgstr ""
|
59 |
+
|
60 |
+
#: Includes/Ajax.php:118
|
61 |
#, php-format
|
62 |
msgid "%s - Your data request"
|
63 |
msgstr ""
|
64 |
|
65 |
+
#: Includes/Ajax.php:123
|
66 |
#, php-format
|
67 |
msgid "You have requested to access your data on %s."
|
68 |
msgstr ""
|
69 |
|
70 |
+
#: Includes/Ajax.php:127
|
71 |
#, php-format
|
72 |
msgid "Please visit this %s to view the data linked to the email address %s"
|
73 |
msgstr ""
|
74 |
|
|
|
|
|
|
|
|
|
75 |
#: Includes/Ajax.php:131
|
76 |
msgid ""
|
77 |
"This page is available for 24 hours and can only be reached from the same IP "
|
83 |
msgid "If your link is invalid please fill in a new request: %s."
|
84 |
msgstr ""
|
85 |
|
86 |
+
#: Includes/Ajax.php:143
|
87 |
msgid "Success. You will receive an email with your data shortly."
|
88 |
msgstr ""
|
89 |
|
90 |
+
#: Includes/Ajax.php:147
|
91 |
msgid "Something went wrong while saving the request. Please try again."
|
92 |
msgstr ""
|
93 |
|
94 |
+
#: Includes/Ajax.php:150
|
95 |
msgid ""
|
96 |
"You have already requested your data. Please check your mailbox. After 24 "
|
97 |
"hours you can put in a new request."
|
98 |
msgstr ""
|
99 |
|
100 |
+
#: Includes/Ajax.php:163
|
101 |
msgid "Missing session."
|
102 |
msgstr ""
|
103 |
|
104 |
+
#: Includes/Ajax.php:167
|
105 |
msgid "Missing or invalid type."
|
106 |
msgstr ""
|
107 |
|
108 |
+
#: Includes/Ajax.php:171
|
109 |
msgid "No value selected."
|
110 |
msgstr ""
|
111 |
|
112 |
+
#: Includes/Ajax.php:192
|
113 |
msgid "Something went wrong while saving this request. Please try again."
|
114 |
msgstr ""
|
115 |
|
116 |
+
#: Includes/Ajax.php:203 Includes/Page.php:74
|
117 |
+
msgid "Requests"
|
118 |
+
msgstr ""
|
119 |
+
|
120 |
+
#: Includes/Ajax.php:207
|
121 |
+
#, php-format
|
122 |
+
msgid "%s - New anonymise request"
|
123 |
+
msgstr ""
|
124 |
+
|
125 |
+
#: Includes/Ajax.php:212
|
126 |
+
#, php-format
|
127 |
+
msgid "You have received a new anonymise request on %s."
|
128 |
+
msgstr ""
|
129 |
+
|
130 |
+
#: Includes/Ajax.php:216
|
131 |
+
#, php-format
|
132 |
+
msgid "You can manage this request in the admin panel: %s"
|
133 |
+
msgstr ""
|
134 |
+
|
135 |
+
#: Includes/Ajax.php:227
|
136 |
msgid "Session doesn't match."
|
137 |
msgstr ""
|
138 |
|
139 |
+
#: Includes/Ajax.php:230
|
140 |
msgid "No session found."
|
141 |
msgstr ""
|
142 |
|
143 |
+
#: Includes/Ajax.php:252
|
144 |
msgid "The access request functionality is not enabled."
|
145 |
msgstr ""
|
146 |
|
147 |
+
#: Includes/Ajax.php:266
|
148 |
+
msgid "This request doesn't exist."
|
149 |
msgstr ""
|
150 |
|
151 |
+
#: Includes/Ajax.php:286
|
152 |
msgid "This user doesn't exist."
|
153 |
msgstr ""
|
154 |
|
155 |
+
#: Includes/Ajax.php:292
|
156 |
msgid "You're not allowed to edit users."
|
157 |
msgstr ""
|
158 |
|
159 |
+
#: Includes/Ajax.php:305
|
160 |
msgid "This comment doesn't exist."
|
161 |
msgstr ""
|
162 |
|
163 |
+
#: Includes/Ajax.php:311
|
164 |
msgid "You're not allowed to edit comments."
|
165 |
msgstr ""
|
166 |
|
167 |
+
#: Includes/Ajax.php:336
|
168 |
msgid "You're not allowed to edit WooCommerce orders."
|
169 |
msgstr ""
|
170 |
|
171 |
+
#: Includes/Ajax.php:348
|
172 |
+
#, php-format
|
173 |
+
msgid "%s - Your request"
|
174 |
+
msgstr ""
|
175 |
+
|
176 |
+
#: Includes/Ajax.php:353
|
177 |
+
#, php-format
|
178 |
+
msgid ""
|
179 |
+
"We have successfully processed your request and your data has been "
|
180 |
+
"anonymised on %s."
|
181 |
+
msgstr ""
|
182 |
+
|
183 |
+
#: Includes/Ajax.php:356
|
184 |
+
msgid "The following has been processed:"
|
185 |
+
msgstr ""
|
186 |
+
|
187 |
+
#: Includes/Ajax.php:365
|
188 |
+
msgid "Successfully sent an confirmation mail to the user."
|
189 |
+
msgstr ""
|
190 |
+
|
191 |
+
#: Includes/Ajax.php:369
|
192 |
+
msgid "This request has already been processed."
|
193 |
msgstr ""
|
194 |
|
195 |
#: Includes/Data.php:27 Includes/Extensions/WP.php:34 Includes/Shortcode.php:72
|
210 |
msgstr ""
|
211 |
|
212 |
#: Includes/Data.php:54 Includes/Data.php:63 Includes/Data.php:70
|
213 |
+
#: Includes/Page.php:485
|
214 |
msgid "Email Address"
|
215 |
msgstr ""
|
216 |
|
230 |
msgid "Content"
|
231 |
msgstr ""
|
232 |
|
233 |
+
#: Includes/Data.php:64 Includes/Page.php:401 Includes/Page.php:486
|
234 |
msgid "IP Address"
|
235 |
msgstr ""
|
236 |
|
254 |
msgid "City"
|
255 |
msgstr ""
|
256 |
|
257 |
+
#: Includes/DeleteRequest.php:218
|
258 |
+
msgid "User"
|
259 |
+
msgstr ""
|
260 |
+
|
261 |
+
#: Includes/DeleteRequest.php:221
|
262 |
+
msgid "Comment"
|
263 |
+
msgstr ""
|
264 |
+
|
265 |
+
#: Includes/DeleteRequest.php:224
|
266 |
+
msgid "WooCommerce Order"
|
267 |
+
msgstr ""
|
268 |
+
|
269 |
#: Includes/Extensions/CF7.php:184 Includes/Extensions/GForms.php:111
|
270 |
#: Includes/Extensions/GForms.php:127 Includes/Extensions/GForms.php:146
|
271 |
#: Includes/Extensions/WC.php:55 Includes/Extensions/WP.php:69
|
302 |
msgid "You can use: %s"
|
303 |
msgstr ""
|
304 |
|
305 |
+
#: Includes/Helper.php:90 Includes/Helper.php:111 Includes/Page.php:319
|
306 |
msgid "Note"
|
307 |
msgstr ""
|
308 |
|
390 |
msgstr ""
|
391 |
|
392 |
#: Includes/Integration.php:115 Includes/Integration.php:156
|
393 |
+
#: Includes/Integration.php:183 Includes/Page.php:349
|
394 |
msgid "Checkbox text"
|
395 |
msgstr ""
|
396 |
|
413 |
msgid "Please accept the privacy checkbox."
|
414 |
msgstr ""
|
415 |
|
416 |
+
#: Includes/Integration.php:243 Includes/Page.php:285 Includes/Page.php:289
|
417 |
msgid "Privacy Policy"
|
418 |
msgstr ""
|
419 |
|
426 |
"request. When your data is anonymised you will receive an email confirmation."
|
427 |
msgstr ""
|
428 |
|
429 |
+
#: Includes/Integration.php:306 Includes/Page.php:389
|
430 |
msgid "WordPress Comments"
|
431 |
msgstr ""
|
432 |
|
448 |
msgid "Gravity Forms"
|
449 |
msgstr ""
|
450 |
|
451 |
+
#: Includes/Integration.php:335 Includes/Page.php:390
|
452 |
msgid "WooCommerce"
|
453 |
msgstr ""
|
454 |
|
458 |
"page."
|
459 |
msgstr ""
|
460 |
|
461 |
+
#: Includes/Page.php:64
|
462 |
msgid "Integration"
|
463 |
msgstr ""
|
464 |
|
465 |
+
#: Includes/Page.php:84
|
|
|
|
|
|
|
|
|
466 |
msgid "Checklist"
|
467 |
msgstr ""
|
468 |
|
469 |
+
#: Includes/Page.php:85 wp-gdpr-compliance.php:108
|
470 |
msgid "Settings"
|
471 |
msgstr ""
|
472 |
|
473 |
+
#: Includes/Page.php:113
|
474 |
msgid ""
|
475 |
"This plugin assists website and webshop owners to comply with European "
|
476 |
"privacy regulations known as GDPR. By May 25th, 2018 your site or shop has "
|
477 |
"to comply."
|
478 |
msgstr ""
|
479 |
|
480 |
+
#: Includes/Page.php:116
|
481 |
#, php-format
|
482 |
msgid ""
|
483 |
"%s currently supports %s. Please visit %s for frequently asked questions and "
|
484 |
"our development roadmap."
|
485 |
msgstr ""
|
486 |
|
487 |
+
#: Includes/Page.php:124
|
488 |
msgid ""
|
489 |
"Disclaimer: The creators of this plugin do not have a legal background "
|
490 |
"please contact a law firm for rock solid legal advice."
|
491 |
msgstr ""
|
492 |
|
493 |
+
#: Includes/Page.php:133
|
494 |
#, php-format
|
495 |
msgid "You have %s left to comply with GDPR."
|
496 |
msgstr ""
|
497 |
|
498 |
+
#: Includes/Page.php:133
|
499 |
#, php-format
|
500 |
msgid "%s day"
|
501 |
msgstr ""
|
502 |
|
503 |
+
#: Includes/Page.php:140
|
504 |
+
msgid "Rate us"
|
505 |
+
msgstr ""
|
506 |
+
|
507 |
+
#: Includes/Page.php:142
|
508 |
+
#, php-format
|
509 |
+
msgid "Did %s help you out? Please leave a positive 5-star review."
|
510 |
+
msgstr ""
|
511 |
+
|
512 |
+
#: Includes/Page.php:143
|
513 |
+
msgid "Write a review"
|
514 |
+
msgstr ""
|
515 |
+
|
516 |
+
#: Includes/Page.php:151
|
517 |
+
msgid "Yes"
|
518 |
+
msgstr ""
|
519 |
+
|
520 |
+
#: Includes/Page.php:152
|
521 |
+
msgid "No"
|
522 |
+
msgstr ""
|
523 |
+
|
524 |
+
#: Includes/Page.php:179
|
525 |
msgid "Enable:"
|
526 |
msgstr ""
|
527 |
|
528 |
+
#: Includes/Page.php:205
|
529 |
#, php-format
|
530 |
msgid "This plugin is outdated. %s supports version %s and up."
|
531 |
msgstr ""
|
532 |
|
533 |
+
#: Includes/Page.php:214
|
534 |
msgid "Couldn't find any supported plugins installed."
|
535 |
msgstr ""
|
536 |
|
537 |
+
#: Includes/Page.php:215
|
538 |
msgid "The following plugins are supported as of now:"
|
539 |
msgstr ""
|
540 |
|
541 |
+
#: Includes/Page.php:221
|
542 |
msgid "More plugins will be added in the future."
|
543 |
msgstr ""
|
544 |
|
545 |
+
#: Includes/Page.php:233
|
546 |
msgid ""
|
547 |
"Below we ask you what private data you currently collect and provide you "
|
548 |
"with tips to comply."
|
549 |
msgstr ""
|
550 |
|
551 |
+
#: Includes/Page.php:294 Includes/Page.php:336
|
552 |
msgid "Select an option"
|
553 |
msgstr ""
|
554 |
|
555 |
+
#: Includes/Page.php:302
|
556 |
msgid "Link text"
|
557 |
msgstr ""
|
558 |
|
559 |
+
#: Includes/Page.php:307
|
560 |
msgid "Request User Data"
|
561 |
msgstr ""
|
562 |
|
563 |
+
#: Includes/Page.php:309
|
564 |
msgid ""
|
565 |
"Allow your site's visitors to request their data stored in the WordPress "
|
566 |
"database (comments, WooCommerce orders etc.). Data found is send to their "
|
568 |
"data anonymised."
|
569 |
msgstr ""
|
570 |
|
571 |
+
#: Includes/Page.php:312
|
572 |
msgid "Activate"
|
573 |
msgstr ""
|
574 |
|
575 |
+
#: Includes/Page.php:314
|
576 |
msgid "Activate page"
|
577 |
msgstr ""
|
578 |
|
579 |
+
#: Includes/Page.php:321
|
580 |
#, php-format
|
581 |
msgid ""
|
582 |
"Enabling this will create one private page containing the necessary "
|
583 |
"shortcode: %s. You can determine when and how to publish this page yourself."
|
584 |
msgstr ""
|
585 |
|
586 |
+
#: Includes/Page.php:331
|
587 |
msgid "Page"
|
588 |
msgstr ""
|
589 |
|
590 |
+
#: Includes/Page.php:343
|
591 |
msgid "Click here to edit this page"
|
592 |
msgstr ""
|
593 |
|
594 |
+
#: Includes/Page.php:355
|
595 |
+
msgid "Anonymise request explanation"
|
596 |
msgstr ""
|
597 |
|
598 |
+
#: Includes/Page.php:386
|
599 |
msgid ""
|
600 |
"Anonymise a request by ticking the checkbox and clicking on the green "
|
601 |
"anonymise button below."
|
602 |
msgstr ""
|
603 |
|
604 |
+
#: Includes/Page.php:388
|
605 |
msgid "WordPress Users"
|
606 |
msgstr ""
|
607 |
|
608 |
+
#: Includes/Page.php:399
|
609 |
msgid "Request"
|
610 |
msgstr ""
|
611 |
|
612 |
+
#: Includes/Page.php:400
|
613 |
msgid "Type"
|
614 |
msgstr ""
|
615 |
|
616 |
+
#: Includes/Page.php:402 Includes/Page.php:487
|
617 |
msgid "Date"
|
618 |
msgstr ""
|
619 |
|
620 |
+
#: Includes/Page.php:403
|
621 |
msgid "Processed"
|
622 |
msgstr ""
|
623 |
|
624 |
+
#: Includes/Page.php:404
|
625 |
msgid "Action"
|
626 |
msgstr ""
|
627 |
|
628 |
+
#: Includes/Page.php:419
|
629 |
msgid "View"
|
630 |
msgstr ""
|
631 |
|
632 |
+
#: Includes/Page.php:433
|
633 |
msgid "Anonymise selected request(s)"
|
634 |
msgstr ""
|
635 |
|
636 |
+
#: Includes/Page.php:455 Includes/Page.php:546
|
637 |
#, php-format
|
638 |
msgid "%d of %d results found"
|
639 |
msgstr ""
|
640 |
|
641 |
+
#: Includes/Page.php:461 Includes/Page.php:552
|
642 |
+
msgid "No requests found."
|
643 |
msgstr ""
|
644 |
|
645 |
+
#: Includes/Page.php:483
|
646 |
msgid "ID"
|
647 |
msgstr ""
|
648 |
|
649 |
+
#: Includes/Page.php:484
|
650 |
msgid "Requests to Process"
|
651 |
msgstr ""
|
652 |
|
653 |
+
#: Includes/Page.php:488
|
654 |
msgid "Expired"
|
655 |
msgstr ""
|
656 |
|
657 |
+
#: Includes/Page.php:512
|
658 |
msgid "Manage"
|
659 |
msgstr ""
|
660 |
|
|
|
|
|
|
|
|
|
661 |
#: Includes/Shortcode.php:33
|
662 |
msgid "Users"
|
663 |
msgstr ""
|
693 |
msgid "This request is expired or doesn't exist."
|
694 |
msgstr ""
|
695 |
|
696 |
+
#: Includes/Shortcode.php:99
|
697 |
msgid "Your Email Address"
|
698 |
msgstr ""
|
699 |
|
700 |
+
#: Includes/Shortcode.php:113
|
701 |
msgid "Send"
|
702 |
msgstr ""
|
703 |
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Tags: gdpr, law, regulations, compliance, data, protection, privacy, data protec
|
|
4 |
Requires at least: 4.5
|
5 |
Tested up to: 4.9.4
|
6 |
Requires PHP: 5.3
|
7 |
-
Stable tag: 1.3.
|
8 |
License: GPLv2 or later
|
9 |
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -38,6 +38,13 @@ You'll find answers to many of your questions on [wpgdprc.com](https://www.wpgdp
|
|
38 |
|
39 |
== Changelog ==
|
40 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
= 1.3.1 =
|
42 |
*Release date: May 8th, 2018*
|
43 |
* Added a button to retry creating database tables required by the request user data functionality.
|
4 |
Requires at least: 4.5
|
5 |
Tested up to: 4.9.4
|
6 |
Requires PHP: 5.3
|
7 |
+
Stable tag: 1.3.2
|
8 |
License: GPLv2 or later
|
9 |
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
38 |
|
39 |
== Changelog ==
|
40 |
|
41 |
+
= 1.3.2 =
|
42 |
+
*Release date: May 11th, 2018*
|
43 |
+
* Added translatable 'Yes' and 'No' strings.
|
44 |
+
* Added confirmation mails sent after processing a anonymise request.
|
45 |
+
* Added mail sent to the admin when a new request is created.
|
46 |
+
* Added 'noopener noreferrer' to the Privacy Policy link.
|
47 |
+
|
48 |
= 1.3.1 =
|
49 |
*Release date: May 8th, 2018*
|
50 |
* Added a button to retry creating database tables required by the request user data functionality.
|
wp-gdpr-compliance.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
Plugin Name: WP GDPR Compliance
|
5 |
Plugin URI: https://www.wpgdprc.com/
|
6 |
Description: This plugin assists website and webshop owners to comply with European privacy regulations known as GDPR. By May 24th, 2018 your website or shop has to comply to avoid large fines.
|
7 |
-
Version: 1.3.
|
8 |
Author: Van Ons
|
9 |
Author URI: https://www.van-ons.nl/
|
10 |
License: GPL2
|
4 |
Plugin Name: WP GDPR Compliance
|
5 |
Plugin URI: https://www.wpgdprc.com/
|
6 |
Description: This plugin assists website and webshop owners to comply with European privacy regulations known as GDPR. By May 24th, 2018 your website or shop has to comply to avoid large fines.
|
7 |
+
Version: 1.3.2
|
8 |
Author: Van Ons
|
9 |
Author URI: https://www.van-ons.nl/
|
10 |
License: GPL2
|