35,7 → 35,7 |
private $referentielDao = null; |
|
public function executer() { |
$this->manuel = parse_ini_file(Config::get('chemin_appli').DS.'..'.DS.'configurations'.DS.'referentiel_v4.1.ini'); |
$this->manuel = parse_ini_file(Config::get('chemin_appli').DS.'..'.DS.'configurations'.DS.'referentiel_v4.2.ini'); |
$this->definirConstantes(); |
$this->tests = parse_ini_file($this->getModuleChemin().DS.'configurations'.DS.'tests.ini', true); |
|
549,8 → 549,12 |
if ($nom['rang'] == $this->manuel['rang_sp']) { |
$suffixe_plte_cultivee = $this->construireSuffixeNomPltCultivee($nom); |
$nom_sci_ideal = $this->formaterStyleNomGenre($nom['genre']); |
$nom_sci_ideal .= ' '.utf8_encode(strtolower(utf8_decode($nom['epithete_sp']))); |
$nom_sci_ideal .= (preg_match('/^(.+)\s+([x+])\s+(.+)$/i', $nom['epithete_sp'], $match) != '' ? |
' '.utf8_encode(ucfirst(strtolower(utf8_decode($match[1])))).' '.utf8_encode(strtolower(utf8_decode($match[2]))). |
' '.utf8_encode(ucfirst(strtolower(utf8_decode($match[3])))) : |
' '.utf8_encode(strtolower(utf8_decode($nom['epithete_sp'])))); |
$nom_sci_ideal .= ($suffixe_plte_cultivee != '' ? ' '.$suffixe_plte_cultivee : ''); |
$nom_sci_ideal = trim($nom_sci_ideal); |
if ($nom['nom_sci'] != $nom_sci_ideal) { |
$nom_sci_traite = $this->repererEspace($nom['nom_sci']); |
$noms_erreur[] = array($nom['num_nom'], $nom_sci_traite, $nom_sci_ideal, $nom['exclure_taxref']); |
571,8 → 575,12 |
$nom_sci_ideal = $this->formaterStyleNomGenre($nom['genre']); |
$nom_sci_ideal .= ' '.utf8_encode(strtolower(utf8_decode($nom['epithete_sp']))); |
$nom_sci_ideal .= ' '.utf8_encode(strtolower(utf8_decode($nom['type_epithete']))); |
$nom_sci_ideal .= ' '.utf8_encode(strtolower(utf8_decode($nom['epithete_infra_sp']))); |
$nom_sci_ideal .= (preg_match('/^(.+)\s+([x+])\s+(.+)$/i', $nom['epithete_infra_sp'], $match) != '' ? |
' '.utf8_encode(ucfirst(strtolower(utf8_decode($match[1])))).' '.utf8_encode(strtolower(utf8_decode($match[2]))). |
' '.utf8_encode(ucfirst(strtolower(utf8_decode($match[3])))) : |
' '.utf8_encode(strtolower(utf8_decode($nom['epithete_infra_sp'])))); |
$nom_sci_ideal .= ($suffixe_plte_cultivee != '' ? ' '.$suffixe_plte_cultivee : ''); |
$nom_sci_ideal = trim($nom_sci_ideal); |
if ($nom['nom_sci'] != $nom_sci_ideal) { |
$nom_sci_traite = $this->repererEspace($nom['nom_sci']); |
$noms_erreur[] = array($nom['num_nom'], $nom_sci_traite, $nom_sci_ideal, $nom['exclure_taxref']); |
657,6 → 665,7 |
if (!(preg_match('/^[+x]$/', $mot) || $this->verifierEpitheteGenre($mot))) { |
$nom_traite = $this->repererEspace($nom['genre']); |
$noms_erreur[] = array($nom['num_nom'], $nom_traite, $nom['exclure_taxref']); |
break; |
} |
} |
} |
754,6 → 763,7 |
if (!(preg_match('/^[+x]$/', $mot) || $this->verifierEpitheteSp($mot))) { |
$epithete_traite = $this->repererEspace($nom['epithete_sp']); |
$noms_erreur[] = array($nom['num_nom'], $epithete_traite, $nom['exclure_taxref']); |
break; |
} |
} |
} |
846,16 → 856,13 |
foreach ($this->noms as &$nom) { |
if ($nom['epithete_infra_sp'] != '') { |
$mots = explode(' ', $nom['epithete_infra_sp']); |
$erreur = false; |
foreach ($mots as $mot) { |
if (!(preg_match('/^[+x]$/', $mot) || $this->verifierTypeEpithete($mot)|| $this->verifierEpitheteSp($mot))) { |
$erreur = true; |
$epithete_traite = $this->repererEspace($nom['epithete_infra_sp']); |
$noms_erreur[] = array($nom['num_nom'], $epithete_traite, $nom['exclure_taxref']); |
break; |
} |
} |
if ($erreur == true) { |
$epithete_traite = $this->repererEspace($nom['epithete_infra_sp']); |
$noms_erreur[] = array($nom['num_nom'], $epithete_traite, $nom['exclure_taxref']); |
} |
} |
} |
return $noms_erreur; |
1544,6 → 1551,9 |
$genre_fmt = ''; |
if (preg_match('/^\s*([x+])\s+(.+)$/i', $genre, $match)) { |
$genre_fmt = utf8_encode(strtolower(utf8_decode($match[1]))).' '.utf8_encode(ucfirst(strtolower(utf8_decode($match[2])))); |
} elseif (preg_match('/^(.+)\s+([x+])\s+(.+)$/i', $genre, $match)) { |
$genre_fmt = utf8_encode(ucfirst(strtolower(utf8_decode($match[1])))).' '. |
utf8_encode(strtolower(utf8_decode($match[2]))).' '.utf8_encode(ucfirst(strtolower(utf8_decode($match[3])))); |
} else { |
$genre_fmt = utf8_encode(ucfirst(strtolower(utf8_decode($genre)))); |
} |