Subversion Repositories eFlore/Applications.cel

Rev

Rev 974 | Rev 1014 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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