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

/**
 * Main
 *
 * @version $Id$
 * @copyright 2009
 */

class mod_admin {

   
/* Fonction is_Auth
    Arguments:
        string $droit

    Return: int $acces
    0 acces interdit
    -1 super interdit
    1 autorisé
    2 autorisé avec replication */
   
static function is_Auth ($droit, $user=NULL) {
       
$sql = DB_Driver::Open();
       
$sql->table = 'admin';
       
$droit = explode('/', $droit);
        if (
$user === NULL) {
           
$user = mod_user::GetUserInfo();
        } else {
           
$users = mod_user::GetAllUser();
           
$user = $users['id'.$user];
            unset(
$users);
        }

        if (
$user == false) {
            return
false;
        }

       
//Recherche des droits d'accès
       
$actu = '';
       
$acces = 0;
        foreach(
$droit as $me){
           
$actu .= '/'.$me;

           
//Récupération du droit
           
$result = $sql->Select(
                array(
                   
'user'=>$user['id'],
                   
'droit'=>$actu
               
),
                array(
'acces')
            );

           
//Contrôle du droit
           
$result = (mysql_num_rows($result))?(mysql_result($result, 0, 'acces')):(0);
            if (
$result==-1) {
                return -
1;
            } elseif (
$result > $acces){
               
$acces = $result;
            }
        }
        return
$acces;
    }

    static function
autoload(){
       
$page = page::Open();
       
$page->assign('kool', 'oooooooooooo');
    }

    static function
init(){
       
$page = page::Open();
       
$page->module = 'admin';
       
module::GlobalInclude('admin.php');
    }

    function
_exp(){
       
//var_dump(mod_user::GetUserInfo());
        //var_dump(self::is_Auth('admin/eze/dzdz'));
       
$page = page::Open();
        if (!
self::is_Auth('admin')) {
           
$page->ExeTpl('403.tpl');
            return
true;
        }
        foreach(
module::ListMod() as $item){
           
$mod = 'admin_'.$item;
            if (
class_exists($mod) && self::is_Auth($item) > 0) {
               
$info = get_class_vars($mod);
               
$page->append('module', array('name'=>$item, 'info'=>$info));
            }
        }
       
$page->ExeTpl('index.tpl');
    }

    function
index_exp(){
       
$url = URL_Analyser::Open();
       
$module = $url->GetUrlDir(1);
        if (!
self::is_Auth($module.'/admin')) {
           
$page = page::Open();
           
$page->ExeTpl('403.tpl');
            exit;
        }
        if (!
class_exists('admin_'.$module) || !ExeModFun('admin_'.$module)) {
           
trigger_error("Module $module n'existe pas ou non administrable", E_USER_ERROR);
        }
    }
}

?>
Presented with Bontiv-Sourceer