Passed
Push — master ( 97ea7c...dd3083 )
by Anthony
03:13
created

Inscription::setVerifMail()   A

Complexity

Conditions 4
Paths 3

Size

Total Lines 18
Code Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 4
Bugs 0 Features 0
Metric Value
c 4
b 0
f 0
dl 0
loc 18
rs 9.2
cc 4
eloc 11
nc 3
nop 2
1
<?php
2
3
	namespace core\auth;
4
5
	use Egulias\EmailValidator\EmailValidator;
6
7
	class Inscription {
8
		protected $erreur;
9
10
		protected $nom;
11
		protected $prenom;
12
		protected $pseudo;
13
		protected $mdp;
14
		protected $mail;
15
16
17
		//-------------------------- CONSTRUCTEUR ----------------------------------------------------------------------------//
18
		public function __construct($datas) {
19
			$count = count($datas);
20
			for ($i = 0; $i < $count; $i++) {
21
				$function = "setVerif".ucfirst($datas[$i][0]);
22
23
				if (isset($datas[$i][2])) {
24
					$this->$function($datas[$i][1], $datas[$i][2]);
25
				}
26
				else {
27
					$this->$function($datas[$i][1]);
28
				}
29
			}
30
		}
31
		//-------------------------- FIN CONSTRUCTEUR ----------------------------------------------------------------------------//
32
33
34
35
		//-------------------------- GETTER ----------------------------------------------------------------------------//
36
		public function getNom() {
37
			return $this->nom;
38
		}
39
		public function getPrenom() {
40
			return $this->prenom;
41
		}
42
		public function getPseudo() {
43
			return $this->pseudo;
44
		}
45
		public function getMail() {
46
			return $this->mail;
47
		}
48
		public function getErreur() {
49
			return $this->erreur; ;
50
		}
51
52
		/**
53
		 * @param $value
54
		 * @return bool
55
		 */
56
		protected function getTestRequired($value) {
57
			if (($value == "") || ($value == null) || (strlen($value) == 0)) {
58
				return false;
59
			}
60
			else {
61
				return true;
62
			}
63
		}
64
65
		/**
66
		 * @param $value
67
		 * @param integer $longeur
68
		 * @return bool
69
		 */
70
		protected function getTestLongueur($value, $longeur) {
71
			if (strlen($value) > $longeur) {
72
				return true;
73
			}
74
			else {
75
				return false;
76
			}
77
		}
78
79
		/**
80
		 * @param $value
81
		 * @return bool
82
		 */
83
		protected function getTestInt($value) {
84
			if (is_numeric($value)) {
85
				return true;
86
			}
87
			else {
88
				return false;
89
			}
90
		}
91
92
		/**
93
		 * @param $varaible
94
		 * @param $value
95
		 * @param $erreur
96
		 * @param $erreur_long
97
		 * @param null $required
98
		 * @return bool
99
		 */
100
		protected function getTestValue($varaible, $value, $erreur, $erreur_long, $required = null) {
101
			//test avec le required, si le champe est vide et que le required est != null on return fa	lse sinon on va tester
102
			if (($required != null) && ($this->getTestRequired($value) === false)) {
103
				$this->erreur .= "<li>$erreur</li>";
104
				return false;
105
			}
106
			else if (($value != "") && ($this->getTestLongueur($value, 2) === false)) {
107
				$this->erreur .= "<li>$erreur_long</li>";
108
				return false;
109
			}
110
			else {
111
				$this->$varaible = $value;
112
				return true;
113
			}
114
		}
115
		//-------------------------- FIN GETTER ----------------------------------------------------------------------------//
116
117
118
119
		//-------------------------- SETTER ----------------------------------------------------------------------------//
120
		/**
121
		 * fonction qui permet de vérifié si le champs nom est conforme
122
		 * @param $value
123
		 * @param null $required
124
		 * @return bool
125
		 */
126
		protected function setVerifNom($value, $required = null) {
127
			return $this->getTestValue("nom", $value, "Le champs nom ne peut pas être vide", "Le champs nom doit être supérieur à deux caractères", $required);
128
		}
129
130
		/**
131
		 * fonction qui permet de vérifié si le champs nom est conforme
132
		 * @param $value
133
		 * @param null $required
134
		 * @return bool
135
		 */
136
		protected function setVerifPrenom($value, $required = null) {
137
			return $this->getTestValue("prenom", $value, "Le champs prénom ne peut pas être vide", "Le champs prénom doit être supérieur à deux caractères", $required);
138
		}
139
140
		/**
141
		 * fonction qui permet de vérifier que le mdp est ok
142
		 * @param $value
143
		 * @param null $required
144
		 * @return bool
145
		 */
146
		protected function setVerifMdp($value, $required = null) {
147
			return $this->getTestValue("mdp", $value, "Le champs mot de passe ne peut pas être vide", "Le champs mot de passe doit être supérieur à deux caractères", $required);
148
		}
149
150
		/**
151
		 * fonction qui permet de vérifier que le verif_mdp == mdp
152
		 * @param $value
153
		 * @return bool
154
		 */
155
		protected function setVerifRetapeMdp($value) {
156
			if ($this->mdp == $value) {
157
				return true;
158
			}
159
			else {
160
				$this->erreur .= "<li>Les mots de passent ne correspondent pas</li>";
161
				$this->mdp = null;
162
				return false;
163
			}
164
		}
165
166
		/**
167
		 * fonction qui permet de vérifié si le champs pseudo est conforme
168
		 * @param $value
169
		 * @param null $required
170
		 * @return bool
171
		 */
172
		protected function setVerifPseudo($value, $required = null) {
173
			return $this->getTestValue("pseudo", $value, "Le champs pseudo ne peut pas être vide", "Le champs pseudo doit être supérieur à deux caractères", $required);
174
		}
175
176
		/**
177
		 * fonction qui permet de vérifié si le champs nom est conforme
178
		 * @param $value
179
		 * @param null $required
180
		 * @return bool
181
		 */
182
		protected function setVerifMail($value, $required = null) {
183
			$validator = new EmailValidator();
184
185
			//test avec le required, si le champe est vide et que le required est != null on return fa	lse sinon on va tester
186
			if (($required != null) && ($this->getTestRequired($value) === false)) {
187
				$this->erreur .= "<li>Le champs E-mail ne peut pas être vide</li>";
188
				return false;
189
			}
190
			else if (!$validator->isValid($value)) {
191
				$this->erreur .= "<li>Le champs E-mail doit être une adresse E-mail valide</li>";
192
				return false;
193
			}
194
			else {
195
				$this->mail = $value;
196
				return true;
197
			}
198
199
		}
200
		//-------------------------- FIN SETTER ----------------------------------------------------------------------------//
201
	}