Rev 270 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php
class OdsUtilisateur extends JRestService {
/**
* Méthode appelée avec une requête de type GET.
*
*/
function getElement($param = array()) {
$chaine_utilisateur = $param[0];
$liste_utilisateurs = $this->getListeUtilisateur($chaine_utilisateur,0,20);
$liste_utilisateurs_formatee = $this->formaterListeUtilisateursPourEnvoi($liste_utilisateurs);
$this->envoyer($liste_utilisateurs_formatee);
}
function getListeUtilisateurFormateeId() {
$liste_utilisateurs = $this->getListeUtilisateur('');
$liste_utilisateurs_formatee = $this->formaterListeUtilisateursParId($liste_utilisateurs);
return $liste_utilisateurs_formatee;
}
function getListeUtilisateur($pseudo, $start = false, $limite = false) {
$requete_selection_liste = 'SELECT * '.
'FROM drupal_users '.
'WHERE name LIKE "'.$pseudo.'%" '.
'ORDER BY uid ';
if($start && $limite) {
$requete_selection_liste != 'LIMIT '.$start.', '.$limite;
}
$liste_utilisateurs = $this->executerRequete($requete_selection_liste);
return $liste_utilisateurs;
}
function getListeUtilisateurAvecInfosComplementairesFormateeId() {
$liste_utilisateurs = $this->getListeUtilisateur('');
$liste_utilisateurs_formatee = $this->formaterListeUtilisateursAvecInfosComplementairesParId($liste_utilisateurs);
return $liste_utilisateurs_formatee;
}
function formaterListeUtilisateursAvecInfosComplementairesParId($liste_utilisateurs) {
$liste_utilisateurs_formatee = array();
$requete_infos_complementaires = 'SELECT * FROM drupal_profile_values '.
'LEFT JOIN drupal_profile_fields ON '.
'drupal_profile_fields.fid = drupal_profile_values.fid ';
$liste_infos_complementaires = $this->executerRequete($requete_infos_complementaires);
$liste_infos_complementaires_formatee = array();
if(is_array($liste_infos_complementaires)) {
foreach($liste_infos_complementaires as &$infos_complementaires) {
$liste_infos_complementaires_formatee[$infos_complementaires['uid']][] = $infos_complementaires;
}
}
if (is_array($liste_utilisateurs)) {
foreach ($liste_utilisateurs as $utilisateur) {
if (isset($liste_infos_complementaires_formatee[$utilisateur['uid']])) {
$liste_utilisateurs_formatee[$utilisateur['uid']] = $utilisateur;
foreach ($liste_infos_complementaires_formatee[$utilisateur['uid']] as &$infos_complementaires_formatee_utilisateur) {
$liste_utilisateurs_formatee[$utilisateur['uid']][$infos_complementaires_formatee_utilisateur['name']] = $infos_complementaires_formatee_utilisateur['value'];
}
} else {
$liste_utilisateurs_formatee[$utilisateur['uid']] = $utilisateur;
}
}
}
return $liste_utilisateurs_formatee;
}
function formaterListeUtilisateursParId($liste_utilisateurs) {
$liste_utilisateurs_formatee = array();
if(is_array($liste_utilisateurs)) {
foreach($liste_utilisateurs as $utilisateur) {
$liste_utilisateurs_formatee[$utilisateur['uid']] = $utilisateur;
}
}
return $liste_utilisateurs_formatee;
}
function formaterListeUtilisateursPourEnvoi($liste_utilisateurs) {
$liste_utilisateurs_formatee = array();
foreach($liste_utilisateurs as $utilisateur) {
$liste_utilisateurs_formatee[] = array('nom' => $utilisateur['name'], 'id' => $utilisateur['uid']);
}
return $liste_utilisateurs_formatee;
}
}
?>