public function __construct() { global $_CORELANG, $objDatabase; @header('content-type: text/html; charset=' . (UPDATE_UTF8 ? 'utf-8' : 'iso-8859-1')); $this->_loadLanguage(); $this->objTemplate = new HTML_Template_Sigma(UPDATE_TPL); $this->objTemplate->setErrorHandling(PEAR_ERROR_DIE); $this->objTemplate->loadTemplateFile('index.html'); $this->objTemplate->setGlobalVariable(array('TXT_UPDATE_CONTREXX_UPDATE_SYSTEM' => $_CORELANG['TXT_UPDATE_CONTREXX_UPDATE_SYSTEM'], 'UPDATE_TPL_PATH' => UPDATE_TPL, 'CHARSET' => UPDATE_UTF8 ? 'utf-8' : 'iso-8859-1', 'JAVASCRIPT' => 'javascript_inserting_here')); $this->objDatabase = Env::get('db'); DBG::set_adodb_debug_mode(); if (!empty($_REQUEST['ajax'])) { $this->ajax = true; if (!@(include_once UPDATE_LIB . '/PEAR/Services/JSON.php')) { die('Unable to load the PEAR JSON library: ' . UPDATE_LIB . '/PEAR/Services/JSON.php'); } $this->objJson = new Services_JSON(SERVICES_JSON_LOOSE_TYPE); $this->parseJsonRequest(); } }
/** * Loading ClassLoader, EventManager, Env, DB, API and InitCMS * (Env, API and InitCMS are deprecated) * @todo Remove deprecated elements * @todo Remove usage of globals * @global array $_CONFIG * @global type $_FTPCONFIG * @global type $objDatabase * @global type $objInit */ protected function init() { global $objDatabase, $objInit, $_DBCONFIG, $_CONFIG; $this->tryToSetMemoryLimit(); /** * Include all the required files. * @todo Remove API.php, it should be unnecessary */ $this->cl->loadFile($this->codeBaseCorePath . '/API.php'); // Temporary fix until all GET operation requests will be replaced by POSTs if ($this->mode != self::MODE_BACKEND) { \Cx\Core\Csrf\Controller\Csrf::setFrontendMode(); } // Set database connection details $objDb = new \Cx\Core\Model\Model\Entity\Db(); $objDb->setHost($_DBCONFIG['host']); $objDb->setName($_DBCONFIG['database']); $objDb->setTablePrefix($_DBCONFIG['tablePrefix']); $objDb->setDbType($_DBCONFIG['dbType']); $objDb->setCharset($_DBCONFIG['charset']); $objDb->setCollation($_DBCONFIG['collation']); $objDb->setTimezone($_DBCONFIG['timezone']); // Set database user details $objDbUser = new \Cx\Core\Model\Model\Entity\DbUser(); $objDbUser->setName($_DBCONFIG['user']); $objDbUser->setPassword($_DBCONFIG['password']); // Initialize database connection $this->db = new \Cx\Core\Model\Db($objDb, $objDbUser, $this->getComponent('Cache')->getCacheDriver()); $objDatabase = $this->db->getAdoDb(); \Env::set('db', $objDatabase); $em = $this->db->getEntityManager(); \Env::set('pageguard', new \PageGuard($this->db->getAdoDb())); \DBG::set_adodb_debug_mode(); $this->eventManager = new \Cx\Core\Event\Controller\EventManager($this); new \Cx\Core\Event\Controller\ModelEventWrapper($this); $this->eventManager->addEvent('preComponent'); $this->eventManager->addEvent('postComponent'); // Initialize base system // TODO: Get rid of InitCMS class, merge it with this class instead $objInit = new \InitCMS($this->mode == self::MODE_FRONTEND ? 'frontend' : 'backend', \Env::get('em')); \Env::set('init', $objInit); //$bla = $em->getRepository('Cx\Core\ContentManager\Model\Entity\Page'); //$bla->findAll(); }