Subversion Repositories eFlore/Applications.cel

Rev

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

Rev Author Line No. Line
416 aurelien 1
<?php
850 aurelien 2
// ATTENTION ! Classe compatible uniquement avec nouveau format de bdd du cel //
887 aurelien 3
/**
4
* PHP Version 5
5
*
6
* @category  PHP
7
* @package   jrest
8
* @author    Aurélien Peronnet <aurelien@tela-botanica.org>
9
* @copyright 2010 Tela-Botanica
10
* @license   http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
11
* @version   SVN: <svn_id>
12
* @link      /doc/jrest/
13
*/
850 aurelien 14
 
754 aurelien 15
/**
887 aurelien 16
*
17
* Liste des utilisateurs du cel, par défaut les 50 premiers
18
* ou bien commencant par la chaine fournie en paramètre
19
*
20
* in=utf8
21
* out utf8
22
*
23
**/
754 aurelien 24
class InventoryUserList extends Cel {
416 aurelien 25
 
26
    function getElement($uid){
27
 
754 aurelien 28
        $this->controleUtilisateur($uid[0]);
416 aurelien 29
 
974 aurelien 30
        $requete_utilisateurs ='SELECT DISTINCT id_utilisateur, courriel FROM cel_utilisateurs' ;
754 aurelien 31
        $condition = $this->construireRequeteCondition($uid);
32
        $requete_utilisateurs .= $condition;
33
        $requete_utilisateurs .= ' LIMIT 0,50';
416 aurelien 34
 
754 aurelien 35
        $utilisateurs = $this->executerRequete($requete_utilisateurs);
416 aurelien 36
 
754 aurelien 37
    	$liste_utilisateurs = array();
887 aurelien 38
        if (!$utilisateurs) {
754 aurelien 39
 
40
        } else {
887 aurelien 41
        	foreach ($utilisateurs as $utilisateur) {
974 aurelien 42
        		$liste_utilisateurs[] = $utilisateur;
754 aurelien 43
        	}
44
        }
416 aurelien 45
 
754 aurelien 46
        usort($liste_utilisateurs,'trierUtilisateurs');
416 aurelien 47
 
754 aurelien 48
        $output = json_encode($liste_utilisateurs);
49
        print($output);
416 aurelien 50
 
754 aurelien 51
        return true;
416 aurelien 52
    }
754 aurelien 53
 
54
    private function construireRequeteCondition($params) {
55
 
56
    	$condition = '';
57
 
887 aurelien 58
    	if (isset($params[1]) && $params[1] != null && $params[1] != '*') {
850 aurelien 59
        	$condition .= ' WHERE courriel LIKE '.$this->proteger($params[1].'%');
754 aurelien 60
        }
61
 
62
        return $condition;
63
    }
416 aurelien 64
}
65
 
66
function trierUtilisateurs($val1, $val2) {
67
 
887 aurelien 68
        if (strstr($val1,'@')) {
416 aurelien 69
 
887 aurelien 70
            if (strstr($val2,'@')) {
416 aurelien 71
                return strcmp($val1,$val2);
72
            }
73
            else
74
            {
75
                return -1 ;
76
            }
77
        }
78
        else
79
        {
887 aurelien 80
            if (strstr($val2,'@')) {
416 aurelien 81
                return 1 ;
82
            }
83
            else
84
            {
85
                return strcmp($val1,$val2) ;
86
            }
87
        }
88
 
89
    }
90
 
91
 
92
/* +--Fin du code ---------------------------------------------------------------------------------------+
93
* $Log$
94
* Revision 1.3  2008-01-30 08:57:28  ddelon
95
* fin mise en place mygwt
96
*
97
* Revision 1.2  2007-05-22 12:54:09  ddelon
98
* Securisation acces utilisateur
99
*
100
*
101
*
102
*/
850 aurelien 103
?>