Subversion Repositories eFlore/Applications.cel

Rev

Rev 887 | Rev 996 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?php
// ATTENTION ! Classe compatible uniquement avec nouveau format de bdd du cel //
/**
* PHP Version 5
*
* @category  PHP
* @package   jrest
* @author    Aurélien Peronnet <aurelien@tela-botanica.org>
* @copyright 2010 Tela-Botanica
* @license   http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
* @version   SVN: <svn_id>
* @link      /doc/jrest/
*/

/**
* 
* Liste des utilisateurs du cel, par défaut les 50 premiers
* ou bien commencant par la chaine fournie en paramètre
* 
* in=utf8
* out utf8
* 
**/ 
class InventoryUserList extends Cel {

    function getElement($uid){
        
        session_start();
        $this->controleUtilisateur($uid[0]);

        $requete_utilisateurs ='SELECT DISTINCT id_utilisateur, courriel FROM cel_utilisateurs' ;
        $condition = $this->construireRequeteCondition($uid); 
        $requete_utilisateurs .= $condition;
        $requete_utilisateurs .= ' LIMIT 0,50';
                            
        $utilisateurs = $this->executerRequete($requete_utilisateurs);
    
        $liste_utilisateurs = array();
        if (!$utilisateurs) {
                
        } else {
                foreach ($utilisateurs as $utilisateur) {
                        $liste_utilisateurs[] = $utilisateur;
                }
        }
                
        usort($liste_utilisateurs,'trierUtilisateurs');
            
        $output = json_encode($liste_utilisateurs);
        print($output);
                
        return true;    
    }
    
    private function construireRequeteCondition($params) {
        
        $condition = '';
        
        if (isset($params[1]) && $params[1] != null && $params[1] != '*') {
                $condition .= ' WHERE courriel LIKE '.$this->proteger($params[1].'%');
        } 
        
        return $condition;
    }
}

function trierUtilisateurs($val1, $val2) {
        
        if (strstr($val1,'@')) {
            
            if (strstr($val2,'@')) { 
                return strcmp($val1,$val2);
            }
            else
            {
                return -1 ;
            }
        } 
        else
        {
            if (strstr($val2,'@')) { 
                return 1 ;
            }
            else
            {
                return strcmp($val1,$val2) ;
            }
        }
        
    }


/* +--Fin du code ---------------------------------------------------------------------------------------+
* $Log$
* Revision 1.3  2008-01-30 08:57:28  ddelon
* fin mise en place mygwt
*
* Revision 1.2  2007-05-22 12:54:09  ddelon
* Securisation acces utilisateur
*
*
* 
*/
?>