Subversion Repositories eFlore/Applications.eflore-consultation

Compare Revisions

Ignore whitespace Rev 922 → Rev 923

/trunk/modules/resultat/formateurs/nom_scientifique/DeterminationFormateur.php
148,10 → 148,10
if ($valeurs['nom_retenu.libelle'] == null) {//sans correspondances
$sansCorres[$cle] = $valeurs['nom_sci_complet'];
} elseif ($valeurs['retenu'] == 'true') { // retenus
if (preg_match('/ x |x /',$valeurs['nom_sci'] ) ) {
if (preg_match('/ x |^x /',$valeurs['nom_sci'] ) ) {
//hybrides
$retenus[2][$cle] = $this->retournerInfosNomRetenu($cle,$valeurs['nom_sci_complet'], $valeurs['rang.libelle']);
} elseif (preg_match('/^'.strtolower($this->parametres->masqueRecherche).' |^'.strtolower($this->parametres->masqueRecherche).'$/', strtolower($valeurs['nom_sci']) ) ) {
} elseif (strripos($valeurs['nom_sci_complet'], $this->parametres->masqueRecherche) === 0) {//preg_match('/^'.strtolower($this->parametres->masqueRecherche).' |^'.strtolower($this->parametres->masqueRecherche).'$/', strtolower($valeurs['nom_sci']) ) ) {
//commence par
$retenus[0][$cle] = $this->retournerInfosNomRetenu($cle,$valeurs['nom_sci_complet'], $valeurs['rang.libelle']);
} else {
160,8 → 160,8
}
} else {//synonymes
$idNomRetenu = $valeurs['nom_retenu.id'];
if (preg_match('/'.strtolower($this->parametres->masqueRecherche).'/', strtolower($valeurs['nom_retenu.libelle'])) == 0) {
//synonymes dont le nom retenu ne contient pas la requête
if (in_array($valeurs['nom_retenu.id'], array_keys($this->noms)) == false) {
//synonymes dont le nom retenu n'est pas un résultat de recherche
$retenus[1][$idNomRetenu] = $this->retournerInfosNomRetenu($cle,$valeurs['nom_retenu_complet'], $valeurs['rang.libelle']);
$this->infosPourTpl['taxons'][$idNomRetenu] = $valeurs['num_taxonomique']; //num taxon pour images coste
}
189,7 → 189,7
return $infos;
}
public function trier() {
if ($this->donnerNombreResultatRetenus() <= 3) { // classement par score
/*if (count($this->infosPourTpl['noms']) <= 1) { // classement par score
$nomsRetenus = array();
foreach ($this->infosPourTpl['noms'] as $categorie) { //ote la division des retenus
$nomsRetenus += $categorie;
201,6 → 201,7
$this->infosPourTpl['nomsSansCorrespondance'] =
$this->classerAlphabetiquement('nomSciRetenu', $this->infosPourTpl['nomsSansCorrespondance'] );
} else { // classement alphabétique
*/
$nomsRetenus = array();
foreach ($this->infosPourTpl['noms'] as $categorie => $valeurs ) { //classement alpha par groupes
$nomsRetenus += $this->classerAlphabetiquement('nomSciRetenu', $valeurs);
207,19 → 208,9
}
$this->infosPourTpl['noms'] = $nomsRetenus;
$this->infosPourTpl['nomsSansCorrespondance'] =
$this->classerAlphabetiquement('nomSciRetenu', $this->infosPourTpl['nomsSansCorrespondance'] );
}
$this->classerAlphabetiquement('nomSciRetenu', $this->infosPourTpl['nomsSansCorrespondance'] );
//}
}
private function donnerNombreResultatRetenus() {
$nbre = 0;
foreach ($this->infosPourTpl['noms'] as $lignes) {
$nbre += count($lignes);
if ($nbre >= 3 ) {
break;
}
}
return $nbre;
}
private function ajouterAuxNomsScoreSimilariteAvec($masque) {
$nom_demande_ss = strtolower($this->manipulateurDeChaine->supprimerAccents($masque));