Example #1
0
 /**
  * set database
  * @param string $database
  * @return SQL
  */
 public function setDB($database = 'PF')
 {
     $f3 = \Base::instance();
     // "Hive" Key for DB storage
     $dbHiveKey = $this->getDbHiveKey($database);
     // check if DB connection already exists
     if (!$f3->exists($dbHiveKey)) {
         if ($database === 'CCP') {
             // CCP DB
             $dns = Controller\Controller::getEnvironmentData('DB_CCP_DNS');
             $name = Controller\Controller::getEnvironmentData('DB_CCP_NAME');
             $user = Controller\Controller::getEnvironmentData('DB_CCP_USER');
             $password = Controller\Controller::getEnvironmentData('DB_CCP_PASS');
         } else {
             // Pathfinder(PF) DB
             $dns = Controller\Controller::getEnvironmentData('DB_DNS');
             $name = Controller\Controller::getEnvironmentData('DB_NAME');
             $user = Controller\Controller::getEnvironmentData('DB_USER');
             $password = Controller\Controller::getEnvironmentData('DB_PASS');
         }
         $db = $this->connect($dns, $name, $user, $password);
         if (!is_null($db)) {
             // set DB timezone to UTC +00:00 (eve server time)
             $db->exec('SET @@session.time_zone = "+00:00";');
             // set default storage engine
             $db->exec('SET @@session.default_storage_engine = "' . Controller\Controller::getRequiredMySqlVariables('DEFAULT_STORAGE_ENGINE') . '"');
             // store DB object
             $f3->set($dbHiveKey, $db);
         }
         return $db;
     } else {
         return $f3->get($dbHiveKey);
     }
 }