Passed
Push — master ( 84a64b...4db736 )
by Anthony
02:43
created

Inscription::getTestValue()   B

Complexity

Conditions 7
Paths 4

Size

Total Lines 20
Code Lines 13

Duplication

Lines 0
Ratio 0 %

Importance

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