mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-16 14:33:14 +00:00
Phrasea Kernel
This commit is contained in:
@@ -18,59 +18,178 @@
|
|||||||
|
|
||||||
namespace Alchemy\Phrasea;
|
namespace Alchemy\Phrasea;
|
||||||
|
|
||||||
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
|
|
||||||
require_once __DIR__ . '/../../vendor/Silex/vendor/pimple/lib/Pimple.php';
|
require_once __DIR__ . '/../../vendor/Silex/vendor/pimple/lib/Pimple.php';
|
||||||
|
|
||||||
class Kernel extends \Pimple
|
class Kernel extends \Pimple
|
||||||
{
|
{
|
||||||
|
|
||||||
public function __construct()
|
public function __construct($isDev = false)
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Autoload
|
* Autoload
|
||||||
*/
|
*/
|
||||||
$this->bootstrap();
|
static::initAutoloads();
|
||||||
|
|
||||||
|
$this['Version'] = $this->share(function()
|
||||||
|
{
|
||||||
|
return new Kernel\Version();
|
||||||
|
});
|
||||||
|
|
||||||
$this['EM'] = $this->share(function()
|
$this['EM'] = $this->share(function()
|
||||||
{
|
{
|
||||||
$doctrine = new Kernel\Service\Doctrine();
|
$doctrine = new Kernel\Service\Doctrine();
|
||||||
return $doctrine->getEntityManager();
|
return $doctrine->getEntityManager();
|
||||||
});
|
});
|
||||||
|
|
||||||
/**
|
|
||||||
* Gatekeeper
|
|
||||||
*/
|
|
||||||
$this['gatekeeper'] = $this->share(function()
|
|
||||||
{
|
|
||||||
return new \gatekeeper();
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
$this['Registry'] = $this->share(function()
|
||||||
* Event Dispatcher
|
|
||||||
*/
|
|
||||||
$this['dispatcher'] = $this->share(function ()
|
|
||||||
{
|
{
|
||||||
$dispatcher = new \Symfony\Component\EventDispatcher\EventDispatcher();
|
return \registry::get_instance();
|
||||||
});
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialize Request
|
* Initialize Request
|
||||||
*/
|
*/
|
||||||
$this['request'] = $this->share(function()
|
$this['Request'] = $this->share(function()
|
||||||
{
|
{
|
||||||
$app['request'] = \Symfony\Component\HttpFoundation\Request::createFromGlobals();
|
return Request::createFromGlobals();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
self::initPHPConf();
|
||||||
|
|
||||||
|
$this->initLoggers();
|
||||||
|
|
||||||
|
$this->verifyTimeZone();
|
||||||
|
|
||||||
|
\phrasea::start();
|
||||||
|
|
||||||
|
$this->detectLanguage();
|
||||||
|
|
||||||
|
$this->enableLocales();
|
||||||
|
|
||||||
|
$this->enableEvents();
|
||||||
|
|
||||||
|
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();
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function phraseaAutoload($class_name)
|
/**
|
||||||
|
*
|
||||||
|
* @return Request
|
||||||
|
*/
|
||||||
|
public function getRequest()
|
||||||
{
|
{
|
||||||
if (file_exists(__DIR__ .'/../../../config/classes/'
|
return $this['Request'];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getRegistry()
|
||||||
|
{
|
||||||
|
return $this['Registry'];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @return Alchemy\Phrasea\Kernel\Version
|
||||||
|
*/
|
||||||
|
public function getVersion()
|
||||||
|
{
|
||||||
|
return $this['Version'];
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function verifyTimezone()
|
||||||
|
{
|
||||||
|
if ($this->getRegistry()->is_set('GV_timezone'))
|
||||||
|
date_default_timezone_set($this->getRegistry()->get('GV_timezone'));
|
||||||
|
else
|
||||||
|
date_default_timezone_set('Europe/Berlin');
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function enableLocales()
|
||||||
|
{
|
||||||
|
mb_internal_encoding("UTF-8");
|
||||||
|
\phrasea::use_i18n($this->getRequest()->getLocale());
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function enableEvents()
|
||||||
|
{
|
||||||
|
\phrasea::load_events();
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function initLoggers()
|
||||||
|
{
|
||||||
|
$php_log = $this->getRegistry()->get('GV_RootPath') . 'logs/php_error.log';
|
||||||
|
|
||||||
|
ini_set('error_log', $php_log);
|
||||||
|
|
||||||
|
if ($this->getRegistry()->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 ($this->getRegistry()->get('GV_log_errors'))
|
||||||
|
{
|
||||||
|
ini_set('log_errors', 'on');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ini_set('log_errors', 'off');
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function detectLanguage()
|
||||||
|
{
|
||||||
|
$availables = array(
|
||||||
|
'ar_SA' => 'العربية'
|
||||||
|
, 'de_DE' => 'Deutsch'
|
||||||
|
, 'en_GB' => 'English'
|
||||||
|
, 'es_ES' => 'Español'
|
||||||
|
, 'fr_FR' => 'Français'
|
||||||
|
);
|
||||||
|
|
||||||
|
$this->getRequest()->setDefaultLocale(
|
||||||
|
$this->getRegistry()->get('GV_default_lng', 'en_GB')
|
||||||
|
);
|
||||||
|
|
||||||
|
$cookies = $this->getRequest()->cookies;
|
||||||
|
|
||||||
|
if (isset($availables[$cookies->get('locale')]))
|
||||||
|
{
|
||||||
|
$this->getRequest()->setLocale($cookies->get('locale'));
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected static function phraseaAutoload($class_name)
|
||||||
|
{
|
||||||
|
if (file_exists(__DIR__ . '/../../../config/classes/'
|
||||||
. str_replace('_', '/', $class_name) . '.class.php'))
|
. str_replace('_', '/', $class_name) . '.class.php'))
|
||||||
{
|
{
|
||||||
require_once __DIR__ .'/../../../config/classes/'
|
require_once __DIR__ . '/../../../config/classes/'
|
||||||
. str_replace('_', '/', $class_name) . '.class.php';
|
. str_replace('_', '/', $class_name) . '.class.php';
|
||||||
}
|
}
|
||||||
elseif (file_exists(__DIR__ . '/../../classes/'
|
elseif (file_exists(__DIR__ . '/../../classes/'
|
||||||
@@ -79,23 +198,51 @@ class Kernel extends \Pimple
|
|||||||
require_once __DIR__ . '/../../classes/'
|
require_once __DIR__ . '/../../classes/'
|
||||||
. str_replace('_', '/', $class_name) . '.class.php';
|
. str_replace('_', '/', $class_name) . '.class.php';
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function bootstrap()
|
public static function initAutoloads()
|
||||||
{
|
{
|
||||||
require_once __DIR__ . '/../../vendor/symfony/src/Symfony/Component/ClassLoader/UniversalClassLoader.php';
|
require_once __DIR__ . '/../../vendor/symfony/src/Symfony/Component/ClassLoader/UniversalClassLoader.php';
|
||||||
|
require_once __DIR__ . '/../../vendor/symfony/src/Symfony/Component/ClassLoader/ApcUniversalClassLoader.php';
|
||||||
$loader = new \Symfony\Component\ClassLoader\UniversalClassLoader();
|
|
||||||
|
require_once __DIR__ . '/../../vendor/Twig/lib/Twig/Autoloader.php';
|
||||||
spl_autoload_register(array($this, 'phraseaAutoload'));
|
require_once __DIR__ . '/../../vendor/Twig-extensions/lib/Twig/Extensions/Autoloader.php';
|
||||||
|
|
||||||
|
\Twig_Autoloader::register();
|
||||||
|
\Twig_Extensions_Autoloader::register();
|
||||||
|
|
||||||
|
$loader = new \Symfony\Component\ClassLoader\ApcUniversalClassLoader('KIKOO');
|
||||||
|
|
||||||
|
spl_autoload_register(array('Alchemy\Phrasea\Kernel', 'phraseaAutoload'));
|
||||||
|
|
||||||
$loader->registerNamespaces(array(
|
$loader->registerNamespaces(array(
|
||||||
'Alchemy' => __DIR__. '/../../',
|
'Alchemy' => __DIR__ . '/../../',
|
||||||
|
'Symfony\\Component\\Yaml' => __DIR__ . '/../../vendor/symfony/src',
|
||||||
|
'Symfony\\Component\\Console' => __DIR__ . '/../../vendor/symfony/src',
|
||||||
));
|
));
|
||||||
|
|
||||||
$loader->register();
|
$loader->register();
|
||||||
|
|
||||||
|
require_once __DIR__ . '/../../vendor/Silex/autoload.php';
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function initPHPConf()
|
||||||
|
{
|
||||||
|
ini_set('output_buffering', '4096');
|
||||||
|
if ((int) ini_get('memory_limit') < 2048)
|
||||||
|
ini_set('memory_limit', '2048M');
|
||||||
|
ini_set('error_reporting', '6143');
|
||||||
|
ini_set('default_charset', 'UTF-8');
|
||||||
|
ini_set('session.use_cookies', '1');
|
||||||
|
ini_set('session.use_only_cookies', '1');
|
||||||
|
ini_set('session.auto_start', '0');
|
||||||
|
ini_set('session.hash_function', '1');
|
||||||
|
ini_set('session.hash_bits_per_character', '6');
|
||||||
|
ini_set('allow_url_fopen', 'on');
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
36
lib/Alchemy/Phrasea/Kernel/Version.php
Normal file
36
lib/Alchemy/Phrasea/Kernel/Version.php
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of Phraseanet
|
||||||
|
*
|
||||||
|
* (c) 2005-2010 Alchemy
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Alchemy\Phrasea\Kernel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @package
|
||||||
|
* @license http://opensource.org/licenses/gpl-3.0 GPLv3
|
||||||
|
* @link www.phraseanet.com
|
||||||
|
*/
|
||||||
|
class Version
|
||||||
|
{
|
||||||
|
|
||||||
|
protected static $number = '3.6.0';
|
||||||
|
protected static $name = 'Brachiosaure';
|
||||||
|
|
||||||
|
public static function getNumber()
|
||||||
|
{
|
||||||
|
return static::$number;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function getName()
|
||||||
|
{
|
||||||
|
return static::$name;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@@ -15,181 +15,38 @@
|
|||||||
* @license http://opensource.org/licenses/gpl-3.0 GPLv3
|
* @license http://opensource.org/licenses/gpl-3.0 GPLv3
|
||||||
* @link www.phraseanet.com
|
* @link www.phraseanet.com
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
require_once __DIR__ . '/../Alchemy/Phrasea/Kernel.php';
|
||||||
|
|
||||||
class bootstrap
|
class bootstrap
|
||||||
{
|
{
|
||||||
|
|
||||||
protected static function define_dirs()
|
static $kernel;
|
||||||
{
|
|
||||||
$root = dirname(dirname(dirname(__FILE__)));
|
|
||||||
if (!defined('__LIBDIR__'))
|
|
||||||
define('__LIBDIR__', $root . '/lib');
|
|
||||||
if (!defined('__CUSTOMDIR__'))
|
|
||||||
define('__CUSTOMDIR__', $root . '/config');
|
|
||||||
self::require_essentials();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function set_php_configuration()
|
public static function set_php_configuration()
|
||||||
{
|
{
|
||||||
ini_set('output_buffering', '4096');
|
return Alchemy\Phrasea\Kernel::initPHPConf();
|
||||||
if ((int) ini_get('memory_limit') < 2048)
|
|
||||||
ini_set('memory_limit', '2048M');
|
|
||||||
ini_set('error_reporting', '6143');
|
|
||||||
ini_set('default_charset', 'UTF-8');
|
|
||||||
ini_set('session.use_cookies', '1');
|
|
||||||
ini_set('session.use_only_cookies', '1');
|
|
||||||
ini_set('session.auto_start', '0');
|
|
||||||
ini_set('session.hash_function', '1');
|
|
||||||
ini_set('session.hash_bits_per_character', '6');
|
|
||||||
ini_set('allow_url_fopen', 'on');
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @return Alchemy\Phrasea\Kernel
|
||||||
|
*/
|
||||||
public static function execute()
|
public static function execute()
|
||||||
{
|
{
|
||||||
self::define_dirs();
|
if(static::$kernel)
|
||||||
self::require_essentials();
|
|
||||||
|
|
||||||
$registry = registry::get_instance();
|
|
||||||
|
|
||||||
if ($registry->get('GV_RootPath') === false)
|
|
||||||
{
|
{
|
||||||
$registry->set('GV_RootPath', dirname(__FILE__) . '/../../');
|
return static::$kernel;
|
||||||
$registry->set('GV_debug', true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
self::set_php_configuration();
|
static::$kernel = new Alchemy\Phrasea\Kernel();
|
||||||
|
|
||||||
ini_set('error_log', $registry->get('GV_RootPath') . 'logs/php_error.log');
|
return static::$kernel;
|
||||||
|
|
||||||
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()
|
public static function register_autoloads()
|
||||||
{
|
{
|
||||||
self::define_dirs();
|
return Alchemy\Phrasea\Kernel::initAutoloads();
|
||||||
|
|
||||||
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',
|
|
||||||
));
|
|
||||||
$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();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
2
lib/classes/cache/opcode/adapter.class.php
vendored
2
lib/classes/cache/opcode/adapter.class.php
vendored
@@ -15,7 +15,7 @@
|
|||||||
* @license http://opensource.org/licenses/gpl-3.0 GPLv3
|
* @license http://opensource.org/licenses/gpl-3.0 GPLv3
|
||||||
* @link www.phraseanet.com
|
* @link www.phraseanet.com
|
||||||
*/
|
*/
|
||||||
class cache_opcode_adapter implements cache_opcode_Interface
|
class cache_opcode_adapter implements cache_opcode_interface
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@@ -244,10 +244,12 @@ class supertwig
|
|||||||
$user = User_Adapter::getInstance($session->get_usr_id(), $appbox);
|
$user = User_Adapter::getInstance($session->get_usr_id(), $appbox);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$kernel = bootstrap::execute();
|
||||||
|
|
||||||
$this->default_vars = array(
|
$this->default_vars = array(
|
||||||
'session' => $session,
|
'session' => $session,
|
||||||
'version_number' => GV_version,
|
'version_number' => $kernel->getVersion()->getNumber(),
|
||||||
'version_name' => GV_version_name,
|
'version_name' => $kernel->getVersion()->getName(),
|
||||||
'browser' => $browser,
|
'browser' => $browser,
|
||||||
'request' => $request,
|
'request' => $request,
|
||||||
'display_chrome_frame' => $registry->is_set('GV_display_gcf') ? $registry->get('GV_display_gcf') : true,
|
'display_chrome_frame' => $registry->is_set('GV_display_gcf') ? $registry->get('GV_display_gcf') : true,
|
||||||
|
Reference in New Issue
Block a user