Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 423 Rev 754
1
<?php
1
<?php
2
// in utf8
2
// in utf8
3
// out utf8
3
// out utf8
4
 
-
 
5
// List des stations par utilisateur et par commune
-
 
6
 
-
 
7
Class InventoryUserList extends DBAccessor {
4
 
8
 
5
/**
9
 
6
 * 
10
    var $config;
-
 
11
    
7
 * Liste des utilisateurs du cel, par défaut les 50 premiers
12
    function InventoryUserList($config) {
8
 * ou bien commencant par la chaine fournie en paramètre
13
 
-
 
14
        $this->config=$config;
9
 * 
15
    }
-
 
-
 
10
 **/ 
16
    
11
class InventoryUserList extends Cel {
17
 
12
 
18
    function getElement($uid){
13
    function getElement($uid){
19
        
-
 
20
           // Controle detournement utilisateur 
14
        
21
            session_start();
15
        session_start();
22
           $this->controleUtilisateur($uid[0]);
-
 
23
 
-
 
24
            // uid[0] : utilisateur obligatoire        
-
 
25
            $DB=$this->connectDB($this->config,'database_cel');
-
 
26
             
-
 
27
            $value=array();
16
        $this->controleUtilisateur($uid[0]);
28
 
-
 
29
            $query='SELECT DISTINCT identifiant FROM cel_inventory' ;
17
 
30
            
18
        $requete_utilisateurs ='SELECT DISTINCT identifiant FROM cel_inventory' ;
31
            if(isset($uid[1]) && $uid[1] != null && $uid[1] != '*') {
19
        $condition = $this->construireRequeteCondition($uid); 
32
                $query .= ' WHERE identifiant LIKE "'.$DB->escapeSimple($uid[1]).'%"';
20
        $requete_utilisateurs .= $condition;
33
            } 
21
        $requete_utilisateurs .= ' LIMIT 0,50';
34
                            
-
 
35
            $res =& $DB->query($query);
22
                            
36
    
23
        $utilisateurs = $this->executerRequete($requete_utilisateurs);
37
                if (DB::isError($res)) {
24
    
38
                    die($res->getMessage());
25
    	$liste_utilisateurs = array();
39
                }
26
        if(!$utilisateurs) {
40
                
27
        	
41
                $i = 0;
28
        } else {
42
                while ($row =& $res->fetchrow(DB_FETCHMODE_ASSOC)) {
29
        	foreach($utilisateurs as $utilisateur) {
43
                    $value[$i] =$row['identifiant'];
30
        		$liste_utilisateurs[] = $utilisateur['identifiant'];
44
                    $i++;
31
        	}
45
                }
32
        }
-
 
33
                
-
 
34
        usort($liste_utilisateurs,'trierUtilisateurs');
-
 
35
            
-
 
36
        $output = json_encode($liste_utilisateurs);
-
 
37
        print($output);
-
 
38
                
-
 
39
        return true;    
-
 
40
    }
-
 
41
    
-
 
42
    private function construireRequeteCondition($params) {
-
 
43
    	
46
                
44
    	$condition = '';
47
                usort($value,'trierUtilisateurs');
45
    	
48
            
46
    	if(isset($params[1]) && $params[1] != null && $params[1] != '*') {
49
                $output = json_encode($value);
47
        	$condition .= ' WHERE identifiant LIKE '.$this->proteger($params[1].'%');
50
                print($output);
48
        } 
51
                
49
        
52
                return true;    
50
        return $condition;
53
    }
51
    }
54
}
52
}
55
 
53
 
56
function trierUtilisateurs($val1, $val2) {
54
function trierUtilisateurs($val1, $val2) {
57
        
55
        
58
        if(strstr($val1,'@')) {
56
        if(strstr($val1,'@')) {
59
            
57
            
60
            if(strstr($val2,'@')) { 
58
            if(strstr($val2,'@')) { 
61
                return strcmp($val1,$val2);
59
                return strcmp($val1,$val2);
62
            }
60
            }
63
            else
61
            else
64
            {
62
            {
65
                return -1 ;
63
                return -1 ;
66
            }
64
            }
67
        } 
65
        } 
68
        else
66
        else
69
        {
67
        {
70
            if(strstr($val2,'@')) { 
68
            if(strstr($val2,'@')) { 
71
                return 1 ;
69
                return 1 ;
72
            }
70
            }
73
            else
71
            else
74
            {
72
            {
75
                return strcmp($val1,$val2) ;
73
                return strcmp($val1,$val2) ;
76
            }
74
            }
77
        }
75
        }
78
        
76
        
79
    }
77
    }
80
 
78
 
81
 
79
 
82
/* +--Fin du code ---------------------------------------------------------------------------------------+
80
/* +--Fin du code ---------------------------------------------------------------------------------------+
83
* $Log$
81
* $Log$
84
* Revision 1.3  2008-01-30 08:57:28  ddelon
82
* Revision 1.3  2008-01-30 08:57:28  ddelon
85
* fin mise en place mygwt
83
* fin mise en place mygwt
86
*
84
*
87
* Revision 1.2  2007-05-22 12:54:09  ddelon
85
* Revision 1.2  2007-05-22 12:54:09  ddelon
88
* Securisation acces utilisateur
86
* Securisation acces utilisateur
89
*
87
*
90
*
88
*
91
* 
89
* 
92
*/
90
*/
93
 
91
 
94
 
92
 
95
?>
93
?>