Inscription::getTestInt()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 8
rs 9.4285
cc 2
eloc 5
nc 2
nop 1
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
			$this->$varaible = $value;
111
			return true;
112
		}
113
		//-------------------------- FIN GETTER ----------------------------------------------------------------------------//
114
115
116
117
		//-------------------------- SETTER ----------------------------------------------------------------------------//
118
		/**
119
		 * fonction qui permet de vérifié si le champs nom est conforme
120
		 * @param $value
121
		 * @param null $required
122
		 * @return bool
123
		 */
124
		protected function setVerifNom($value, $required = null) {
125
			return $this->getTestValue("nom", $value, "Le champs nom ne peut pas être vide", "Le champs nom doit être supérieur à deux caractères", $required);
126
		}
127
128
		/**
129
		 * fonction qui permet de vérifié si le champs nom est conforme
130
		 * @param $value
131
		 * @param null $required
132
		 * @return bool
133
		 */
134
		protected function setVerifPrenom($value, $required = null) {
135
			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);
136
		}
137
138
		/**
139
		 * fonction qui permet de vérifier que le mdp est ok
140
		 * @param $value
141
		 * @param null $required
142
		 * @return bool
143
		 */
144
		protected function setVerifMdp($value, $required = null) {
145
			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);
146
		}
147
148
		/**
149
		 * fonction qui permet de vérifier que le verif_mdp == mdp
150
		 * @param $value
151
		 * @return bool
152
		 */
153
		protected function setVerifRetapeMdp($value) {
154
			if ($this->mdp == $value) {
155
				return true;
156
			}
157
			else {
158
				$this->erreur .= "<li>Les mots de passent ne correspondent pas</li>";
159
				$this->mdp = null;
160
				return false;
161
			}
162
		}
163
164
		/**
165
		 * fonction qui permet de vérifié si le champs pseudo est conforme
166
		 * @param $value
167
		 * @param null $required
168
		 * @return bool
169
		 */
170
		protected function setVerifPseudo($value, $required = null) {
171
			return $this->getTestValue("pseudo", $value, "Le champs pseudo ne peut pas être vide", "Le champs pseudo doit être supérieur à deux caractères", $required);
172
		}
173
174
		/**
175
		 * fonction qui permet de vérifié si le champs nom est conforme
176
		 * @param $value
177
		 * @param null $required
178
		 * @return bool
179
		 */
180
		protected function setVerifMail($value, $required = null) {
181
			$validator = new EmailValidator();
182
183
			//test avec le required, si le champe est vide et que le required est != null on return fa	lse sinon on va tester
184
			if (($required != null) && ($this->getTestRequired($value) === false)) {
185
				$this->erreur .= "<li>Le champs E-mail ne peut pas être vide</li>";
186
				return false;
187
			}
188
			else if (!$validator->isValid($value)) {
189
				$this->erreur .= "<li>Le champs E-mail doit être une adresse E-mail valide</li>";
190
				return false;
191
			}
192
			
193
			$this->mail = $value;
194
			return true;
195
		}
196
		//-------------------------- FIN SETTER ----------------------------------------------------------------------------//
197
	}