Subversion Repositories Applications.referentiel

Rev

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

Rev 250 Rev 252
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
				}