Subversion Repositories Sites.obs-saisons.fr

Rev

Rev 270 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
207 aurelien 1
<?php
2
 
3
class OdsUtilisateur extends JRestService {
4
 
5
	/**
6
     * Méthode appelée avec une requête de type GET.
7
     *
8
     */
9
    function getElement($param = array()) {
10
 
210 aurelien 11
    	$chaine_utilisateur = $param[0];
12
 
230 aurelien 13
        $liste_utilisateurs = $this->getListeUtilisateur($chaine_utilisateur,0,20);
210 aurelien 14
    	$liste_utilisateurs_formatee = $this->formaterListeUtilisateursPourEnvoi($liste_utilisateurs);
15
 
16
        $this->envoyer($liste_utilisateurs_formatee);
207 aurelien 17
    }
210 aurelien 18
 
230 aurelien 19
    function getListeUtilisateurFormateeId() {
210 aurelien 20
 
230 aurelien 21
    	$liste_utilisateurs = $this->getListeUtilisateur('');
22
    	$liste_utilisateurs_formatee = $this->formaterListeUtilisateursParId($liste_utilisateurs);
23
 
24
    	return $liste_utilisateurs_formatee;
25
    }
26
 
27
    function getListeUtilisateur($pseudo, $start = false, $limite = false) {
28
 
210 aurelien 29
    	$requete_selection_liste = 'SELECT * '.
289 aurelien 30
    								'FROM drupal_users '.
210 aurelien 31
    								'WHERE name LIKE "'.$pseudo.'%" '.
246 aurelien 32
    								'ORDER BY uid ';
230 aurelien 33
 
34
 
35
   		if($start && $limite) {
36
   			$requete_selection_liste != 'LIMIT '.$start.', '.$limite;
37
   		}
210 aurelien 38
 
39
    	$liste_utilisateurs = $this->executerRequete($requete_selection_liste);
40
 
41
    	return $liste_utilisateurs;
42
    }
43
 
246 aurelien 44
    function getListeUtilisateurAvecInfosComplementairesFormateeId() {
45
 
46
    	$liste_utilisateurs = $this->getListeUtilisateur('');
47
    	$liste_utilisateurs_formatee = $this->formaterListeUtilisateursAvecInfosComplementairesParId($liste_utilisateurs);
48
 
49
    	return $liste_utilisateurs_formatee;
50
    }
51
 
52
   function formaterListeUtilisateursAvecInfosComplementairesParId($liste_utilisateurs) {
53
 
54
    	$liste_utilisateurs_formatee = array();
55
 
289 aurelien 56
    	$requete_infos_complementaires = 'SELECT * FROM drupal_profile_values '.
57
    								'LEFT JOIN drupal_profile_fields ON '.
58
    								'drupal_profile_fields.fid = drupal_profile_values.fid ';
246 aurelien 59
 
60
    	$liste_infos_complementaires = $this->executerRequete($requete_infos_complementaires);
61
    	$liste_infos_complementaires_formatee = array();
62
 
63
    	if(is_array($liste_infos_complementaires)) {
64
	    	foreach($liste_infos_complementaires as &$infos_complementaires) {
65
	    		$liste_infos_complementaires_formatee[$infos_complementaires['uid']][] = $infos_complementaires;
66
	    	}
67
    	}
250 aurelien 68
 
246 aurelien 69
    	if (is_array($liste_utilisateurs)) {
250 aurelien 70
	    	foreach ($liste_utilisateurs as $utilisateur) {
246 aurelien 71
	    		if (isset($liste_infos_complementaires_formatee[$utilisateur['uid']])) {
250 aurelien 72
	    			$liste_utilisateurs_formatee[$utilisateur['uid']] = $utilisateur;
73
	    			foreach ($liste_infos_complementaires_formatee[$utilisateur['uid']] as &$infos_complementaires_formatee_utilisateur) {
74
	    				$liste_utilisateurs_formatee[$utilisateur['uid']][$infos_complementaires_formatee_utilisateur['name']] = $infos_complementaires_formatee_utilisateur['value'];
75
	    			}
270 aurelien 76
	    		} else {
77
	    			$liste_utilisateurs_formatee[$utilisateur['uid']] = $utilisateur;
246 aurelien 78
	    		}
79
	    	}
250 aurelien 80
    	}
246 aurelien 81
    	return $liste_utilisateurs_formatee;
82
    }
83
 
230 aurelien 84
    function formaterListeUtilisateursParId($liste_utilisateurs) {
85
 
86
    	$liste_utilisateurs_formatee = array();
87
 
244 aurelien 88
    	if(is_array($liste_utilisateurs)) {
89
 
90
	    	foreach($liste_utilisateurs as $utilisateur) {
91
	    		$liste_utilisateurs_formatee[$utilisateur['uid']] = $utilisateur;
92
	    	}
230 aurelien 93
    	}
94
 
95
    	return $liste_utilisateurs_formatee;
96
    }
97
 
210 aurelien 98
    function formaterListeUtilisateursPourEnvoi($liste_utilisateurs) {
99
 
100
    	$liste_utilisateurs_formatee = array();
101
 
102
    	foreach($liste_utilisateurs as $utilisateur) {
103
    		$liste_utilisateurs_formatee[] = array('nom' => $utilisateur['name'], 'id' => $utilisateur['uid']);
104
    	}
105
 
106
    	return $liste_utilisateurs_formatee;
107
    }
207 aurelien 108
 
109
}
110
 
111
?>