Subversion Repositories Applications.annuaire

Rev

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

Rev 500 Rev 522
Line 1... Line 1...
1
<?php
1
<?php
2
// declare(encoding='UTF-8');
2
// declare(encoding='UTF-8');
3
/**
3
/**
4
 * Modèle d'accès à la base de données des listes
4
 * Modèle d'accès à la base de données des listes
5
 * d'ontologies
5
 * d'ontologies
-
 
6
 * 
-
 
7
 * @TODO factoriser les 40 000 fonctions qui diffèrent d'un poil de Q
6
 *
8
 *
7
 * @package   Framework
9
 * @package   Framework
8
 * @category  Class
10
 * @category  Class
9
 * @author	aurelien <aurelien@tela-botanica.org>
11
 * @author	aurelien <aurelien@tela-botanica.org>
10
 * @copyright 2009 Tela-Botanica
12
 * @copyright 2009 Tela-Botanica
Line 722... Line 724...
722
		}
724
		}
Line 723... Line 725...
723
 
725
 
Line 724... Line 726...
724
	}
726
	}
-
 
727
 
-
 
728
	/**
-
 
729
	 * Renvoie toutes les infos disponibles associées à l'adresse email fournie, dans un annuaire donné
-
 
730
	 * @param int $id_annuaire l'identifiant de l'annuaire
-
 
731
	 * @param array $courriels un (et un seul pour l'instant) courriel
-
 
732
	 * @return array un tableau associatif contenant les infos
-
 
733
	 */
-
 
734
	public function obtenirMaximumInfosParCourriel($id_annuaire, $courriel) {
-
 
735
		$requete = 	'SELECT * '.
-
 
736
			'FROM annu_annuaire '.
-
 
737
			'WHERE aa_id_annuaire = '.$id_annuaire.' ';
-
 
738
 
-
 
739
		$annuaire = $this->requeteUn($requete);
-
 
740
		if (!$annuaire) {
-
 
741
			return false;
-
 
742
		}
-
 
743
 
-
 
744
		$mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
-
 
745
		// on ne garde que les champs de mappage correspondant au champ de l'annuaire principal
-
 
746
		$mappage = $mappage[0];
-
 
747
 
-
 
748
		$courriel = $this->proteger($courriel);
-
 
749
		$requete = 'SELECT *'
-
 
750
			. ' FROM ' . $annuaire['aa_bdd'] . '.' . $annuaire['aa_table']
-
 
751
			. ' WHERE ' . $mappage['champ_mail'] . " = $courriel";
-
 
752
		$resultat = $this->requeteUn($requete);
-
 
753
 
-
 
754
		if (!$resultat) {
-
 
755
			return false;
-
 
756
		}
-
 
757
		$infos = array();
-
 
758
		foreach (array_keys($mappage) as $cle) {
-
 
759
			// j'ai honte d'écrire un truc pareil
-
 
760
			$infos[substr($cle, 6)] = $resultat[$mappage[$cle]];
-
 
761
		}
-
 
762
		// pour certains champs (fonction par ex.) il n'y a pas de mappage
-
 
763
		// dans annu_triples : comment qu'on fait ? Ben on fait une dégueulasserie !
-
 
764
		$mappagesALArrache = array(
-
 
765
			"fonction" => "U_FONCTION",
-
 
766
			"titre" => "U_TITLE",
-
 
767
			"site_web" => "U_WEB",
-
 
768
			"region" => "U_STATE"
-
 
769
		);
-
 
770
		foreach ($mappagesALArrache as $k => $v) {
-
 
771
			$infos[$k] = (empty($resultat[$v]) ? '' : $resultat[$v]);
-
 
772
		}
-
 
773
		// les mappages ne correspondent pas à l'héritage de eFlore chatin, comment
-
 
774
		// qu'on fait ? Quelle est la norme ? Ben on fait des trucs cracra redondants
-
 
775
		// pour assurer la rétrocompatibilité !
-
 
776
		$infos['adresse01'] = $infos['adresse'];
-
 
777
		$infos['adresse02'] = $infos['adresse_comp'];
-
 
778
		$infos['courriel'] = $infos['mail'];
-
 
779
		$infos['mot_de_passe'] = $infos['pass'];
-
 
780
		
-
 
781
		return $infos;
-
 
782
	}
725
 
783
 
726
	/**
784
	/**
727
	 * Renvoie les infos pour un utilisateur et un annuaire donné
785
	 * Renvoie les infos pour un utilisateur et un annuaire donné
728
	 * @param int $id_annuaire l'identifiant de l'annuaire
786
	 * @param int $id_annuaire l'identifiant de l'annuaire
729
	 * @param array $id identifiant d'utilisateur
787
	 * @param array $id identifiant d'utilisateur