/** * Update the specified configuration parameters. * @param $configParams arrays * @return boolean */ function updateConfig($configParams) { // Update config file $configParser = new ConfigParser(); if (!$configParser->updateConfig(Config::getConfigFileName(), $configParams)) { // Error reading config file $this->setError(INSTALLER_ERROR_GENERAL, 'installer.configFileError'); return false; } $this->configContents = $configParser->getFileContents(); if (!$configParser->writeConfig(Config::getConfigFileName())) { $this->wroteConfig = false; } return true; }
/** * Save modified system configuration settings. */ function saveSystemConfig() { $this->validate(); $this->setupTemplate(true); $configData =& Config::getData(); // Update configuration based on user-supplied data foreach ($configData as $sectionName => $sectionData) { $newData = Request::getUserVar($sectionName); foreach ($sectionData as $settingName => $settingValue) { if (isset($newData[$settingName])) { $newValue = $newData[$settingName]; if (strtolower($newValue) == "true" || strtolower($newValue) == "on") { $newValue = "On"; } else { if (strtolower($newValue) == "false" || strtolower($newValue) == "off") { $newValue = "Off"; } } $configData[$sectionName][$settingName] = $newValue; } } } $templateMgr =& TemplateManager::getManager(); // Update contents of configuration file $configParser = new ConfigParser(); if (!$configParser->updateConfig(Config::getConfigFileName(), $configData)) { // Error reading config file (this should never happen) $templateMgr->assign('errorMsg', 'admin.systemConfigFileReadError'); $templateMgr->assign('backLink', Request::url(null, null, null, null, 'systemInfo')); $templateMgr->assign('backLinkLabel', 'admin.systemInformation'); $templateMgr->display('common/error.tpl'); } else { $writeConfigFailed = false; $displayConfigContents = Request::getUserVar('display') == null ? false : true; $configFileContents = $configParser->getFileContents(); if (!$displayConfigContents) { if (!$configParser->writeConfig(Config::getConfigFileName())) { $writeConfigFailed = true; } } // Display confirmation $templateMgr->assign('writeConfigFailed', $writeConfigFailed); $templateMgr->assign('displayConfigContents', $displayConfigContents); $templateMgr->assign('configFileContents', $configFileContents); $templateMgr->assign('helpTopicId', 'site.administrativeFunctions'); $templateMgr->display('admin/systemConfigUpdated.tpl'); } }