libretime/legacy/application/Bootstrap.php

94 lines
2.7 KiB
PHP

<?php
require_once 'preload.php';
$CC_CONFIG = Config::getConfig();
require_once CONFIG_PATH . '/ACL.php';
// Since we initialize the database during the configuration check,
// check the $configRun global to avoid reinitializing unnecessarily
if (!isset($configRun) || !$configRun) {
Propel::init(PROPEL_CONFIG_FILEPATH);
}
Logging::setLogPath(LIBRETIME_LOG_FILEPATH);
if (APPLICATION_ENV != 'testing') {
Zend_Session::setOptions([
'strict' => true,
'serialize_handler' => 'php_serialize',
]);
$db = Zend_Db::factory('PDO_' . $CC_CONFIG['dsn']['phptype'], [
'host' => $CC_CONFIG['dsn']['host'],
'port' => $CC_CONFIG['dsn']['port'],
'username' => $CC_CONFIG['dsn']['username'],
'password' => $CC_CONFIG['dsn']['password'],
'dbname' => $CC_CONFIG['dsn']['database'],
]);
Zend_Db_Table_Abstract::setDefaultAdapter($db);
Zend_Session::setSaveHandler(new Zend_Session_SaveHandler_DbTable([
'name' => 'sessions',
'primary' => 'id',
'modifiedColumn' => 'modified',
'dataColumn' => 'data',
'lifetimeColumn' => 'lifetime',
]));
}
Config::setAirtimeVersion();
require_once CONFIG_PATH . '/navigation.php';
Zend_Validate::setDefaultNamespaces('Zend');
$front = Zend_Controller_Front::getInstance();
$front->registerPlugin(new RabbitMqPlugin());
$front->throwExceptions(false);
/* The bootstrap class should only be used to initialize actions that return a view.
Actions that return JSON will not use the bootstrap class! */
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initDoctype()
{
$this->bootstrap('view');
$view = $this->getResource('view');
$view->doctype('XHTML1_STRICT');
}
/**
* initialize front controller.
*
* This is call ZFrontController to ensure it is executed last in the bootstrap process.
*/
protected function _initZFrontController()
{
Zend_Controller_Front::getInstance()->throwExceptions(false);
}
protected function _initRouter()
{
$front = Zend_Controller_Front::getInstance();
$router = $front->getRouter();
$front->setBaseUrl(Config::getBasePath());
$router->addRoute(
'password-change',
new Zend_Controller_Router_Route('password-change/:user_id/:token', [
'module' => 'default',
'controller' => 'login',
'action' => 'password-change',
])
);
}
public function _initPlugins()
{
$front = Zend_Controller_Front::getInstance();
$front->registerPlugin(new Zend_Controller_Plugin_Maintenance());
$front->registerPlugin(new PageLayoutInitPlugin($this));
}
}