Subversion Repositories Applications.annuaire

Rev

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

Rev Author Line No. Line
74 aurelien 1
<?php
2
/**
3
* PHP Version 5
4
*
5
* @category  PHP
6
* @package   annuaire
7
* @author    aurelien <aurelien@tela-botanica.org>
8
* @copyright 2010 Tela-Botanica
9
* @license   http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
10
* @version   SVN: <svn_id>
11
* @link      /doc/annuaire/
12
*/
13
 
14
Class InscritsRss extends JRestService {
15
 
16
	public function getElement($uid){
17
 
18
	    $mail_utilisateur = $uid[0];
204 aurelien 19
	    $admin = (isset($uid[1])) ? $uid[1] : false;
74 aurelien 20
	    $id_annuaire = Config::get('annuaire_defaut');
204 aurelien 21
 
22
	    if($admin) {
23
	    	$this->authentifier();
24
	    }
74 aurelien 25
 
26
	    $controleur = new RSSControleur();
204 aurelien 27
		$inscrits = $controleur->obtenirDerniersInscritsRSS($id_annuaire, $admin);
74 aurelien 28
 
29
		$this->envoyer($inscrits, 'text/xml',Config::get('sortie_encodage'), false);
30
	}
204 aurelien 31
 
32
 
33
	public function authentifier() {
34
        if (!isset($_SERVER['PHP_AUTH_USER'])) {
35
        header('WWW-Authenticate: Basic realm="www.tela-botanica.org"');
36
        header('HTTP/1.0 401 Unauthorized');
37
        header('Content-type: text/html; charset=UTF-8');
38
        echo 'Accès interdit';
39
        exit;
40
        } else {
41
            if($this->verifierAcces($_SERVER['PHP_AUTH_USER'])) {
42
                return ;
43
            }
44
            else
45
            {
46
                header('WWW-Authenticate: Basic realm="www.tela-botanica.org"');
47
                header('HTTP/1.0 401 Unauthorized');
48
                header('Content-type: text/html; charset=UTF-8');
49
                echo 'Accès interdit';
50
                exit ;
51
            }
52
        }
53
    }
54
 
55
    public function verifierAcces($id) {
56
 
57
        $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)
58
        ." AND ".$this->config['database_ident']['ann_pwd']." = ".$this->config['database_ident']['pass_crypt_funct']."(".$this->bdd->quote($_SERVER['PHP_AUTH_PW']).")" ;
59
 
60
        $res = $this->bdd->query($query);
61
 
62
        if($res == "") {
63
            return false ;
64
        }
65
 
66
        if (DB::isError($res)) {
67
            die($res->getMessage());
68
        }
69
 
70
        return true ;
71
 
72
    }
74 aurelien 73
}
74
?>