Subversion Repositories Applications.annuaire

Rev

Rev 204 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?php
/**
* PHP Version 5
*
* @category  PHP
* @package   annuaire
* @author    aurelien <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/annuaire/
*/

Class InscritsRss extends JRestService {

        public function getElement($uid){

            $mail_utilisateur = $uid[0];
            $admin = (isset($uid[1])) ? $uid[1] : false;
            $id_annuaire = Config::get('annuaire_defaut');
            
            if($admin) {
                $this->authentifier();          
            }

            $controleur = new RSSControleur();
                $inscrits = $controleur->obtenirDerniersInscritsRSS($id_annuaire, $admin);

                $this->envoyer($inscrits, 'text/xml',Config::get('sortie_encodage'), false);
        }
        
        
        public function authentifier() {
        if (!isset($_SERVER['PHP_AUTH_USER'])) {
        header('WWW-Authenticate: Basic realm="www.tela-botanica.org"');
        header('HTTP/1.0 401 Unauthorized');
        header('Content-type: text/html; charset=UTF-8');
        echo 'Accès interdit';
        exit;
        } else {
            if($this->verifierAcces($_SERVER['PHP_AUTH_USER'])) {
                return ;
            }
            else
            {
                header('WWW-Authenticate: Basic realm="www.tela-botanica.org"');
                header('HTTP/1.0 401 Unauthorized');
                header('Content-type: text/html; charset=UTF-8');
                echo 'Accès interdit';
                exit ;
            }
        }
    }

    public function verifierAcces($id) {
                
        $query="SELECT ".$this->config['database_ident']['ann_id']." as name FROM ".$this->config['database_ident']['database'].'.'.$this->config['database_ident']['annuaire']." WHERE ".$this->config['database_ident']['ann_id']." =".$this->bdd->quote($id)
        ." AND ".$this->config['database_ident']['ann_pwd']." = ".$this->config['database_ident']['pass_crypt_funct']."(".$this->bdd->quote($_SERVER['PHP_AUTH_PW']).")" ;

        $res = $this->bdd->query($query);
        
        if($res == "") {
            return false ;
        }

        if (DB::isError($res)) {
            die($res->getMessage());
        }

        return true ;

    }
}
?>