1308,21 → 1308,25 |
$this->traiterResultatTest($info); |
} |
|
private function testerStatutCultureSyntaxe() { |
$info = array('nom' => 'statut_culture -> syntaxe', |
'description' => "Le champ statut_culture peut contenir :\n". |
" - le symbole tiret «-» précédant une autre information non référencée...\n". |
" - une première lettre en majuscule indiquant le code standard attribué à ce taxon,\n". |
" - éventuellement suivie d'un tiret puis d'une deuxième lettre en majuscule indiquant ". |
"un code de présence spécifique au référentiel.", |
/** |
* Test #37 |
*/ |
private function testerGroupeCultivarSyntaxe() { |
$info = array('nom' => 'cultivar_groupe -> syntaxe', |
'description' => "Le champ cultivar_groupe doit contenir un nom de groupe de cultivar conforme aux règles ". |
"du code des plantes cultivées, c.-à-d. composer de caractères alphanumériques (A-Z,a-z et 0-9) incluant ". |
"signes diacritiques et marques de ponctuations.\n". |
"Il ne doit pas contenir le mot Groupe, l'abbréviation «gp» ou des parenthèses.\n". |
"Il peut se terminer par l'abréviation «gx» pour distinguer les groupes des grex.", |
'resultat' => false); |
|
// Réalisation du test |
$noms_erreur = array(); |
foreach ($this->noms as &$nom) { |
if ($nom['statut_culture'] != '') { |
if (!$this->verifierStatutCulture($nom['statut_culture'])) { |
$noms_erreur[] = array($nom['num_nom'], $nom['statut_culture']); |
if ($nom['cultivar_groupe'] != '') { |
if (!$this->verifierEpitheteGroupeCultivar($nom['cultivar_groupe'])) { |
$epithete_traite = $this->repererEspace($nom['cultivar_groupe']); |
$noms_erreur[] = array($nom['num_nom'], $epithete_traite); |
} |
} |
} |
1329,7 → 1333,7 |
|
// Analyse des résultats |
if (count($noms_erreur) > 0) { |
$info['message']['entete'] = array('num_nom', 'statut_culture erroné'); |
$info['message']['entete'] = array('num_nom', 'cultivar_groupe erroné'); |
$info['message']['lignes'] = $noms_erreur; |
} else { |
$info['resultat'] = true; |
1339,21 → 1343,21 |
$this->traiterResultatTest($info); |
} |
|
private function testerStatutIntroductionSyntaxe() { |
$info = array('nom' => 'statut_introduction -> syntaxe', |
'description' => "Le champ statut_introduction peut contenir :\n". |
" - le symbole tiret «-» précédant une autre information non référencée...\n". |
" - une première lettre en majuscule indiquant le code standard attribué à ce taxon,\n". |
" - éventuellement suivie d'un tiret puis d'une deuxième lettre en majuscule indiquant ". |
"un code de présence spécifique au référentiel.", |
/** |
* Test #38 |
*/ |
private function testerGroupeCultivarRang() { |
$info = array('nom' => "cultivar_groupe -> rang >= {$this->manuel['rang_genre']}", |
'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']}.", |
'resultat' => false); |
|
// Réalisation du test |
$noms_erreur = array(); |
foreach ($this->noms as &$nom) { |
if ($nom['statut_introduction'] != '') { |
if (!$this->verifierStatutIntroduction($nom['statut_introduction'])) { |
$noms_erreur[] = array($nom['num_nom'], $nom['statut_introduction']); |
if ($nom['cultivar_groupe'] != '') { |
if ($nom['rang'] < $this->manuel['rang_genre']) { |
$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci'], $nom['rang']); |
} |
} |
} |
1360,7 → 1364,7 |
|
// Analyse des résultats |
if (count($noms_erreur) > 0) { |
$info['message']['entete'] = array('num_nom', 'statut_introduction erroné'); |
$info['message']['entete'] = array('num_nom', 'nom_sci', 'rang erroné'); |
$info['message']['lignes'] = $noms_erreur; |
} else { |
$info['resultat'] = true; |
1370,21 → 1374,30 |
$this->traiterResultatTest($info); |
} |
|
private function testerStatutOrigineSyntaxe() { |
$info = array('nom' => 'statut_origine -> syntaxe', |
'description' => "Le champ statut_origine peut contenir :\n". |
" - le symbole tiret «-» précédant une autre information non référencée...\n". |
" - une première lettre en majuscule indiquant le code standard attribué à ce taxon.\n". |
" - éventuellement suivie d'un tiret puis d'une deuxième lettre en majuscule indiquant ". |
"un code de présence spécifique au référentiel.", |
/** |
* Test #39 |
*/ |
private function testerCultivarSyntaxe() { |
$info = array('nom' => 'cultivar -> syntaxe', |
'description' => "Le champ cultivar_groupe doit contenir :\n". |
" - un nom de cultivar conforme aux règles du Code Internationnal de Nomenclature \n". |
" des Plantes Cultivées (CINPC), c.-à-d. composer de caractères alphanumériques \n". |
" (A-Z,a-z et 0-9) incluant signes diacritiques et marques de ponctuations.\n". |
" - un nom en alphabet latin, ce qui implique une translittération des noms d'alphabet \n". |
" cyrillique, arabe, chinois...\n". |
" - une lettre majuscule obligatoire pour le premier caractère du premier mot et pour \n". |
" les autres mots importants mais pas pour les mots mineurs.\n". |
"Ne doit pas contenir :\n". |
" - cv., convar. ou de guillemets simples (').\n", |
'resultat' => false); |
|
// Réalisation du test |
$noms_erreur = array(); |
foreach ($this->noms as &$nom) { |
if ($nom['statut_origine'] != '') { |
if (!$this->verifierStatutOrigine($nom['statut_origine'])) { |
$noms_erreur[] = array($nom['num_nom'], $nom['statut_origine']); |
if ($nom['cultivar'] != '') { |
if (!$this->verifierEpitheteCultivar($nom['cultivar'])) { |
$epithete_traite = $this->repererEspace($nom['cultivar']); |
$noms_erreur[] = array($nom['num_nom'], $epithete_traite); |
} |
} |
} |
1391,7 → 1404,7 |
|
// Analyse des résultats |
if (count($noms_erreur) > 0) { |
$info['message']['entete'] = array('num_nom', 'statut_origine erroné'); |
$info['message']['entete'] = array('num_nom', 'cultivar erroné'); |
$info['message']['lignes'] = $noms_erreur; |
} else { |
$info['resultat'] = true; |
1401,21 → 1414,21 |
$this->traiterResultatTest($info); |
} |
|
private function testerPresenceSyntaxe() { |
$info = array('nom' => 'presence -> syntaxe', |
'description' => "Le champ presence contient soit :\n". |
" - le symbole tiret «-» précédant une autre information non référencée...\n". |
" - une première lettre en majuscule indiquant le code standard attribué à ce taxon,\n". |
" - éventuellement suivie d'un tiret puis d'une deuxième lettre en majuscule indiquant ". |
"un code de présence spécifique au référentiel.", |
/** |
* Test #40 |
*/ |
private function testerCultivarRang() { |
$info = array('nom' => "cultivar -> rang >= {$this->manuel['rang_genre']}", |
'description' => "Si le champ cultivar n'est pas vide alors le rang du nom doit être supérieur ou égal à ". |
"{$this->manuel['rang_genre']}.", |
'resultat' => false); |
|
// Réalisation du test |
$noms_erreur = array(); |
foreach ($this->noms as &$nom) { |
if ($nom['presence'] != '') { |
if (!$this->verifierPresence($nom['presence'])) { |
$noms_erreur[] = array($nom['num_nom'], $nom['presence']); |
if ($nom['cultivar'] != '') { |
if ($nom['rang'] < $this->manuel['rang_genre']) { |
$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci'], $nom['rang']); |
} |
} |
} |
1422,7 → 1435,7 |
|
// Analyse des résultats |
if (count($noms_erreur) > 0) { |
$info['message']['entete'] = array('num_nom', 'presence erroné'); |
$info['message']['entete'] = array('num_nom', 'nom_sci', 'rang erroné'); |
$info['message']['lignes'] = $noms_erreur; |
} else { |
$info['resultat'] = true; |
1432,18 → 1445,23 |
$this->traiterResultatTest($info); |
} |
|
private function testerHybrideParent02Existence() { |
$info = array('nom' => 'hybride_parent_02 -> existence', |
'description' => "Si le champ hybride_parent_02 contient un nombre alors il doit correspondre à une valeur ". |
"du champ num_nom.", |
/** |
* Test #41 |
*/ |
private function testerNomCommercialSyntaxe() { |
$info = array('nom' => 'nom_commercial -> syntaxe', |
'description' => "Le champ nom_commercial doit contenir un nom commercial conforme aux règles du ". |
"Code Internationnal de Nomenclature des Plantes Cultivées (CINPC) ". |
"qui se compose de caractères majuscules (A-Z) incluant des signes diacritiques et des espaces.\n", |
'resultat' => false); |
|
// Réalisation du test |
$noms_erreur = array(); |
foreach ($this->noms as &$nom) { |
if ($nom['hybride_parent_02'] != '') { |
if (!isset($this->noms[$nom['hybride_parent_02']]) && $nom['hybride_parent_02'] != '0') { |
$noms_erreur[] = array($nom['num_nom'], $this->repererEspace($nom['hybride_parent_02'])); |
if ($nom['nom_commercial'] != '') { |
if (!$this->verifierNomCommercial($nom['nom_commercial'])) { |
$epithete_traite = $this->repererEspace($nom['nom_commercial']); |
$noms_erreur[] = array($nom['num_nom'], $epithete_traite); |
} |
} |
} |
1450,7 → 1468,7 |
|
// Analyse des résultats |
if (count($noms_erreur) > 0) { |
$info['message']['entete'] = array('num_nom', 'hybride_parent_02 introuvable'); |
$info['message']['entete'] = array('num_nom', 'cultivar erroné'); |
$info['message']['lignes'] = $noms_erreur; |
} else { |
$info['resultat'] = true; |
1460,26 → 1478,26 |
$this->traiterResultatTest($info); |
} |
|
private function testerHybrideParent02Syntaxe() { |
$info = array('nom' => 'hybride_parent_02 -> syntaxe', |
'description' => "Le champ hybride_parent_02 contient soit :\n". |
" - une valeur vide,\n". |
" - un nombre.", |
/** |
* Test #42 |
*/ |
private function testerNomCommercialPresenceCultivar() { |
$info = array('nom' => 'nom_commercial -> groupe_cultivar OU cultivar non vide', |
'description' => "Si le champ nom_commercial contient un nom commercial alors le champ cultivar OU ". |
"cultivar_groupe ne doit pas être vide.", |
'resultat' => false); |
|
// Réalisation du test |
$noms_erreur = array(); |
foreach ($this->noms as &$nom) { |
if ($nom['hybride_parent_02'] != '') { |
if (!$this->verifierNombre($nom['hybride_parent_02'])) { |
$noms_erreur[] = array($nom['num_nom'], $this->repererEspace($nom['hybride_parent_02'])); |
if ((isset($nom['nom_commercial']) && $nom['nom_commercial'] != '') && ($nom['cultivar'] == '' && $nom['cultivar_groupe'] == '')) { |
$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci']); |
} |
} |
} |
|
// Analyse des résultats |
if (count($noms_erreur) > 0) { |
$info['message']['entete'] = array('num_nom', 'hybride_parent_02 erroné'); |
$info['message']['entete'] = array('num_nom', 'nom_commercial sans cultivar ou cultivar_groupe'); |
$info['message']['lignes'] = $noms_erreur; |
} else { |
$info['resultat'] = true; |
1489,19 → 1507,31 |
$this->traiterResultatTest($info); |
} |
|
|
private function testerHybrideParent01Existence() { |
$info = array('nom' => 'hybride_parent_01 -> existence', |
'description' => "Si le champ hybride_parent_01 contient un nombre alors il doit correspondre à une valeur ". |
"du champ num_nom.", |
/** |
* Test #43 |
*/ |
private function testerAuteurSyntaxe() { |
$info = array('nom' => 'auteur -> syntaxe', |
'description' => "Le champ auteur doit :\n". |
" - contenir l'intitulé complet des noms de l'auteur, ou des auteurs, ayant publié à l'origine la combinaison latine courante.\n". |
" - OU débuter par le mot « sensu » et contenir l'intitulé complet des noms de l'auteur, ou des auteurs, ". |
"ayant publié un nom dont la description ne correspond pas à celle de l'auteur, ou des auteurs, d'origine.\n". |
" - se composer de caractères alphabétiques (A-Z, a-z), incluant les signes diacritiques, le symbole point (.), les paires de parenthèses ( () ), les apostrophes, l'esperluette (&) et l'espace ( ).\n". |
" - contenir, si nécessaire, des abréviations de noms d'auteurs respectant les standards.\n". |
" - contenir une translittération des noms d'alphabet cyrillique, arabe, chinois... en alphabet latin.\n". |
" - inclure entre parenthèses l'intitulé des noms de l'auteur ou des auteurs ayant publié le basionyme.\n". |
" - toujours utiliser l'esperluette (&) à la place du mot « et » pour séparer les noms d'auteurs.\n". |
" - conformément à la recommandation 46C.2 du CINB, si une un citation comprend plus de deux auteurs, ". |
"elle devrait être limitée au nom du premier, suivi de « & al.».\n", |
'resultat' => false); |
|
// Réalisation du test |
$noms_erreur = array(); |
foreach ($this->noms as &$nom) { |
if ($nom['hybride_parent_01'] != '' && $nom['hybride_parent_01'] != '0') { |
if (!isset($this->noms[$nom['hybride_parent_01']])) { |
$noms_erreur[] = array($nom['num_nom'], $this->repererEspace($nom['hybride_parent_01'])); |
if ($nom['auteur'] != '') { |
if (!$this->verifierAuteur($nom['auteur'])) { |
$intitule_traite = $this->repererEspace($nom['auteur']); |
$noms_erreur[] = array($nom['num_nom'], $intitule_traite); |
} |
} |
} |
1508,7 → 1538,7 |
|
// Analyse des résultats |
if (count($noms_erreur) > 0) { |
$info['message']['entete'] = array('num_nom', 'hybride_parent_01 introuvable'); |
$info['message']['entete'] = array('num_nom', 'auteur erroné'); |
$info['message']['lignes'] = $noms_erreur; |
} else { |
$info['resultat'] = true; |
1518,19 → 1548,22 |
$this->traiterResultatTest($info); |
} |
|
private function testerHybrideParent01Syntaxe() { |
$info = array('nom' => 'hybride_parent_01 -> syntaxe', |
'description' => "Le champ hybride_parent_01 contient soit :\n". |
" - une valeur vide,\n". |
" - un nombre.", |
/** |
* Test #44 |
*/ |
private function testerAnneeSyntaxe() { |
$info = array('nom' => 'annee -> syntaxe', |
'description' => "Le champ annee doit :\n". |
" - contenir un nombre de 4 chiffres,\n". |
" - être supérieur ou égal à 1753.", |
'resultat' => false); |
|
// Réalisation du test |
$noms_erreur = array(); |
foreach ($this->noms as &$nom) { |
if ($nom['hybride_parent_01'] != '') { |
if (!$this->verifierNombre($nom['hybride_parent_01'])) { |
$noms_erreur[] = array($nom['num_nom'], $this->repererEspace($nom['hybride_parent_01'])); |
if ($nom['annee'] != '') { |
if (!$this->verifierAnnee($nom['annee'])) { |
$noms_erreur[] = array($nom['num_nom'], $nom['annee']); |
} |
} |
} |
1537,7 → 1570,7 |
|
// Analyse des résultats |
if (count($noms_erreur) > 0) { |
$info['message']['entete'] = array('num_nom', 'hybride_parent_01 erroné'); |
$info['message']['entete'] = array('num_nom', 'annee erroné'); |
$info['message']['lignes'] = $noms_erreur; |
} else { |
$info['resultat'] = true; |
1547,18 → 1580,35 |
$this->traiterResultatTest($info); |
} |
|
private function testerSynonymeOrthographiqueExistence() { |
$info = array('nom' => 'synonyme_orthographique -> existence', |
'description' => "Si le champ synonyme_orthographique contient un nombre alors il doit correspondre ". |
"à une valeur du champ num_nom.", |
/** |
* Test #45 |
*/ |
private function testerBiblioOrigineSyntaxe() { |
$info = array('nom' => 'biblio_origine -> syntaxe', |
'description' => "Le champ biblio_origine se compose de plusieurs parties séparées par des caractères ". |
"précis qui sont dans l'ordre de gauche à droite :\n". |
" - éventuellement, le mot « in » suivi d'un intitulé auteur (utilisé pour indiquer l'intitulé auteur de ". |
"l'ouvrage dans lequel la publication est parue),\n". |
" - point-virgule « ; » (si l'info précédent a été renseignée),\n". |
" - abréviation, ou nom, de l'ouvrage ou de la revue selon le standard en vigueur dans le code du nom. ". |
"Cette information ne doit pas contenir de caractère virgule « , »,\n". |
" - virgule « , »,\n". |
" - informations permettant d'identifier plus précisément le document contenant le nom... ". |
"(par exemple, l'éditeur, le tome, le numéro d'édition, le volume...) séparées par des virgules ou d'autres ". |
"caractères sauf deux points « : ».\n". |
" - deux points « : »,\n". |
" - numéro(s) de la page contenant la publication du nom ou de l'ensemble de pages (première et dernière ". |
"pages de l'ensemble séparées par un tiret « - »). Quelques fois des numéros ou d'autres informations indiquant ". |
"la position du nom dans le document. Le tiret « - » doit toujours servir à séparer un ensemble.", |
'resultat' => false); |
|
// Réalisation du test |
$noms_erreur = array(); |
foreach ($this->noms as &$nom) { |
if ($nom['synonyme_orthographique'] != '') { |
if (!isset($this->noms[$nom['synonyme_orthographique']])) { |
$noms_erreur[] = array($nom['num_nom'], $nom['synonyme_orthographique']); |
if ($nom['biblio_origine'] != '') { |
if (!$this->verifierBiblioOrigine($nom['biblio_origine'])) { |
$biblio_traite = $this->repererEspace($nom['biblio_origine']); |
$noms_erreur[] = array($nom['num_nom'], $biblio_traite); |
} |
} |
} |
1565,7 → 1615,7 |
|
// Analyse des résultats |
if (count($noms_erreur) > 0) { |
$info['message']['entete'] = array('num_nom', 'synonyme_orthographique introuvable'); |
$info['message']['entete'] = array('num_nom', 'biblio_origine erroné'); |
$info['message']['lignes'] = $noms_erreur; |
} else { |
$info['resultat'] = true; |
1575,19 → 1625,22 |
$this->traiterResultatTest($info); |
} |
|
private function testerSynonymeOrthographiqueSyntaxe() { |
$info = array('nom' => 'synonyme_orthographique -> syntaxe', |
'description' => "Le champ synonyme_orthographique contient soit :\n". |
/** |
* Test #46 |
*/ |
private function testerHomonymieSyntaxe() { |
$info = array('nom' => 'homonyme -> syntaxe', |
'description' => "Le champ homonyme contient :\n". |
" - une valeur vide,\n". |
" - un nombre.", |
" - le chiffre 1.", |
'resultat' => false); |
|
// Réalisation du test |
$noms_erreur = array(); |
foreach ($this->noms as $nom) { |
if ($nom['synonyme_orthographique'] != '') { |
if (!$this->verifierNombre($nom['synonyme_orthographique'])) { |
$noms_erreur[] = array($nom['num_nom'], $nom['synonyme_orthographique']); |
foreach ($this->noms as &$nom) { |
if ($nom['homonyme'] != '') { |
if (!$this->verifierBooleen($nom['homonyme'])) { |
$noms_erreur[] = array($nom['num_nom'], $nom['homonyme']); |
} |
} |
} |
1594,7 → 1647,7 |
|
// Analyse des résultats |
if (count($noms_erreur) > 0) { |
$info['message']['entete'] = array('num_nom', 'synonyme_orthographique erroné'); |
$info['message']['entete'] = array('num_nom', 'homonyme erroné'); |
$info['message']['lignes'] = $noms_erreur; |
} else { |
$info['resultat'] = true; |
1604,26 → 1657,31 |
$this->traiterResultatTest($info); |
} |
|
private function testerSynonymeMalAppliqueSyntaxe() { |
$info = array('nom' => 'synonyme_mal_applique -> syntaxe', |
'description' => "Le champ synonyme_mal_applique contient soit :\n". |
" - une valeur vide,\n". |
" - le chiffre 1.", |
/** |
* Test #47 |
*/ |
private function testerHomonymieExistence() { |
$info = array('nom' => 'homonyme -> existence', |
'description' => "Si le champ homonyme contient «1» alors plusieurs noms doivent posséder la même valeur ". |
"dans le champ nom_sci.", |
'resultat' => false); |
|
$noms_homonymie = $this->classerNomsParNomComplet(); |
|
// Réalisation du test |
$noms_erreur = array(); |
foreach ($this->noms as &$nom) { |
if ($nom['synonyme_mal_applique'] != '') { |
if (!$this->verifierBooleen($nom['synonyme_mal_applique'])) { |
$noms_erreur[] = array($nom['num_nom'], $nom['synonyme_mal_applique']); |
if ($nom['homonyme'] != '0' && $nom['homonyme'] != '') { |
if ($noms_homonymie[$nom['nom_sci']] <= 1) { |
$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci']); |
} |
} |
} |
$noms_homonymie = null; |
|
// Analyse des résultats |
if (count($noms_erreur) > 0) { |
$info['message']['entete'] = array('num_nom', 'synonyme_mal_applique erroné'); |
$info['message']['entete'] = array('num_nom', 'homonyme introuvable'); |
$info['message']['lignes'] = $noms_erreur; |
} else { |
$info['resultat'] = true; |
1633,20 → 1691,22 |
$this->traiterResultatTest($info); |
} |
|
|
private function testerSynonymeDouteuxSyntaxe() { |
$info = array('nom' => 'synonyme_douteux -> syntaxe', |
'description' => "Le champ synonyme_douteux contient soit :\n". |
/** |
* Test #48 |
*/ |
private function testerBasionymeSyntaxe() { |
$info = array('nom' => 'basionyme -> syntaxe', |
'description' => "Le champ basionyme contient :\n". |
" - une valeur vide,\n". |
" - le chiffre 1.", |
" - un nombre.", |
'resultat' => false); |
|
// Réalisation du test |
$noms_erreur = array(); |
foreach ($this->noms as &$nom) { |
if ($nom['synonyme_douteux'] != '') { |
if (!$this->verifierBooleen($nom['synonyme_douteux'])) { |
$noms_erreur[] = array($nom['num_nom'], $nom['synonyme_douteux']); |
if ($nom['basionyme'] != '') { |
if (!$this->verifierNombre($nom['basionyme'])) { |
$noms_erreur[] = array($nom['num_nom'], $nom['basionyme']); |
} |
} |
} |
1653,7 → 1713,7 |
|
// Analyse des résultats |
if (count($noms_erreur) > 0) { |
$info['message']['entete'] = array('num_nom', 'synonyme_douteux erroné'); |
$info['message']['entete'] = array('num_nom', 'basionyme erroné'); |
$info['message']['lignes'] = $noms_erreur; |
} else { |
$info['resultat'] = true; |
1663,35 → 1723,46 |
$this->traiterResultatTest($info); |
} |
|
private function testerSynonymeDouteuxNumNomRetenu() { |
$info = array('nom' => 'synonyme_douteux -> présence num_nom_retenu', |
'description' => "Si le nom est un synonyme douteux, le champs num_nom_retenu doit être vide.", |
/** |
* Test #49 |
*/ |
private function testerBasionymeExistence() { |
$info = array('nom' => 'basionyme -> existence', |
'description' => "Si le champ basionyme contient un nombre alors il doit correspondre à une valeur du champ ". |
"num_nom.", |
'resultat' => false); |
|
// Réalisation du test |
$noms_erreur = array(); |
foreach ($this->noms as &$nom) { |
if ($nom['synonyme_douteux'] == 1 && $nom['num_nom_retenu'] != ' ') { |
$noms_erreur[] = array($nom['num_nom'], $nom['synonyme_douteux'], $nom['num_nom_retenu']); |
if ($nom['basionyme'] != '') { |
if (!isset($this->noms[$nom['basionyme']])) { |
$noms_erreur[] = array($nom['num_nom'], $nom['basionyme']); |
} |
} |
} |
|
// Analyse des résultats |
if (count($noms_erreur) > 0) { |
$info['message']['entete'] = array('num_nom', 'synonyme_douteux', 'num_nom_retenu'); |
$info['message']['entete'] = array('num_nom', 'basionyme introuvable'); |
$info['message']['lignes'] = $noms_erreur; |
} else { |
$info['resultat'] = true; |
} |
$noms_erreur = null; |
|
$this->traiterResultatTest($info); |
} |
|
|
private function testerSynonymeProparteExistence() { |
$info = array('nom' => 'synonyme_proparte -> existence', |
'description' => "Si le champ synonyme_proparte contient un ou plusieurs nombres alors chacun d'entre eux ". |
"doit correspondre à une valeur du champ num_nom.", |
/** |
* Test #50 |
*/ |
private function testerSynonymeProparteSyntaxe() { |
$info = array('nom' => 'synonyme_proparte -> syntaxe', |
'description' => "Le champ synonyme_proparte contient soit :\n". |
" - une valeur vide,\n". |
" - un nombre,\n". |
" - une suite de nombres séparés par des virgules.", |
'resultat' => false); |
|
// Réalisation du test |
1698,22 → 1769,15 |
$noms_erreur = array(); |
foreach ($this->noms as &$nom) { |
if ($nom['synonyme_proparte'] != '') { |
$num_nom_a_verifier = explode(',', $nom['synonyme_proparte']); |
$num_nom_en_erreur = array(); |
foreach ($num_nom_a_verifier as $num_nom) { |
if (!isset($this->noms[$num_nom])) { |
$num_nom_en_erreur[] = $num_nom; |
if (!$this->verifierNombreSuite($nom['synonyme_proparte'])) { |
$noms_erreur[] = array($nom['num_nom'], $nom['synonyme_proparte']); |
} |
} |
if (count($nbre_en_erreur) > 0) { |
$noms_erreur[] = array($nom['num_nom'], implode(',', $num_nom_en_erreur)); |
} |
} |
} |
|
// Analyse des résultats |
if (count($noms_erreur) > 0) { |
$info['message']['entete'] = array('num_nom', 'synonyme_proparte introuvable'); |
$info['message']['entete'] = array('num_nom', 'synonyme_proparte erroné'); |
$info['message']['lignes'] = $noms_erreur; |
} else { |
$info['resultat'] = true; |
1723,12 → 1787,13 |
$this->traiterResultatTest($info); |
} |
|
private function testerSynonymeProparteSyntaxe() { |
$info = array('nom' => 'synonyme_proparte -> syntaxe', |
'description' => "Le champ synonyme_proparte contient soit :\n". |
" - une valeur vide,\n". |
" - un nombre,\n". |
" - une suite de nombres séparés par des virgules.", |
/** |
* Test #51 |
*/ |
private function testerSynonymeProparteExistence() { |
$info = array('nom' => 'synonyme_proparte -> existence', |
'description' => "Si le champ synonyme_proparte contient un ou plusieurs nombres alors chacun d'entre eux ". |
"doit correspondre à une valeur du champ num_nom.", |
'resultat' => false); |
|
// Réalisation du test |
1735,15 → 1800,22 |
$noms_erreur = array(); |
foreach ($this->noms as &$nom) { |
if ($nom['synonyme_proparte'] != '') { |
if (!$this->verifierNombreSuite($nom['synonyme_proparte'])) { |
$noms_erreur[] = array($nom['num_nom'], $nom['synonyme_proparte']); |
$num_nom_a_verifier = explode(',', $nom['synonyme_proparte']); |
$num_nom_en_erreur = array(); |
foreach ($num_nom_a_verifier as $num_nom) { |
if (!isset($this->noms[$num_nom])) { |
$num_nom_en_erreur[] = $num_nom; |
} |
} |
if (count($nbre_en_erreur) > 0) { |
$noms_erreur[] = array($nom['num_nom'], implode(',', $num_nom_en_erreur)); |
} |
} |
} |
|
// Analyse des résultats |
if (count($noms_erreur) > 0) { |
$info['message']['entete'] = array('num_nom', 'synonyme_proparte erroné'); |
$info['message']['entete'] = array('num_nom', 'synonyme_proparte introuvable'); |
$info['message']['lignes'] = $noms_erreur; |
} else { |
$info['resultat'] = true; |
1753,18 → 1825,22 |
$this->traiterResultatTest($info); |
} |
|
private function testerBasionymeExistence() { |
$info = array('nom' => 'basionyme -> existence', |
'description' => "Si le champ basionyme contient un nombre alors il doit correspondre à une valeur du champ ". |
"num_nom.", |
/** |
* Test #52 |
*/ |
private function testerSynonymeDouteuxSyntaxe() { |
$info = array('nom' => 'synonyme_douteux -> syntaxe', |
'description' => "Le champ synonyme_douteux contient soit :\n". |
" - une valeur vide,\n". |
" - le chiffre 1.", |
'resultat' => false); |
|
// Réalisation du test |
$noms_erreur = array(); |
foreach ($this->noms as &$nom) { |
if ($nom['basionyme'] != '') { |
if (!isset($this->noms[$nom['basionyme']])) { |
$noms_erreur[] = array($nom['num_nom'], $nom['basionyme']); |
if ($nom['synonyme_douteux'] != '') { |
if (!$this->verifierBooleen($nom['synonyme_douteux'])) { |
$noms_erreur[] = array($nom['num_nom'], $nom['synonyme_douteux']); |
} |
} |
} |
1771,7 → 1847,7 |
|
// Analyse des résultats |
if (count($noms_erreur) > 0) { |
$info['message']['entete'] = array('num_nom', 'basionyme introuvable'); |
$info['message']['entete'] = array('num_nom', 'synonyme_douteux erroné'); |
$info['message']['lignes'] = $noms_erreur; |
} else { |
$info['resultat'] = true; |
1781,54 → 1857,49 |
$this->traiterResultatTest($info); |
} |
|
private function testerBasionymeSyntaxe() { |
$info = array('nom' => 'basionyme -> syntaxe', |
'description' => "Le champ basionyme contient :\n". |
" - une valeur vide,\n". |
" - un nombre.", |
/** |
* Test #53 |
*/ |
private function testerSynonymeDouteuxNumNomRetenu() { |
$info = array('nom' => 'synonyme_douteux -> présence num_nom_retenu', |
'description' => "Si le nom est un synonyme douteux, le champs num_nom_retenu doit être vide.", |
'resultat' => false); |
|
// Réalisation du test |
$noms_erreur = array(); |
foreach ($this->noms as &$nom) { |
if ($nom['basionyme'] != '') { |
if (!$this->verifierNombre($nom['basionyme'])) { |
$noms_erreur[] = array($nom['num_nom'], $nom['basionyme']); |
if ($nom['synonyme_douteux'] == 1 && $nom['num_nom_retenu'] != ' ') { |
$noms_erreur[] = array($nom['num_nom'], $nom['synonyme_douteux'], $nom['num_nom_retenu']); |
} |
} |
} |
|
// Analyse des résultats |
if (count($noms_erreur) > 0) { |
$info['message']['entete'] = array('num_nom', 'basionyme erroné'); |
$info['message']['entete'] = array('num_nom', 'synonyme_douteux', 'num_nom_retenu'); |
$info['message']['lignes'] = $noms_erreur; |
} else { |
$info['resultat'] = true; |
} |
$noms_erreur = null; |
|
$this->traiterResultatTest($info); |
} |
|
/** |
* Test #37 |
* Test #54 |
*/ |
private function testerGroupeCultivarSyntaxe() { |
$info = array('nom' => 'cultivar_groupe -> syntaxe', |
'description' => "Le champ cultivar_groupe doit contenir un nom de groupe de cultivar conforme aux règles ". |
"du code des plantes cultivées, c.-à-d. composer de caractères alphanumériques (A-Z,a-z et 0-9) incluant ". |
"signes diacritiques et marques de ponctuations.\n". |
"Il ne doit pas contenir le mot Groupe, l'abbréviation «gp» ou des parenthèses.\n". |
"Il peut se terminer par l'abréviation «gx» pour distinguer les groupes des grex.", |
private function testerSynonymeMalAppliqueSyntaxe() { |
$info = array('nom' => 'synonyme_mal_applique -> syntaxe', |
'description' => "Le champ synonyme_mal_applique contient soit :\n". |
" - une valeur vide,\n". |
" - le chiffre 1.", |
'resultat' => false); |
|
// Réalisation du test |
$noms_erreur = array(); |
foreach ($this->noms as &$nom) { |
if ($nom['cultivar_groupe'] != '') { |
if (!$this->verifierEpitheteGroupeCultivar($nom['cultivar_groupe'])) { |
$epithete_traite = $this->repererEspace($nom['cultivar_groupe']); |
$noms_erreur[] = array($nom['num_nom'], $epithete_traite); |
if ($nom['synonyme_mal_applique'] != '') { |
if (!$this->verifierBooleen($nom['synonyme_mal_applique'])) { |
$noms_erreur[] = array($nom['num_nom'], $nom['synonyme_mal_applique']); |
} |
} |
} |
1835,7 → 1906,7 |
|
// Analyse des résultats |
if (count($noms_erreur) > 0) { |
$info['message']['entete'] = array('num_nom', 'cultivar_groupe erroné'); |
$info['message']['entete'] = array('num_nom', 'synonyme_mal_applique erroné'); |
$info['message']['lignes'] = $noms_erreur; |
} else { |
$info['resultat'] = true; |
1846,20 → 1917,21 |
} |
|
/** |
* Test #38 |
* Test #55 |
*/ |
private function testerGroupeCultivarRang() { |
$info = array('nom' => "cultivar_groupe -> rang >= {$this->manuel['rang_genre']}", |
'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']}.", |
private function testerSynonymeOrthographiqueSyntaxe() { |
$info = array('nom' => 'synonyme_orthographique -> syntaxe', |
'description' => "Le champ synonyme_orthographique contient soit :\n". |
" - une valeur vide,\n". |
" - un nombre.", |
'resultat' => false); |
|
// Réalisation du test |
$noms_erreur = array(); |
foreach ($this->noms as &$nom) { |
if ($nom['cultivar_groupe'] != '') { |
if ($nom['rang'] < $this->manuel['rang_genre']) { |
$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci'], $nom['rang']); |
foreach ($this->noms as $nom) { |
if ($nom['synonyme_orthographique'] != '') { |
if (!$this->verifierNombre($nom['synonyme_orthographique'])) { |
$noms_erreur[] = array($nom['num_nom'], $nom['synonyme_orthographique']); |
} |
} |
} |
1866,7 → 1938,7 |
|
// Analyse des résultats |
if (count($noms_erreur) > 0) { |
$info['message']['entete'] = array('num_nom', 'nom_sci', 'rang erroné'); |
$info['message']['entete'] = array('num_nom', 'synonyme_orthographique erroné'); |
$info['message']['lignes'] = $noms_erreur; |
} else { |
$info['resultat'] = true; |
1877,29 → 1949,20 |
} |
|
/** |
* Test #39 |
* Test #56 |
*/ |
private function testerCultivarSyntaxe() { |
$info = array('nom' => 'cultivar -> syntaxe', |
'description' => "Le champ cultivar_groupe doit contenir :\n". |
" - un nom de cultivar conforme aux règles du Code Internationnal de Nomenclature \n". |
" des Plantes Cultivées (CINPC), c.-à-d. composer de caractères alphanumériques \n". |
" (A-Z,a-z et 0-9) incluant signes diacritiques et marques de ponctuations.\n". |
" - un nom en alphabet latin, ce qui implique une translittération des noms d'alphabet \n". |
" cyrillique, arabe, chinois...\n". |
" - une lettre majuscule obligatoire pour le premier caractère du premier mot et pour \n". |
" les autres mots importants mais pas pour les mots mineurs.\n". |
"Ne doit pas contenir :\n". |
" - cv., convar. ou de guillemets simples (').\n", |
private function testerSynonymeOrthographiqueExistence() { |
$info = array('nom' => 'synonyme_orthographique -> existence', |
'description' => "Si le champ synonyme_orthographique contient un nombre alors il doit correspondre ". |
"à une valeur du champ num_nom.", |
'resultat' => false); |
|
// Réalisation du test |
$noms_erreur = array(); |
foreach ($this->noms as &$nom) { |
if ($nom['cultivar'] != '') { |
if (!$this->verifierEpitheteCultivar($nom['cultivar'])) { |
$epithete_traite = $this->repererEspace($nom['cultivar']); |
$noms_erreur[] = array($nom['num_nom'], $epithete_traite); |
if ($nom['synonyme_orthographique'] != '') { |
if (!isset($this->noms[$nom['synonyme_orthographique']])) { |
$noms_erreur[] = array($nom['num_nom'], $nom['synonyme_orthographique']); |
} |
} |
} |
1906,7 → 1969,7 |
|
// Analyse des résultats |
if (count($noms_erreur) > 0) { |
$info['message']['entete'] = array('num_nom', 'cultivar erroné'); |
$info['message']['entete'] = array('num_nom', 'synonyme_orthographique introuvable'); |
$info['message']['lignes'] = $noms_erreur; |
} else { |
$info['resultat'] = true; |
1917,20 → 1980,21 |
} |
|
/** |
* Test #40 |
* Test #57 |
*/ |
private function testerCultivarRang() { |
$info = array('nom' => "cultivar -> rang >= {$this->manuel['rang_genre']}", |
'description' => "Si le champ cultivar n'est pas vide alors le rang du nom doit être supérieur ou égal à ". |
"{$this->manuel['rang_genre']}.", |
private function testerHybrideParent01Syntaxe() { |
$info = array('nom' => 'hybride_parent_01 -> syntaxe', |
'description' => "Le champ hybride_parent_01 contient soit :\n". |
" - une valeur vide,\n". |
" - un nombre.", |
'resultat' => false); |
|
// Réalisation du test |
$noms_erreur = array(); |
foreach ($this->noms as &$nom) { |
if ($nom['cultivar'] != '') { |
if ($nom['rang'] < $this->manuel['rang_genre']) { |
$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci'], $nom['rang']); |
if ($nom['hybride_parent_01'] != '') { |
if (!$this->verifierNombre($nom['hybride_parent_01'])) { |
$noms_erreur[] = array($nom['num_nom'], $this->repererEspace($nom['hybride_parent_01'])); |
} |
} |
} |
1937,7 → 2001,7 |
|
// Analyse des résultats |
if (count($noms_erreur) > 0) { |
$info['message']['entete'] = array('num_nom', 'nom_sci', 'rang erroné'); |
$info['message']['entete'] = array('num_nom', 'hybride_parent_01 erroné'); |
$info['message']['lignes'] = $noms_erreur; |
} else { |
$info['resultat'] = true; |
1948,22 → 2012,20 |
} |
|
/** |
* Test #41 |
* Test #58 |
*/ |
private function testerNomCommercialSyntaxe() { |
$info = array('nom' => 'nom_commercial -> syntaxe', |
'description' => "Le champ nom_commercial doit contenir un nom commercial conforme aux règles du ". |
"Code Internationnal de Nomenclature des Plantes Cultivées (CINPC) ". |
"qui se compose de caractères majuscules (A-Z) incluant des signes diacritiques et des espaces.\n", |
private function testerHybrideParent01Existence() { |
$info = array('nom' => 'hybride_parent_01 -> existence', |
'description' => "Si le champ hybride_parent_01 contient un nombre alors il doit correspondre à une valeur ". |
"du champ num_nom.", |
'resultat' => false); |
|
// Réalisation du test |
$noms_erreur = array(); |
foreach ($this->noms as &$nom) { |
if ($nom['nom_commercial'] != '') { |
if (!$this->verifierNomCommercial($nom['nom_commercial'])) { |
$epithete_traite = $this->repererEspace($nom['nom_commercial']); |
$noms_erreur[] = array($nom['num_nom'], $epithete_traite); |
if ($nom['hybride_parent_01'] != '' && $nom['hybride_parent_01'] != '0') { |
if (!isset($this->noms[$nom['hybride_parent_01']])) { |
$noms_erreur[] = array($nom['num_nom'], $this->repererEspace($nom['hybride_parent_01'])); |
} |
} |
} |
1970,7 → 2032,7 |
|
// Analyse des résultats |
if (count($noms_erreur) > 0) { |
$info['message']['entete'] = array('num_nom', 'cultivar erroné'); |
$info['message']['entete'] = array('num_nom', 'hybride_parent_01 introuvable'); |
$info['message']['lignes'] = $noms_erreur; |
} else { |
$info['resultat'] = true; |
1981,25 → 2043,28 |
} |
|
/** |
* Test #42 |
* Test #59 |
*/ |
private function testerNomCommercialPresenceCultivar() { |
$info = array('nom' => 'nom_commercial -> groupe_cultivar OU cultivar non vide', |
'description' => "Si le champ nom_commercial contient un nom commercial alors le champ cultivar OU ". |
"cultivar_groupe ne doit pas être vide.", |
private function testerHybrideParent02Syntaxe() { |
$info = array('nom' => 'hybride_parent_02 -> syntaxe', |
'description' => "Le champ hybride_parent_02 contient soit :\n". |
" - une valeur vide,\n". |
" - un nombre.", |
'resultat' => false); |
|
// Réalisation du test |
$noms_erreur = array(); |
foreach ($this->noms as &$nom) { |
if ((isset($nom['nom_commercial']) && $nom['nom_commercial'] != '') && ($nom['cultivar'] == '' && $nom['cultivar_groupe'] == '')) { |
$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci']); |
if ($nom['hybride_parent_02'] != '') { |
if (!$this->verifierNombre($nom['hybride_parent_02'])) { |
$noms_erreur[] = array($nom['num_nom'], $this->repererEspace($nom['hybride_parent_02'])); |
} |
} |
} |
|
// Analyse des résultats |
if (count($noms_erreur) > 0) { |
$info['message']['entete'] = array('num_nom', 'nom_commercial sans cultivar ou cultivar_groupe'); |
$info['message']['entete'] = array('num_nom', 'hybride_parent_02 erroné'); |
$info['message']['lignes'] = $noms_erreur; |
} else { |
$info['resultat'] = true; |
2010,30 → 2075,20 |
} |
|
/** |
* Test #43 |
* Test #60 |
*/ |
private function testerAuteurSyntaxe() { |
$info = array('nom' => 'auteur -> syntaxe', |
'description' => "Le champ auteur doit :\n". |
" - contenir l'intitulé complet des noms de l'auteur, ou des auteurs, ayant publié à l'origine la combinaison latine courante.\n". |
" - OU débuter par le mot « sensu » et contenir l'intitulé complet des noms de l'auteur, ou des auteurs, ". |
"ayant publié un nom dont la description ne correspond pas à celle de l'auteur, ou des auteurs, d'origine.\n". |
" - se composer de caractères alphabétiques (A-Z, a-z), incluant les signes diacritiques, le symbole point (.), les paires de parenthèses ( () ), les apostrophes, l'esperluette (&) et l'espace ( ).\n". |
" - contenir, si nécessaire, des abréviations de noms d'auteurs respectant les standards.\n". |
" - contenir une translittération des noms d'alphabet cyrillique, arabe, chinois... en alphabet latin.\n". |
" - inclure entre parenthèses l'intitulé des noms de l'auteur ou des auteurs ayant publié le basionyme.\n". |
" - toujours utiliser l'esperluette (&) à la place du mot « et » pour séparer les noms d'auteurs.\n". |
" - conformément à la recommandation 46C.2 du CINB, si une un citation comprend plus de deux auteurs, ". |
"elle devrait être limitée au nom du premier, suivi de « & al.».\n", |
private function testerHybrideParent02Existence() { |
$info = array('nom' => 'hybride_parent_02 -> existence', |
'description' => "Si le champ hybride_parent_02 contient un nombre alors il doit correspondre à une valeur ". |
"du champ num_nom.", |
'resultat' => false); |
|
// Réalisation du test |
$noms_erreur = array(); |
foreach ($this->noms as &$nom) { |
if ($nom['auteur'] != '') { |
if (!$this->verifierAuteur($nom['auteur'])) { |
$intitule_traite = $this->repererEspace($nom['auteur']); |
$noms_erreur[] = array($nom['num_nom'], $intitule_traite); |
if ($nom['hybride_parent_02'] != '') { |
if (!isset($this->noms[$nom['hybride_parent_02']]) && $nom['hybride_parent_02'] != '0') { |
$noms_erreur[] = array($nom['num_nom'], $this->repererEspace($nom['hybride_parent_02'])); |
} |
} |
} |
2040,7 → 2095,7 |
|
// Analyse des résultats |
if (count($noms_erreur) > 0) { |
$info['message']['entete'] = array('num_nom', 'auteur erroné'); |
$info['message']['entete'] = array('num_nom', 'hybride_parent_02 introuvable'); |
$info['message']['lignes'] = $noms_erreur; |
} else { |
$info['resultat'] = true; |
2051,21 → 2106,23 |
} |
|
/** |
* Test #44 |
* Test #61 |
*/ |
private function testerAnneeSyntaxe() { |
$info = array('nom' => 'annee -> syntaxe', |
'description' => "Le champ annee doit :\n". |
" - contenir un nombre de 4 chiffres,\n". |
" - être supérieur ou égal à 1753.", |
private function testerPresenceSyntaxe() { |
$info = array('nom' => 'presence -> syntaxe', |
'description' => "Le champ presence contient soit :\n". |
" - le symbole tiret «-» précédant une autre information non référencée...\n". |
" - une première lettre en majuscule indiquant le code standard attribué à ce taxon,\n". |
" - éventuellement suivie d'un tiret puis d'une deuxième lettre en majuscule indiquant ". |
"un code de présence spécifique au référentiel.", |
'resultat' => false); |
|
// Réalisation du test |
$noms_erreur = array(); |
foreach ($this->noms as &$nom) { |
if ($nom['annee'] != '') { |
if (!$this->verifierAnnee($nom['annee'])) { |
$noms_erreur[] = array($nom['num_nom'], $nom['annee']); |
if ($nom['presence'] != '') { |
if (!$this->verifierPresence($nom['presence'])) { |
$noms_erreur[] = array($nom['num_nom'], $nom['presence']); |
} |
} |
} |
2072,7 → 2129,7 |
|
// Analyse des résultats |
if (count($noms_erreur) > 0) { |
$info['message']['entete'] = array('num_nom', 'annee erroné'); |
$info['message']['entete'] = array('num_nom', 'presence erroné'); |
$info['message']['lignes'] = $noms_erreur; |
} else { |
$info['resultat'] = true; |
2083,34 → 2140,23 |
} |
|
/** |
* Test #45 |
* Test #62 |
*/ |
private function testerBiblioOrigineSyntaxe() { |
$info = array('nom' => 'biblio_origine -> syntaxe', |
'description' => "Le champ biblio_origine se compose de plusieurs parties séparées par des caractères ". |
"précis qui sont dans l'ordre de gauche à droite :\n". |
" - éventuellement, le mot « in » suivi d'un intitulé auteur (utilisé pour indiquer l'intitulé auteur de ". |
"l'ouvrage dans lequel la publication est parue),\n". |
" - point-virgule « ; » (si l'info précédent a été renseignée),\n". |
" - abréviation, ou nom, de l'ouvrage ou de la revue selon le standard en vigueur dans le code du nom. ". |
"Cette information ne doit pas contenir de caractère virgule « , »,\n". |
" - virgule « , »,\n". |
" - informations permettant d'identifier plus précisément le document contenant le nom... ". |
"(par exemple, l'éditeur, le tome, le numéro d'édition, le volume...) séparées par des virgules ou d'autres ". |
"caractères sauf deux points « : ».\n". |
" - deux points « : »,\n". |
" - numéro(s) de la page contenant la publication du nom ou de l'ensemble de pages (première et dernière ". |
"pages de l'ensemble séparées par un tiret « - »). Quelques fois des numéros ou d'autres informations indiquant ". |
"la position du nom dans le document. Le tiret « - » doit toujours servir à séparer un ensemble.", |
private function testerStatutOrigineSyntaxe() { |
$info = array('nom' => 'statut_origine -> syntaxe', |
'description' => "Le champ statut_origine peut contenir :\n". |
" - le symbole tiret «-» précédant une autre information non référencée...\n". |
" - une première lettre en majuscule indiquant le code standard attribué à ce taxon.\n". |
" - éventuellement suivie d'un tiret puis d'une deuxième lettre en majuscule indiquant ". |
"un code de présence spécifique au référentiel.", |
'resultat' => false); |
|
// Réalisation du test |
$noms_erreur = array(); |
foreach ($this->noms as &$nom) { |
if ($nom['biblio_origine'] != '') { |
if (!$this->verifierBiblioOrigine($nom['biblio_origine'])) { |
$biblio_traite = $this->repererEspace($nom['biblio_origine']); |
$noms_erreur[] = array($nom['num_nom'], $biblio_traite); |
if ($nom['statut_origine'] != '') { |
if (!$this->verifierStatutOrigine($nom['statut_origine'])) { |
$noms_erreur[] = array($nom['num_nom'], $nom['statut_origine']); |
} |
} |
} |
2117,7 → 2163,7 |
|
// Analyse des résultats |
if (count($noms_erreur) > 0) { |
$info['message']['entete'] = array('num_nom', 'biblio_origine erroné'); |
$info['message']['entete'] = array('num_nom', 'statut_origine erroné'); |
$info['message']['lignes'] = $noms_erreur; |
} else { |
$info['resultat'] = true; |
2128,21 → 2174,23 |
} |
|
/** |
* Test #46 |
* Test #63 |
*/ |
private function testerHomonymieSyntaxe() { |
$info = array('nom' => 'homonyme -> syntaxe', |
'description' => "Le champ homonyme contient :\n". |
" - une valeur vide,\n". |
" - le chiffre 1.", |
private function testerStatutIntroductionSyntaxe() { |
$info = array('nom' => 'statut_introduction -> syntaxe', |
'description' => "Le champ statut_introduction peut contenir :\n". |
" - le symbole tiret «-» précédant une autre information non référencée...\n". |
" - une première lettre en majuscule indiquant le code standard attribué à ce taxon,\n". |
" - éventuellement suivie d'un tiret puis d'une deuxième lettre en majuscule indiquant ". |
"un code de présence spécifique au référentiel.", |
'resultat' => false); |
|
// Réalisation du test |
$noms_erreur = array(); |
foreach ($this->noms as &$nom) { |
if ($nom['homonyme'] != '') { |
if (!$this->verifierBooleen($nom['homonyme'])) { |
$noms_erreur[] = array($nom['num_nom'], $nom['homonyme']); |
if ($nom['statut_introduction'] != '') { |
if (!$this->verifierStatutIntroduction($nom['statut_introduction'])) { |
$noms_erreur[] = array($nom['num_nom'], $nom['statut_introduction']); |
} |
} |
} |
2149,7 → 2197,7 |
|
// Analyse des résultats |
if (count($noms_erreur) > 0) { |
$info['message']['entete'] = array('num_nom', 'homonyme erroné'); |
$info['message']['entete'] = array('num_nom', 'statut_introduction erroné'); |
$info['message']['lignes'] = $noms_erreur; |
} else { |
$info['resultat'] = true; |
2160,30 → 2208,30 |
} |
|
/** |
* Test #47 |
* Test #64 |
*/ |
private function testerHomonymieExistence() { |
$info = array('nom' => 'homonyme -> existence', |
'description' => "Si le champ homonyme contient «1» alors plusieurs noms doivent posséder la même valeur ". |
"dans le champ nom_sci.", |
private function testerStatutCultureSyntaxe() { |
$info = array('nom' => 'statut_culture -> syntaxe', |
'description' => "Le champ statut_culture peut contenir :\n". |
" - le symbole tiret «-» précédant une autre information non référencée...\n". |
" - une première lettre en majuscule indiquant le code standard attribué à ce taxon,\n". |
" - éventuellement suivie d'un tiret puis d'une deuxième lettre en majuscule indiquant ". |
"un code de présence spécifique au référentiel.", |
'resultat' => false); |
|
$noms_homonymie = $this->classerNomsParNomComplet(); |
|
// Réalisation du test |
$noms_erreur = array(); |
foreach ($this->noms as &$nom) { |
if ($nom['homonyme'] != '0' && $nom['homonyme'] != '') { |
if ($noms_homonymie[$nom['nom_sci']] <= 1) { |
$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci']); |
if ($nom['statut_culture'] != '') { |
if (!$this->verifierStatutCulture($nom['statut_culture'])) { |
$noms_erreur[] = array($nom['num_nom'], $nom['statut_culture']); |
} |
} |
} |
$noms_homonymie = null; |
|
// Analyse des résultats |
if (count($noms_erreur) > 0) { |
$info['message']['entete'] = array('num_nom', 'homonyme introuvable'); |
$info['message']['entete'] = array('num_nom', 'statut_culture erroné'); |
$info['message']['lignes'] = $noms_erreur; |
} else { |
$info['resultat'] = true; |
2206,7 → 2254,7 |
" - le chiffre 1", |
'resultat' => false); |
|
// Réalisation du test |
// Réalisation du testCe n'est pas programmé. |
$noms_erreur = array(); |
foreach ($this->noms as &$nom) { |
if ($nom['exclure_taxref'] != '' && $nom['exclure_taxref'] != null) { |