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

DataSubjectManager.php in The GDPR Framework By Data443 trunk, 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 }