| Line 207... |
Line 207... |
| 207 |
// TESTS
|
207 |
// TESTS
|
| Line 208... |
Line 208... |
| 208 |
|
208 |
|
| 209 |
private function testerStatutCultureSyntaxe() {
|
209 |
private function testerStatutCultureSyntaxe() {
|
| 210 |
$info = array('nom' => 'statut_culture -> syntaxe',
|
210 |
$info = array('nom' => 'statut_culture -> syntaxe',
|
| 211 |
'description' => "Le champ statut_culture peut contenir :\n".
|
211 |
'description' => "Le champ statut_culture peut contenir :\n".
|
| 212 |
" - le symbole tiret «-» précédant une autre information non référencée...\n".
|
212 |
" - le symbole tiret «-» précédant une autre information non référencée...\n".
|
| 213 |
" - une première lettre en majuscule indiquant le code standard attribué à ce taxon,\n".
|
213 |
" - une première lettre en majuscule indiquant le code standard attribué à ce taxon,\n".
|
| 214 |
" - éventuellement suivie d'un tiret puis d'une deuxième lettre en majuscule indiquant ".
|
214 |
" - éventuellement suivie d'un tiret puis d'une deuxième lettre en majuscule indiquant ".
|
| 215 |
"un code de présence spécifique au référentiel.",
|
215 |
"un code de présence spécifique au référentiel.",
|
| Line 216... |
Line 216... |
| 216 |
'resultat' => false);
|
216 |
'resultat' => false);
|
| 217 |
|
217 |
|
| 218 |
// Réalisation du test
|
218 |
// Réalisation du test
|
| Line 238... |
Line 238... |
| 238 |
}
|
238 |
}
|
| Line 239... |
Line 239... |
| 239 |
|
239 |
|
| 240 |
private function testerStatutIntroductionSyntaxe() {
|
240 |
private function testerStatutIntroductionSyntaxe() {
|
| 241 |
$info = array('nom' => 'statut_introduction -> syntaxe',
|
241 |
$info = array('nom' => 'statut_introduction -> syntaxe',
|
| 242 |
'description' => "Le champ statut_introduction peut contenir :\n".
|
242 |
'description' => "Le champ statut_introduction peut contenir :\n".
|
| 243 |
" - le symbole tiret «-» précédant une autre information non référencée...\n".
|
243 |
" - le symbole tiret «-» précédant une autre information non référencée...\n".
|
| 244 |
" - une première lettre en majuscule indiquant le code standard attribué à ce taxon,\n".
|
244 |
" - une première lettre en majuscule indiquant le code standard attribué à ce taxon,\n".
|
| 245 |
" - éventuellement suivie d'un tiret puis d'une deuxième lettre en majuscule indiquant ".
|
245 |
" - éventuellement suivie d'un tiret puis d'une deuxième lettre en majuscule indiquant ".
|
| 246 |
"un code de présence spécifique au référentiel.",
|
246 |
"un code de présence spécifique au référentiel.",
|
| Line 247... |
Line 247... |
| 247 |
'resultat' => false);
|
247 |
'resultat' => false);
|
| 248 |
|
248 |
|
| 249 |
// Réalisation du test
|
249 |
// Réalisation du test
|
| Line 269... |
Line 269... |
| 269 |
}
|
269 |
}
|
| Line 270... |
Line 270... |
| 270 |
|
270 |
|
| 271 |
private function testerStatutOrigineSyntaxe() {
|
271 |
private function testerStatutOrigineSyntaxe() {
|
| 272 |
$info = array('nom' => 'statut_origine -> syntaxe',
|
272 |
$info = array('nom' => 'statut_origine -> syntaxe',
|
| 273 |
'description' => "Le champ statut_origine peut contenir :\n".
|
273 |
'description' => "Le champ statut_origine peut contenir :\n".
|
| 274 |
" - le symbole tiret «-» précédant une autre information non référencée...\n".
|
274 |
" - le symbole tiret «-» précédant une autre information non référencée...\n".
|
| 275 |
" - 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".
|
| 276 |
" - éventuellement suivie d'un tiret puis d'une deuxième lettre en majuscule indiquant ".
|
276 |
" - éventuellement suivie d'un tiret puis d'une deuxième lettre en majuscule indiquant ".
|
| 277 |
"un code de présence spécifique au référentiel.",
|
277 |
"un code de présence spécifique au référentiel.",
|
| Line 278... |
Line 278... |
| 278 |
'resultat' => false);
|
278 |
'resultat' => false);
|
| 279 |
|
279 |
|
| 280 |
// Réalisation du test
|
280 |
// Réalisation du test
|
| Line 300... |
Line 300... |
| 300 |
}
|
300 |
}
|
| Line 301... |
Line 301... |
| 301 |
|
301 |
|
| 302 |
private function testerPresenceSyntaxe() {
|
302 |
private function testerPresenceSyntaxe() {
|
| 303 |
$info = array('nom' => 'presence -> syntaxe',
|
303 |
$info = array('nom' => 'presence -> syntaxe',
|
| 304 |
'description' => "Le champ presence contient soit :\n".
|
304 |
'description' => "Le champ presence contient soit :\n".
|
| 305 |
" - le symbole tiret «-» précédant une autre information non référencée...\n".
|
305 |
" - le symbole tiret «-» précédant une autre information non référencée...\n".
|
| 306 |
" - une première lettre en majuscule indiquant le code standard attribué à ce taxon,\n".
|
306 |
" - une première lettre en majuscule indiquant le code standard attribué à ce taxon,\n".
|
| 307 |
" - éventuellement suivie d'un tiret puis d'une deuxième lettre en majuscule indiquant ".
|
307 |
" - éventuellement suivie d'un tiret puis d'une deuxième lettre en majuscule indiquant ".
|
| 308 |
"un code de présence spécifique au référentiel.",
|
308 |
"un code de présence spécifique au référentiel.",
|
| Line 309... |
Line 309... |
| 309 |
'resultat' => false);
|
309 |
'resultat' => false);
|
| 310 |
|
310 |
|
| 311 |
// Réalisation du test
|
311 |
// Réalisation du test
|
| Line 330... |
Line 330... |
| 330 |
$this->traiterResultatTest($info);
|
330 |
$this->traiterResultatTest($info);
|
| 331 |
}
|
331 |
}
|
| Line 332... |
Line 332... |
| 332 |
|
332 |
|
| 333 |
private function testerHybrideParent02Existence() {
|
333 |
private function testerHybrideParent02Existence() {
|
| 334 |
$info = array('nom' => 'hybride_parent_02 -> existence',
|
334 |
$info = array('nom' => 'hybride_parent_02 -> existence',
|
| 335 |
'description' => "Si le champ hybride_parent_02 contient un nombre alors il doit correspondre à une valeur du champ ".
|
335 |
'description' => "Si le champ hybride_parent_02 contient un nombre alors il doit correspondre à une valeur ".
|
| 336 |
"num_nom.",
|
336 |
"du champ num_nom.",
|
| Line 337... |
Line 337... |
| 337 |
'resultat' => false);
|
337 |
'resultat' => false);
|
| 338 |
|
338 |
|
| 339 |
// Réalisation du test
|
339 |
// Réalisation du test
|
| Line 359... |
Line 359... |
| 359 |
}
|
359 |
}
|
| Line 360... |
Line 360... |
| 360 |
|
360 |
|
| 361 |
private function testerHybrideParent02Syntaxe() {
|
361 |
private function testerHybrideParent02Syntaxe() {
|
| 362 |
$info = array('nom' => 'hybride_parent_02 -> syntaxe',
|
362 |
$info = array('nom' => 'hybride_parent_02 -> syntaxe',
|
| 363 |
'description' => "Le champ hybride_parent_02 contient soit :\n".
|
363 |
'description' => "Le champ hybride_parent_02 contient soit :\n".
|
| 364 |
" - une valeur vide,\n".
|
364 |
" - une valeur vide,\n".
|
| 365 |
" - un nombre.",
|
365 |
" - un nombre.",
|
| Line 366... |
Line 366... |
| 366 |
'resultat' => false);
|
366 |
'resultat' => false);
|
| 367 |
|
367 |
|
| 368 |
// Réalisation du test
|
368 |
// Réalisation du test
|
| Line 388... |
Line 388... |
| 388 |
}
|
388 |
}
|
| Line 389... |
Line 389... |
| 389 |
|
389 |
|
| 390 |
|
390 |
|
| 391 |
private function testerHybrideParent01Existence() {
|
391 |
private function testerHybrideParent01Existence() {
|
| 392 |
$info = array('nom' => 'hybride_parent_01 -> existence',
|
392 |
$info = array('nom' => 'hybride_parent_01 -> existence',
|
| 393 |
'description' => "Si le champ hybride_parent_01 contient un nombre alors il doit correspondre à une valeur du champ ".
|
393 |
'description' => "Si le champ hybride_parent_01 contient un nombre alors il doit correspondre à une valeur ".
|
| Line 394... |
Line 394... |
| 394 |
"num_nom.",
|
394 |
"du champ num_nom.",
|
| 395 |
'resultat' => false);
|
395 |
'resultat' => false);
|
| 396 |
|
396 |
|
| Line 417... |
Line 417... |
| 417 |
}
|
417 |
}
|
| Line 418... |
Line 418... |
| 418 |
|
418 |
|
| 419 |
private function testerHybrideParent01Syntaxe() {
|
419 |
private function testerHybrideParent01Syntaxe() {
|
| 420 |
$info = array('nom' => 'hybride_parent_01 -> syntaxe',
|
420 |
$info = array('nom' => 'hybride_parent_01 -> syntaxe',
|
| 421 |
'description' => "Le champ hybride_parent_01 contient soit :\n".
|
421 |
'description' => "Le champ hybride_parent_01 contient soit :\n".
|
| 422 |
" - une valeur vide,\n".
|
422 |
" - une valeur vide,\n".
|
| 423 |
" - un nombre.",
|
423 |
" - un nombre.",
|
| Line 424... |
Line 424... |
| 424 |
'resultat' => false);
|
424 |
'resultat' => false);
|
| 425 |
|
425 |
|
| 426 |
// Réalisation du test
|
426 |
// Réalisation du test
|
| Line 446... |
Line 446... |
| 446 |
}
|
446 |
}
|
| Line 447... |
Line 447... |
| 447 |
|
447 |
|
| 448 |
private function testerSynonymeOrthographiqueExistence() {
|
448 |
private function testerSynonymeOrthographiqueExistence() {
|
| 449 |
$info = array('nom' => 'synonyme_orthographique -> existence',
|
449 |
$info = array('nom' => 'synonyme_orthographique -> existence',
|
| 450 |
'description' => "Si le champ synonyme_orthographique contient un nombre alors il doit correspondre ".
|
450 |
'description' => "Si le champ synonyme_orthographique contient un nombre alors il doit correspondre ".
|
| 451 |
"à une valeur du champ num_nom.",
|
451 |
"à une valeur du champ num_nom.",
|
| Line 452... |
Line 452... |
| 452 |
'resultat' => false);
|
452 |
'resultat' => false);
|
| 453 |
|
453 |
|
| 454 |
// Réalisation du test
|
454 |
// Réalisation du test
|
| Line 474... |
Line 474... |
| 474 |
}
|
474 |
}
|
| Line 475... |
Line 475... |
| 475 |
|
475 |
|
| 476 |
private function testerSynonymeOrthographiqueSyntaxe() {
|
476 |
private function testerSynonymeOrthographiqueSyntaxe() {
|
| 477 |
$info = array('nom' => 'synonyme_orthographique -> syntaxe',
|
477 |
$info = array('nom' => 'synonyme_orthographique -> syntaxe',
|
| 478 |
'description' => "Le champ synonyme_orthographique contient soit :\n".
|
478 |
'description' => "Le champ synonyme_orthographique contient soit :\n".
|
| 479 |
" - une valeur vide,\n".
|
479 |
" - une valeur vide,\n".
|
| 480 |
" - un nombre.",
|
480 |
" - un nombre.",
|
| Line 481... |
Line 481... |
| 481 |
'resultat' => false);
|
481 |
'resultat' => false);
|
| 482 |
|
482 |
|
| 483 |
// Réalisation du test
|
483 |
// Réalisation du test
|
| Line 587... |
Line 587... |
| 587 |
|
587 |
|
| 588 |
|
588 |
|
| 589 |
private function testerSynonymeProparteExistence() {
|
589 |
private function testerSynonymeProparteExistence() {
|
| 590 |
$info = array('nom' => 'synonyme_proparte -> existence',
|
590 |
$info = array('nom' => 'synonyme_proparte -> existence',
|
| 591 |
'description' => "Si le champ synonyme_proparte contient un ou plusieurs nombres alors chacun d'entre eux ".
|
591 |
'description' => "Si le champ synonyme_proparte contient un ou plusieurs nombres alors chacun d'entre eux ".
|
| Line 592... |
Line 592... |
| 592 |
"doit correspondre à une valeur du champ num_nom.",
|
592 |
"doit correspondre à une valeur du champ num_nom.",
|
| 593 |
'resultat' => false);
|
593 |
'resultat' => false);
|
| 594 |
|
594 |
|
| Line 652... |
Line 652... |
| 652 |
}
|
652 |
}
|
| Line 653... |
Line 653... |
| 653 |
|
653 |
|
| 654 |
private function testerBasionymeExistence() {
|
654 |
private function testerBasionymeExistence() {
|
| 655 |
$info = array('nom' => 'basionyme -> existence',
|
655 |
$info = array('nom' => 'basionyme -> existence',
|
| 656 |
'description' => "Si le champ basionyme contient un nombre alors il doit correspondre à une valeur du champ ".
|
656 |
'description' => "Si le champ basionyme contient un nombre alors il doit correspondre à une valeur du champ ".
|
| 657 |
"num_nom.",
|
657 |
"num_nom.",
|
| Line 658... |
Line 658... |
| 658 |
'resultat' => false);
|
658 |
'resultat' => false);
|
| 659 |
|
659 |
|
| 660 |
// Réalisation du test
|
660 |
// Réalisation du test
|
| Line 709... |
Line 709... |
| 709 |
}
|
709 |
}
|
| Line 710... |
Line 710... |
| 710 |
|
710 |
|
| 711 |
private function testerHomonymieExistence() {
|
711 |
private function testerHomonymieExistence() {
|
| 712 |
$info = array('nom' => 'homonyme -> existence',
|
712 |
$info = array('nom' => 'homonyme -> existence',
|
| 713 |
'description' => "Si le champ homonyme contient «1» alors plusieurs noms doivent posséder la même valeur ".
|
713 |
'description' => "Si le champ homonyme contient «1» alors plusieurs noms doivent posséder la même valeur ".
|
| 714 |
"dans le champ nom_sci.",
|
714 |
"dans le champ nom_sci.",
|
| Line 715... |
Line 715... |
| 715 |
'resultat' => false);
|
715 |
'resultat' => false);
|
| Line 716... |
Line 716... |
| 716 |
|
716 |
|
| Line 970... |
Line 970... |
| 970 |
$this->traiterResultatTest($info);
|
970 |
$this->traiterResultatTest($info);
|
| 971 |
}
|
971 |
}
|
| Line 972... |
Line 972... |
| 972 |
|
972 |
|
| 973 |
private function testerCultivarRang() {
|
973 |
private function testerCultivarRang() {
|
| 974 |
$info = array('nom' => "cultivar -> rang >= {$this->manuel['rang_genre']}",
|
974 |
$info = array('nom' => "cultivar -> rang >= {$this->manuel['rang_genre']}",
|
| - |
|
975 |
'description' => "Si le champ cultivar n'est pas vide alors le rang du nom doit être supérieur ou égal à ".
|
| 975 |
'description' => "Si le champ cultivar n'est pas vide alors le rang du nom doit être supérieur ou égal à {$this->manuel['rang_genre']}.",
|
976 |
"{$this->manuel['rang_genre']}.",
|
| Line 976... |
Line 977... |
| 976 |
'resultat' => false);
|
977 |
'resultat' => false);
|
| 977 |
|
978 |
|
| 978 |
// Réalisation du test
|
979 |
// Réalisation du test
|
| Line 1029... |
Line 1030... |
| 1029 |
$this->traiterResultatTest($info);
|
1030 |
$this->traiterResultatTest($info);
|
| 1030 |
}
|
1031 |
}
|
| Line 1031... |
Line 1032... |
| 1031 |
|
1032 |
|
| 1032 |
private function testerGroupeCultivarRang() {
|
1033 |
private function testerGroupeCultivarRang() {
|
| 1033 |
$info = array('nom' => "cultivar_groupe -> rang >= {$this->manuel['rang_genre']}",
|
1034 |
$info = array('nom' => "cultivar_groupe -> rang >= {$this->manuel['rang_genre']}",
|
| - |
|
1035 |
'description' => "Si le champ cultivar_groupe n'est pas vide alors le rang du nom doit être supérieur ou ".
|
| 1034 |
'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']}.",
|
1036 |
"égal à {$this->manuel['rang_genre']}.",
|
| Line 1035... |
Line 1037... |
| 1035 |
'resultat' => false);
|
1037 |
'resultat' => false);
|
| 1036 |
|
1038 |
|
| 1037 |
// Réalisation du test
|
1039 |
// Réalisation du test
|
| Line 1087... |
Line 1089... |
| 1087 |
|
1089 |
|
| 1088 |
private function testerEpitheteInfraSpSyntaxe() {
|
1090 |
private function testerEpitheteInfraSpSyntaxe() {
|
| 1089 |
$info = array('nom' => 'epithete_infra_sp -> syntaxe',
|
1091 |
$info = array('nom' => 'epithete_infra_sp -> syntaxe',
|
| 1090 |
'description' => "Le champ epithete_infra_sp peut contenir :\n".
|
1092 |
'description' => "Le champ epithete_infra_sp peut contenir :\n".
|
| 1091 |
" - un mot unique composé de lettres minuscules, avec ou sans tréma (¨), et de tirets (-). \n".
|
1093 |
" - un mot unique composé de lettres minuscules, avec ou sans tréma (¨), et de tirets (-). \n".
|
| 1092 |
" Il commence par une lettre minuscule (avec ou sans tréma).\n".
|
1094 |
" Il commence par une lettre minuscule (avec ou sans tréma).\n".
|
| 1093 |
" Il peut être précédé par le signe + ou la lettre x suivi d'un espace.\n".
|
1095 |
" Il peut être précédé par le signe + ou la lettre x suivi d'un espace.\n".
|
| 1094 |
" - une formule d'hybridité composée d'une série de noms d'espèce ou d'infra espèce \n".
|
1096 |
" - une formule d'hybridité composée d'une série de noms d'espèce ou d'infra espèce \n".
|
| 1095 |
" (au moins 2) séparés entre eux par la lettre x entourée de caractères espaces.",
|
1097 |
" (au moins 2) séparés entre eux par la lettre x entourée de caractères espaces.",
|
| Line 1096... |
Line 1098... |
| 1096 |
'resultat' => false);
|
1098 |
'resultat' => false);
|
| 1097 |
|
1099 |
|
| 1098 |
// Réalisation du test
|
1100 |
// Réalisation du test
|
| Line 1264... |
Line 1266... |
| 1264 |
$ok = false;
|
1266 |
$ok = false;
|
| 1265 |
}
|
1267 |
}
|
| 1266 |
}
|
1268 |
}
|
| 1267 |
$info['resultat'] = $ok;
|
1269 |
$info['resultat'] = $ok;
|
| 1268 |
if (!$ok) {
|
1270 |
if (!$ok) {
|
| 1269 |
$info['message'] = 'Champs manquant : '.implode(', ', $champs_manquant).'.';
|
1271 |
$info['message'] = 'Champs manquants : '.implode(', ', $champs_manquant).'.';
|
| 1270 |
}
|
1272 |
}
|
| Line 1271... |
Line 1273... |
| 1271 |
|
1273 |
|
| 1272 |
$this->traiterResultatTest($info);
|
1274 |
$this->traiterResultatTest($info);
|
| 1273 |
return ($info['resultat'] ? '1' : '0');
|
1275 |
return ($info['resultat'] ? '1' : '0');
|
| Line 1303... |
Line 1305... |
| 1303 |
}
|
1305 |
}
|
| 1304 |
}
|
1306 |
}
|
| Line 1305... |
Line 1307... |
| 1305 |
|
1307 |
|
| 1306 |
// Analyse des résultats
|
1308 |
// Analyse des résultats
|
| 1307 |
if (count($champs_erreur) > 0) {
|
1309 |
if (count($champs_erreur) > 0) {
|
| 1308 |
$info['message'] = "Champs n'ayant pas un bon type : ".implode(', ', $champs_erreur).'.';
|
1310 |
$info['message'] = "Champs n'ayant pas un type conforme : ".implode(', ', $champs_erreur).'.';
|
| 1309 |
} else {
|
1311 |
} else {
|
| 1310 |
$info['resultat'] = true;
|
1312 |
$info['resultat'] = true;
|
| Line 1311... |
Line 1313... |
| 1311 |
}
|
1313 |
}
|
| Line 1345... |
Line 1347... |
| 1345 |
}
|
1347 |
}
|
| 1346 |
}
|
1348 |
}
|
| Line 1347... |
Line 1349... |
| 1347 |
|
1349 |
|
| 1348 |
// Analyse des résultats
|
1350 |
// Analyse des résultats
|
| 1349 |
if (count($champs_erreur) > 0) {
|
1351 |
if (count($champs_erreur) > 0) {
|
| - |
|
1352 |
$info['message'] = "Champs possédant des enregistrements qui atteignent la taille maximum autorisée : ".
|
| 1350 |
$info['message'] = "Champs possédant des enregistrements avec une taille maximum : ".implode(', ', $champs_erreur).'.';
|
1353 |
implode(', ', $champs_erreur).'.';
|
| 1351 |
} else {
|
1354 |
} else {
|
| 1352 |
$info['resultat'] = true;
|
1355 |
$info['resultat'] = true;
|
| Line 1353... |
Line 1356... |
| 1353 |
}
|
1356 |
}
|
| Line 1383... |
Line 1386... |
| 1383 |
}
|
1386 |
}
|
| 1384 |
}
|
1387 |
}
|
| Line 1385... |
Line 1388... |
| 1385 |
|
1388 |
|
| 1386 |
// Analyse des résultats
|
1389 |
// Analyse des résultats
|
| 1387 |
if (count($noms_erreur) > 0) {
|
1390 |
if (count($noms_erreur) > 0) {
|
| - |
|
1391 |
$info['message'] = count($noms_erreur)." enregistrements contiennent dans le champ num_nom une valeur ".
|
| 1388 |
$info['message'] = count($noms_erreur)." enregistrements contiennent dans le champ num_nom une valeur inférieure ou égale à 0.";
|
1392 |
"inférieure ou égale à 0.";
|
| 1389 |
} else {
|
1393 |
} else {
|
| 1390 |
$info['resultat'] = true;
|
1394 |
$info['resultat'] = true;
|
| Line 1391... |
Line 1395... |
| 1391 |
}
|
1395 |
}
|
| Line 1406... |
Line 1410... |
| 1406 |
}
|
1410 |
}
|
| 1407 |
}
|
1411 |
}
|
| Line 1408... |
Line 1412... |
| 1408 |
|
1412 |
|
| 1409 |
// Analyse des résultats
|
1413 |
// Analyse des résultats
|
| 1410 |
if (count($noms_erreur) > 0) {
|
1414 |
if (count($noms_erreur) > 0) {
|
| - |
|
1415 |
$info['message'] = count($noms_erreur)." enregistrements dont le champ num_nom_retenu est inférieur ou égal à 0 : ".
|
| 1411 |
$info['message'] = count($noms_erreur)." enregistrements dont le champ num_nom_retenu est inférieur ou égal à 0 : ".implode(', ', $noms_erreur).'.';
|
1416 |
implode(', ', $noms_erreur).'.';
|
| 1412 |
} else {
|
1417 |
} else {
|
| 1413 |
$info['resultat'] = true;
|
1418 |
$info['resultat'] = true;
|
| Line 1414... |
Line 1419... |
| 1414 |
}
|
1419 |
}
|
| 1415 |
|
1420 |
|
| Line 1416... |
Line 1421... |
| 1416 |
$this->traiterResultatTest($info);
|
1421 |
$this->traiterResultatTest($info);
|
| 1417 |
}
|
1422 |
}
|
| 1418 |
|
1423 |
|
| - |
|
1424 |
private function testerNumTaxSupEgalZeroUnique() {
|
| 1419 |
private function testerNumTaxSupEgalZeroUnique() {
|
1425 |
$info = array('nom' => 'num_tax_sup -> égal à 0 unique',
|
| Line 1420... |
Line 1426... |
| 1420 |
$info = array('nom' => 'num_tax_sup -> égal à 0 unique',
|
1426 |
'description' => "Un seul enregistrement doit posséder la valeur 0 dans le champ num_tax_sup. Il correspond ".
|
| 1421 |
'description' => "Un seul enregistrement doit posséder la valeur 0 dans le champ num_tax_sup. Il correspond au premier taxon de la classification.",
|
1427 |
"au premier taxon de la classification.",
|
| 1422 |
'resultat' => false);
|
1428 |
'resultat' => false);
|
| Line 1429... |
Line 1435... |
| 1429 |
}
|
1435 |
}
|
| 1430 |
}
|
1436 |
}
|
| Line 1431... |
Line 1437... |
| 1431 |
|
1437 |
|
| 1432 |
// Analyse des résultats
|
1438 |
// Analyse des résultats
|
| 1433 |
if (count($noms_erreur) > 1) {
|
1439 |
if (count($noms_erreur) > 1) {
|
| - |
|
1440 |
$info['message'] = count($noms_erreur)." enregistrements ont une valeur de 0 dans le champ num_tax_sup : ".
|
| 1434 |
$info['message'] = count($noms_erreur)." enregistrements ont une valeur de 0 dans le champ num_tax_sup : ".implode(', ', $noms_erreur).'.';
|
1441 |
implode(', ', $noms_erreur).'.';
|
| 1435 |
} else {
|
1442 |
} else {
|
| 1436 |
$info['resultat'] = true;
|
1443 |
$info['resultat'] = true;
|
| Line 1437... |
Line 1444... |
| 1437 |
}
|
1444 |
}
|
| 1438 |
|
1445 |
|
| Line 1439... |
Line 1446... |
| 1439 |
$this->traiterResultatTest($info);
|
1446 |
$this->traiterResultatTest($info);
|
| 1440 |
}
|
1447 |
}
|
| 1441 |
|
1448 |
|
| 1442 |
private function testerTaxSupPourTaxon() {
|
1449 |
private function testerTaxSupPourTaxon() {
|
| 1443 |
$info = array('nom' => 'Classification -> uniquement pour les taxons',
|
1450 |
$info = array('nom' => 'Classification -> uniquement pour les taxons',
|
| Line 1444... |
Line 1451... |
| 1444 |
'description' => "Seuls les enregistrements représentant un taxon doivent posséder une valeur dans le champ num_tax_sup.\n".
|
1451 |
'description' => "Seuls les enregistrements représentant un taxon doivent posséder une valeur dans le champ ".
|
| 1445 |
"Si num_nom_retenu est différent de num_nom (= nom synonyme) alors num_tax_sup doit être vide.",
|
1452 |
"num_tax_sup.\n Si num_nom_retenu est différent de num_nom (= nom synonyme) alors num_tax_sup doit être vide.",
|
| 1446 |
'resultat' => false);
|
1453 |
'resultat' => false);
|
| Line 1453... |
Line 1460... |
| 1453 |
}
|
1460 |
}
|
| 1454 |
}
|
1461 |
}
|
| Line 1455... |
Line 1462... |
| 1455 |
|
1462 |
|
| 1456 |
// Analyse des résultats
|
1463 |
// Analyse des résultats
|
| 1457 |
if (count($noms_erreur) > 0) {
|
1464 |
if (count($noms_erreur) > 0) {
|
| - |
|
1465 |
$info['message'] = count($noms_erreur)." enregistrements ne sont pas des taxons et possèdent une ".
|
| 1458 |
$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).'.';
|
1466 |
"valeur dans num_tax_sup : ".implode(', ', $noms_erreur).'.';
|
| 1459 |
} else {
|
1467 |
} else {
|
| 1460 |
$info['resultat'] = true;
|
1468 |
$info['resultat'] = true;
|
| Line 1461... |
Line 1469... |
| 1461 |
}
|
1469 |
}
|
| 1462 |
|
1470 |
|
| Line 1463... |
Line 1471... |
| 1463 |
$this->traiterResultatTest($info);
|
1471 |
$this->traiterResultatTest($info);
|
| 1464 |
}
|
1472 |
}
|
| 1465 |
|
1473 |
|
| - |
|
1474 |
private function testerExitenceTaxonSuperieur() {
|
| 1466 |
private function testerExitenceTaxonSuperieur() {
|
1475 |
$info = array('nom' => 'Classification -> existence du taxon supérieur',
|
| Line 1467... |
Line 1476... |
| 1467 |
$info = array('nom' => 'Classification -> existence du taxon supérieur',
|
1476 |
'description' => "Chaque enregistrement représentant un taxon doit posséder un taxon supérieur sauf ".
|
| 1468 |
'description' => "Chaque enregistrement représentant un taxon doit posséder un taxon supérieur sauf la racine de la classification.",
|
1477 |
"la racine de la classification.",
|
| 1469 |
'resultat' => false);
|
1478 |
'resultat' => false);
|
| Line 1478... |
Line 1487... |
| 1478 |
}
|
1487 |
}
|
| 1479 |
}
|
1488 |
}
|
| Line 1480... |
Line 1489... |
| 1480 |
|
1489 |
|
| 1481 |
// Analyse des résultats
|
1490 |
// Analyse des résultats
|
| 1482 |
if (count($noms_erreur) > 0) {
|
1491 |
if (count($noms_erreur) > 0) {
|
| - |
|
1492 |
$info['message'] = count($noms_erreur)." enregistrements dont le taxon supérieur n'existe pas : ".
|
| 1483 |
$info['message'] = count($noms_erreur)." enregistrements dont le taxon supérieur n'existe pas : ".implode(', ', $noms_erreur).'.';
|
1493 |
implode(', ', $noms_erreur).'.';
|
| 1484 |
} else {
|
1494 |
} else {
|
| 1485 |
$info['resultat'] = true;
|
1495 |
$info['resultat'] = true;
|
| Line 1486... |
Line 1496... |
| 1486 |
}
|
1496 |
}
|
| 1487 |
|
1497 |
|
| Line 1488... |
Line 1498... |
| 1488 |
$this->traiterResultatTest($info);
|
1498 |
$this->traiterResultatTest($info);
|
| 1489 |
}
|
1499 |
}
|
| 1490 |
|
1500 |
|
| - |
|
1501 |
private function testerClassificationRang() {
|
| 1491 |
private function testerClassificationRang() {
|
1502 |
$info = array('nom' => 'Classification -> taxon supérieur avec rang inférieur',
|
| Line 1492... |
Line 1503... |
| 1492 |
$info = array('nom' => 'Classification -> taxon supérieur avec rang inférieur',
|
1503 |
'description' => "Pour chaque enregistrement représentant un taxon, le taxon supérieur doit avoir ".
|
| 1493 |
'description' => "Pour chaque enregistrement représentant un taxon, le taxon supérieur doit avoir un rang inférieur au taxon courant.",
|
1504 |
"un rang inférieur au taxon courant.",
|
| 1494 |
'resultat' => false);
|
1505 |
'resultat' => false);
|
| Line 1516... |
Line 1527... |
| 1516 |
$this->traiterResultatTest($info);
|
1527 |
$this->traiterResultatTest($info);
|
| 1517 |
}
|
1528 |
}
|
| Line 1518... |
Line 1529... |
| 1518 |
|
1529 |
|
| 1519 |
private function testerClassification() {
|
1530 |
private function testerClassification() {
|
| 1520 |
$info = array('nom' => 'Classification -> racine liée à chaque noeud',
|
1531 |
$info = array('nom' => 'Classification -> racine liée à chaque noeud',
|
| - |
|
1532 |
'description' => "Pour chaque enregistrement, la classification doit pouvoir être remontée ".
|
| 1521 |
'description' => "Pour chaque enregistrement, la classification doit pouvoir être remontée jusqu'à un nom unique possédant une valeur num_tax_sup de 0.",
|
1533 |
"jusqu'à un nom unique possédant une valeur num_tax_sup de 0.",
|
| Line 1522... |
Line 1534... |
| 1522 |
'resultat' => false);
|
1534 |
'resultat' => false);
|
| 1523 |
|
1535 |
|
| 1524 |
// Réalisation du test
|
1536 |
// Réalisation du test
|
| Line 1543... |
Line 1555... |
| 1543 |
}
|
1555 |
}
|
| 1544 |
unset($this->noms_ok);
|
1556 |
unset($this->noms_ok);
|
| Line 1545... |
Line 1557... |
| 1545 |
|
1557 |
|
| 1546 |
// Analyse des résultats
|
1558 |
// Analyse des résultats
|
| 1547 |
if (count($noms_erreur) > 0) {
|
1559 |
if (count($noms_erreur) > 0) {
|
| - |
|
1560 |
$info['message'] = count($noms_erreur)." taxons dont la classification n'est pas bonne : ".
|
| 1548 |
$info['message'] = count($noms_erreur)." taxons dont la classification n'est pas bonne : ".implode(', ', $noms_erreur).'.';
|
1561 |
implode(', ', $noms_erreur).'.';
|
| 1549 |
} else {
|
1562 |
} else {
|
| 1550 |
$info['resultat'] = true;
|
1563 |
$info['resultat'] = true;
|
| Line 1551... |
Line 1564... |
| 1551 |
}
|
1564 |
}
|
| Line 1603... |
Line 1616... |
| 1603 |
$this->traiterResultatTest($info);
|
1616 |
$this->traiterResultatTest($info);
|
| 1604 |
}
|
1617 |
}
|
| Line 1605... |
Line 1618... |
| 1605 |
|
1618 |
|
| 1606 |
private function testerNomCompletSupraGenerique() {
|
1619 |
private function testerNomCompletSupraGenerique() {
|
| 1607 |
$info = array('nom' => 'nom_sci -> noms supra-génériques',
|
1620 |
$info = array('nom' => 'nom_sci -> noms supra-génériques',
|
| 1608 |
'description' => "Si le rang est < à {$this->manuel['rang_genre']}, le nom_sci doit correspondre à la valeur du champ nom_supra_generique. ".
|
1621 |
'description' => "Si le rang est < à {$this->manuel['rang_genre']}, le nom_sci doit correspondre à la valeur ".
|
| - |
|
1622 |
"du champ nom_supra_generique. Les valeurs des champs cultivar_groupe, cultivar et ".
|
| 1609 |
"Les valeurs des champs cultivar_groupe, cultivar et nom_commercial peuvent s'y ajouter.",
|
1623 |
"nom_commercial peuvent s'y ajouter.",
|
| Line 1610... |
Line 1624... |
| 1610 |
'resultat' => false);
|
1624 |
'resultat' => false);
|
| 1611 |
|
1625 |
|
| 1612 |
// Réalisation du test
|
1626 |
// Réalisation du test
|
| Line 1895... |
Line 1909... |
| 1895 |
|
1909 |
|
| 1896 |
private function testerGenreSyntaxe() {
|
1910 |
private function testerGenreSyntaxe() {
|
| 1897 |
$info = array('nom' => 'genre -> syntaxe',
|
1911 |
$info = array('nom' => 'genre -> syntaxe',
|
| 1898 |
'description' => "Le champ genre peut contenir :\n".
|
1912 |
'description' => "Le champ genre peut contenir :\n".
|
| 1899 |
" - un mot unique composé de lettres minuscules, avec ou sans tréma (¨), et de tirets (-). \n".
|
1913 |
" - un mot unique composé de lettres minuscules, avec ou sans tréma (¨), et de tirets (-). \n".
|
| 1900 |
" Il commence par une lettre majuscule (avec ou sans tréma) et peut être précédé par \n".
|
1914 |
" Il commence par une lettre majuscule (avec ou sans tréma) et peut être précédé par \n".
|
| 1901 |
" le signe + ou la lettre x suivi d'un espace.\n".
|
1915 |
" le signe + ou la lettre x suivi d'un espace.\n".
|
| 1902 |
" - une formule d'hybridité composée d'une série de noms de genre (au moins 2) séparés\n ".
|
1916 |
" - une formule d'hybridité composée d'une série de noms de genre (au moins 2) séparés\n".
|
| 1903 |
" entre eux par la lettre x entourée de caractères espaces.",
|
1917 |
" entre eux par la lettre x entourée de caractères espaces.",
|
| Line 1904... |
Line 1918... |
| 1904 |
'resultat' => false);
|
1918 |
'resultat' => false);
|
| 1905 |
|
1919 |
|
| 1906 |
// Réalisation du test
|
1920 |
// Réalisation du test
|
| Line 2072... |
Line 2086... |
| 2072 |
|
2086 |
|
| 2073 |
private function testerEpitheteSpSyntaxe() {
|
2087 |
private function testerEpitheteSpSyntaxe() {
|
| 2074 |
$info = array('nom' => 'epithete_sp -> syntaxe',
|
2088 |
$info = array('nom' => 'epithete_sp -> syntaxe',
|
| 2075 |
'description' => "Le champ epithete_sp peut contenir :\n".
|
2089 |
'description' => "Le champ epithete_sp peut contenir :\n".
|
| 2076 |
" - un mot unique composé de lettres minuscules [a-z] incluant les caractères [ëï-]. \n".
|
2090 |
" - un mot unique composé de lettres minuscules [a-z] incluant les caractères [ëï-]. \n".
|
| 2077 |
" Il commence par une lettre minuscule [a-zëï].\n".
|
2091 |
" Il commence par une lettre minuscule [a-zëï].\n".
|
| 2078 |
" Il peut être précédé par le signe + ou la lettre x suivi d'un espace.\n".
|
2092 |
" Il peut être précédé par le signe + ou la lettre x suivi d'un espace.\n".
|
| 2079 |
" - un mot contenant sp. suivi d'un ou plusieurs caractères numériques (1-9) \n".
|
2093 |
" - un mot contenant sp. suivi d'un ou plusieurs caractères numériques (1-9) \n".
|
| 2080 |
" ou d'un seul caractère majuscule (A-Z) \n".
|
2094 |
" ou d'un seul caractère majuscule (A-Z) \n".
|
| 2081 |
" - une formule d'hybridité composée d'une série de noms d'espèce (au moins 2) \n".
|
2095 |
" - une formule d'hybridité composée d'une série de noms d'espèce (au moins 2) \n".
|
| 2082 |
" séparés entre eux par la lettre x entourée de caractères espaces.",
|
2096 |
" séparés entre eux par la lettre x entourée de caractères espaces.",
|
| Line 2083... |
Line 2097... |
| 2083 |
'resultat' => false);
|
2097 |
'resultat' => false);
|
| 2084 |
|
2098 |
|
| 2085 |
// Réalisation du test
|
2099 |
// Réalisation du test
|