get('GV_RootPath') === false) { $registry->set('GV_RootPath', dirname(__FILE__) . '/../../'); $registry->set('GV_debug', true); } self::set_php_configuration(); ini_set('error_log', $registry->get('GV_RootPath') . 'logs/php_error.log'); if ($registry->get('GV_debug')) { ini_set('display_errors', 'on'); ini_set('display_startup_errors', 'on'); } else { ini_set('display_errors', 'off'); ini_set('display_startup_errors', 'off'); } if ($registry->get('GV_log_errors')) { ini_set('log_errors', 'on'); } else { ini_set('log_errors', 'off'); } self::register_autoloads(); self::init_functions(); define('JETON_MAKE_SUBDEF', 0x01); define('JETON_WRITE_META_DOC', 0x02); define('JETON_WRITE_META_SUBDEF', 0x04); define('JETON_WRITE_META', 0x06); $gatekeeper = gatekeeper::getInstance(); $gatekeeper->check_directory(); } protected static function phrasea_autoload($class_name) { if (file_exists(__CUSTOMDIR__ . '/classes/' . str_replace('_', '/', $class_name) . '.class.php')) { require_once __CUSTOMDIR__ . '/classes/' . str_replace('_', '/', $class_name) . '.class.php'; } elseif (file_exists(__LIBDIR__ . '/classes/' . str_replace('_', '/', $class_name) . '.class.php')) { require_once __LIBDIR__ . '/classes/' . str_replace('_', '/', $class_name) . '.class.php'; } } protected static function require_essentials() { require_once __LIBDIR__ . '/version.inc'; require_once __LIBDIR__ . '/classes/cache/opcode/interface.class.php'; require_once __LIBDIR__ . '/classes/cache/cacheableInterface.class.php'; require_once __LIBDIR__ . '/classes/cache/opcode/adapter.class.php'; require_once __LIBDIR__ . '/classes/registryInterface.class.php'; require_once __LIBDIR__ . '/classes/registry.class.php'; require_once __LIBDIR__ . '/classes/Session/Storage/Interface.class.php'; require_once __LIBDIR__ . '/classes/Session/Storage/Abstract.class.php'; require_once __LIBDIR__ . '/classes/Session/Storage/PHPSession.class.php'; require_once __LIBDIR__ . '/classes/Session/Storage/CommandLine.class.php'; require_once __LIBDIR__ . '/classes/base.class.php'; require_once __LIBDIR__ . '/classes/appbox.class.php'; require_once __LIBDIR__ . '/classes/Session/Handler.class.php'; require_once __LIBDIR__ . '/classes/phrasea.class.php'; require_once __LIBDIR__ . '/classes/User/Interface.class.php'; require_once __LIBDIR__ . '/classes/User/Adapter.class.php'; require_once __LIBDIR__ . '/classes/eventsmanager/eventAbstract.class.php'; require_once __LIBDIR__ . '/classes/eventsmanager/notifyAbstract.class.php'; require_once __LIBDIR__ . '/classes/eventsmanager/broker.class.php'; require_once __LIBDIR__ . '/classes/gatekeeper.class.php'; require_once __LIBDIR__ . '/classes/http/request.class.php'; require_once __LIBDIR__ . '/classes/p4string.class.php'; require_once __LIBDIR__ . '/classes/connection/interface.class.php'; require_once __LIBDIR__ . '/classes/connection/abstract.class.php'; require_once __LIBDIR__ . '/classes/connection/pdo.class.php'; require_once __LIBDIR__ . '/classes/connection/pdoStatementDebugger.class.php'; require_once __LIBDIR__ . '/classes/connection.class.php'; } public static function register_autoloads() { self::define_dirs(); spl_autoload_register(array('bootstrap', 'phrasea_autoload')); require_once __LIBDIR__ . '/vendor/Twig/lib/Twig/Autoloader.php'; require_once __LIBDIR__ . '/vendor/Twig-extensions/lib/Twig/Extensions/Autoloader.php'; require_once __LIBDIR__ . '/vendor/symfony/src/Symfony/Component/ClassLoader/UniversalClassLoader.php'; Twig_Autoloader::register(); Twig_Extensions_Autoloader::register(); /** * Load symfony components needed */ $loader = new Symfony\Component\ClassLoader\UniversalClassLoader(); $loader->registerNamespaces(array( 'Symfony\\Component\\Yaml' => __LIBDIR__ . '/vendor/symfony/src', 'Symfony\\Component\\Console' => __LIBDIR__ . '/vendor/symfony/src', 'Symfony\\Component\\BrowserKit' => __LIBDIR__ . '/vendor/symfony/src', )); $loader->register(); require_once __LIBDIR__ . '/vendor/Silex/autoload.php'; } protected static function init_functions() { $registry = registry::get_instance(); if ($registry->is_set('GV_timezone')) date_default_timezone_set($registry->get('GV_timezone')); else date_default_timezone_set('Europe/Berlin'); phrasea::start(); User_Adapter::detectlanguage($registry); $appbox = appbox::get_instance(); $session = $appbox->get_session(); if (Session_Handler::get_cookie('locale') !== Session_Handler::get_locale()) { $avLanguages = User_Adapter::detectlanguage($registry, Session_Handler::get_cookie('locale')); } mb_internal_encoding("UTF-8"); phrasea::use_i18n(Session_Handler::get_locale()); phrasea::load_events(); } }