Пример #1
0
 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();
 }
Пример #2
0
 /**
  * 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();
 }