Bontiv-Sourceer source code viewer
Root | Help
./PhpMyCMS/mod/admin/admin.php
<?php

/**
 * Administration des utilisateurs
 *
 * @version $Id$
 * @copyright 2009
 */

class admin_admin {

    var
$name = 'Gestion des droits';
    var
$description = 'Administration des differents droits d\'accès';

    function
index(){
       
$page = page::Open();
       
$url = URL_Analyser::Open();
       
$page->module = 'admin';
        switch(
$url->GetUrlDir(2)){
            case
'':
            case
'index':
               
self::home();
                break;
            case
'user':
               
self::user_acc($url->GetUrlDir(3));
                break;
            case
'droit':
               
self::droit(
                   
basename($url->GetUrlDir(-1), '.htm'),
                   
$url->GetUrlDir(3),
                   
$url->GetVarValue('dir'
               
));
                break;
            default:
                return
false;
        }
// switch
   
}

    private static function
droit($action, $userid, $droit){

       
$droit = trim($droit, '/\\');
       
$sql = new Data('admin');
       
$me = mod_user::GetUserInfo();

        if (
mod_admin::is_Auth($droit) < 2 || $userid == $me['id']) {
           
$page = page::Open();
           
$page->ExeTpl('403.tpl');
            exit;
        }

        switch(
strtolower($action)){
            case
'add':
               
$sql->InsertInto(array('user'=>$userid, 'droit'=>'/'.$droit, 'user'=>$userid));
                break;
            case
'user':
               
$sql->Update(array('acces'=>'1'), array('user'=>$userid, 'droit'=>'/'.$droit));;
                break;
            case
'refus':
               
$sql->DeleteFrom(array('user'=>$userid, 'droit'=>'/'.$droit));
                break;
            case
'admin':
               
$sql->Update(array('acces'=>'2'), array('user'=>$userid, 'droit'=>'/'.$droit));;
                break;
        }
// switch
       
self::user_acc($userid);
    }

    private static function
home() {
       
$page = page::Open();
       
$page->assign('user', mod_user::GetAllUser());
       
$page->ExeTpl('home.tpl');
    }

    private static function
user_acc($id){

       
$page = page::Open();
       
$sql = new Data('admin');
       
$user = mod_user::GetAllUser();
       
$me = mod_user::GetUserInfo();
       
$sql2 = new Data('admin');

        if (isset(
$user['id'.$id])) {
           
$page->assign('current', $user['id'.$id]);

           
//parcours des droits de l'utilisateur
           
$sql->Select(array('user' => $me['id']));
            while(
$sql->next()){
               
$sql2->Select(array('user'=>$id, 'droit'=>$sql->row['droit']));
               
$sql2->next();
               
$page->append('list', array(
                   
'acc'=>array(
                       
'id'=>$sql->row['id'],
                       
'droit'=>$sql->row['droit'],
                       
'acces'=>($sql2->row['acces']==false)?(0):($sql2->row['acces'])
                    ),
                   
'me'=>mod_admin::is_Auth(trim($sql->row['droit'],'/'))
                ));
            }
// while

       
}
       
$page->ExeTpl('user.tpl');
    }
}

?>
Presented with Bontiv-Sourceer