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 / DataSubject / DataSubjectManager.php

DataSubjectManager.php in The GDPR Framework By Data443 2.1.0, at src/DataSubject/DataSubjectManager.php

81 lines 1.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\DataSubject;
4
5 use Codelight\GDPR\Components\Consent\ConsentManager;
6
7 /**
8 * Handles finding data subjects by ID or email
9 *
10 * Class DataSubjectManager
11 *
12 * @package Codelight\GDPR\DataSubject
13 */
14 class DataSubjectManager
15 {
16 /* @var ConsentManager */
17 protected $consentManager;
18
19 /**
20 * DataSubjectManager constructor.
21 *
22 * @param ConsentManager $consentManager
23 */
24 public function __construct(ConsentManager $consentManager)
25 {
26 $this->consentManager = $consentManager;
27 }
28
29 /**
30 * @param $email
31 * @return DataSubject
32 */
33 public function getByEmail($email)
34 {
35 $email = sanitize_email($email);
36 $user = get_user_by('email', $email);
37
38 $dataSubject = new DataSubject($email, $user?$user:null, $this->consentManager);
39 return $dataSubject;
40 }
41
42 /**
43 * @param $email
44 * @return DataSubject
45 */
46 public function getuserlogs($email)
47 {
48 $email = sanitize_email($email);
49 $user = get_user_by('email', $email);
50
51 }
52
53 /**
54 * @param $id
55 * @return DataSubject|false
56 */
57 public function getById($id)
58 {
59 $user = get_user_by('id', $id);
60
61 if (!$user) {
62 return false;
63 }
64
65 $email = sanitize_email($user->user_email);
66 $dataSubject = new DataSubject($email, $user, $this->consentManager);
67 return $dataSubject;
68 }
69
70 /**
71 * @return bool|DataSubject
72 */
73 public function getByLoggedInUser()
74 {
75 if (!is_user_logged_in()) {
76 return false;
77 }
78
79 return $this->getById(get_current_user_id());
80 }
81 }