Subversion Repositories Applications.referentiel

Rev

Rev 26 | Rev 31 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 26 Rev 30
Line 16... Line 16...
16
*/
16
*/
17
// +-------------------------------------------------------------------------------------------------------------------+
17
// +-------------------------------------------------------------------------------------------------------------------+
18
class Tests extends ScriptCommande {
18
class Tests extends ScriptCommande {
Line 19... Line 19...
19
	
19
	
-
 
20
	private $projet = null;
Line 20... Line 21...
20
	private $projet = null;
21
	private $traitement = null;
Line -... Line 22...
-
 
22
	
-
 
23
	private $manuel = null;
-
 
24
	
-
 
25
	private $resultatDao = null;
-
 
26
	private $traitementDao = null;
21
	
27
	private $tableStructureDao = null;
22
	private $manuel = null;
28
	private $referentielDao = null;
23
	
29
	
24
	public function executer() {
30
	public function executer() {
Line -... Line 31...
-
 
31
		// Récupération de paramêtres
25
		// Récupération de paramêtres
32
		$this->projet = $this->getParam('p');
-
 
33
		$this->manuel = parse_ini_file($this->getModuleChemin().DS.'configurations'.DS.'referentiel_v2.1.ini');
-
 
34
		
26
		$this->projet = $this->getParam('p');
35
		$this->resultatDao = new ResultatDao();
27
		$this->manuel = parse_ini_file($this->getModuleChemin().DS.'configurations'.DS.'referentiel_v2.1.ini');
36
		$this->traitementDao = new TraitementDao();
-
 
37
		
28
		
38
		// Récupération du dernier traitement demandé
-
 
39
		$this->traitement = $this->traitementDao->getDernierTraitement($this->projet);
-
 
40
		Debug::printr($this->traitement);
29
		$traitementDao = new TraitementDao();
41
		// Écriture de la date de début du traitement
30
		$traitement = $traitementDao->getDernierTraitement($this->projet);
42
		Debug::printr('Debute:'.$this->traitementDao->debuterTraitement($this->traitement['id_traitement']));
-
 
43
		
-
 
44
		// Nettoyage des traitements obsolètes
Line 31... Line 45...
31
		Debug::printr($traitement);
45
		$traitements_obsoletes = $this->traitementDao->getTraitementsObsoletes($this->projet);
32
		Debug::printr('Debute:'.$traitementDao->debuterTraitement($traitement['id_traitement']));
46
		Debug::printr('Supp. obsoletes:'.$this->traitementDao->supprimer($traitements_obsoletes));
33
		$traitements_obsoletes = $traitementDao->getTraitementsObsoletes($this->projet);
47
		
34
		Debug::printr('Supp. obsoletes:'.$traitementDao->supprimer($traitements_obsoletes));
48
		// TODO : Nettoyage des tratiements (et de leurs résultats) avortés
-
 
49
		
-
 
50
		// Lancement du test demandé
35
		
51
		$cmd = $this->getParam('a');
36
		// Lancement du test demandé
52
    	switch ($cmd) {
37
		$cmd = $this->getParam('a');
53
			case 'tout' :
38
    	switch ($cmd) {
54
				$this->tableStructureDao = new TableStructureDao();
39
			case 'tout' :
55
				$this->referentielDao = new ReferentielDao();
-
 
56
				$this->lancerTests();
-
 
57
				break;
40
				$this->lancerTests();
58
			default :
Line 41... Line 59...
41
				break;
59
				$this->traiterErreur('Erreur : la commande "%s" n\'existe pas!', array($cmd));
42
			default :
60
		}
43
				$this->traiterErreur('Erreur : la commande "%s" n\'existe pas!', array($cmd));
61
		// Écriture de la date de fin du traitement
Line 44... Line -...
44
		}
-
 
45
    }
-
 
46
 
62
		Debug::printr('Debute:'.$this->traitementDao->terminerTraitement($this->traitement['id_traitement']));
47
    public function lancerTests() {
63
    }
48
		$donnees = array();
64
 
49
		$donnees['tests'] = array();
65
    public function lancerTests() {
50
		
66
		$donnees = array();
51
		
67
		$donnees['tests'] = array();
Line 52... Line 68...
52
		/*		
68
		
53
		// Récupération des données à tester
69
		// Récupération des données à tester
54
		$colonnes = $this->tableStructureDao->getColonnes($this->projet);
70
		$colonnes = $this->tableStructureDao->getColonnes($this->projet);
55
		$analyses = $this->tableStructureDao->getAnalyse($this->projet);
71
		$analyses = $this->tableStructureDao->getAnalyse($this->projet);
56
		$noms = $this->referentielDao->getTout($this->projet);
72
		$noms = $this->referentielDao->getTout($this->projet);
57
		$noms = $this->classerNomsParNumNom($noms);
73
		$noms = $this->classerNomsParNumNom($noms);
58
		$noms_homonymie = $this->classerNomsParNomComplet($noms);
74
		$noms_homonymie = $this->classerNomsParNomComplet($noms);
59
		
75
		
60
		// Lancement des tests unitaires
76
		// Lancement des tests unitaires
61
		$donnees['tests'][] = $this->testerNombreDeChamps($colonnes);
77
		$this->testerNombreDeChamps($colonnes);
62
		$donnees['tests'][] = $this->testerNomDesChamps($colonnes);
78
		$this->testerNomDesChamps($colonnes);
63
		$donnees['tests'][] = $this->testerTypeDesChamps($colonnes);
79
		$this->testerTypeDesChamps($colonnes);
64
		$donnees['tests'][] = $this->testerTailleDesChamps($colonnes, $analyses);
80
		$this->testerTailleDesChamps($colonnes, $analyses);
65
		$donnees['tests'][] = $this->testerNumNomClePrimaire($colonnes);
81
		$this->testerNumNomClePrimaire($colonnes);
66
		
82
		
67
		$donnees['tests'][] = $this->testerNumNomSuperieurAZero($noms);
83
		$this->testerNumNomSuperieurAZero($noms);
68
		
84
		
69
		$donnees['tests'][] = $this->testerNumNomRetenuSuperieurAZero($noms);
85
		$this->testerNumNomRetenuSuperieurAZero($noms);
70
		$donnees['tests'][] = $this->testerNumTaxSupEgalZeroUnique($noms);
86
		$this->testerNumTaxSupEgalZeroUnique($noms);
71
		$donnees['tests'][] = $this->testerTaxSupPourTaxon($noms);
87
		$this->testerTaxSupPourTaxon($noms);
72
		$donnees['tests'][] = $this->testerExitenceTaxonSuperieur($noms);
88
		$this->testerExitenceTaxonSuperieur($noms);
73
		$donnees['tests'][] = $this->testerClassificationRang($noms);		
89
		$this->testerClassificationRang($noms);		
74
		$donnees['tests'][] = $this->testerClassification($noms);
90
		$this->testerClassification($noms);
Line 75... Line 91...
75
		
91
		
76
		$donnees['tests'][] = $this->testerRang($noms);
92
		$this->testerRang($noms);
77
		
93
		
Line 78... Line 94...
78
		$donnees['tests'][] = $this->testerNomCompletSupraGenerique($noms);
94
		$this->testerNomCompletSupraGenerique($noms);
79
		$donnees['tests'][] = $this->testerNomCompletGenre($noms);
95
		$this->testerNomCompletGenre($noms);
80
		$donnees['tests'][] = $this->testerNomCompletInfraGenre($noms);
96
		$this->testerNomCompletInfraGenre($noms);
Line 81... Line 97...
81
		$donnees['tests'][] = $this->testerNomCompletEspece($noms);
97
		$this->testerNomCompletEspece($noms);
82
		$donnees['tests'][] = $this->testerNomCompletInfraSpecifique($noms);
98
		$this->testerNomCompletInfraSpecifique($noms);
83
 
99
 
Line 84... Line 100...
84
		$donnees['tests'][] = $this->testerNomSupraGeneriqueEspaces($noms);
100
		$this->testerNomSupraGeneriqueEspaces($noms);
85
		$donnees['tests'][] = $this->testerNomSupraGeneriqueSyntaxe($noms);
101
		$this->testerNomSupraGeneriqueSyntaxe($noms);
86
		$donnees['tests'][] = $this->testerNomSupraGeneriqueRang($noms);
102
		$this->testerNomSupraGeneriqueRang($noms);
Line 87... Line 103...
87
		
103
		
88
		$donnees['tests'][] = $this->testerGenreEspaces($noms);
104
		$this->testerGenreEspaces($noms);
89
		$donnees['tests'][] = $this->testerGenreSyntaxe($noms);
105
		$this->testerGenreSyntaxe($noms);
Line 90... Line 106...
90
		$donnees['tests'][] = $this->testerGenreRang($noms);
106
		$this->testerGenreRang($noms);
91
		
107
		
92
		$donnees['tests'][] = $this->testerEpitheteInfraGeneriqueEspaces($noms);
108
		$this->testerEpitheteInfraGeneriqueEspaces($noms);
Line 93... Line 109...
93
		$donnees['tests'][] = $this->testerEpitheteInfraGeneriqueSyntaxe($noms);
109
		$this->testerEpitheteInfraGeneriqueSyntaxe($noms);
94
		$donnees['tests'][] = $this->testerEpitheteInfraGeneriqueRang($noms);
110
		$this->testerEpitheteInfraGeneriqueRang($noms);
Line 95... Line 111...
95
		
111
		
96
		$donnees['tests'][] = $this->testerEpitheteSpEspaces($noms);
112
		$this->testerEpitheteSpEspaces($noms);
Line 97... Line 113...
97
		$donnees['tests'][] = $this->testerEpitheteSpSyntaxe($noms);
113
		$this->testerEpitheteSpSyntaxe($noms);
98
		$donnees['tests'][] = $this->testerEpitheteSpRang($noms);
114
		$this->testerEpitheteSpRang($noms);
Line 99... Line 115...
99
		
115
		
Line 100... Line 116...
100
		$donnees['tests'][] = $this->testerTypeEpitheteEspaces($noms);
116
		$this->testerTypeEpitheteEspaces($noms);
Line 101... Line 117...
101
		$donnees['tests'][] = $this->testerTypeEpitheteSyntaxe($noms);
117
		$this->testerTypeEpitheteSyntaxe($noms);
Line 102... Line 118...
102
		$donnees['tests'][] = $this->testerTypeEpitheteHybridite($noms);
118
		$this->testerTypeEpitheteHybridite($noms);
103
		
119
		
Line 104... Line 120...
104
		$donnees['tests'][] = $this->testerEpitheteInfraSpEspaces($noms);
120
		$this->testerEpitheteInfraSpEspaces($noms);
105
		$donnees['tests'][] = $this->testerEpitheteInfraSpSyntaxe($noms);
121
		$this->testerEpitheteInfraSpSyntaxe($noms);
Line 106... Line 122...
106
		$donnees['tests'][] = $this->testerEpitheteInfraSpRang($noms);
122
		$this->testerEpitheteInfraSpRang($noms);
107
		
123
		
Line 108... Line 124...
108
		$donnees['tests'][] = $this->testerGroupeCultivarSyntaxe($noms);
124
		$this->testerGroupeCultivarSyntaxe($noms);
Line 109... Line 125...
109
		$donnees['tests'][] = $this->testerGroupeCultivarRang($noms);		
125
		$this->testerGroupeCultivarRang($noms);		
Line 110... Line 126...
110
		
126
		
111
		$donnees['tests'][] = $this->testerCultivarSyntaxe($noms);
127
		$this->testerCultivarSyntaxe($noms);
Line 112... Line 128...
112
		$donnees['tests'][] = $this->testerCultivarRang($noms);
128
		$this->testerCultivarRang($noms);
113
		
129
		
114
		$donnees['tests'][] = $this->testerNomCommercialSyntaxe($noms);
130
		$this->testerNomCommercialSyntaxe($noms);
115
		$donnees['tests'][] = $this->testerNomCommercialPresenceCultivar($noms);
131
		$this->testerNomCommercialPresenceCultivar($noms);
Line 116... Line 132...
116
		
132
		
117
		$donnees['tests'][] = $this->testerAuteurSyntaxe($noms);
133
		$this->testerAuteurSyntaxe($noms);
118
		
134
		
119
		$donnees['tests'][] = $this->testerAnneeSyntaxe($noms);
135
		$this->testerAnneeSyntaxe($noms);
-
 
136
		
-
 
137
		$this->testerBiblioOrigineSyntaxe($noms);
-
 
138
		
-
 
139
		$this->testerHomonymieSyntaxe($noms);
-
 
140
		$this->testerHomonymieExistence($noms, $noms_homonymie);
-
 
141
		
-
 
142
		$this->testerBasionymeSyntaxe($noms);
-
 
143
		$this->testerBasionymeExistence($noms);
-
 
144
		
120
		
145
		$this->testerSynonymeProparteSyntaxe($noms);
-
 
146
		$this->testerSynonymeProparteExistence($noms);
-
 
147
		
121
		$donnees['tests'][] = $this->testerBiblioOrigineSyntaxe($noms);
148
		$this->testerSynonymeDouteuxSyntaxe($noms);
Line 122... Line 149...
122
		
149
		
123
		$donnees['tests'][] = $this->testerHomonymieSyntaxe($noms);
150
		$this->testerSynonymeMalAppliqueSyntaxe($noms);
Line 124... Line 151...
124
		$donnees['tests'][] = $this->testerHomonymieExistence($noms, $noms_homonymie);
151
		
125
		
152
		$this->testerSynonymeOrthographiqueSyntaxe($noms);
126
		$donnees['tests'][] = $this->testerBasionymeSyntaxe($noms);
153
		$this->testerSynonymeOrthographiqueExistence($noms);
127
		$donnees['tests'][] = $this->testerBasionymeExistence($noms);
154
		
128
		
155
		$this->testerHybrideParent01Syntaxe($noms);
129
		$donnees['tests'][] = $this->testerSynonymeProparteSyntaxe($noms);
156
		$this->testerHybrideParent01Existence($noms);
130
		$donnees['tests'][] = $this->testerSynonymeProparteExistence($noms);
157
		$this->testerHybrideParent02Syntaxe($noms);
Line 176... Line 203...
176
			$info['message']['lignes'] = $noms_erreur;
203
			$info['message']['lignes'] = $noms_erreur;
177
		} else {
204
		} else {
178
			$info['resultat'] = true;
205
			$info['resultat'] = true;
179
		}
206
		}
Line 180... Line 207...
180
		
207
		
181
		return $info;
208
		$this->traiterResultatTest($info);
Line 182... Line 209...
182
	}
209
	}
183
	
210
	
184
	private function testerStatutIntroductionSyntaxe($noms) {
211
	private function testerStatutIntroductionSyntaxe($noms) {
185
		$info = array('titre' => 'statut_introduction -> syntaxe',
212
		$info = array('nom' => 'statut_introduction -> syntaxe',
186
			'description' => "Le champ statut_introduction peut contenir :\n".
213
			'description' => "Le champ statut_introduction peut contenir :\n".
187
			" - le symbole tiret «-» une autre information non référencée...\n".
214
			" - le symbole tiret «-» une autre information non référencée...\n".
188
			" - une première lettre en majuscule indiquant le code standard attribué à ce taxon.\n".
215
			" - une première lettre en majuscule indiquant le code standard attribué à ce taxon.\n".
Line 206... Line 233...
206
			$info['message']['lignes'] = $noms_erreur;
233
			$info['message']['lignes'] = $noms_erreur;
207
		} else {
234
		} else {
208
			$info['resultat'] = true;
235
			$info['resultat'] = true;
209
		}
236
		}
Line 210... Line 237...
210
		
237
		
211
		return $info;
238
		$this->traiterResultatTest($info);
Line 212... Line 239...
212
	}
239
	}
213
	
240
	
214
	private function testerStatutOrigineSyntaxe($noms) {
241
	private function testerStatutOrigineSyntaxe($noms) {
215
		$info = array('titre' => 'statut_origine -> syntaxe',
242
		$info = array('nom' => 'statut_origine -> syntaxe',
216
			'description' => "Le champ statut_origine peut contenir :\n".
243
			'description' => "Le champ statut_origine peut contenir :\n".
217
			" - le symbole tiret «-» une autre information non référencée...\n".
244
			" - le symbole tiret «-» une autre information non référencée...\n".
218
			" - une première lettre en majuscule indiquant le code standard attribué à ce taxon.\n".
245
			" - une première lettre en majuscule indiquant le code standard attribué à ce taxon.\n".
Line 236... Line 263...
236
			$info['message']['lignes'] = $noms_erreur;
263
			$info['message']['lignes'] = $noms_erreur;
237
		} else {
264
		} else {
238
			$info['resultat'] = true;
265
			$info['resultat'] = true;
239
		}
266
		}
Line 240... Line 267...
240
		
267
		
241
		return $info;
268
		$this->traiterResultatTest($info);
Line 242... Line 269...
242
	}
269
	}
243
	
270
	
244
	private function testerPresenceSyntaxe($noms) {
271
	private function testerPresenceSyntaxe($noms) {
245
		$info = array('titre' => 'presence -> syntaxe',
272
		$info = array('nom' => 'presence -> syntaxe',
246
			'description' => "Le champ presence contient soit :\n".
273
			'description' => "Le champ presence contient soit :\n".
247
			" - le symbole tiret «-» une autre information non référencée...\n".
274
			" - le symbole tiret «-» une autre information non référencée...\n".
248
			" - une première lettre en majuscule indiquant le code standard attribué à ce taxon.\n".
275
			" - une première lettre en majuscule indiquant le code standard attribué à ce taxon.\n".
Line 266... Line 293...
266
			$info['message']['lignes'] = $noms_erreur;
293
			$info['message']['lignes'] = $noms_erreur;
267
		} else {
294
		} else {
268
			$info['resultat'] = true;
295
			$info['resultat'] = true;
269
		}
296
		}
Line 270... Line 297...
270
		
297
		
271
		return $info;
298
		$this->traiterResultatTest($info);
Line 272... Line 299...
272
	}
299
	}
273
	
300
	
274
	private function testerHybrideParent02Existence($noms) {
301
	private function testerHybrideParent02Existence($noms) {
275
		$info = array('titre' => 'hybride_parent_02 -> existence',
302
		$info = array('nom' => 'hybride_parent_02 -> existence',
276
			'description' => "Si le champ hybride_parent_02 contient un nombre alors il doit correspondre à une valeur du champ ".
303
			'description' => "Si le champ hybride_parent_02 contient un nombre alors il doit correspondre à une valeur du champ ".
Line 277... Line 304...
277
			"num_nom.",
304
			"num_nom.",
Line 293... Line 320...
293
			$info['message']['lignes'] = $noms_erreur;
320
			$info['message']['lignes'] = $noms_erreur;
294
		} else {
321
		} else {
295
			$info['resultat'] = true;
322
			$info['resultat'] = true;
296
		}
323
		}
Line 297... Line 324...
297
		
324
		
298
		return $info;
325
		$this->traiterResultatTest($info);
Line 299... Line 326...
299
	}
326
	}
300
	
327
	
301
	private function testerHybrideParent02Syntaxe($noms) {
328
	private function testerHybrideParent02Syntaxe($noms) {
302
		$info = array('titre' => 'hybride_parent_02 -> syntaxe',
329
		$info = array('nom' => 'hybride_parent_02 -> syntaxe',
303
			'description' => "Le champ hybride_parent_02 contient soit :\n".
330
			'description' => "Le champ hybride_parent_02 contient soit :\n".
304
			" - une valeur vide.\n".
331
			" - une valeur vide.\n".
Line 321... Line 348...
321
			$info['message']['lignes'] = $noms_erreur;
348
			$info['message']['lignes'] = $noms_erreur;
322
		} else {
349
		} else {
323
			$info['resultat'] = true;
350
			$info['resultat'] = true;
324
		}
351
		}
Line 325... Line 352...
325
		
352
		
326
		return $info;
353
		$this->traiterResultatTest($info);
Line 327... Line 354...
327
	}
354
	}
328
	
355
	
329
	
356
	
330
	private function testerHybrideParent01Existence($noms) {
357
	private function testerHybrideParent01Existence($noms) {
331
		$info = array('titre' => 'hybride_parent_01 -> existence',
358
		$info = array('nom' => 'hybride_parent_01 -> existence',
Line 332... Line 359...
332
			'description' => "Si le champ hybride_parent_01 contient un nombre alors il doit correspondre à une valeur du champ ".
359
			'description' => "Si le champ hybride_parent_01 contient un nombre alors il doit correspondre à une valeur du champ ".
Line 349... Line 376...
349
			$info['message']['lignes'] = $noms_erreur;
376
			$info['message']['lignes'] = $noms_erreur;
350
		} else {
377
		} else {
351
			$info['resultat'] = true;
378
			$info['resultat'] = true;
352
		}
379
		}
Line 353... Line 380...
353
		
380
		
354
		return $info;
381
		$this->traiterResultatTest($info);
Line 355... Line 382...
355
	}
382
	}
356
	
383
	
357
	private function testerHybrideParent01Syntaxe($noms) {
384
	private function testerHybrideParent01Syntaxe($noms) {
358
		$info = array('titre' => 'hybride_parent_01 -> syntaxe',
385
		$info = array('nom' => 'hybride_parent_01 -> syntaxe',
359
			'description' => "Le champ hybride_parent_01 contient soit :\n".
386
			'description' => "Le champ hybride_parent_01 contient soit :\n".
360
			" - une valeur vide.\n".
387
			" - une valeur vide.\n".
Line 377... Line 404...
377
			$info['message']['lignes'] = $noms_erreur;
404
			$info['message']['lignes'] = $noms_erreur;
378
		} else {
405
		} else {
379
			$info['resultat'] = true;
406
			$info['resultat'] = true;
380
		}
407
		}
Line 381... Line 408...
381
		
408
		
382
		return $info;
409
		$this->traiterResultatTest($info);
Line 383... Line 410...
383
	}
410
	}
384
	
411
	
385
	private function testerSynonymeOrthographiqueExistence($noms) {
412
	private function testerSynonymeOrthographiqueExistence($noms) {
386
		$info = array('titre' => 'synonyme_orthographique -> existence',
413
		$info = array('nom' => 'synonyme_orthographique -> existence',
387
			'description' => "Si le champ synonyme_orthographique contient un nombre alors il doit correspondre à une valeur du champ ".
414
			'description' => "Si le champ synonyme_orthographique contient un nombre alors il doit correspondre à une valeur du champ ".
Line 388... Line 415...
388
			"num_nom.",
415
			"num_nom.",
Line 404... Line 431...
404
			$info['message']['lignes'] = $noms_erreur;
431
			$info['message']['lignes'] = $noms_erreur;
405
		} else {
432
		} else {
406
			$info['resultat'] = true;
433
			$info['resultat'] = true;
407
		}
434
		}
Line 408... Line 435...
408
		
435
		
409
		return $info;
436
		$this->traiterResultatTest($info);
Line 410... Line 437...
410
	}
437
	}
411
	
438
	
412
	private function testerSynonymeOrthographiqueSyntaxe($noms) {
439
	private function testerSynonymeOrthographiqueSyntaxe($noms) {
413
		$info = array('titre' => 'synonyme_orthographique -> syntaxe',
440
		$info = array('nom' => 'synonyme_orthographique -> syntaxe',
414
			'description' => "Le champ synonyme_orthographique contient soit :\n".
441
			'description' => "Le champ synonyme_orthographique contient soit :\n".
415
			" - une valeur vide.\n".
442
			" - une valeur vide.\n".
Line 432... Line 459...
432
			$info['message']['lignes'] = $noms_erreur;
459
			$info['message']['lignes'] = $noms_erreur;
433
		} else {
460
		} else {
434
			$info['resultat'] = true;
461
			$info['resultat'] = true;
435
		}
462
		}
Line 436... Line 463...
436
		
463
		
437
		return $info;
464
		$this->traiterResultatTest($info);
Line 438... Line 465...
438
	}
465
	}
439
	
466
	
440
	private function testerSynonymeMalAppliqueSyntaxe($noms) {
467
	private function testerSynonymeMalAppliqueSyntaxe($noms) {
441
		$info = array('titre' => 'synonyme_mal_applique -> syntaxe',
468
		$info = array('nom' => 'synonyme_mal_applique -> syntaxe',
442
			'description' => "Le champ synonyme_mal_applique contient soit :\n".
469
			'description' => "Le champ synonyme_mal_applique contient soit :\n".
443
			" - une valeur vide.\n".
470
			" - une valeur vide.\n".
Line 460... Line 487...
460
			$info['message']['lignes'] = $noms_erreur;
487
			$info['message']['lignes'] = $noms_erreur;
461
		} else {
488
		} else {
462
			$info['resultat'] = true;
489
			$info['resultat'] = true;
463
		}
490
		}
Line 464... Line 491...
464
		
491
		
465
		return $info;
492
		$this->traiterResultatTest($info);
Line 466... Line 493...
466
	}
493
	}
467
	
494
	
468
	private function testerSynonymeDouteuxSyntaxe($noms) {
495
	private function testerSynonymeDouteuxSyntaxe($noms) {
469
		$info = array('titre' => 'synonyme_douteux -> syntaxe',
496
		$info = array('nom' => 'synonyme_douteux -> syntaxe',
470
			'description' => "Le champ synonyme_douteux contient soit :\n".
497
			'description' => "Le champ synonyme_douteux contient soit :\n".
471
			" - une valeur vide.\n".
498
			" - une valeur vide.\n".
Line 488... Line 515...
488
			$info['message']['lignes'] = $noms_erreur;
515
			$info['message']['lignes'] = $noms_erreur;
489
		} else {
516
		} else {
490
			$info['resultat'] = true;
517
			$info['resultat'] = true;
491
		}
518
		}
Line 492... Line 519...
492
		
519
		
493
		return $info;
520
		$this->traiterResultatTest($info);
Line 494... Line 521...
494
	}
521
	}
495
	
522
	
496
	private function testerSynonymeProparteExistence($noms) {
523
	private function testerSynonymeProparteExistence($noms) {
497
		$info = array('titre' => 'synonyme_proparte -> existence',
524
		$info = array('nom' => 'synonyme_proparte -> existence',
498
			'description' => "Si le champ synonyme_proparte contient un ou plusieurs nombres alors chacun d'entre eux ".
525
			'description' => "Si le champ synonyme_proparte contient un ou plusieurs nombres alors chacun d'entre eux ".
Line 499... Line 526...
499
			"doit correspondre à une valeur du champ num_nom.",
526
			"doit correspondre à une valeur du champ num_nom.",
Line 522... Line 549...
522
			$info['message']['lignes'] = $noms_erreur;
549
			$info['message']['lignes'] = $noms_erreur;
523
		} else {
550
		} else {
524
			$info['resultat'] = true;
551
			$info['resultat'] = true;
525
		}
552
		}
Line 526... Line 553...
526
		
553
		
527
		return $info;
554
		$this->traiterResultatTest($info);
Line 528... Line 555...
528
	}
555
	}
529
	
556
	
530
	private function testerSynonymeProparteSyntaxe($noms) {
557
	private function testerSynonymeProparteSyntaxe($noms) {
531
		$info = array('titre' => 'synonyme_proparte -> syntaxe',
558
		$info = array('nom' => 'synonyme_proparte -> syntaxe',
532
			'description' => "Le champ synonyme_proparte contient soit :\n".
559
			'description' => "Le champ synonyme_proparte contient soit :\n".
533
			" - une valeur vide.\n".
560
			" - une valeur vide.\n".
534
			" - un nombre.\n".
561
			" - un nombre.\n".
Line 551... Line 578...
551
			$info['message']['lignes'] = $noms_erreur;
578
			$info['message']['lignes'] = $noms_erreur;
552
		} else {
579
		} else {
553
			$info['resultat'] = true;
580
			$info['resultat'] = true;
554
		}
581
		}
Line 555... Line 582...
555
		
582
		
556
		return $info;
583
		$this->traiterResultatTest($info);
Line 557... Line 584...
557
	}
584
	}
558
	
585
	
559
	private function testerBasionymeExistence($noms) {
586
	private function testerBasionymeExistence($noms) {
560
		$info = array('titre' => 'basionyme -> existence',
587
		$info = array('nom' => 'basionyme -> existence',
561
			'description' => "Si le champ basionyme contient un nombre alors il doit correspondre à une valeur du champ ".
588
			'description' => "Si le champ basionyme contient un nombre alors il doit correspondre à une valeur du champ ".
Line 562... Line 589...
562
			"num_nom.",
589
			"num_nom.",
Line 578... Line 605...
578
			$info['message']['lignes'] = $noms_erreur;
605
			$info['message']['lignes'] = $noms_erreur;
579
		} else {
606
		} else {
580
			$info['resultat'] = true;
607
			$info['resultat'] = true;
581
		}
608
		}
Line 582... Line 609...
582
		
609
		
583
		return $info;
610
		$this->traiterResultatTest($info);
Line 584... Line 611...
584
	}
611
	}
585
	
612
	
586
	private function testerBasionymeSyntaxe($noms) {
613
	private function testerBasionymeSyntaxe($noms) {
587
		$info = array('titre' => 'basionyme -> syntaxe',
614
		$info = array('nom' => 'basionyme -> syntaxe',
588
			'description' => "Le champ basionyme contient :\n".
615
			'description' => "Le champ basionyme contient :\n".
Line 589... Line 616...
589
			" - un nombre ou une valeur vide.\n",
616
			" - un nombre ou une valeur vide.\n",
Line 605... Line 632...
605
			$info['message']['lignes'] = $noms_erreur;
632
			$info['message']['lignes'] = $noms_erreur;
606
		} else {
633
		} else {
607
			$info['resultat'] = true;
634
			$info['resultat'] = true;
608
		}
635
		}
Line 609... Line 636...
609
		
636
		
610
		return $info;
637
		$this->traiterResultatTest($info);
Line 611... Line 638...
611
	}
638
	}
612
	
639
	
613
	private function testerHomonymieExistence($noms, $noms_homonymie) {
640
	private function testerHomonymieExistence($noms, $noms_homonymie) {
614
		$info = array('titre' => 'homonyme -> existence',
641
		$info = array('nom' => 'homonyme -> existence',
615
			'description' => "Si le champ homonyme contient «1» alors plusieurs noms doivent posséder la même valeur ".
642
			'description' => "Si le champ homonyme contient «1» alors plusieurs noms doivent posséder la même valeur ".
Line 616... Line 643...
616
			"dans le champ nom_complet.",
643
			"dans le champ nom_complet.",
Line 632... Line 659...
632
			$info['message']['lignes'] = $noms_erreur;
659
			$info['message']['lignes'] = $noms_erreur;
633
		} else {
660
		} else {
634
			$info['resultat'] = true;
661
			$info['resultat'] = true;
635
		}
662
		}
Line 636... Line 663...
636
		
663
		
637
		return $info;
664
		$this->traiterResultatTest($info);
Line 638... Line 665...
638
	}
665
	}
639
	
666
	
640
	private function testerHomonymieSyntaxe($noms) {
667
	private function testerHomonymieSyntaxe($noms) {
641
		$info = array('titre' => 'homonyme -> syntaxe',
668
		$info = array('nom' => 'homonyme -> syntaxe',
642
			'description' => "Le champ homonyme contient :\n".
669
			'description' => "Le champ homonyme contient :\n".
Line 643... Line 670...
643
			" - le chiffre 1 ou une valeur vide.\n",
670
			" - le chiffre 1 ou une valeur vide.\n",
Line 659... Line 686...
659
			$info['message']['lignes'] = $noms_erreur;
686
			$info['message']['lignes'] = $noms_erreur;
660
		} else {
687
		} else {
661
			$info['resultat'] = true;
688
			$info['resultat'] = true;
662
		}
689
		}
Line 663... Line 690...
663
		
690
		
664
		return $info;
691
		$this->traiterResultatTest($info);
Line 665... Line 692...
665
	}
692
	}
666
	
693
	
667
	private function testerBiblioOrigineSyntaxe($noms) {
694
	private function testerBiblioOrigineSyntaxe($noms) {
668
		$info = array('titre' => 'biblio_origine -> syntaxe',
695
		$info = array('nom' => 'biblio_origine -> syntaxe',
669
			'description' => "Le champ biblio_origine se compose de plusieurs parties séparées par des caractères ".
696
			'description' => "Le champ biblio_origine se compose de plusieurs parties séparées par des caractères ".
670
			"précis qui sont dans l'ordre de gauche à droite :\n".
697
			"précis qui sont dans l'ordre de gauche à droite :\n".
671
			" - Éventuellement le mot « in » suivi d'un intitulé auteur (utilisé pour indiquer l'intitulé auteur de ".
698
			" - Éventuellement le mot « in » suivi d'un intitulé auteur (utilisé pour indiquer l'intitulé auteur de ".
Line 700... Line 727...
700
			$info['message']['lignes'] = $noms_erreur;
727
			$info['message']['lignes'] = $noms_erreur;
701
		} else {
728
		} else {
702
			$info['resultat'] = true;
729
			$info['resultat'] = true;
703
		}
730
		}
Line 704... Line 731...
704
		
731
		
705
		return $info;
732
		$this->traiterResultatTest($info);
Line 706... Line 733...
706
	}
733
	}
707
	
734
	
708
	private function testerAnneeSyntaxe($noms) {
735
	private function testerAnneeSyntaxe($noms) {
709
		$info = array('titre' => 'annee -> syntaxe',
736
		$info = array('nom' => 'annee -> syntaxe',
710
			'description' => "Le champ annee doit :\n".
737
			'description' => "Le champ annee doit :\n".
711
			" - contenir un nombre de 4 chiffre\n".
738
			" - contenir un nombre de 4 chiffre\n".
Line 728... Line 755...
728
			$info['message']['lignes'] = $noms_erreur;
755
			$info['message']['lignes'] = $noms_erreur;
729
		} else {
756
		} else {
730
			$info['resultat'] = true;
757
			$info['resultat'] = true;
731
		}
758
		}
Line 732... Line 759...
732
		
759
		
733
		return $info;
760
		$this->traiterResultatTest($info);
Line 734... Line 761...
734
	}
761
	}
735
	
762
	
736
	private function testerAuteurSyntaxe($noms) {
763
	private function testerAuteurSyntaxe($noms) {
737
		$info = array('titre' => 'auteur -> syntaxe',
764
		$info = array('nom' => 'auteur -> syntaxe',
738
			'description' => "Le champ auteur doit :\n".
765
			'description' => "Le champ auteur doit :\n".
739
			" - contenir l'intitulé complet des noms de l'auteur ou des auteurs ayant publiés à l'origine la combinaison latine courante.\n".
766
			" - contenir l'intitulé complet des noms de l'auteur ou des auteurs ayant publiés à l'origine la combinaison latine courante.\n".
740
    		" - ou débuter par le mot « sensu » et contient l'intitulé complet des noms de l'auteur ou des auteurs ayant publiés un nom dont la description ne correspond pas à celle de l'auteur ou des auteurs d'origine.\n".
767
    		" - ou débuter par le mot « sensu » et contient l'intitulé complet des noms de l'auteur ou des auteurs ayant publiés un nom dont la description ne correspond pas à celle de l'auteur ou des auteurs d'origine.\n".
Line 764... Line 791...
764
			$info['message']['lignes'] = $noms_erreur;
791
			$info['message']['lignes'] = $noms_erreur;
765
		} else {
792
		} else {
766
			$info['resultat'] = true;
793
			$info['resultat'] = true;
767
		}
794
		}
Line 768... Line 795...
768
		
795
		
769
		return $info;
796
		$this->traiterResultatTest($info);
Line 770... Line 797...
770
	}
797
	}
771
	
798
	
772
	private function testerNomCommercialSyntaxe($noms) {
799
	private function testerNomCommercialSyntaxe($noms) {
773
		$info = array('titre' => 'nom_commercial -> syntaxe',
800
		$info = array('nom' => 'nom_commercial -> syntaxe',
774
			'description' => "Le champ nom_commercial doit contenir un nom commercial conforme aux règles du ".
801
			'description' => "Le champ nom_commercial doit contenir un nom commercial conforme aux règles du ".
775
				"Code Internationnal de Nomenclature des Plantes Cultivées (CINPC) ".
802
				"Code Internationnal de Nomenclature des Plantes Cultivées (CINPC) ".
Line 793... Line 820...
793
			$info['message']['lignes'] = $noms_erreur;
820
			$info['message']['lignes'] = $noms_erreur;
794
		} else {
821
		} else {
795
			$info['resultat'] = true;
822
			$info['resultat'] = true;
796
		}
823
		}
Line 797... Line 824...
797
		
824
		
798
		return $info;
825
		$this->traiterResultatTest($info);
Line 799... Line 826...
799
	}
826
	}
800
	
827
	
801
	private function testerNomCommercialPresenceCultivar($noms) {
828
	private function testerNomCommercialPresenceCultivar($noms) {
802
		$info = array('titre' => 'nom_commercial -> groupe_cultivar OU cultivar non vide',
829
		$info = array('nom' => 'nom_commercial -> groupe_cultivar OU cultivar non vide',
803
			'description' => "Si le champ nom_commercial contier un nom commercial alors le champ cultivar OU ".
830
			'description' => "Si le champ nom_commercial contier un nom commercial alors le champ cultivar OU ".
Line 804... Line 831...
804
				"cultivar_groupe ne doit pas être vide.",
831
				"cultivar_groupe ne doit pas être vide.",
Line 818... Line 845...
818
			$info['message']['lignes'] = $noms_erreur;
845
			$info['message']['lignes'] = $noms_erreur;
819
		} else {
846
		} else {
820
			$info['resultat'] = true;
847
			$info['resultat'] = true;
821
		}
848
		}
Line 822... Line 849...
822
		
849
		
823
		return $info;
850
		$this->traiterResultatTest($info);
Line 824... Line 851...
824
	}
851
	}
825
	
852
	
826
	private function testerCultivarSyntaxe($noms) {
853
	private function testerCultivarSyntaxe($noms) {
827
		$info = array('titre' => 'cultivar -> syntaxe',
854
		$info = array('nom' => 'cultivar -> syntaxe',
828
			'description' => "Le champ cultivar_groupe doit contenir :\n".
855
			'description' => "Le champ cultivar_groupe doit contenir :\n".
829
				" - un nom de cultivar conforme aux règles du Code Internationnal de Nomenclature des Plantes ".
856
				" - un nom de cultivar conforme aux règles du Code Internationnal de Nomenclature des Plantes ".
830
				"Cultivées (CINPC) qui se compose de caractères alphanumériques (A-Z,a-z et 0-9) incluant ".
857
				"Cultivées (CINPC) qui se compose de caractères alphanumériques (A-Z,a-z et 0-9) incluant ".
Line 854... Line 881...
854
			$info['message']['lignes'] = $noms_erreur;
881
			$info['message']['lignes'] = $noms_erreur;
855
		} else {
882
		} else {
856
			$info['resultat'] = true;
883
			$info['resultat'] = true;
857
		}
884
		}
Line 858... Line 885...
858
		
885
		
859
		return $info;
886
		$this->traiterResultatTest($info);
Line 860... Line 887...
860
	}
887
	}
861
	
888
	
862
	private function testerCultivarRang($noms) {
889
	private function testerCultivarRang($noms) {
863
		$info = array('titre' => "cultivar -> rang >= {$this->manuel['rang_genre']}",
890
		$info = array('nom' => "cultivar -> rang >= {$this->manuel['rang_genre']}",
Line 864... Line 891...
864
			'description' => "Si le champ cultivar n'est pas vide alors le rang du nom doit être supérieur ou égal à {$this->manuel['rang_genre']}.",
891
			'description' => "Si le champ cultivar n'est pas vide alors le rang du nom doit être supérieur ou égal à {$this->manuel['rang_genre']}.",
865
			'resultat' => false);
892
			'resultat' => false);
Line 880... Line 907...
880
			$info['message']['lignes'] = $noms_erreur;
907
			$info['message']['lignes'] = $noms_erreur;
881
		} else {
908
		} else {
882
			$info['resultat'] = true;
909
			$info['resultat'] = true;
883
		}
910
		}
Line 884... Line 911...
884
		
911
		
885
		return $info;
912
		$this->traiterResultatTest($info);
Line 886... Line 913...
886
	}
913
	}
887
	
914
	
888
	private function testerGroupeCultivarSyntaxe($noms) {
915
	private function testerGroupeCultivarSyntaxe($noms) {
889
		$info = array('titre' => 'cultivar_groupe -> syntaxe',
916
		$info = array('nom' => 'cultivar_groupe -> syntaxe',
890
			'description' => "Le champ cultivar_groupe doit contenir un nom de groupe de cultivar conforme aux règles ".
917
			'description' => "Le champ cultivar_groupe doit contenir un nom de groupe de cultivar conforme aux règles ".
891
				"du code des plantes cultivées qui se compose de caractères alphanumériques (A-Z,a-z et 0-9) incluant ".
918
				"du code des plantes cultivées qui se compose de caractères alphanumériques (A-Z,a-z et 0-9) incluant ".
892
				"signes diacritiques et marques de ponctuations.\n".
919
				"signes diacritiques et marques de ponctuations.\n".
Line 911... Line 938...
911
			$info['message']['lignes'] = $noms_erreur;
938
			$info['message']['lignes'] = $noms_erreur;
912
		} else {
939
		} else {
913
			$info['resultat'] = true;
940
			$info['resultat'] = true;
914
		}
941
		}
Line 915... Line 942...
915
		
942
		
916
		return $info;
943
		$this->traiterResultatTest($info);
Line 917... Line 944...
917
	}
944
	}
918
	
945
	
919
	private function testerGroupeCultivarRang($noms) {
946
	private function testerGroupeCultivarRang($noms) {
920
		$info = array('titre' => "cultivar_groupe -> rang >= {$this->manuel['rang_genre']}",
947
		$info = array('nom' => "cultivar_groupe -> rang >= {$this->manuel['rang_genre']}",
Line 921... Line 948...
921
			'description' => "Si le champ cultivar_groupe n'est pas vide alors le rang du nom doit être supérieur ou égal à {$this->manuel['rang_genre']}.",
948
			'description' => "Si le champ cultivar_groupe n'est pas vide alors le rang du nom doit être supérieur ou égal à {$this->manuel['rang_genre']}.",
922
			'resultat' => false);
949
			'resultat' => false);
Line 937... Line 964...
937
			$info['message']['lignes'] = $noms_erreur;
964
			$info['message']['lignes'] = $noms_erreur;
938
		} else {
965
		} else {
939
			$info['resultat'] = true;
966
			$info['resultat'] = true;
940
		}
967
		}
Line 941... Line 968...
941
		
968
		
942
		return $info;
969
		$this->traiterResultatTest($info);
Line 943... Line 970...
943
	}
970
	}
944
	
971
	
945
	private function testerEpitheteInfraSpEspaces($noms) {
972
	private function testerEpitheteInfraSpEspaces($noms) {
946
		$info = array('titre' => 'epithete_infra_sp -> espaces en trop',
973
		$info = array('nom' => 'epithete_infra_sp -> espaces en trop',
947
			'description' => "Le champ epithete_infra_sp ne doit pas contenir d'espace avant ou aprés le nom.\n".
974
			'description' => "Le champ epithete_infra_sp ne doit pas contenir d'espace avant ou aprés le nom.\n".
Line 948... Line 975...
948
				"Si des espaces sont compris dans la valeur du champ, il ne doit pas y avoir plusieurs espaces consécutifs.",
975
				"Si des espaces sont compris dans la valeur du champ, il ne doit pas y avoir plusieurs espaces consécutifs.",
Line 965... Line 992...
965
			$info['message']['lignes'] = $noms_erreur;
992
			$info['message']['lignes'] = $noms_erreur;
966
		} else {
993
		} else {
967
			$info['resultat'] = true;
994
			$info['resultat'] = true;
968
		}
995
		}
Line 969... Line 996...
969
		
996
		
970
		return $info;
997
		$this->traiterResultatTest($info);
Line 971... Line 998...
971
	}
998
	}
972
	
999
	
973
	private function testerEpitheteInfraSpSyntaxe($noms) {
1000
	private function testerEpitheteInfraSpSyntaxe($noms) {
974
		$info = array('titre' => 'epithete_infra_sp -> syntaxe',
1001
		$info = array('nom' => 'epithete_infra_sp -> syntaxe',
975
			'description' => "Le champ epithete_infra_sp peut contenir :\n".
1002
			'description' => "Le champ epithete_infra_sp peut contenir :\n".
976
			 	" - un mot unique composé de lettres minuscules avec ou sans tréma (¨) et de tirets (-). \n".
1003
			 	" - un mot unique composé de lettres minuscules avec ou sans tréma (¨) et de tirets (-). \n".
977
				"	Il commence par une lettre minuscule (avec ou sans tréma).\n". 
1004
				"	Il commence par une lettre minuscule (avec ou sans tréma).\n". 
Line 1000... Line 1027...
1000
			$info['message']['lignes'] = $noms_erreur;
1027
			$info['message']['lignes'] = $noms_erreur;
1001
		} else {
1028
		} else {
1002
			$info['resultat'] = true;
1029
			$info['resultat'] = true;
1003
		}
1030
		}
Line 1004... Line 1031...
1004
		
1031
		
1005
		return $info;
1032
		$this->traiterResultatTest($info);
Line 1006... Line 1033...
1006
	}
1033
	}
1007
	
1034
	
1008
	private function testerEpitheteInfraSpRang($noms) {
1035
	private function testerEpitheteInfraSpRang($noms) {
1009
		$info = array('titre' => "epithete_infra_sp -> rang > {$this->manuel['rang_sp']}",
1036
		$info = array('nom' => "epithete_infra_sp -> rang > {$this->manuel['rang_sp']}",
Line 1010... Line 1037...
1010
			'description' => "Si le champ epithete_infra_sp n'est pas vide alors le rang du nom doit être supérieur à {$this->manuel['rang_sp']}.",
1037
			'description' => "Si le champ epithete_infra_sp n'est pas vide alors le rang du nom doit être supérieur à {$this->manuel['rang_sp']}.",
1011
			'resultat' => false);
1038
			'resultat' => false);
Line 1026... Line 1053...
1026
			$info['message']['lignes'] = $noms_erreur;
1053
			$info['message']['lignes'] = $noms_erreur;
1027
		} else {
1054
		} else {
1028
			$info['resultat'] = true;
1055
			$info['resultat'] = true;
1029
		}
1056
		}
Line 1030... Line 1057...
1030
		
1057
		
1031
		return $info;
1058
		$this->traiterResultatTest($info);
Line 1032... Line 1059...
1032
	}
1059
	}
1033
	
1060
	
1034
	private function testerTypeEpitheteEspaces($noms) {
1061
	private function testerTypeEpitheteEspaces($noms) {
1035
		$info = array('titre' => 'type_epithete -> espaces en trop',
1062
		$info = array('nom' => 'type_epithete -> espaces en trop',
Line 1036... Line 1063...
1036
			'description' => "Le champ type_epithete ne doit pas contenir d'espace.",
1063
			'description' => "Le champ type_epithete ne doit pas contenir d'espace.",
1037
			'resultat' => false);
1064
			'resultat' => false);
Line 1053... Line 1080...
1053
			$info['message']['lignes'] = $noms_erreur;
1080
			$info['message']['lignes'] = $noms_erreur;
1054
		} else {
1081
		} else {
1055
			$info['resultat'] = true;
1082
			$info['resultat'] = true;
1056
		}
1083
		}
Line 1057... Line 1084...
1057
		
1084
		
1058
		return $info;
1085
		$this->traiterResultatTest($info);
Line 1059... Line 1086...
1059
	}
1086
	}
1060
	
1087
	
1061
	private function testerTypeEpitheteSyntaxe($noms) {
1088
	private function testerTypeEpitheteSyntaxe($noms) {
1062
		$info = array('titre' => 'type_epithete -> syntaxe',
1089
		$info = array('nom' => 'type_epithete -> syntaxe',
1063
			'description' => "Le champ type_epithete doit contenir un mot unique composé de lettres minuscules sans ".
1090
			'description' => "Le champ type_epithete doit contenir un mot unique composé de lettres minuscules sans ".
Line 1064... Line 1091...
1064
				" accents et de tirets (-). Il commence par une lettre minuscule sans accent.",
1091
				" accents et de tirets (-). Il commence par une lettre minuscule sans accent.",
Line 1080... Line 1107...
1080
			$info['message']['lignes'] = $noms_erreur;
1107
			$info['message']['lignes'] = $noms_erreur;
1081
		} else {
1108
		} else {
1082
			$info['resultat'] = true;
1109
			$info['resultat'] = true;
1083
		}
1110
		}
Line 1084... Line 1111...
1084
		
1111
		
1085
		return $info;
1112
		$this->traiterResultatTest($info);
Line 1086... Line 1113...
1086
	}
1113
	}
1087
	
1114
	
1088
	private function testerTypeEpitheteHybridite($noms) {
1115
	private function testerTypeEpitheteHybridite($noms) {
1089
		$info = array('titre' => 'type_epithete -> hybridité',
1116
		$info = array('nom' => 'type_epithete -> hybridité',
1090
			'description' => "Le champ type_epithete ne doit pas contenir de préfixe indiquant l'hybridité comme : \n".
1117
			'description' => "Le champ type_epithete ne doit pas contenir de préfixe indiquant l'hybridité comme : \n".
1091
				" - «n-» \n".
1118
				" - «n-» \n".
Line 1108... Line 1135...
1108
			$info['message']['lignes'] = $noms_erreur;
1135
			$info['message']['lignes'] = $noms_erreur;
1109
		} else {
1136
		} else {
1110
			$info['resultat'] = true;
1137
			$info['resultat'] = true;
1111
		}
1138
		}
Line 1112... Line 1139...
1112
		
1139
		
1113
		return $info;
1140
		$this->traiterResultatTest($info);
Line 1114... Line 1141...
1114
	}
1141
	}
1115
	
1142
	
1116
	private function testerNombreDeChamps($colonnes) {
1143
	private function testerNombreDeChamps($colonnes) {
1117
		$info = array('titre' => 'Structure -> nombre de champs : %s',
1144
		$info = array('nom' => 'Structure -> nombre de champs',
Line 1118... Line 1145...
1118
			'description' => 'Le nombre de champs présent dans la table doit être supérieur ou égal à 35.',
1145
			'description' => 'Le nombre de champs présent dans la table doit être supérieur ou égal à 35.',
1119
			'resultat' => false);
1146
			'resultat' => false);
1120
		
1147
		
1121
		$nbre_colonnes = count($colonnes);
1148
		$nbre_colonnes = count($colonnes);
1122
		$info['titre'] = sprintf($info['titre'], $nbre_colonnes);
1149
		$info['message'] = $nbre_colonnes;
1123
		if ($nbre_colonnes >= 35) {
1150
		if ($nbre_colonnes >= 35) {
1124
			$info['resultat'] = true;
1151
			$info['resultat'] = true;
Line 1125... Line 1152...
1125
		}
1152
		}
1126
		return $info;
1153
		$this->traiterResultatTest($info);
1127
	}
1154
	}
1128
	
1155
	
Line 1129... Line 1156...
1129
	private function testerNomDesChamps($colonnes) {
1156
	private function testerNomDesChamps($colonnes) {
1130
		$info = array('titre' => 'Structure -> noms des champs',
1157
		$info = array('nom' => 'Structure -> noms des champs',
Line 1148... Line 1175...
1148
		$info['resultat'] = $ok;
1175
		$info['resultat'] = $ok;
1149
		if (!$ok) {
1176
		if (!$ok) {
1150
			$info['message'] = 'Champs manquant : '.implode(', ', $champs_manquant).'.';
1177
			$info['message'] = 'Champs manquant : '.implode(', ', $champs_manquant).'.';
1151
		}
1178
		}
Line 1152... Line 1179...
1152
		
1179
		
1153
		return $info;
1180
		$this->traiterResultatTest($info);
Line 1154... Line 1181...
1154
	}
1181
	}
1155
	
1182
	
1156
	private function testerTypeDesChamps($colonnes) {
1183
	private function testerTypeDesChamps($colonnes) {
1157
		$info = array('titre' => 'Structure -> types des champs',
1184
		$info = array('nom' => 'Structure -> types des champs',
Line 1158... Line 1185...
1158
			'description' => 'Les types des champs de la table contenant le référentiel doivent être conforme à ceux définit par le manuel technique.',
1185
			'description' => 'Les types des champs de la table contenant le référentiel doivent être conforme à ceux définit par le manuel technique.',
1159
			'resultat' => false);
1186
			'resultat' => false);
Line 1186... Line 1213...
1186
			$info['message'] = "Champs n'ayant pas un bon type : ".implode(', ', $champs_erreur).'.';
1213
			$info['message'] = "Champs n'ayant pas un bon type : ".implode(', ', $champs_erreur).'.';
1187
		} else {
1214
		} else {
1188
			$info['resultat'] = true;
1215
			$info['resultat'] = true;
1189
		}
1216
		}
Line 1190... Line 1217...
1190
		
1217
		
1191
		return $info;
1218
		$this->traiterResultatTest($info);
Line 1192... Line 1219...
1192
	}
1219
	}
1193
	
1220
	
1194
	private function testerTailleDesChamps($colonnes, $analyses) {
1221
	private function testerTailleDesChamps($colonnes, $analyses) {
1195
		$info = array('titre' => 'Structure -> champs tronqués',
1222
		$info = array('nom' => 'Structure -> champs tronqués',
Line 1196... Line 1223...
1196
			'description' => "Vérifie que les données de type texte insérées dans la table n'ont pas été tronquées lors de leur insertion.",
1223
			'description' => "Vérifie que les données de type texte insérées dans la table n'ont pas été tronquées lors de leur insertion.",
1197
			'resultat' => false);
1224
			'resultat' => false);
Line 1225... Line 1252...
1225
			$info['message'] = "Champs possédant des enregistrements avec une taille maximum : ".implode(', ', $champs_erreur).'.';
1252
			$info['message'] = "Champs possédant des enregistrements avec une taille maximum : ".implode(', ', $champs_erreur).'.';
1226
		} else {
1253
		} else {
1227
			$info['resultat'] = true;
1254
			$info['resultat'] = true;
1228
		}
1255
		}
Line 1229... Line 1256...
1229
		
1256
		
1230
		return $info;
1257
		$this->traiterResultatTest($info);
Line 1231... Line 1258...
1231
	}
1258
	}
1232
	
1259
	
1233
	private function testerNumNomClePrimaire($colonnes) {
1260
	private function testerNumNomClePrimaire($colonnes) {
1234
		$info = array('titre' => 'Structure -> num_nom est clé primaire',
1261
		$info = array('nom' => 'Structure -> num_nom est clé primaire',
Line 1235... Line 1262...
1235
			'description' => "Vérifie que le champ num_nom est bien la clé primaire de la table.",
1262
			'description' => "Vérifie que le champ num_nom est bien la clé primaire de la table.",
1236
			'resultat' => false);
1263
			'resultat' => false);
1237
		
1264
		
1238
		foreach ($colonnes as $colonne) {
1265
		foreach ($colonnes as $colonne) {
1239
			if ($colonne['Field'] == 'num_nom' && $colonne['Key'] == 'PRI') {
1266
			if ($colonne['Field'] == 'num_nom' && $colonne['Key'] == 'PRI') {
Line 1240... Line 1267...
1240
				$info['resultat'] = true;
1267
				$info['resultat'] = true;
1241
			}
1268
			}
Line 1242... Line 1269...
1242
		}
1269
		}
1243
		
1270
		
1244
		return $info;
1271
		$this->traiterResultatTest($info);
1245
	}
1272
	}
Line 1246... Line 1273...
1246
	
1273
	
1247
	private function testerNumNomSuperieurAZero($noms) {
1274
	private function testerNumNomSuperieurAZero($noms) {
Line 1262... Line 1289...
1262
			$info['message'] = count($noms_erreur)." enregistrements contiennent dans le champ num_nom une valeur inférieure ou égale à 0.";
1289
			$info['message'] = count($noms_erreur)." enregistrements contiennent dans le champ num_nom une valeur inférieure ou égale à 0.";
1263
		} else {
1290
		} else {
1264
			$info['resultat'] = true;
1291
			$info['resultat'] = true;
1265
		}
1292
		}
Line 1266... Line 1293...
1266
		
1293
		
1267
		return $info;
1294
		$this->traiterResultatTest($info);
Line 1268... Line 1295...
1268
	}
1295
	}
1269
	
1296
	
1270
	private function testerNumNomRetenuSuperieurAZero($noms) {
1297
	private function testerNumNomRetenuSuperieurAZero($noms) {
1271
		$info = array('titre' => 'num_nom_retenu -> supérieur à 0',
1298
		$info = array('nom' => 'num_nom_retenu -> supérieur à 0',
Line 1272... Line 1299...
1272
			'description' => "Le champ num_nom_retenu doit contenir des nombres entiers supérieurs à 0.",
1299
			'description' => "Le champ num_nom_retenu doit contenir des nombres entiers supérieurs à 0.",
1273
			'resultat' => false);
1300
			'resultat' => false);
Line 1285... Line 1312...
1285
			$info['message'] = count($noms_erreur)." enregistrements dont le champ num_nom_retenu est inférieur ou égal à 0 : ".implode(', ', $noms_erreur).'.';
1312
			$info['message'] = count($noms_erreur)." enregistrements dont le champ num_nom_retenu est inférieur ou égal à 0 : ".implode(', ', $noms_erreur).'.';
1286
		} else {
1313
		} else {
1287
			$info['resultat'] = true;
1314
			$info['resultat'] = true;
1288
		}
1315
		}
Line 1289... Line 1316...
1289
		
1316
		
1290
		return $info;
1317
		$this->traiterResultatTest($info);
Line 1291... Line 1318...
1291
	}
1318
	}
1292
	
1319
	
1293
	private function testerNumTaxSupEgalZeroUnique($noms) {
1320
	private function testerNumTaxSupEgalZeroUnique($noms) {
1294
		$info = array('titre' => 'num_tax_sup -> égal à 0 unique',
1321
		$info = array('nom' => 'num_tax_sup -> égal à 0 unique',
Line 1295... Line 1322...
1295
			'description' => "Un seul enregistrement doit posséder la valeur 0 dans le champ num_tax_sup. Il correspond au premier taxon de la classification.",
1322
			'description' => "Un seul enregistrement doit posséder la valeur 0 dans le champ num_tax_sup. Il correspond au premier taxon de la classification.",
1296
			'resultat' => false);
1323
			'resultat' => false);
Line 1308... Line 1335...
1308
			$info['message'] = count($noms_erreur)." enregistrements ont une valeur de 0 dans le champ num_tax_sup : ".implode(', ', $noms_erreur).'.';
1335
			$info['message'] = count($noms_erreur)." enregistrements ont une valeur de 0 dans le champ num_tax_sup : ".implode(', ', $noms_erreur).'.';
1309
		} else {
1336
		} else {
1310
			$info['resultat'] = true;
1337
			$info['resultat'] = true;
1311
		}
1338
		}
Line 1312... Line 1339...
1312
		
1339
		
1313
		return $info;
1340
		$this->traiterResultatTest($info);
Line 1314... Line 1341...
1314
	}
1341
	}
1315
	
1342
	
1316
	private function testerTaxSupPourTaxon($noms) {
1343
	private function testerTaxSupPourTaxon($noms) {
1317
		$info = array('titre' => 'Classification -> uniquement pour les taxons',
1344
		$info = array('nom' => 'Classification -> uniquement pour les taxons',
Line 1318... Line 1345...
1318
			'description' => "Seul les enregistrements représentant un taxon doivent posséder une valeur dans le champ num_tax_sup.",
1345
			'description' => "Seul les enregistrements représentant un taxon doivent posséder une valeur dans le champ num_tax_sup.",
1319
			'resultat' => false);
1346
			'resultat' => false);
Line 1331... Line 1358...
1331
			$info['message'] = count($noms_erreur)." enregistrements qui n'est pas un taxon et qui possède une valeur dans num_tax_sup : ".implode(', ', $noms_erreur).'.';
1358
			$info['message'] = count($noms_erreur)." enregistrements qui n'est pas un taxon et qui possède une valeur dans num_tax_sup : ".implode(', ', $noms_erreur).'.';
1332
		} else {
1359
		} else {
1333
			$info['resultat'] = true;
1360
			$info['resultat'] = true;
1334
		}
1361
		}
Line 1335... Line 1362...
1335
		
1362
		
1336
		return $info;
1363
		$this->traiterResultatTest($info);
Line 1337... Line 1364...
1337
	}
1364
	}
1338
	
1365
	
1339
	private function testerExitenceTaxonSuperieur($noms) {
1366
	private function testerExitenceTaxonSuperieur($noms) {
1340
		$info = array('titre' => 'Classification -> existence du taxon supérieur',
1367
		$info = array('nom' => 'Classification -> existence du taxon supérieur',
Line 1341... Line 1368...
1341
			'description' => "Pour chaque enregistrement représentant un taxon doit posséder un taxon supérieur sauf la racine de la classification.",
1368
			'description' => "Pour chaque enregistrement représentant un taxon doit posséder un taxon supérieur sauf la racine de la classification.",
1342
			'resultat' => false);
1369
			'resultat' => false);
Line 1356... Line 1383...
1356
			$info['message'] = count($noms_erreur)." enregistrements dont le taxon supérieur n'existe pas : ".implode(', ', $noms_erreur).'.';
1383
			$info['message'] = count($noms_erreur)." enregistrements dont le taxon supérieur n'existe pas : ".implode(', ', $noms_erreur).'.';
1357
		} else {
1384
		} else {
1358
			$info['resultat'] = true;
1385
			$info['resultat'] = true;
1359
		}
1386
		}
Line 1360... Line 1387...
1360
		
1387
		
1361
		return $info;
1388
		$this->traiterResultatTest($info);
Line 1362... Line 1389...
1362
	}
1389
	}
1363
	
1390
	
1364
	private function testerClassificationRang($noms) {
1391
	private function testerClassificationRang($noms) {
1365
		$info = array('titre' => 'Classification -> taxon supérieur avec rang inférieur',
1392
		$info = array('nom' => 'Classification -> taxon supérieur avec rang inférieur',
Line 1366... Line 1393...
1366
			'description' => "Pour chaque enregistrement représentant un taxon, chaque taxon supérieur doit avoir un rang inférieur au taxon courant.",
1393
			'description' => "Pour chaque enregistrement représentant un taxon, chaque taxon supérieur doit avoir un rang inférieur au taxon courant.",
1367
			'resultat' => false);
1394
			'resultat' => false);
Line 1384... Line 1411...
1384
			$info['message'] = count($noms_erreur)." enregistrements avec un problème : ".implode(', ', $noms_erreur).'.';
1411
			$info['message'] = count($noms_erreur)." enregistrements avec un problème : ".implode(', ', $noms_erreur).'.';
1385
		} else {
1412
		} else {
1386
			$info['resultat'] = true;
1413
			$info['resultat'] = true;
1387
		}
1414
		}
Line 1388... Line 1415...
1388
		
1415
		
1389
		return $info;
1416
		$this->traiterResultatTest($info);
Line 1390... Line 1417...
1390
	}
1417
	}
1391
	
1418
	
1392
	private function testerClassification($noms) {
1419
	private function testerClassification($noms) {
1393
		$info = array('titre' => 'Classification -> racine liée à chaque noeud',
1420
		$info = array('nom' => 'Classification -> racine liée à chaque noeud',
Line 1394... Line 1421...
1394
			'description' => "Pour chaque enregistrement, la classification doit pouvoir être remonté jusqu'à un même nom unique possédant une valeur num_tax_sup de 0.",
1421
			'description' => "Pour chaque enregistrement, la classification doit pouvoir être remonté jusqu'à un même nom unique possédant une valeur num_tax_sup de 0.",
1395
			'resultat' => false);
1422
			'resultat' => false);
Line 1410... Line 1437...
1410
			$info['message'] = count($noms_erreur)." taxons dont la classification n'est pas bonne : ".implode(', ', $noms_erreur).'.';
1437
			$info['message'] = count($noms_erreur)." taxons dont la classification n'est pas bonne : ".implode(', ', $noms_erreur).'.';
1411
		} else {
1438
		} else {
1412
			$info['resultat'] = true;
1439
			$info['resultat'] = true;
1413
		}
1440
		}
Line 1414... Line 1441...
1414
		
1441
		
1415
		return $info;
1442
		$this->traiterResultatTest($info);
Line 1416... Line 1443...
1416
	}
1443
	}
1417
	
1444
	
1418
	private function remonterClassif(&$noms, $nom) {
1445
	private function remonterClassif(&$noms, $nom) {
Line 1424... Line 1451...
1424
			return $this->remonterClassif($noms, $noms[$nom['num_tax_sup']]);
1451
			return $this->remonterClassif($noms, $noms[$nom['num_tax_sup']]);
1425
		}
1452
		}
1426
	}
1453
	}
Line 1427... Line 1454...
1427
	
1454
	
1428
	private function testerRang($noms) {
1455
	private function testerRang($noms) {
1429
		$info = array('titre' => 'rang',
1456
		$info = array('nom' => 'rang',
1430
			'description' => "Le rang doit correspondre à un valeur numérique définit dans le manuel.",
1457
			'description' => "Le rang doit correspondre à un valeur numérique définit dans le manuel.",
Line 1431... Line 1458...
1431
			'resultat' => false);
1458
			'resultat' => false);
Line 1445... Line 1472...
1445
			$info['message'] = count($noms_erreur)." noms dont le rang n'est pas bon : ".implode(', ', $noms_erreur).'.';
1472
			$info['message'] = count($noms_erreur)." noms dont le rang n'est pas bon : ".implode(', ', $noms_erreur).'.';
1446
		} else {
1473
		} else {
1447
			$info['resultat'] = true;
1474
			$info['resultat'] = true;
1448
		}
1475
		}
Line 1449... Line 1476...
1449
		
1476
		
1450
		return $info;
1477
		$this->traiterResultatTest($info);
Line 1451... Line 1478...
1451
	}
1478
	}
1452
	
1479
	
1453
	private function testerNomCompletSupraGenerique($noms) {
1480
	private function testerNomCompletSupraGenerique($noms) {
1454
		$info = array('titre' => 'nom_complet -> noms supra-génériques',
1481
		$info = array('nom' => 'nom_complet -> noms supra-génériques',
1455
			'description' => "Si le rang est < à {$this->manuel['rang_genre']} le nom_complet doit correspondre à la valeur du champ nom_supra_generique. ".
1482
			'description' => "Si le rang est < à {$this->manuel['rang_genre']} le nom_complet doit correspondre à la valeur du champ nom_supra_generique. ".
Line 1456... Line 1483...
1456
				"Les valeurs des champs cultivar_groupe, cultivar et nom_commercial peuvent s'y ajouter.",
1483
				"Les valeurs des champs cultivar_groupe, cultivar et nom_commercial peuvent s'y ajouter.",
Line 1476... Line 1503...
1476
			$info['message']['lignes'] = $noms_erreur;
1503
			$info['message']['lignes'] = $noms_erreur;
1477
		} else {
1504
		} else {
1478
			$info['resultat'] = true;
1505
			$info['resultat'] = true;
1479
		}
1506
		}
Line 1480... Line 1507...
1480
		
1507
		
1481
		return $info;
1508
		$this->traiterResultatTest($info);
Line 1482... Line 1509...
1482
	}
1509
	}
1483
	
1510
	
1484
	private function testerNomCompletGenre($noms) {
1511
	private function testerNomCompletGenre($noms) {
1485
		$info = array('titre' => 'nom_complet -> noms de genres',
1512
		$info = array('nom' => 'nom_complet -> noms de genres',
1486
			'description' => "Si le rang est = à {$this->manuel['rang_genre']} le nom_complet doit correspondre à la valeur du champ genre. ".
1513
			'description' => "Si le rang est = à {$this->manuel['rang_genre']} le nom_complet doit correspondre à la valeur du champ genre. ".
Line 1487... Line 1514...
1487
				"Les valeurs des champs cultivar_groupe, cultivar et nom_commercial peuvent s'y ajouter.",
1514
				"Les valeurs des champs cultivar_groupe, cultivar et nom_commercial peuvent s'y ajouter.",
Line 1507... Line 1534...
1507
			$info['message']['lignes'] = $noms_erreur;
1534
			$info['message']['lignes'] = $noms_erreur;
1508
		} else {
1535
		} else {
1509
			$info['resultat'] = true;
1536
			$info['resultat'] = true;
1510
		}
1537
		}
Line 1511... Line 1538...
1511
		
1538
		
1512
		return $info;
1539
		$this->traiterResultatTest($info);
Line 1513... Line 1540...
1513
	}
1540
	}
1514
	
1541
	
1515
	private function testerNomCompletInfraGenre($noms) {
1542
	private function testerNomCompletInfraGenre($noms) {
1516
		$info = array('titre' => 'nom_complet -> noms infra-génériques',
1543
		$info = array('nom' => 'nom_complet -> noms infra-génériques',
1517
			'description' => "Si le rang est > à {$this->manuel['rang_genre']} et < à {$this->manuel['rang_sp']} le nom_complet doit correspondre à une des formules suivantes : \n".
1544
			'description' => "Si le rang est > à {$this->manuel['rang_genre']} et < à {$this->manuel['rang_sp']} le nom_complet doit correspondre à une des formules suivantes : \n".
1518
			" genre + ' ' + type_epithete + ' ' + epithete_infra_generique \n".
1545
			" genre + ' ' + type_epithete + ' ' + epithete_infra_generique \n".
1519
			" genre + ' ' + epithete_infra_generique + ' ' + type_epithete=agg. \n".
1546
			" genre + ' ' + epithete_infra_generique + ' ' + type_epithete=agg. \n".
Line 1549... Line 1576...
1549
			$info['message']['lignes'] = $noms_erreur;
1576
			$info['message']['lignes'] = $noms_erreur;
1550
		} else {
1577
		} else {
1551
			$info['resultat'] = true;
1578
			$info['resultat'] = true;
1552
		}
1579
		}
Line 1553... Line 1580...
1553
		
1580
		
1554
		return $info;
1581
		$this->traiterResultatTest($info);
Line 1555... Line 1582...
1555
	}
1582
	}
1556
	
1583
	
1557
	private function testerNomCompletEspece($noms) {
1584
	private function testerNomCompletEspece($noms) {
1558
		$info = array('titre' => "nom_complet -> noms d'espèce",
1585
		$info = array('nom' => "nom_complet -> noms d'espèce",
1559
			'description' => "Si le rang est = à {$this->manuel['rang_sp']} le nom_complet doit correspondre à la formule : \n".
1586
			'description' => "Si le rang est = à {$this->manuel['rang_sp']} le nom_complet doit correspondre à la formule : \n".
1560
				" genre + ' ' + epithete_sp \n".
1587
				" genre + ' ' + epithete_sp \n".
Line 1582... Line 1609...
1582
			$info['message']['lignes'] = $noms_erreur;
1609
			$info['message']['lignes'] = $noms_erreur;
1583
		} else {
1610
		} else {
1584
			$info['resultat'] = true;
1611
			$info['resultat'] = true;
1585
		}
1612
		}
Line 1586... Line 1613...
1586
		
1613
		
1587
		return $info;
1614
		$this->traiterResultatTest($info);
Line 1588... Line 1615...
1588
	}
1615
	}
1589
	
1616
	
1590
	private function testerNomCompletInfraSpecifique($noms) {
1617
	private function testerNomCompletInfraSpecifique($noms) {
1591
		$info = array('titre' => 'nom_complet -> noms infra-spécifiques',
1618
		$info = array('nom' => 'nom_complet -> noms infra-spécifiques',
1592
			'description' => "Si le rang est > à {$this->manuel['rang_sp']} le nom_complet doit correspondre à la formule : \n".
1619
			'description' => "Si le rang est > à {$this->manuel['rang_sp']} le nom_complet doit correspondre à la formule : \n".
1593
				" genre + ' ' + epithete_sp + ' ' + type_epithete + ' ' + epithete_infra_generique\n".	
1620
				" genre + ' ' + epithete_sp + ' ' + type_epithete + ' ' + epithete_infra_generique\n".	
Line 1617... Line 1644...
1617
			$info['message']['lignes'] = $noms_erreur;
1644
			$info['message']['lignes'] = $noms_erreur;
1618
		} else {
1645
		} else {
1619
			$info['resultat'] = true;
1646
			$info['resultat'] = true;
1620
		}
1647
		}
Line 1621... Line 1648...
1621
		
1648
		
1622
		return $info;
1649
		$this->traiterResultatTest($info);
Line 1623... Line 1650...
1623
	}
1650
	}
1624
	
1651
	
1625
	private function testerNomSupraGeneriqueEspaces($noms) {
1652
	private function testerNomSupraGeneriqueEspaces($noms) {
1626
		$info = array('titre' => 'nom_supra_generique -> espaces en trop',
1653
		$info = array('nom' => 'nom_supra_generique -> espaces en trop',
Line 1627... Line 1654...
1627
			'description' => "Le champ nom_supra_generique ne doit pas contenir d'espace avant ou aprés le nom.",
1654
			'description' => "Le champ nom_supra_generique ne doit pas contenir d'espace avant ou aprés le nom.",
1628
			'resultat' => false);
1655
			'resultat' => false);
Line 1644... Line 1671...
1644
			$info['message']['lignes'] = $noms_erreur;
1671
			$info['message']['lignes'] = $noms_erreur;
1645
		} else {
1672
		} else {
1646
			$info['resultat'] = true;
1673
			$info['resultat'] = true;
1647
		}
1674
		}
Line 1648... Line 1675...
1648
		
1675
		
1649
		return $info;
1676
		$this->traiterResultatTest($info);
Line 1650... Line 1677...
1650
	}
1677
	}
1651
	
1678
	
1652
	private function testerNomSupraGeneriqueSyntaxe($noms) {
1679
	private function testerNomSupraGeneriqueSyntaxe($noms) {
1653
		$info = array('titre' => 'nom_supra_generique -> syntaxe',
1680
		$info = array('nom' => 'nom_supra_generique -> syntaxe',
1654
			'description' => "Le champ nom_supra_generique contient un mot composé de lettres minuscules avec ou sans tréma (¨) et de tirets (-). \n".
1681
			'description' => "Le champ nom_supra_generique contient un mot composé de lettres minuscules avec ou sans tréma (¨) et de tirets (-). \n".
Line 1655... Line 1682...
1655
				"La première lettre (avec ou sans tréma) du mot doit être en majuscule.",
1682
				"La première lettre (avec ou sans tréma) du mot doit être en majuscule.",
Line 1672... Line 1699...
1672
			$info['message']['lignes'] = $noms_erreur;
1699
			$info['message']['lignes'] = $noms_erreur;
1673
		} else {
1700
		} else {
1674
			$info['resultat'] = true;
1701
			$info['resultat'] = true;
1675
		}
1702
		}
Line 1676... Line 1703...
1676
		
1703
		
1677
		return $info;
1704
		$this->traiterResultatTest($info);
Line 1678... Line 1705...
1678
	}
1705
	}
1679
	
1706
	
1680
	private function testerNomSupraGeneriqueRang($noms) {
1707
	private function testerNomSupraGeneriqueRang($noms) {
1681
		$info = array('titre' => "nom_supra_generique -> rang < {$this->manuel['rang_genre']}",
1708
		$info = array('nom' => "nom_supra_generique -> rang < {$this->manuel['rang_genre']}",
Line 1682... Line 1709...
1682
			'description' => "Si le champ nom_supra_generique n'est pas vide alors le rang du nom doit être inférieur à {$this->manuel['rang_genre']}.",
1709
			'description' => "Si le champ nom_supra_generique n'est pas vide alors le rang du nom doit être inférieur à {$this->manuel['rang_genre']}.",
1683
			'resultat' => false);
1710
			'resultat' => false);
Line 1698... Line 1725...
1698
			$info['message']['lignes'] = $noms_erreur;
1725
			$info['message']['lignes'] = $noms_erreur;
1699
		} else {
1726
		} else {
1700
			$info['resultat'] = true;
1727
			$info['resultat'] = true;
1701
		}
1728
		}
Line 1702... Line 1729...
1702
		
1729
		
1703
		return $info;
1730
		$this->traiterResultatTest($info);
Line 1704... Line 1731...
1704
	}
1731
	}
1705
	
1732
	
1706
	private function testerGenreEspaces($noms) {
1733
	private function testerGenreEspaces($noms) {
1707
		$info = array('titre' => 'genre -> espaces en trop',
1734
		$info = array('nom' => 'genre -> espaces en trop',
1708
			'description' => "Le champ genre ne doit pas contenir d'espace avant ou aprés le nom.\n".
1735
			'description' => "Le champ genre ne doit pas contenir d'espace avant ou aprés le nom.\n".
Line 1709... Line 1736...
1709
				"Si des espaces sont compris dans la valeur du champ, il ne doit pas y avoir plusieurs espaces consécutifs.",
1736
				"Si des espaces sont compris dans la valeur du champ, il ne doit pas y avoir plusieurs espaces consécutifs.",
Line 1726... Line 1753...
1726
			$info['message']['lignes'] = $noms_erreur;
1753
			$info['message']['lignes'] = $noms_erreur;
1727
		} else {
1754
		} else {
1728
			$info['resultat'] = true;
1755
			$info['resultat'] = true;
1729
		}
1756
		}
Line 1730... Line 1757...
1730
		
1757
		
1731
		return $info;
1758
		$this->traiterResultatTest($info);
Line 1732... Line 1759...
1732
	}
1759
	}
1733
	
1760
	
1734
	private function testerGenreSyntaxe($noms) {
1761
	private function testerGenreSyntaxe($noms) {
1735
		$info = array('titre' => 'genre -> syntaxe',
1762
		$info = array('nom' => 'genre -> syntaxe',
1736
			'description' => "Le champ genre peut contenir :\n".
1763
			'description' => "Le champ genre peut contenir :\n".
1737
			 	" - un mot unique composé de lettres minuscules avec ou sans tréma (¨) et de tirets (-). \n".
1764
			 	" - un mot unique composé de lettres minuscules avec ou sans tréma (¨) et de tirets (-). \n".
1738
				"	Il commence par une lettre majuscule (avec ou sans tréma).". 
1765
				"	Il commence par une lettre majuscule (avec ou sans tréma).". 
Line 1761... Line 1788...
1761
			$info['message']['lignes'] = $noms_erreur;
1788
			$info['message']['lignes'] = $noms_erreur;
1762
		} else {
1789
		} else {
1763
			$info['resultat'] = true;
1790
			$info['resultat'] = true;
1764
		}
1791
		}
Line 1765... Line 1792...
1765
		
1792
		
1766
		return $info;
1793
		$this->traiterResultatTest($info);
Line 1767... Line 1794...
1767
	}
1794
	}
1768
	
1795
	
1769
	private function testerGenreRang($noms) {
1796
	private function testerGenreRang($noms) {
1770
		$info = array('titre' => "genre -> rang >= {$this->manuel['rang_genre']}",
1797
		$info = array('nom' => "genre -> rang >= {$this->manuel['rang_genre']}",
Line 1771... Line 1798...
1771
			'description' => "Si le champ genre n'est pas vide alors le rang du nom doit être supérieur ou égal à {$this->manuel['rang_genre']}.",
1798
			'description' => "Si le champ genre n'est pas vide alors le rang du nom doit être supérieur ou égal à {$this->manuel['rang_genre']}.",
1772
			'resultat' => false);
1799
			'resultat' => false);
Line 1787... Line 1814...
1787
			$info['message']['lignes'] = $noms_erreur;
1814
			$info['message']['lignes'] = $noms_erreur;
1788
		} else {
1815
		} else {
1789
			$info['resultat'] = true;
1816
			$info['resultat'] = true;
1790
		}
1817
		}
Line 1791... Line 1818...
1791
		
1818
		
1792
		return $info;
1819
		$this->traiterResultatTest($info);
Line 1793... Line 1820...
1793
	}
1820
	}
1794
		
1821
		
1795
	private function testerEpitheteInfraGeneriqueSyntaxe($noms) {
1822
	private function testerEpitheteInfraGeneriqueSyntaxe($noms) {
1796
		$info = array('titre' => 'epithete_infra_generique -> syntaxe',
1823
		$info = array('nom' => 'epithete_infra_generique -> syntaxe',
1797
			'description' => "Le champ epithete_infra_generique est composé de lettres minuscules avec ou sans tréma (¨) et de tirets (-). \n".
1824
			'description' => "Le champ epithete_infra_generique est composé de lettres minuscules avec ou sans tréma (¨) et de tirets (-). \n".
Line 1798... Line 1825...
1798
				"La première lettre (avec ou sans tréma) doit être en majuscule.",
1825
				"La première lettre (avec ou sans tréma) doit être en majuscule.",
Line 1815... Line 1842...
1815
			$info['message']['lignes'] = $noms_erreur;
1842
			$info['message']['lignes'] = $noms_erreur;
1816
		} else {
1843
		} else {
1817
			$info['resultat'] = true;
1844
			$info['resultat'] = true;
1818
		}
1845
		}
Line 1819... Line 1846...
1819
		
1846
		
1820
		return $info;
1847
		$this->traiterResultatTest($info);
Line 1821... Line 1848...
1821
	}
1848
	}
1822
	
1849
	
1823
	private function testerEpitheteInfraGeneriqueRang($noms) {
1850
	private function testerEpitheteInfraGeneriqueRang($noms) {
1824
		$info = array('titre' => "epithete_infra_generique -> {$this->manuel['rang_genre']} < rang < {$this->manuel['rang_sp']}",
1851
		$info = array('nom' => "epithete_infra_generique -> {$this->manuel['rang_genre']} < rang < {$this->manuel['rang_sp']}",
1825
			'description' => "Si le champ epithete_infra_generique n'est pas vide alors le rang du nom doit être compris \n".
1852
			'description' => "Si le champ epithete_infra_generique n'est pas vide alors le rang du nom doit être compris \n".
Line 1826... Line 1853...
1826
				"entre {$this->manuel['rang_genre']} et {$this->manuel['rang_sp']}.",
1853
				"entre {$this->manuel['rang_genre']} et {$this->manuel['rang_sp']}.",
Line 1842... Line 1869...
1842
			$info['message']['lignes'] = $noms_erreur;
1869
			$info['message']['lignes'] = $noms_erreur;
1843
		} else {
1870
		} else {
1844
			$info['resultat'] = true;
1871
			$info['resultat'] = true;
1845
		}
1872
		}
Line 1846... Line 1873...
1846
		
1873
		
1847
		return $info;
1874
		$this->traiterResultatTest($info);
Line 1848... Line 1875...
1848
	}
1875
	}
1849
	
1876
	
1850
	private function testerEpitheteInfraGeneriqueEspaces($noms) {
1877
	private function testerEpitheteInfraGeneriqueEspaces($noms) {
1851
		$info = array('titre' => 'epithete_infra_generique -> espaces en trop',
1878
		$info = array('nom' => 'epithete_infra_generique -> espaces en trop',
Line 1852... Line 1879...
1852
			'description' => "Le champ epithete_infra_generique ne doit pas contenir d'espace avant ou aprés sa valeur.",
1879
			'description' => "Le champ epithete_infra_generique ne doit pas contenir d'espace avant ou aprés sa valeur.",
1853
			'resultat' => false);
1880
			'resultat' => false);
Line 1869... Line 1896...
1869
			$info['message']['lignes'] = $noms_erreur;
1896
			$info['message']['lignes'] = $noms_erreur;
1870
		} else {
1897
		} else {
1871
			$info['resultat'] = true;
1898
			$info['resultat'] = true;
1872
		}
1899
		}
Line 1873... Line 1900...
1873
		
1900
		
1874
		return $info;
1901
		$this->traiterResultatTest($info);
Line 1875... Line 1902...
1875
	}
1902
	}
1876
	
1903
	
1877
	private function testerEpitheteSpEspaces($noms) {
1904
	private function testerEpitheteSpEspaces($noms) {
1878
		$info = array('titre' => 'epithete_sp -> espaces en trop',
1905
		$info = array('nom' => 'epithete_sp -> espaces en trop',
1879
			'description' => "Le champ epithete_sp ne doit pas contenir d'espace avant ou aprés le nom.\n".
1906
			'description' => "Le champ epithete_sp ne doit pas contenir d'espace avant ou aprés le nom.\n".
Line 1880... Line 1907...
1880
				"Si des espaces sont compris dans la valeur du champ, il ne doit pas y avoir plusieurs espaces consécutifs.",
1907
				"Si des espaces sont compris dans la valeur du champ, il ne doit pas y avoir plusieurs espaces consécutifs.",
Line 1897... Line 1924...
1897
			$info['message']['lignes'] = $noms_erreur;
1924
			$info['message']['lignes'] = $noms_erreur;
1898
		} else {
1925
		} else {
1899
			$info['resultat'] = true;
1926
			$info['resultat'] = true;
1900
		}
1927
		}
Line 1901... Line 1928...
1901
		
1928
		
1902
		return $info;
1929
		$this->traiterResultatTest($info);
Line 1903... Line 1930...
1903
	}
1930
	}
1904
	
1931
	
1905
	private function testerEpitheteSpSyntaxe($noms) {
1932
	private function testerEpitheteSpSyntaxe($noms) {
1906
		$info = array('titre' => 'epithete_sp -> syntaxe',
1933
		$info = array('nom' => 'epithete_sp -> syntaxe',
1907
			'description' => "Le champ epithete_sp peut contenir :\n".
1934
			'description' => "Le champ epithete_sp peut contenir :\n".
1908
			 	" - un mot unique composé de lettres minuscules [a-z] incluant les caractères [ëï-]. \n".
1935
			 	" - un mot unique composé de lettres minuscules [a-z] incluant les caractères [ëï-]. \n".
1909
				"	Il commence par une lettre minuscule [a-zëï].\n". 
1936
				"	Il commence par une lettre minuscule [a-zëï].\n". 
Line 1933... Line 1960...
1933
			$info['message']['lignes'] = $noms_erreur;
1960
			$info['message']['lignes'] = $noms_erreur;
1934
		} else {
1961
		} else {
1935
			$info['resultat'] = true;
1962
			$info['resultat'] = true;
1936
		}
1963
		}
Line 1937... Line 1964...
1937
		
1964
		
1938
		return $info;
1965
		$this->traiterResultatTest($info);
Line 1939... Line 1966...
1939
	}
1966
	}
1940
	
1967
	
1941
	private function testerEpitheteSpRang($noms) {
1968
	private function testerEpitheteSpRang($noms) {
1942
		$info = array('titre' => "epithete_sp -> rang >= {$this->manuel['rang_sp']}",
1969
		$info = array('nom' => "epithete_sp -> rang >= {$this->manuel['rang_sp']}",
Line 1943... Line 1970...
1943
			'description' => "Si le champ epithete_sp n'est pas vide alors le rang du nom doit être supérieur ou égal à {$this->manuel['rang_sp']}.",
1970
			'description' => "Si le champ epithete_sp n'est pas vide alors le rang du nom doit être supérieur ou égal à {$this->manuel['rang_sp']}.",
1944
			'resultat' => false);
1971
			'resultat' => false);
Line 1959... Line 1986...
1959
			$info['message']['lignes'] = $noms_erreur;
1986
			$info['message']['lignes'] = $noms_erreur;
1960
		} else {
1987
		} else {
1961
			$info['resultat'] = true;
1988
			$info['resultat'] = true;
1962
		}
1989
		}
Line 1963... Line 1990...
1963
		
1990
		
1964
		return $info;
1991
		$this->traiterResultatTest($info);
Line 1965... Line 1992...
1965
	}
1992
	}
1966
	
1993