PluginProbe
The GDPR Framework By Data443 / 2.1.0
The GDPR Framework By Data443 v2.1.0
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 2.1.0, at src/Helpers.php

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