/** * 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); } }
/** * 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; }