/**
  * save data to config file
  *
  * @param array   $_data
  * @param boolean $_merge
  */
 public function saveConfigData($_data, $_merge = TRUE)
 {
     if (!empty($_data['setupuser']['password']) && !Setup_Auth::isMd5($_data['setupuser']['password'])) {
         $password = $_data['setupuser']['password'];
         $_data['setupuser']['password'] = md5($_data['setupuser']['password']);
     }
     if (Setup_Core::configFileExists() && !Setup_Core::configFileWritable()) {
         throw new Setup_Exception('Config File is not writeable.');
     }
     if (Setup_Core::configFileExists()) {
         $doLogin = FALSE;
         $filename = Setup_Core::getConfigFilePath();
     } else {
         $doLogin = TRUE;
         $filename = dirname(__FILE__) . '/../config.inc.php';
     }
     $config = $this->writeConfigToFile($_data, $_merge, $filename);
     Setup_Core::set(Setup_Core::CONFIG, $config);
     Setup_Core::setupLogger();
     if ($doLogin && isset($password)) {
         Tinebase_Core::getLogger()->info(__METHOD__ . '::' . __LINE__ . ' Create session for setup user ' . $_data['setupuser']['username']);
         $this->login($_data['setupuser']['username'], $password);
     }
 }
Esempio n. 2
0
 /**
  * check config and return status
  *
  * @return array
  * 
  * @todo add check if db settings have changed?
  */
 public function checkConfig()
 {
     // check first if db settings have changed?
     //if (!Setup_Core::get(Setup_Core::CHECKDB))
     Setup_Core::setupDatabaseConnection();
     $checkDB = Setup_Core::get(Setup_Core::CHECKDB);
     $result = array('configExists' => Setup_Core::configFileExists(), 'configWritable' => Setup_Core::configFileWritable(), 'checkDB' => $checkDB, 'checkLogger' => $this->_controller->checkConfigLogger(), 'checkCaching' => $this->_controller->checkConfigCaching(), 'checkTmpDir' => $this->_controller->checkDir('tmpdir'), 'checkSessionDir' => $this->_controller->checkDir('path', 'session'), 'checkFilesDir' => $this->_controller->checkDir('filesdir'), 'setupRequired' => empty($checkDB) ? TRUE : $this->_controller->setupRequired());
     return $result;
 }
 /**
  * update to 2.7
  * - rename config.inc.php parameter session.save_path to sessiondir
  */
 public function update_6()
 {
     if (Setup_Core::configFileWritable()) {
         $config = Setup_Controller::getInstance()->getConfigData();
         if (empty($config['sessiondir']) && !empty($config['session.save_path'])) {
             $config['sessiondir'] = $config['session.save_path'];
         }
         Setup_Controller::getInstance()->saveConfigData($config, FALSE);
     }
     $this->setApplicationVersion('Tinebase', '2.7');
 }
 /**
  * check config and return status
  *
  * @return array
  * 
  * @todo add check if db settings have changed?
  */
 public function checkConfig()
 {
     Setup_Core::setupDatabaseConnection();
     $checkDB = Setup_Core::get(Setup_Core::CHECKDB);
     $result = array('configExists' => Setup_Core::configFileExists(), 'configWritable' => Setup_Core::configFileWritable(), 'checkDB' => $checkDB, 'checkLogger' => $this->_controller->checkConfigLogger(), 'checkCaching' => $this->_controller->checkConfigCaching(), 'checkQueue' => $this->_controller->checkConfigQueue(), 'checkTmpDir' => $this->_controller->checkDir('tmpdir'), 'checkSession' => $this->_controller->checkConfigSession(), 'checkFilesDir' => $this->_controller->checkDir('filesdir'), 'setupRequired' => empty($checkDB) ? TRUE : $this->_controller->setupRequired());
     return $result;
 }