Exemplo n.º 1
0
 public static function getLoginedUserInformation()
 {
     $acl = MDL_ACL::getInstance();
     $user_id = $acl->getUser()->getID();
     if ($user_id != 0) {
         try {
             $user = MDL_User_Detail::getUser($user_id);
             BFL_Register::setVar('personal', $user);
             if (isset($user['identity'])) {
                 $acl->setIdentity($user['identity']);
             }
             if (isset($user['preference'])) {
                 $preference = BFL_XML::XML2Array($user['preference']);
                 BFL_Register::setVar('user_preference', $preference);
             }
         } catch (MDL_Exception_User $e) {
             if ($e->testDesc(MDL_Exception_User::FIELD_USER, MDL_Exception_User::INVALID_USER_ID)) {
                 $acl->resetSession();
                 $acl->initialize(SESSION_PREFIX, 'guest');
             } else {
                 throw $e;
             }
         }
     }
 }
Exemplo n.º 2
0
 public function allowAdmin()
 {
     if ($this->check('administrator')) {
         if (DEBUG) {
             if (!BFL_Register::haveVar('warning_adminaccess')) {
                 BFL_Register::setVar('warning_adminaccess', true);
                 echo 'Warning: This page is not allowed to access by general users.';
             }
         }
         return true;
     }
     return false;
 }
Exemplo n.º 3
0
 public static function load_plugins($plugins_path)
 {
     $dh = opendir($plugins_path);
     while ($file = readdir($dh)) {
         if ($file != "." && $file != "..") {
             $plugin_file = $plugins_path . $file . '/';
             if (is_dir($plugin_file)) {
                 $interface = $plugin_file . 'interface.php';
                 if (file_exists($interface)) {
                     self::$plugins[] = strtolower($file);
                     BFL_Register::setVar('plugin_file', $plugin_file);
                     include_once $interface;
                     BFL_Register::unsetVar('plugin_file');
                 }
             }
         }
     }
     closedir($dh);
 }
Exemplo n.º 4
0
 private function formatPath()
 {
     $this->request_path = explode('/', $this->request_path);
     unset($this->request_path[0]);
     foreach ($this->request_path as $key => $value) {
         $this->request_path[$key] = strtolower($value);
     }
     BFL_Register::setVar('request_path', $this->request_path);
     BFL_Register::setVar('base_path', $this->base_path);
 }
Exemplo n.º 5
0
<?php

require_once 'library/global.php';
require_once 'library/BFL/BFL_Loader.php';
//初始化自動加載器
BFL_Loader::setBFLPath('./library/BFL/');
BFL_Loader::setControllerPath('./library/application/controller/');
BFL_Loader::setModelPath('./library/application/model/');
//初始化計時器
BFL_Timer::initialize();
//設置運行時全局變量
BFL_Register::setVar('password_encode_word', PWD_ENCWORD);
BFL_Register::setVar('db_info', getDBInfo());
//初始化數據庫事務處理
$db = BFL_Database::getInstance();
$db->beginTransaction();
//初始化參數表
$config = MDL_Config::getInstance();
//設置全局異常捕捉函數
set_exception_handler(array('MDL_GlobalControl', 'exceptionHandler'));
//設置退出回調函數
register_shutdown_function(array('MDL_GlobalControl', 'shutdownHandler'));
//檢查地址綁定
$bind_address = $config->getVar('site_address');
if ($bind_address != '' && $bind_address != BFL_General::getServerAddress()) {
    BFL_Controller::redirect($bind_address);
}
//初始化用戶會話
MDL_ACL::getInstance()->initialize(SESSION_PREFIX, 'guest');
MDL_User_Auth::getLoginedUserInformation();
//加載插件