3,6 → 3,8 |
/** |
* Modèle d'accès à la base de données des listes |
* d'ontologies |
* |
* @TODO factoriser les 40 000 fonctions qui diffèrent d'un poil de Q |
* |
* @package Framework |
* @category Class |
716,6 → 718,62 |
} |
|
/** |
* Renvoie toutes les infos disponibles associées à l'adresse email fournie, dans un annuaire donné |
* @param int $id_annuaire l'identifiant de l'annuaire |
* @param array $courriels un (et un seul pour l'instant) courriel |
* @return array un tableau associatif contenant les infos |
*/ |
public function obtenirMaximumInfosParCourriel($id_annuaire, $courriel) { |
$requete = 'SELECT * '. |
'FROM annu_annuaire '. |
'WHERE aa_id_annuaire = '.$id_annuaire.' '; |
|
$annuaire = $this->requeteUn($requete); |
if (!$annuaire) { |
return false; |
} |
|
$mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire); |
// on ne garde que les champs de mappage correspondant au champ de l'annuaire principal |
$mappage = $mappage[0]; |
|
$courriel = $this->proteger($courriel); |
$requete = 'SELECT *' |
. ' FROM ' . $annuaire['aa_bdd'] . '.' . $annuaire['aa_table'] |
. ' WHERE ' . $mappage['champ_mail'] . " = $courriel"; |
$resultat = $this->requeteUn($requete); |
|
if (!$resultat) { |
return false; |
} |
$infos = array(); |
foreach (array_keys($mappage) as $cle) { |
// j'ai honte d'écrire un truc pareil |
$infos[substr($cle, 6)] = $resultat[$mappage[$cle]]; |
} |
// pour certains champs (fonction par ex.) il n'y a pas de mappage |
// dans annu_triples : comment qu'on fait ? Ben on fait une dégueulasserie ! |
$mappagesALArrache = array( |
"fonction" => "U_FONCTION", |
"titre" => "U_TITLE", |
"site_web" => "U_WEB", |
"region" => "U_STATE" |
); |
foreach ($mappagesALArrache as $k => $v) { |
$infos[$k] = (empty($resultat[$v]) ? '' : $resultat[$v]); |
} |
// les mappages ne correspondent pas à l'héritage de eFlore chatin, comment |
// qu'on fait ? Quelle est la norme ? Ben on fait des trucs cracra redondants |
// pour assurer la rétrocompatibilité ! |
$infos['adresse01'] = $infos['adresse']; |
$infos['adresse02'] = $infos['adresse_comp']; |
$infos['courriel'] = $infos['mail']; |
$infos['mot_de_passe'] = $infos['pass']; |
|
return $infos; |
} |
|
/** |
* Renvoie les infos pour un utilisateur et un annuaire donné |
* @param int $id_annuaire l'identifiant de l'annuaire |
* @param array $id identifiant d'utilisateur |