Subversion Repositories Applications.annuaire

Rev

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

Rev 501 Rev 519
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 714... Line 716...
714
		}
716
		}
Line 715... Line 717...
715
 
717
 
Line 716... Line 718...
716
	}
718
	}
-
 
719
 
-
 
720
	/**
-
 
721
	 * Renvoie toutes les infos disponibles associées à l'adresse email fournie, dans un annuaire donné
-
 
722
	 * @param int $id_annuaire l'identifiant de l'annuaire
-
 
723
	 * @param array $courriels un (et un seul pour l'instant) courriel
-
 
724
	 * @return array un tableau associatif contenant les infos
-
 
725
	 */
-
 
726
	public function obtenirMaximumInfosParCourriel($id_annuaire, $courriel) {
-
 
727
		$requete = 	'SELECT * '.
-
 
728
			'FROM annu_annuaire '.
-
 
729
			'WHERE aa_id_annuaire = '.$id_annuaire.' ';
-
 
730
 
-
 
731
		$annuaire = $this->requeteUn($requete);
-
 
732
		if (!$annuaire) {
-
 
733
			return false;
-
 
734
		}
-
 
735
 
-
 
736
		$mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
-
 
737
		// on ne garde que les champs de mappage correspondant au champ de l'annuaire principal
-
 
738
		$mappage = $mappage[0];
-
 
739
 
-
 
740
		$courriel = $this->proteger($courriel);
-
 
741
		$requete = 'SELECT *'
-
 
742
			. ' FROM ' . $annuaire['aa_bdd'] . '.' . $annuaire['aa_table']
-
 
743
			. ' WHERE ' . $mappage['champ_mail'] . " = $courriel";
-
 
744
		$resultat = $this->requeteUn($requete);
-
 
745
 
-
 
746
		if (!$resultat) {
-
 
747
			return false;
-
 
748
		}
-
 
749
		$infos = array();
-
 
750
		foreach (array_keys($mappage) as $cle) {
-
 
751
			// j'ai honte d'écrire un truc pareil
-
 
752
			$infos[substr($cle, 6)] = $resultat[$mappage[$cle]];
-
 
753
		}
-
 
754
		// pour certains champs (fonction par ex.) il n'y a pas de mappage
-
 
755
		// dans annu_triples : comment qu'on fait ? Ben on fait une dégueulasserie !
-
 
756
		$mappagesALArrache = array(
-
 
757
			"fonction" => "U_FONCTION",
-
 
758
			"titre" => "U_TITLE",
-
 
759
			"site_web" => "U_WEB",
-
 
760
			"region" => "U_STATE"
-
 
761
		);
-
 
762
		foreach ($mappagesALArrache as $k => $v) {
-
 
763
			$infos[$k] = (empty($resultat[$v]) ? '' : $resultat[$v]);
-
 
764
		}
-
 
765
		// les mappages ne correspondent pas à l'héritage de eFlore chatin, comment
-
 
766
		// qu'on fait ? Quelle est la norme ? Ben on fait des trucs cracra redondants
-
 
767
		// pour assurer la rétrocompatibilité !
-
 
768
		$infos['adresse01'] = $infos['adresse'];
-
 
769
		$infos['adresse02'] = $infos['adresse_comp'];
-
 
770
		$infos['courriel'] = $infos['mail'];
-
 
771
		$infos['mot_de_passe'] = $infos['pass'];
-
 
772
		
-
 
773
		return $infos;
-
 
774
	}
717
 
775
 
718
	/**
776
	/**
719
	 * Renvoie les infos pour un utilisateur et un annuaire donné
777
	 * Renvoie les infos pour un utilisateur et un annuaire donné
720
	 * @param int $id_annuaire l'identifiant de l'annuaire
778
	 * @param int $id_annuaire l'identifiant de l'annuaire
721
	 * @param array $id identifiant d'utilisateur
779
	 * @param array $id identifiant d'utilisateur