/branches/v1.3-balance/controleurs/AppControleur.php |
---|
1,4 → 1,4 |
<? |
<?php |
/** |
* PHP Version 5 |
* |
18,6 → 18,7 |
* @author aurelien |
* |
*/ |
abstract class AppControleur extends Controleur { |
/** |
/branches/v1.3-balance/jrest/services/Utilisateur.php |
---|
80,9 → 80,10 |
} |
/** |
* Permet d'obtenir des infos pour un id utilisateur indiqué dans la ressource. |
* RESSOURCE : /utilisateur/#id |
* PARAMÈTRES : aucun |
* Permet d'obtenir des infos pour un ou plusieurs ids utilisateurs indiqué(s) dans la ressource. |
* RESSOURCE : /infos-par-ids/#id[,#id]* |
* PARAMÈTRES : forceArrayOfArrays - si true, retourne un tableau associatif même s'il n'y a qu'un |
* résultat (casse la rétrocompatibilté) |
* 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 |
92,17 → 93,38 |
* - nom : nom de famille. |
* - courriel : courriel |
*/ |
public function getInfosParId($id_utilisateur) { |
$infos = $this->getAnnuaire()->obtenirInfosUtilisateurParId($this->idAnnuaire, $id_utilisateur); |
public function getInfosParIds($ids_utilisateurs, $forceArrayOfArrays = false) { |
$ids_utilisateurs = explode(',', $ids_utilisateurs); |
if (count($ids_utilisateurs) == 1) { |
// s'il n'y en a qu'un on ne passe pas un array |
$ids_utilisateurs = array_shift($ids_utilisateurs); |
} |
$infos = $this->getAnnuaire()->obtenirInfosUtilisateurParId($this->idAnnuaire, $ids_utilisateurs); |
foreach ($infos as $i => $info) { |
$infos[$i]['pseudoUtilise'] = $this->obtenirPseudoUtilise($info['id']); |
$infos[$i]['pseudo'] = $this->obtenirPseudo($info['id']); |
$infos[$i]['intitule'] = $this->formaterIntitule($infos[$i]); |
} |
$infos['pseudoUtilise'] = $this->obtenirPseudoUtilise($id_utilisateur); |
$infos['pseudo'] = $this->obtenirPseudo($id_utilisateur); |
$infos['intitule'] = $this->formaterIntitule($infos); |
// retrocompatibilité |
if (count($infos) == 1 && (! $forceArrayOfArrays)) { |
$infos = array_shift($infos); |
} |
return $infos; |
} |
/** |
* Méthode rétrocompatible : appelle getInfosParIds et s'il n'y a qu'un résultat, |
* ne retourne pas un tableau associatif mais un tableau simple |
* @return array |
*/ |
public function getInfosParId($ids_utilisateurs) { |
return $this->getInfosParIds($ids_utilisateurs, true); |
} |
/** |
* 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 |
/branches/v1.3-balance/modeles/AnnuaireModele.php |
---|
782,15 → 782,20 |
} |
/** |
* Renvoie les infos pour un utilisateur et un annuaire donné |
* Renvoie les infos pour un ou plusieurs utilisateurs, et un annuaire donné |
* @param int $id_annuaire l'identifiant de l'annuaire |
* @param array $id identifiant d'utilisateur |
* @param mixed $ids_utilisateurs String un identifiant d'utilisateur ou Array un tableau d'identifiants |
* @return array un tableau. |
*/ |
public function obtenirInfosUtilisateurParId($id_annuaire, $id_utilisateur) { |
public function obtenirInfosUtilisateurParId($id_annuaire, $ids_utilisateurs) { |
$plusieurs = false; |
if (is_array($ids_utilisateurs)) { |
$plusieurs = true; |
$ids_utilisateurs = implode(',', $ids_utilisateurs); |
} |
$requete = 'SELECT * '. |
'FROM annu_annuaire '. |
'WHERE aa_id_annuaire = '.$id_annuaire.' '; |
'WHERE aa_id_annuaire = '.$id_annuaire; |
$annuaire = $this->requeteUn($requete); |
if (!$annuaire) { |
797,22 → 802,27 |
return false; |
} |
$mappageInfos = $this->obtenirChampsMappageAnnuaire($id_annuaire, $id_utilisateur); |
$mappageInfos = $this->obtenirChampsMappageAnnuaire($id_annuaire); |
// 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); |
'WHERE '.$mappage['champ_id']; |
if ($plusieurs) { |
$requete .= ' IN (' . $ids_utilisateurs . ')'; |
} else { |
$requete .= ' = ' . $ids_utilisateurs; |
} |
$resultats = $this->requeteTous($requete); |
$infos = false; |
if ($resultat) { |
foreach ($resultats as $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); |
$infos[$id] = array('id' => $id, 'prenom' => $prenom, 'nom' => $nom, 'courriel' => $courriel); |
} |
return $infos; |
} |
/branches/v1.3-balance/. |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk:r525 |