314,24 → 314,31 |
if (is_numeric($auteurId)) { |
$masque = ' ce_utilisateur = '.$auteurId; |
} else { |
if (strpos($auteurId, '@') === false) { |
if (strpos($auteurId, '@') === false) { |
$tableauNomPrenom = explode(' ',$auteurId, 2); |
if(count($tableauNomPrenom) == 2) { |
// on teste potentiellement un nom prenom ou bien un prénom nom |
$masque = '('. |
'(nom LIKE '.$this->proteger($tableauNomPrenom[0].'%').' AND '. |
'prenom LIKE '.$this->proteger($tableauNomPrenom[1].'%').') OR '. |
'(nom LIKE '.$this->proteger($tableauNomPrenom[1].'%').' AND '. |
'prenom LIKE '.$this->proteger($tableauNomPrenom[0].'%').')'. |
')'; |
'(nom LIKE '.$this->proteger($tableauNomPrenom[0].'%').' AND '. |
'prenom LIKE '.$this->proteger($tableauNomPrenom[1].'%').') OR '. |
'(nom LIKE '.$this->proteger($tableauNomPrenom[1].'%').' AND '. |
'prenom LIKE '.$this->proteger($tableauNomPrenom[0].'%').') OR '. |
'(dob.nom_utilisateur LIKE '.$this->proteger($tableauNomPrenom[0].'%').' AND '. |
'dob.prenom_utilisateur LIKE '.$this->proteger($tableauNomPrenom[1].'%').') OR '. |
'(dob.nom_utilisateur LIKE '.$this->proteger($tableauNomPrenom[1].'%').' AND '. |
'dob.prenom_utilisateur LIKE '.$this->proteger($tableauNomPrenom[0].'%').') '. |
')'; |
} else { |
$masque = '( |
(nom LIKE '.$this->proteger($auteurId.'%').' OR '. |
'prenom LIKE '.$this->proteger($auteurId.'%').')'. |
')'; |
(nom LIKE '.$this->proteger($auteurId.'%').' OR '. |
'prenom LIKE '.$this->proteger($auteurId.'%').' OR '. |
'dob.nom_utilisateur LIKE '.$this->proteger($auteurId.'%').' OR '. |
'dob.prenom_utilisateur LIKE '.$this->proteger($auteurId.'%').')'. |
')'; |
} |
} else { |
$masque = " courriel LIKE ".$this->proteger($valeurMasque.'%')." "; |
$masque = " courriel LIKE ".$this->proteger($valeurMasque.'%'). |
" OR dob.courriel_utilisateur LIKE ".$this->proteger($valeurMasque.'%')." "; |
} |
} |
return $masque; |
424,7 → 431,12 |
* */ |
private function chargerLiaisons() { |
|
$requeteLiaisons = 'SELECT SQL_CALC_FOUND_ROWS dob.id_observation, nom_sel, famille, ce_zone_geo, zone_geo, lieudit, station, milieu, date_observation, dob.mots_cles_texte, date_transmission, di.id_image, dob.ce_utilisateur, prenom, nom, courriel, nom_original, dob.commentaire as dob_commentaire, dob.nt, dob.nom_sel_nn '. |
$requeteLiaisons = 'SELECT SQL_CALC_FOUND_ROWS dob.id_observation, nom_sel, famille, ce_zone_geo, zone_geo, lieudit, '. |
'station, milieu, date_observation, dob.mots_cles_texte, date_transmission, di.id_image, '. |
'dob.ce_utilisateur, prenom, nom, courriel, '. |
'dob.prenom_utilisateur, dob.nom_utilisateur, dob.courriel_utilisateur, '. |
'nom_original, dob.commentaire as dob_commentaire, '. |
'dob.nt, dob.nom_sel_nn '. |
'FROM '.$this->gestionBdd->formaterTable('del_observation', 'dob'). |
'LEFT JOIN del_utilisateur du '. |
'ON du.id_utilisateur = dob.ce_utilisateur '. |
459,6 → 471,11 |
foreach ($liaisons as $liaison) { |
$idObs = $liaison[$this->mappingObservation['id_observation']]; |
|
if($liaison['ce_utilisateur'] == 0) { |
$liaison['prenom'] = $liaison['prenom_utilisateur']; |
$liaison['nom'] = $liaison['nom_utilisateur']; |
} |
|
$observation = $this->formaterObservation($liaison); |
// attention, il est important que les index du tableau soient des chaines |
// de caractères pour que l'ordre d'insertion soit respecté lors de la lecture |