initialiserParametresVerif(); if ($this->colonne_num == 1 ) { $this->verifierColonne(); } elseif ($this->colonne_num == 2 ) { $this->verifierColonne(); } elseif ($this->colonne_num == 4 ) { $this->verifierNiveaux(); } } public function initialiserParametresVerif() { $this->niveaux = array('CLA','ALL','ORD','ASS','GRPT','SUBORD','SUBASS','BC','SUBCLA','DC','SUBALL'); $this->synonymes = array('incl','=','?','illeg','pp','pmaxp','pminp','compl','ambig','non','inval','nn','ined','fantom','correxit'); $this->motifs= $this->inverserTableau(array('/^[0-9]+$/' => 1, '/(?:[0-9]{2}\/$|[0-9]{2}\/[0-9]\.$|[0-9]{2}\/(?:[0-9]\.){1,5}[0-9]$|[0-9]{2}\/(?:[0-9]\.){4,5}[0-9]\/[0-9]+(?:bis|ter|quater){0,1}$)|incertae sedis/' => 2)); //présence de '=' , '= ?' et ',' dans les valeurs des paramètres. ne pas utiliser getParametresTableau. } //++---------------------------------traitements des colonnes baseveg------------------------------------++ /** * * verifie le champ niveau */ public function verifierNiveaux(){ if (preg_match("/^syn(.+)$/", $this->colonne_valeur, $retour) == 1) { $synonymes = explode(' ', trim($retour[1])); foreach($synonymes as $syn){ if (!in_array($syn, $this->synonymes)) { $this->noterErreur(); } } } elseif($this->colonne_valeur != '') { if (!in_array($this->colonne_valeur , $this->niveaux)) { $this->noterErreur(); } } } /** * * vérifie un motif sur la valeur entière d'une colonne par expression régulière * */ public function verifierColonne(){ $motif = $this->motifs[$this->colonne_num]; if (preg_match($motif, $this->colonne_valeur) == 0 && $this->verifierSiVide() == false){ $this->noterErreur(); } } /** * * vérifie si une colonne est vide ou non de valeurs * */ public function verifierSiVide(){ $vide = ($this->colonne_valeur == '') ? true : false; return $vide; } /*--------------------------------------------OUtils-------------------------------------------*/ //attention , dans les motifs !! private function inverserTableau($tableau) { $inverse = array(); foreach ($tableau as $cle => $valeurs) { $valeurs = explode(';', $valeurs); foreach ($valeurs as $valeur) { $inverse[$valeur] = $cle; } } return $inverse; } } ?>