PluginProbe
The GDPR Framework By Data443 / trunk
The GDPR Framework By Data443 vtrunk
2.5.0 2.4.0 trunk 1.0.0 1.0.1 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.3 1.0.33 1.0.34 1.0.35 1.0.36 1.0.37 1.0.39 1.0.4 1.0.40 1.0.41 1.0.42 1.0.43 1.0.44 1.0.45 1.0.46 All 41 releases
gdpr-framework / src / Helpers.php

Helpers.php in The GDPR Framework By Data443 trunk, at src/Helpers.php

472 lines 22.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Codelight\GDPR;
4
5 if ( ! defined( 'ABSPATH' ) ) exit;
6
7 /**
8 * General helper functions
9 *
10 * Class Helpers
11 *
12 * @package Codelight\GDPR
13 */
14 class Helpers
15 {
16 public function supportUrl($url = '')
17 {
18 global $gdpr;
19 return $gdpr->HelpUrl . $url;
20 }
21
22 /**
23 * Get an associative array of EU countries
24 *
25 * @return array
26 */
27 public function getEUCountryList()
28 {
29 return [
30 'AT' => _x('Austria', '(Admin)', 'gdpr-framework'),
31 'BE' => _x('Belgium', '(Admin)', 'gdpr-framework'),
32 'BG' => _x('Bulgaria', '(Admin)', 'gdpr-framework'),
33 'HR' => _x('Croatia','(Admin)', 'gdpr-framework'),
34 'CY' => _x('Cyprus', '(Admin)', 'gdpr-framework'),
35 'CZ' => _x('Czech Republic', '(Admin)', 'gdpr-framework'),
36 'DK' => _x('Denmark', '(Admin)', 'gdpr-framework'),
37 'EE' => _x('Estonia', '(Admin)', 'gdpr-framework'),
38 'FI' => _x('Finland', '(Admin)', 'gdpr-framework'),
39 'FR' => _x('France', '(Admin)', 'gdpr-framework'),
40 'DE' => _x('Germany', '(Admin)', 'gdpr-framework'),
41 'GR' => _x('Greece', '(Admin)', 'gdpr-framework'),
42 'HU' => _x('Hungary', '(Admin)', 'gdpr-framework'),
43 'IE' => _x('Ireland', '(Admin)', 'gdpr-framework'),
44 'IT' => _x('Italy', '(Admin)', 'gdpr-framework'),
45 'LV' => _x('Latvia', '(Admin)', 'gdpr-framework'),
46 'LT' => _x('Lithuania', '(Admin)', 'gdpr-framework'),
47 'LU' => _x('Luxembourg', '(Admin)', 'gdpr-framework'),
48 'MT' => _x('Malta', '(Admin)', 'gdpr-framework'),
49 'NL' => _x('Netherlands', '(Admin)', 'gdpr-framework'),
50 'PL' => _x('Poland', '(Admin)', 'gdpr-framework'),
51 'PT' => _x('Portugal', '(Admin)', 'gdpr-framework'),
52 'RO' => _x('Romania', '(Admin)', 'gdpr-framework'),
53 'SK' => _x('Slovakia', '(Admin)', 'gdpr-framework'),
54 'SI' => _x('Slovenia', '(Admin)', 'gdpr-framework'),
55 'ES' => _x('Spain', '(Admin)', 'gdpr-framework'),
56 'SE' => _x('Sweden', '(Admin)', 'gdpr-framework'),
57 'UK' => _x('United Kingdom', '(Admin)', 'gdpr-framework'),
58 // All country list
59 'AF' => _x('Afghanistan ', '(Admin)', 'gdpr-framework'),
60 'AX' => _x('�
61 land Islands', '(Admin)', 'gdpr-framework'),
62 'AL' => _x('Albania', '(Admin)', 'gdpr-framework'),
63 'DZ' => _x('Algeria', '(Admin)', 'gdpr-framework'),
64 'AS' => _x('American Samoa ', '(Admin)', 'gdpr-framework'),
65 'AD' => _x('Andorra', '(Admin)', 'gdpr-framework'),
66 'AO' => _x('Angola', '(Admin)', 'gdpr-framework'),
67 'AI' => _x('Anguilla', '(Admin)', 'gdpr-framework'),
68 'AQ' => _x('Antarctica', '(Admin)', 'gdpr-framework'),
69 'AG' => _x('Antigua and Barbuda', '(Admin)', 'gdpr-framework'),
70 'AR' => _x('Argentina', '(Admin)', 'gdpr-framework'),
71 'AM' => _x('Armenia', '(Admin)', 'gdpr-framework'),
72 'AW' => _x('Aruba', '(Admin)', 'gdpr-framework'),
73 'AU' => _x('Australia', '(Admin)', 'gdpr-framework'),
74 'AZ' => _x('Azerbaijan', '(Admin)', 'gdpr-framework'),
75 'BH' => _x('Bahrain', '(Admin)', 'gdpr-framework'),
76 'BS' => _x('Bahamas', '(Admin)', 'gdpr-framework'),
77 'BD' => _x('Bangladesh', '(Admin)', 'gdpr-framework'),
78 'BB' => _x('Barbados', '(Admin)', 'gdpr-framework'),
79 'BY' => _x('Belarus', '(Admin)', 'gdpr-framework'),
80 'BZ' => _x('Belize', '(Admin)', 'gdpr-framework'),
81 'BJ' => _x('Benin', '(Admin)', 'gdpr-framework'),
82 'BM' => _x('Bermuda', '(Admin)', 'gdpr-framework'),
83 'BT' => _x('Bhutan', '(Admin)', 'gdpr-framework'),
84 'BO' => _x('Bolivia, Plurinational State of', '(Admin)', 'gdpr-framework'),
85 'BQ' => _x('Bonaire, Sint Eustatius and Saba', '(Admin)', 'gdpr-framework'),
86 'BA' => _x('Bosnia and Herzegovina', '(Admin)', 'gdpr-framework'),
87 'BW' => _x('Botswana', '(Admin)', 'gdpr-framework'),
88 'BV' => _x('Bouvet Island', '(Admin)', 'gdpr-framework'),
89 'BR' => _x('Brazil', '(Admin)', 'gdpr-framework'),
90 'IO' => _x('British Indian Ocean Territory', '(Admin)', 'gdpr-framework'),
91 'BN' => _x('Brunei Darussalam', '(Admin)', 'gdpr-framework'),
92 'BF' => _x('Burkina Faso', '(Admin)', 'gdpr-framework'),
93 'BI' => _x('Burundi', '(Admin)', 'gdpr-framework'),
94 'KH' => _x('Cambodia', '(Admin)', 'gdpr-framework'),
95 'CM' => _x('Cameroon', '(Admin)', 'gdpr-framework'),
96 'CA' => _x('Canada', '(Admin)', 'gdpr-framework'),
97 'CV' => _x('Cape Verde', '(Admin)', 'gdpr-framework'),
98 'KY' => _x('Cayman Islands', '(Admin)', 'gdpr-framework'),
99 'CF' => _x('Central African Republic', '(Admin)', 'gdpr-framework'),
100 'TD' => _x('Chad', '(Admin)', 'gdpr-framework'),
101 'CL' => _x('Chile', '(Admin)', 'gdpr-framework'),
102 'CN' => _x('China', '(Admin)', 'gdpr-framework'),
103 'CX' => _x('Christmas Island', '(Admin)', 'gdpr-framework'),
104 'CC' => _x('Cocos (Keeling) Islands', '(Admin)', 'gdpr-framework'),
105 'CO' => _x('Colombia', '(Admin)', 'gdpr-framework'),
106 'KM' => _x('Comoros', '(Admin)', 'gdpr-framework'),
107 'CG' => _x('Congo', '(Admin)', 'gdpr-framework'),
108 'CD' => _x('Congo, the Democratic Republic of the', '(Admin)', 'gdpr-framework'),
109 'CK' => _x('Cook Islands', '(Admin)', 'gdpr-framework'),
110 'CR' => _x('Costa Rica', '(Admin)', 'gdpr-framework'),
111 'CI' => _x('Côte dIvoire', '(Admin)', 'gdpr-framework'),
112 'CU' => _x('Cuba', '(Admin)', 'gdpr-framework'),
113 'CW' => _x('Curaçao', '(Admin)', 'gdpr-framework'),
114 'DJ' => _x('Djibouti', '(Admin)', 'gdpr-framework'),
115 'DM' => _x('Dominica', '(Admin)', 'gdpr-framework'),
116 'DO' => _x('Dominican Republic', '(Admin)', 'gdpr-framework'),
117 'EC' => _x('Ecuador', '(Admin)', 'gdpr-framework'),
118 'EG' => _x('Egypt', '(Admin)', 'gdpr-framework'),
119 'SV' => _x('El Salvador', '(Admin)', 'gdpr-framework'),
120 'GQ' => _x('Equatorial Guinea', '(Admin)', 'gdpr-framework'),
121 'ER' => _x('Eritrea', '(Admin)', 'gdpr-framework'),
122 'ET' => _x('Ethiopia', '(Admin)', 'gdpr-framework'),
123 'FK' => _x('Falkland Islands (Malvinas)', '(Admin)', 'gdpr-framework'),
124 'FO' => _x('Faroe Islands', '(Admin)', 'gdpr-framework'),
125 'FJ' => _x('Fiji', '(Admin)', 'gdpr-framework'),
126 'GF' => _x('French Guiana', '(Admin)', 'gdpr-framework'),
127 'PF' => _x('French Polynesia', '(Admin)', 'gdpr-framework'),
128 'TF' => _x('French Southern Territories', '(Admin)', 'gdpr-framework'),
129 'GA' => _x('Gabon', '(Admin)', 'gdpr-framework'),
130 'GM' => _x('Gambia', '(Admin)', 'gdpr-framework'),
131 'GE' => _x('Georgia', '(Admin)', 'gdpr-framework'),
132 'GE' => _x('Georgia ', '(Admin)', 'gdpr-framework'),
133 'GH' => _x('Ghana', '(Admin)', 'gdpr-framework'),
134 'GI' => _x('Gibraltar', '(Admin)', 'gdpr-framework'),
135 'GL' => _x('Greenland', '(Admin)', 'gdpr-framework'),
136 'GD' => _x('Grenada ', '(Admin)', 'gdpr-framework'),
137 'GP' => _x('Guadeloupe ', '(Admin)', 'gdpr-framework'),
138 'GU' => _x('Guam', '(Admin)', 'gdpr-framework'),
139 'GT' => _x('Guatemala', '(Admin)', 'gdpr-framework'),
140 'GG' => _x('Guernsey', '(Admin)', 'gdpr-framework'),
141 'GN' => _x('Guinea ', '(Admin)', 'gdpr-framework'),
142 'GW' => _x('Guinea-Bissau ', '(Admin)', 'gdpr-framework'),
143 'GY' => _x('Guyana ', '(Admin)', 'gdpr-framework'),
144 'HT' => _x('Haiti ', '(Admin)', 'gdpr-framework'),
145 'HM' => _x('Heard Island and McDonald Islands ', '(Admin)', 'gdpr-framework'),
146 'VA' => _x('Holy See (Vatican City State) ', '(Admin)', 'gdpr-framework'),
147 'HN' => _x('Honduras ', '(Admin)', 'gdpr-framework'),
148 'HK' => _x('Hong Kong ', '(Admin)', 'gdpr-framework'),
149 'IN' => _x('India ', '(Admin)', 'gdpr-framework'),
150 'ID' => _x('Indonesia ', '(Admin)', 'gdpr-framework'),
151 'IR' => _x('Iran, Islamic Republic of ', '(Admin)', 'gdpr-framework'),
152 'IQ' => _x('Iraq ', '(Admin)', 'gdpr-framework'),
153 'IM' => _x('Isle of Man ', '(Admin)', 'gdpr-framework'),
154 'IL' => _x('Israel ', '(Admin)', 'gdpr-framework'),
155 'JM' => _x('Jamaica ', '(Admin)', 'gdpr-framework'),
156 'JP' => _x('Japan ', '(Admin)', 'gdpr-framework'),
157 'JE' => _x('Jersey ', '(Admin)', 'gdpr-framework'),
158 'JO' => _x('Jordan ', '(Admin)', 'gdpr-framework'),
159 'KZ' => _x('Kazakhstan ', '(Admin)', 'gdpr-framework'),
160 'KE' => _x('Kenya ', '(Admin)', 'gdpr-framework'),
161 'KI' => _x('Kiribati ', '(Admin)', 'gdpr-framework'),
162 'KP' => _x('Korea, Democratic Peoples Republic of ', '(Admin)', 'gdpr-framework'),
163 'KR' => _x('Korea, Republic of ', '(Admin)', 'gdpr-framework'),
164 'KW' => _x('Kuwait ', '(Admin)', 'gdpr-framework'),
165 'KG' => _x('Kyrgyzstan ', '(Admin)', 'gdpr-framework'),
166 'LA' => _x('Lao Peoples Democratic Republic ', '(Admin)', 'gdpr-framework'),
167 'LB' => _x('Lebanon ', '(Admin)', 'gdpr-framework'),
168 'LS' => _x('Lesotho ', '(Admin)', 'gdpr-framework'),
169 'LR' => _x('Liberia ', '(Admin)', 'gdpr-framework'),
170 'LY' => _x('Libya ', '(Admin)', 'gdpr-framework'),
171 'MO' => _x('Macao ', '(Admin)', 'gdpr-framework'),
172 'MK' => _x('Macedonia, the Former Yugoslav Republic of ', '(Admin)', 'gdpr-framework'),
173 'MG' => _x('Madagascar ', '(Admin)', 'gdpr-framework'),
174 'MW' => _x('Malawi ', '(Admin)', 'gdpr-framework'),
175 'MY' => _x('Malaysia ', '(Admin)', 'gdpr-framework'),
176 'MV' => _x('Maldives ', '(Admin)', 'gdpr-framework'),
177 'ML' => _x('Mali ', '(Admin)', 'gdpr-framework'),
178 'MH' => _x('Marshall Islands ', '(Admin)', 'gdpr-framework'),
179 'MQ' => _x('Martinique ', '(Admin)', 'gdpr-framework'),
180 'MR' => _x('Mauritania ', '(Admin)', 'gdpr-framework'),
181 'MU' => _x('Mauritius ', '(Admin)', 'gdpr-framework'),
182 'YT' => _x('Mayotte ', '(Admin)', 'gdpr-framework'),
183 'MX' => _x('Mexico ', '(Admin)', 'gdpr-framework'),
184 'FM' => _x('Micronesia, Federated States of ', '(Admin)', 'gdpr-framework'),
185 'MD' => _x('Moldova, Republic of ', '(Admin)', 'gdpr-framework'),
186 'MC' => _x('Monaco ', '(Admin)', 'gdpr-framework'),
187 'MN' => _x('Mongolia ', '(Admin)', 'gdpr-framework'),
188 'ME' => _x('Montenegro ', '(Admin)', 'gdpr-framework'),
189 'MS' => _x('Montserrat ', '(Admin)', 'gdpr-framework'),
190 'MA' => _x('Morocco ', '(Admin)', 'gdpr-framework'),
191 'MZ' => _x('Mozambique ', '(Admin)', 'gdpr-framework'),
192 'MM' => _x('Myanmar ', '(Admin)', 'gdpr-framework'),
193 'NA' => _x('Namibia ', '(Admin)', 'gdpr-framework'),
194 'NR' => _x('Nauru ', '(Admin)', 'gdpr-framework'),
195 'NP' => _x('Nepal ', '(Admin)', 'gdpr-framework'),
196 'NC' => _x('New Caledonia ', '(Admin)', 'gdpr-framework'),
197 'NZ' => _x('New Zealand ', '(Admin)', 'gdpr-framework'),
198 'NI' => _x('Nicaragua ', '(Admin)', 'gdpr-framework'),
199 'NE' => _x('Niger ', '(Admin)', 'gdpr-framework'),
200 'NG' => _x('Nigeria ', '(Admin)', 'gdpr-framework'),
201 'NU' => _x('Niue ', '(Admin)', 'gdpr-framework'),
202 'NF' => _x('Norfolk Island ', '(Admin)', 'gdpr-framework'),
203 'MP' => _x('Northern Mariana Islands ', '(Admin)', 'gdpr-framework'),
204 'OM' => _x('Oman ', '(Admin)', 'gdpr-framework'),
205 'PK' => _x('Pakistan ', '(Admin)', 'gdpr-framework'),
206 'PW' => _x('Palau ', '(Admin)', 'gdpr-framework'),
207 'PS' => _x('Palestine, State of ', '(Admin)', 'gdpr-framework'),
208 'PA' => _x('Panama ', '(Admin)', 'gdpr-framework'),
209 'PG' => _x('Papua New Guinea ', '(Admin)', 'gdpr-framework'),
210 'PY' => _x('Paraguay ', '(Admin)', 'gdpr-framework'),
211 'PE' => _x('Peru ', '(Admin)', 'gdpr-framework'),
212 'PH' => _x('Philippines ', '(Admin)', 'gdpr-framework'),
213 'PN' => _x('Pitcairn ', '(Admin)', 'gdpr-framework'),
214 'PR' => _x('Puerto Rico ', '(Admin)', 'gdpr-framework'),
215 'QA' => _x('Qatar ', '(Admin)', 'gdpr-framework'),
216 'RE' => _x('Réunion ', '(Admin)', 'gdpr-framework'),
217 'RU' => _x('Russian Federation ', '(Admin)', 'gdpr-framework'),
218 'RW' => _x('Rwanda ', '(Admin)', 'gdpr-framework'),
219 'BL' => _x('Saint Barthélemy ', '(Admin)', 'gdpr-framework'),
220 'SH' => _x('Saint Helena, Ascension and Tristan da Cunha ', '(Admin)', 'gdpr-framework'),
221 'KN' => _x('Saint Kitts and Nevis ', '(Admin)', 'gdpr-framework'),
222 'LC' => _x('Saint Lucia ', '(Admin)', 'gdpr-framework'),
223 'MF' => _x('Saint Martin (French part) ', '(Admin)', 'gdpr-framework'),
224 'PM' => _x('Saint Pierre and Miquelon ', '(Admin)', 'gdpr-framework'),
225 'VC' => _x('Saint Vincent and the Grenadines ', '(Admin)', 'gdpr-framework'),
226 'WS' => _x('Samoa ', '(Admin)', 'gdpr-framework'),
227 'SM' => _x('San Marino ', '(Admin)', 'gdpr-framework'),
228 'ST' => _x('Sao Tome and Principe ', '(Admin)', 'gdpr-framework'),
229 'SA' => _x('Saudi Arabia ', '(Admin)', 'gdpr-framework'),
230 'SN' => _x('Senegal ', '(Admin)', 'gdpr-framework'),
231 'RS' => _x('Serbia ', '(Admin)', 'gdpr-framework'),
232 'SC' => _x('Seychelles ', '(Admin)', 'gdpr-framework'),
233 'SL' => _x('Sierra Leone ', '(Admin)', 'gdpr-framework'),
234 'SG' => _x('Singapore ', '(Admin)', 'gdpr-framework'),
235 'SX' => _x('Sint Maarten (Dutch part) ', '(Admin)', 'gdpr-framework'),
236 'SB' => _x('Solomon Islands ', '(Admin)', 'gdpr-framework'),
237 'SO' => _x('Somalia ', '(Admin)', 'gdpr-framework'),
238 'ZA' => _x('South Africa ', '(Admin)', 'gdpr-framework'),
239 'GS' => _x('South Georgia and the South Sandwich Islands ', '(Admin)', 'gdpr-framework'),
240 'SS' => _x('South Sudan ', '(Admin)', 'gdpr-framework'),
241 'LK' => _x('Sri Lanka ', '(Admin)', 'gdpr-framework'),
242 'SD' => _x('Sudan ', '(Admin)', 'gdpr-framework'),
243 'SR' => _x('Suriname ', '(Admin)', 'gdpr-framework'),
244 'SJ' => _x('Svalbard and Jan Mayen ', '(Admin)', 'gdpr-framework'),
245 'SZ' => _x('Swaziland ', '(Admin)', 'gdpr-framework'),
246 'SY' => _x('Syrian Arab Republic ', '(Admin)', 'gdpr-framework'),
247 'TW' => _x('Taiwan ', '(Admin)', 'gdpr-framework'),
248 'TJ' => _x('Tajikistan ', '(Admin)', 'gdpr-framework'),
249 'TZ' => _x('Tanzania, United Republic of ', '(Admin)', 'gdpr-framework'),
250 'TH' => _x('Thailand ', '(Admin)', 'gdpr-framework'),
251 'TL' => _x('Timor-Leste ', '(Admin)', 'gdpr-framework'),
252 'TG' => _x('Togo ', '(Admin)', 'gdpr-framework'),
253 'TK' => _x('Tokelau ', '(Admin)', 'gdpr-framework'),
254 'TO' => _x('Tonga ', '(Admin)', 'gdpr-framework'),
255 'TT' => _x('Trinidad and Tobago ', '(Admin)', 'gdpr-framework'),
256 'TN' => _x('Tunisia ', '(Admin)', 'gdpr-framework'),
257 'TR' => _x('Turkey ', '(Admin)', 'gdpr-framework'),
258 'TM' => _x('Turkmenistan ', '(Admin)', 'gdpr-framework'),
259 'TC' => _x('Turks and Caicos Islands ', '(Admin)', 'gdpr-framework'),
260 'TV' => _x('Tuvalu ', '(Admin)', 'gdpr-framework'),
261 'UG' => _x('Uganda ', '(Admin)', 'gdpr-framework'),
262 'UA' => _x('Ukraine ', '(Admin)', 'gdpr-framework'),
263 'AE' => _x('United Arab Emirates ', '(Admin)', 'gdpr-framework'),
264 'UM' => _x('United States Minor Outlying Islands ', '(Admin)', 'gdpr-framework'),
265 'UY' => _x('Uruguay ', '(Admin)', 'gdpr-framework'),
266 'UZ' => _x('Uzbekistan ', '(Admin)', 'gdpr-framework'),
267 'VU' => _x('Vanuatu ', '(Admin)', 'gdpr-framework'),
268 'VE' => _x('Venezuela, Bolivarian Republic of ', '(Admin)', 'gdpr-framework'),
269 'VN' => _x('Viet Nam ', '(Admin)', 'gdpr-framework'),
270 'VG' => _x('Virgin Islands, British ', '(Admin)', 'gdpr-framework'),
271 'VI' => _x('Virgin Islands, U.S. ', '(Admin)', 'gdpr-framework'),
272 'WF' => _x('Wallis and Futuna ', '(Admin)', 'gdpr-framework'),
273 'EH' => _x('Western Sahara ', '(Admin)', 'gdpr-framework'),
274 'YE' => _x('Yemen ', '(Admin)', 'gdpr-framework'),
275 'ZM' => _x('Zambia ', '(Admin)', 'gdpr-framework'),
276 'ZW' => _x('Zimbabwe ', '(Admin)', 'gdpr-framework'),
277 ];
278 }
279
280 /**
281 * Get a list of <option> values for the country selector
282 *
283 * @param null $current
284 *
285 * @return mixed
286 */
287 public function getCountrySelectOptions($current = null)
288 {
289 $eu = $this->getEUCountryList();
290 $outside = [
291 "IS" => _x('Iceland', '(Admin)', 'gdpr-framework'),
292 "NO" => _x('Norway', '(Admin)', 'gdpr-framework'),
293 "LI" => _x('Liechtenstein', '(Admin)', 'gdpr-framework'),
294 "CH" => _x('Switzerland', '(Admin)', 'gdpr-framework'),
295 "US" => _x('United States', '(Admin)', 'gdpr-framework'),
296 // "other" => _x('Rest of the world', '(Admin)', 'gdpr-framework'),
297 ];
298
299 return gdpr('view')->render('global/country-options', compact('eu', 'outside', 'current'));
300 }
301
302 /**
303 * Check if a controller from the given country needs a representative in the EU
304 *
305 * @param $code
306 * @return bool
307 */
308 public function countryNeedsRepresentative($code)
309 {
310 return in_array($code, ['US', 'other']);
311 }
312
313 /**
314 * Get the data protection authority information for a given country
315 *
316 * @param null $countryCode
317 * @return array
318 */
319 public function getDataProtectionAuthorityInfo($countryCode = null)
320 {
321 global $gdpr;
322
323 if (!$countryCode) {
324 $countryCode = $gdpr->Options->get('company_location');
325 }
326
327 $dpaData = require($gdpr->PluginPath . 'assets/data-protection-authorities.php');
328
329 if (isset($dpaData[$countryCode])) {
330 return $dpaData[$countryCode];
331 }
332
333 return [];
334 }
335
336 /**
337 * Get the info regarding all DPAs
338 */
339 public function getDataProtectionAuthorities()
340 {
341 global $gdpr;
342 return require($gdpr->PluginPath . 'assets/data-protection-authorities.php');
343 }
344
345 public function getAdminUrl($suffix = '')
346 {
347 return admin_url('tools.php?page=privacy' . $suffix);
348 }
349
350 public function premiumStore()
351 {
352 return 'https://orders.data443.com/index.php?rp=/store/gdpr-framework';
353 }
354
355 public function getDashboardDataPageUrl($suffix = '')
356 {
357 return admin_url('users.php?page=gdpr-profile' . $suffix);
358 }
359
360 public function getPrivacyToolsPageUrl()
361 {
362 global $gdpr;
363 if($gdpr->Options->get('custom_tools_page')){
364 $privacyToolsUrl = $gdpr->Options->get('custom_tools_page');
365 return $privacyToolsUrl;
366 }else{
367 $toolsPageId = $gdpr->Options->get('tools_page');
368 return $toolsPageId ? get_permalink($toolsPageId) : '';
369 }
370
371 }
372
373 public function getPrivacyPolicyPageUrl()
374 {
375 global $gdpr;
376 $policyPageId = $gdpr->Options->get('policy_page');
377 $policyPageurl = get_permalink($policyPageId);
378 add_filter( 'gdpr_custom_policy_link', 'gdprfPrivacyPolicyurl' );
379 $policyPageurl = apply_filters( 'gdpr_custom_policy_link',$policyPageurl);
380 return $policyPageurl ? $policyPageurl : '';
381 }
382
383 public function error()
384 {
385 wp_die(
386 __('An error has occurred. Please contact the site administrator.', 'gdpr-framework')
387 );
388 }
389
390 public function docs($url = '')
391 {
392 return 'https://www.data443.com/' . $url;
393 }
394
395 public function data443()
396 {
397 return 'https://data443.com/';
398 }
399
400 public function wordpressReview()
401 {
402 return 'https://wordpress.org/plugins/gdpr-framework/#reviews';
403 }
404
405 public function supportRequest()
406 {
407 return 'https://data443.atlassian.net/servicedesk/customer/portal/2/group/6';
408 }
409
410 public function siteOwnersGuide()
411 {
412 return 'https://data443.atlassian.net/servicedesk/customer/portal/2/article/2078998660';
413 }
414
415 public function developerDocs()
416 {
417 return 'https://data443.atlassian.net/servicedesk/customer/portal/2/article/2082439194';
418 }
419
420 public function knowledgeBase()
421 {
422 return 'https://data443.atlassian.net/servicedesk/customer/portal/2/article/192708653';
423 }
424
425 public function controllingPersonalData()
426 {
427 return 'https://data443.atlassian.net/servicedesk/customer/portal/2/article/2082439201';
428 }
429
430 public function legalGrounds()
431 {
432 return 'https://data443.atlassian.net/servicedesk/customer/portal/2/article/2079293576';
433 }
434
435 public function personalData()
436 {
437 return ' https://data443.atlassian.net/servicedesk/customer/portal/2/article/2083029023';
438 }
439
440 public function privacyPolicy()
441 {
442 return 'https://data443.atlassian.net/servicedesk/customer/portal/2/article/2082897943';
443 }
444
445 /**
446 * Wrapper around wp_mail() to filter the headers
447 * Example code for changing the sender email:
448 *
449 * add_filter('gdpr/mail/headers', function($headers) {
450 * $headers[] = 'From: Firstname Lastname <test@example.com>';
451 * return $headers;
452 * });
453 *
454 *
455 */
456 public function mail($to, $subject, $message, $headers = '', $attachments = [])
457 {
458 $gdpr_name_from = get_option( 'gdpr_name_from' );
459 $gdpr_email_from = get_option( 'gdpr_email_from' );
460 if($gdpr_name_from == ""){
461 $gdpr_name_from = "Data443 GDPR";
462 }
463 if($gdpr_email_from == ""){
464 $gdpr_email_from = get_option('admin_email');
465 }
466 $headers = apply_filters('gdpr/mail/headers', $headers);
467 $headers[] = 'From: '.$gdpr_name_from.' <'.$gdpr_email_from.'>';
468
469 wp_mail($to, $subject, $message, $headers, $attachments);
470 }
471 }
472