示例#1
0
/**
 *
 * @copyright  2010-2015 izend.org
 * @version    4
 * @link       http://www.izend.org
 */
function session_reopen($name = false)
{
    session_close();
    session_open($name);
}
示例#2
0
function bootstrap()
{
    global $base_url, $base_path, $base_root;
    global $db_url, $session_name, $login_lifetime;
    if (isset($_SERVER['HTTP_HOST'])) {
        $_SERVER['HTTP_HOST'] = strtolower($_SERVER['HTTP_HOST']);
        if (!validate_host_name($_SERVER['HTTP_HOST'])) {
            header('HTTP/1.1 400 Bad Request');
            exit;
        }
    } else {
        $_SERVER['HTTP_HOST'] = '';
    }
    unset_globals();
    @(include 'settings.inc');
    @(include 'config.inc');
    @(include 'db.inc');
    if ($db_url == 'mysql://*****:*****@localhost/databasename') {
        $db_url = false;
    }
    if ($db_url) {
        require_once 'pdo.php';
        db_connect($db_url);
    }
    if ($base_url) {
        $base_url = trim($base_url, '/');
        $url = parse_url($base_url);
        if (!isset($url['path'])) {
            $url['path'] = '';
        }
        $base_path = $url['path'];
        $base_root = substr($base_url, 0, strlen($base_url) - strlen($base_path));
    } else {
        $base_root = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on' ? 'https' : 'http';
        $base_url = $base_root .= '://' . $_SERVER['HTTP_HOST'];
        if ($dir = trim(dirname($_SERVER['SCRIPT_NAME']), '\\,/')) {
            $base_path = '/' . $dir;
            $base_url .= $base_path;
        } else {
            $base_path = '';
        }
    }
    if (!$session_name) {
        list(, $session_name) = explode('://', $base_url, 2);
        $session_name = 'izend@' . $session_name;
        if (ini_get('session.cookie_secure')) {
            $session_name .= 'SSL';
        }
    }
    session_open(md5($session_name));
    if (isset($_SESSION['user']['lasttime'])) {
        $now = time();
        if ($now - $_SESSION['user']['lasttime'] > $login_lifetime) {
            unset($_SESSION['user']);
        } else {
            $_SESSION['user']['lasttime'] = $now;
        }
    }
    if (!empty($_SESSION['user']['timezone'])) {
        date_default_timezone_set($_SESSION['user']['timezone']);
    }
}
示例#3
0
  Действие (Action)       - функция-обработчик некоторого действия
  
  Фильтр - Filter (before/after)  - функция, определяемая в контроллере, которая выполняется перед/после указанного действия.
                                    Выгода использования фильтра заключается в том, что можно вынести некоторый повторяющийся функционал
                                    в действиях (Actions) "за скобку"
*/
//error_reporting(0);                               // Отключение вывода ошибок
require_once './config/consts.php';
// Подключение конфигураций
require_once './config/data_base_connect.php';
// Подключение соединения с БД
require_once LIB_PATH . '/file_helpers.php';
// Базовые функции-помощники работы с файлами
require_files_from(LIB_PATH);
// Загрузка всех базовых компонент
session_open();
// Открыть сессию
// ActiveRecord
// DATABASE_HOST, DATABASE_USER, DATABASE_PASSWORD
vendor('activerecord');
vendor('haml');
vendor('haml_jf_render');
ActiveRecord\Config::initialize(function ($cfg) {
    $cfg->set_model_directory(MODEL_PATH);
    // mysql://root:secret-word@site-name.com/joomla_db_name?charset=UTF8
    $cfg->set_connections(array('development' => 'mysql://' . DATABASE_USER . ':' . DATABASE_PASSWORD . '@' . DATABASE_HOST . '/' . DATABASE_NAME . '?charset=UTF8'));
});
$framework = new FrameWork();
// Создать новый объект класса FrameWork
controller_execute($framework);
// Выполнение действия контроллера на основе данных фреймворка