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; } } } }
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; }
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); }
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); }
<?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(); //加載插件