Subversion Repositories Sites.obs-saisons.fr

Rev

Rev 250 | Go to most recent revision | 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 ods_redesign.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 ods_redesign.drupal_profile_values '.
                                                                'LEFT JOIN ods_redesign.drupal_profile_fields ON '.
                                                                'ods_redesign.drupal_profile_fields.fid = ods_redesign.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;
    }
        
}

?>