public static function setUpBeforeClass() { global $_DBCONFIG, $_CONFIG; // 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(empty($_CONFIG['timezone']) ? $_DBCONFIG['timezone'] : $_CONFIG['timezone']); // Set database user details $objDbUser = new \Cx\Core\Model\Model\Entity\DbUser(); $objDbUser->setName($_DBCONFIG['user']); $objDbUser->setPassword($_DBCONFIG['password']); // Initialize database connection $db = new \Cx\Core\Model\Db($objDb, $objDbUser); self::$database = $db->getAdoDb(); }
/** * 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(); }