| Line 835... |
Line 835... |
| 835 |
*/
|
835 |
*/
|
| 836 |
private function testerEpitheteSpSyntaxe() {
|
836 |
private function testerEpitheteSpSyntaxe() {
|
| 837 |
$noms_erreur = array();
|
837 |
$noms_erreur = array();
|
| 838 |
foreach ($this->noms as &$nom) {
|
838 |
foreach ($this->noms as &$nom) {
|
| 839 |
if ($nom['epithete_sp'] != '') {
|
839 |
if ($nom['epithete_sp'] != '') {
|
| - |
|
840 |
$formule_hybridite = (strpos($nom, ' x ') !== false);
|
| 840 |
$mots = explode(' ', $nom['epithete_sp']);
|
841 |
$mots = explode(' ', $nom['epithete_sp']);
|
| 841 |
foreach ($mots as $mot) {
|
842 |
foreach ($mots as $mot) {
|
| - |
|
843 |
// TODO: créer un test qui vérifie la formule d'hybridité en la reconstruisant à partir des parents
|
| - |
|
844 |
// afin que seuls des formules valides parviennent à la fonction
|
| - |
|
845 |
// TODO: verifier que l'épithete n'est pas subsp. var. etc... (faire une liste)
|
| 842 |
if (!(preg_match('/^[+x]$/', $mot) || $this->verifierEpitheteSp($mot))) {
|
846 |
if (!(preg_match('/^[+x]$/', $mot) || $this->verifierEpitheteSp($mot) || ($formule_hybridite && verifierEpitheteGenre($mot)))) {
|
| 843 |
$epithete_traite = $this->repererEspace($nom['epithete_sp']);
|
847 |
$epithete_traite = $this->repererEspace($nom['epithete_sp']);
|
| 844 |
$noms_erreur[] = array($nom['num_nom'], $epithete_traite, $nom['exclure_taxref']);
|
848 |
$noms_erreur[] = array($nom['num_nom'], $epithete_traite, $nom['exclure_taxref']);
|
| 845 |
break;
|
849 |
break;
|
| 846 |
}
|
850 |
}
|
| 847 |
}
|
851 |
}
|