Subversion Repositories Applications.annuaire

Compare Revisions

Regard whitespace Rev 449 → Rev 454

/trunk/jrest/services/Utilisateur.php
32,6 → 32,12
$infos = null;
 
if (isset($this->ressources[0])) {
if (preg_match('/^[0-9]+$/', $this->ressources[0])) {
// ATTENTION : Ces web services ne doivent être accessible que depuis des applis installées sur nos serveurs
// pour les communications inter-serveurs.
$this->controlerIpAutorisees();
$infos = $this->getInfosParId($this->ressources[0]);
} else {
$methode_demande = array_shift($this->ressources);
$methode = $this->traiterNomMethodeGet($methode_demande);
if (method_exists($this, $methode)) {
39,6 → 45,7
} else {
$this->messages[] = "Ce type de ressource '$methode_demande' n'est pas disponible pour la requete GET.";
}
}
} else {
$this->messages[] = "Le premier paramêtre du chemin du service doit correspondre au type de ressource demandée.";
}
51,7 → 58,57
}
}
 
 
/**
* Permet d'obtenir des infos pour un id utilisateur indiqué dans la ressource.
* RESSOURCE : /utilisateur/#id
* PARAMÊTRES : aucun
* RÉPONSE : Tableau possédant un courriel de la ressource en clé et en valeur :
* - id : identifiant numérique de l'utilisateur
* - pseudoUtilise : indique si on doit utiliser le pseudo à la place de Prénom NOM
* - pseudo : pseudo de l'utilisateur.
* - intitule : l'intitulé à affiche (choix auto entre "pseudo" et "prénom nom")
* - prenom : prénom
* - nom : nom de famille.
* - courriel : courriel
*/
public function getInfosParId($id_utilisateur) {
$infos = $this->getAnnuaire()->obtenirInfosUtilisateurParId($this->idAnnuaire, $id_utilisateur);
 
$infos['pseudoUtilise'] = $this->obtenirPseudoUtilise($id_utilisateur);
$infos['pseudo'] = $this->obtenirPseudo($id_utilisateur);
$infos['intitule'] = $this->formaterIntitule($infos);
 
return $infos;
}
 
/**
* Permet d'obtenir l'identité pour un id utilisateur indiqué dans la ressource.
* RESSOURCE : /utilisateur/#id
* PARAMÊTRES : aucun
* RÉPONSE : Tableau possédant un courriel de la ressource en clé et en valeur :
* - id : identifiant numérique de l'utilisateur
* - pseudoUtilise : indique si on doit utiliser le pseudo à la place de Prénom NOM
* - pseudo : pseudo de l'utilisateur.
* - intitule : l'intitulé à affiche (choix auto entre "pseudo" et "prénom nom")
* - prenom : prénom
* - nom : nom de famille.
* - courriel : courriel
*/
public function getIdentiteParId() {
$infos_utilisateurs = array();
$utilisateurs = $this->getPrenomNomParCourriel();
foreach ($utilisateurs as $courriel => $utilisateur) {
$id = $utilisateur['id'];
$utilisateur['pseudo'] = $this->obtenirPseudo($id);
$utilisateur['pseudoUtilise'] = $this->obtenirPseudoUtilise($id);
$utilisateur['intitule'] = $this->formaterIntitule($utilisateur);
$infos_utilisateurs[$courriel] = $utilisateur;
}
return $infos_utilisateurs;
}
 
/**
* Permet d'obtenir les prénoms et noms des courriels des utilisateurs indiqués dans la ressource.
* RESSOURCE : /utilisateur/prenom-nom-par-courriel/[courriel,courriel,...]
* PARAMÊTRES : aucun
79,6 → 136,7
* - id : identifiant numérique de l'utilisateur
* - pseudoUtilise : indique si on doit utiliser le pseudo à la place de Prénom NOM
* - pseudo : pseudo de l'utilisateur.
* - intitule : l'intitulé à affiche (choix auto entre "pseudo" et "prénom nom")
* - prenom : prénom
* - nom : nom de famille.
*/
/trunk/jrest/jrest.ini.defaut.php
45,4 → 45,6
; ADMIN
[jrest_admin]
admin = aurelien@tela-botanica.org,david.delon@clapas.net,jpm@tela-botanica.org,marie@tela-botanica.org
; Liste des ips (nom de domaine) autorisés à accéder aux services de DEL
ip_autorisees = "127.0.0.1, 193.54.123.169, 193.54.123.216, 162.38.234.6"
;*/?>
/trunk/modeles/AnnuaireModele.php
685,7 → 685,7
 
/**
* Renvoie le nom et prénom associé au mail d'un utilisateur dans un annuaire donné
* @param int $id_annuair l'identifiant de l'annuaire
* @param int $id_annuaire l'identifiant de l'annuaire
* @param array $courriels un tableau de courriel d'utilisateur
* @return array un tableau contenant en clé le courriel et en valeur un tableau avec le prénom dans le champ 'prenom' et le nom dans le champ 'nom'.
*/
728,6 → 728,42
 
}
 
/**
* 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
* @return array un tableau.
*/
public function obtenirInfosUtilisateurParId($id_annuaire, $id_utilisateur) {
$requete = 'SELECT * '.
'FROM annu_annuaire '.
'WHERE aa_id_annuaire = '.$id_annuaire.' ';
 
$annuaire = $this->requeteUn($requete);
if (!$annuaire) {
return false;
}
 
$mappageInfos = $this->obtenirChampsMappageAnnuaire($id_annuaire, $id_utilisateur);
// on ne garde que les champs de mappage correspondant au champ de l'annuaire principal
$mappage = $mappageInfos[0];
$requete = 'SELECT '.$mappage['champ_id'].', '.$mappage['champ_mail'].', '.$mappage['champ_prenom'].', '.$mappage['champ_nom'].' '.
'FROM '.$annuaire['aa_bdd'].'.'.$annuaire['aa_table'].' '.
'WHERE '.$mappage['champ_id'].' = '.$id_utilisateur.' ';
$resultat = $this->requeteUn($requete);
 
$infos = false;
if ($resultat) {
$id = $resultat[$mappage['champ_id']];
$prenom = AppControleur::formaterMotPremiereLettreChaqueMotEnMajuscule($resultat[$mappage['champ_prenom']]);
$nom = AppControleur::formaterMotEnMajuscule($resultat[$mappage['champ_nom']]);
$courriel = $resultat[$mappage['champ_mail']];
 
$infos = array('id' => $id, 'prenom' => $prenom, 'nom' => $nom, 'courriel' => $courriel);
}
return $infos;
}
 
// TODO: commenter
public function comparerIdentifiantMotDePasse($id_annuaire, $id_utilisateur, $mot_de_passe) {
$requete_infos_annuaire = 'SELECT * '.