getFieldData("SELECT `locale` FROM `tbl_language` WHERE `id`='".$chkSelValue2."'"); if ($strLocale == "") $strLocale = "en_GB"; // Check Proxy via curl if (!function_exists('curl_init')) { $myVisClass->processMessage(translate('Curl module not loaded, Proxy will be deactivated!'),$strErrorMessage); $chkRadValue3 = 0; } // Check base paths $strBaseURL = str_replace("admin/settings.php","",$_SERVER["PHP_SELF"]); $strBasePath = substr(realpath('.'),0,-5); $arrSQL = ""; $arrSQL[] = "UPDATE `tbl_settings` SET `value` = '".$strProtocol."' WHERE `category` = 'path' AND `name`='protocol'"; $arrSQL[] = "UPDATE `tbl_settings` SET `value` = '".$chkTfValue1."' WHERE `category` = 'path' AND `name`='tempdir'"; $arrSQL[] = "UPDATE `tbl_settings` SET `value` = '".$strBaseURL."' WHERE `category` = 'path' AND `name`='base_url'"; $arrSQL[] = "UPDATE `tbl_settings` SET `value` = '".$strBasePath."' WHERE `category` = 'path' AND `name`='base_path'"; $arrSQL[] = "UPDATE `tbl_settings` SET `value` = '".$strLocale."' WHERE `category` = 'data' AND `name`='locale'"; $arrSQL[] = "UPDATE `tbl_settings` SET `value` = '".$chkTfValue2."' WHERE `category` = 'data' AND `name`='encoding'"; $arrSQL[] = "UPDATE `tbl_settings` SET `value` = '".$chkTfValue8."' WHERE `category` = 'security' AND `name`='logofftime'"; $arrSQL[] = "UPDATE `tbl_settings` SET `value` = '".$chkSelValue3."' WHERE `category` = 'security' AND `name`='wsauth'"; $arrSQL[] = "UPDATE `tbl_settings` SET `value` = '".$chkTfValue9."' WHERE `category` = 'common' AND `name`='pagelines'"; $arrSQL[] = "UPDATE `tbl_settings` SET `value` = '".$chkSelValue4."' WHERE `category` = 'common' AND `name`='seldisable'"; $arrSQL[] = "UPDATE `tbl_settings` SET `value` = '".$chkRadValue1."' WHERE `category` = 'common' AND `name`='tplcheck'"; $arrSQL[] = "UPDATE `tbl_settings` SET `value` = '".$chkRadValue2."' WHERE `category` = 'common' AND `name`='updcheck'"; $arrSQL[] = "UPDATE `tbl_settings` SET `value` = '".$chkRadValue3."' WHERE `category` = 'network' AND `name`='proxy'"; $arrSQL[] = "UPDATE `tbl_settings` SET `value` = '".$chkTfValue10."' WHERE `category` = 'network' AND `name`='proxyserver'"; $arrSQL[] = "UPDATE `tbl_settings` SET `value` = '".$chkTfValue11."' WHERE `category` = 'network' AND `name`='proxyuser'"; $arrSQL[] = "UPDATE `tbl_settings` SET `value` = '".$chkTfValue12."' WHERE `category` = 'network' AND `name`='proxypasswd'"; foreach ($arrSQL AS $elem) { $booReturn = $myDBClass->insertData($elem); if ($booReturn == false) { $myVisClass->processMessage(translate('An error occured while writing settings to database:'),$strErrorMessage); $myVisClass->processMessage($myDBClass->strErrorMessage,$strErrorMessage); } } // Write db settings to file if (is_writable($strBasePath."config/settings.php")) { $filSettings = fopen($strBasePath."config/settings.php","w"); if ($filSettings) { fwrite($filSettings,"\n"); fwrite($filSettings,";///////////////////////////////////////////////////////////////////////////////\n"); fwrite($filSettings,";\n"); fwrite($filSettings,"; NagiosQL\n"); fwrite($filSettings,";\n"); fwrite($filSettings,";///////////////////////////////////////////////////////////////////////////////\n"); fwrite($filSettings,";\n"); fwrite($filSettings,"; Project : NagiosQL\n"); fwrite($filSettings,"; Component: Database Configuration\n"); fwrite($filSettings,"; Website : http://www.nagiosql.org\n"); fwrite($filSettings,"; Date : ".date("F j, Y, g:i a")."\n"); fwrite($filSettings,"; Version : ".$setFileVersion."\n"); fwrite($filSettings,";\n"); fwrite($filSettings,";///////////////////////////////////////////////////////////////////////////////\n"); fwrite($filSettings,"[db]\n"); fwrite($filSettings,"server = ".$chkTfValue3."\n"); fwrite($filSettings,"port = ".$chkTfValue4."\n"); fwrite($filSettings,"database = ".$chkTfValue5."\n"); fwrite($filSettings,"username = ".$chkTfValue6."\n"); fwrite($filSettings,"password = ".$chkTfValue7."\n"); fwrite($filSettings,"[path]\n"); fwrite($filSettings,"base_url = ".$strBaseURL."\n"); fwrite($filSettings,"base_path = ".$strBasePath."\n"); fclose($filSettings); // Activate new language settings $arrLocale = explode(".",$strLocale); $strDomain = $arrLocale[0]; $loc = setlocale(LC_ALL, $strLocale, $strLocale.".utf-8", $strLocale.".utf-8", $strLocale.".utf8", "en_GB", "en_GB.utf-8", "en_GB.utf8"); if (!isset($loc)) { $myVisClass->processMessage(translate("Error in setting the correct locale, please report this error with the associated output of 'locale -a'"),$strErrorMessage); } putenv("LC_ALL=".$strLocale.".utf-8"); putenv("LANG=".$strLocale.".utf-8"); bindtextdomain($strLocale, $strBasePath."config/locale"); bind_textdomain_codeset($strLocale, $chkTfValue2); textdomain($strLocale); $myVisClass->processMessage(translate("Settings were changed"),$strInfoMessage); } else { $myVisClass->processMessage(translate("An error occured while writing settings.php, please check permissions!"),$strErrorMessage); } } else { $myVisClass->processMessage($strBasePath."config/settings.php ".translate("is not writeable, please check permissions!"),$strErrorMessage); } } // // Start content // ============= $conttp->setVariable("TITLE",translate('Configure Settings')); $conttp->parse("header"); $conttp->show("header"); foreach($arrDescription AS $elem) { $conttp->setVariable($elem['name'],$elem['string']); } $conttp->setVariable("ACTION_INSERT",filter_var($_SERVER['PHP_SELF'], FILTER_SANITIZE_STRING)); $conttp->setVariable("LANG_DESCRIPTION",translate('Change your current NagiosQL settings (e.g. Database user, Language).')); // // Path settings // ============= $conttp->setVariable("PATH",translate('Path')); $conttp->setVariable("TEMPDIR_NAME",translate('Temporary Directory')); $conttp->setVariable("TEMPDIR_VALUE",htmlspecialchars($chkTfValue1, ENT_QUOTES, 'utf-8')); $conttp->setVariable("PROTOCOL_NAME",translate('Server protocol')); $conttp->setVariable(strtoupper($SETS['path']['protocol'])."_SELECTED","selected"); // // Data settings // ============= $conttp->setVariable("DATA",translate('Language')); $conttp->setVariable("LOCALE",translate('Language')); // Process language selection field $strSQL = "SELECT * FROM `tbl_language` WHERE `active`='1' ORDER BY `id`"; $booReturn = $myDBClass->getDataArray($strSQL,$arrData,$intDataCount); if ($booReturn && ($intDataCount != 0)) { foreach($arrData AS $elem) { $conttp->setVariable("LANGUAGE_ID",$elem['id']); $conttp->setVariable("LANGUAGE_NAME",translate($elem['language'])); if ($elem['locale'] == $SETS['data']['locale']) $conttp->setVariable("LANGUAGE_SELECTED","selected"); $conttp->parse("language"); } } else { $myVisClass->processMessage(translate('Error while selecting data from database:'),$strErrorMessage); $myVisClass->processMessage($myDBClass->strErrorMessage,$strErrorMessage); } $conttp->setVariable("ENCODING_NAME",translate('Encoding')); $conttp->setVariable("ENCODING_VALUE",htmlspecialchars($chkTfValue2, ENT_QUOTES, 'utf-8')); // // Database settings // ================= $conttp->setVariable("DB",translate('Database')); $conttp->setVariable("SERVER_NAME",translate('MySQL Server')); $conttp->setVariable("SERVER_VALUE",htmlspecialchars($chkTfValue3, ENT_QUOTES, 'utf-8')); $conttp->setVariable("SERVER_PORT",translate('MySQL Server Port')); $conttp->setVariable("PORT_VALUE",htmlspecialchars($chkTfValue4, ENT_QUOTES, 'utf-8')); $conttp->setVariable("DATABASE_NAME",translate('Database name')); $conttp->setVariable("DATABASE_VALUE",htmlspecialchars($chkTfValue5, ENT_QUOTES, 'utf-8')); $conttp->setVariable("USERNAME_NAME",translate('Database user')); $conttp->setVariable("USERNAME_VALUE",htmlspecialchars($chkTfValue6, ENT_QUOTES, 'utf-8')); $conttp->setVariable("PASSWORD_NAME",translate('Database password')); $conttp->setVariable("PASSWORD_VALUE",htmlspecialchars($chkTfValue7, ENT_QUOTES, 'utf-8')); // // Security settings // ================= $conttp->setVariable("SECURITY",translate('Security')); $conttp->setVariable("LOGOFFTIME_NAME",translate('Session auto logoff time')); $conttp->setVariable("LOGOFFTIME_VALUE",htmlspecialchars($chkTfValue8, ENT_QUOTES, 'utf-8')); $conttp->setVariable("WSAUTH_NAME",translate('Authentication type')); $conttp->setVariable("WSAUTH_".$chkSelValue3."_SELECTED","selected"); // // Common settings // =============== $conttp->setVariable("COMMON",translate('Common')); $conttp->setVariable("PAGELINES_NAME",translate('Data lines per page')); $conttp->setVariable("PAGELINES_VALUE",htmlspecialchars($chkTfValue9, ENT_QUOTES, 'utf-8')); $conttp->setVariable("SELDISABLE_NAME",translate('Selection method')); $conttp->setVariable("SELDISABLE_".$chkSelValue4."_SELECTED","selected"); // // Template Check // ============== $conttp->setVariable("TEMPLATE_CHECK", translate('Template warn message')); $conttp->setVariable("LANG_ENABLE", translate('Enable')); $conttp->setVariable("LANG_DISABLE", translate('Disable')); $conttp->setVariable("TPL_CHECK_".$chkRadValue1."_CHECKED","checked"); // // Online version check // ==================== $conttp->setVariable("CLASS_NAME_1","elementHide"); $conttp->setVariable("CLASS_NAME_2","elementHide"); $conttp->setVariable("UPDATE_CHECK", translate('Online version check')); $conttp->setVariable("UPD_CHECK_".$chkRadValue2."_CHECKED","checked"); if ($chkRadValue2 == 1) $conttp->setVariable("CLASS_NAME_1","elementShow"); // // Online update proxy settings // ============================ $conttp->setVariable("UPD_PROXY_CHECK", translate('Proxyserver')); $conttp->setVariable("UPD_PROXY_".$chkRadValue3."_CHECKED","checked"); if (($chkRadValue3 == 1) && ($chkRadValue2 == 1)) $conttp->setVariable("CLASS_NAME_2","elementShow"); $conttp->setVariable("UPD_PROXY_SERVER", translate('Proxy Address')); $conttp->setVariable("UPD_PROXY_SERVER_VALUE",htmlspecialchars($chkTfValue10, ENT_QUOTES, 'utf-8')); $conttp->setVariable("UPD_PROXY_USERNAME", translate('Proxy Username (optional)')); $conttp->setVariable("UPD_PROXY_USERNAME_VALUE",htmlspecialchars($chkTfValue11, ENT_QUOTES, 'utf-8')); $conttp->setVariable("UPD_PROXY_PASSWORD", translate('Proxy Password (optional)')); $conttp->setVariable("UPD_PROXY_PASSWORD_VALUE",htmlspecialchars($chkTfValue12, ENT_QUOTES, 'utf-8')); // // Requirements of form // ==================== $conttp->setVariable("LANG_SAVE", translate('Save')); $conttp->setVariable("LANG_ABORT", translate('Abort')); $conttp->setVariable("LANG_REQUIRED", translate('required')); $conttp->setVariable("ERRORMESSAGE",$strErrorMessage); $conttp->setVariable("INFOMESSAGE",$strInfoMessage); // // Check access rights for adding new objects // ========================================== if ($myVisClass->checkAccGroup($prePageKey,'write') != 0) $conttp->setVariable("ADD_CONTROL","disabled=\"disabled\""); $conttp->parse("settingssite"); $conttp->show("settingssite"); // // Footer ausgeben // =============== $maintp->setVariable("VERSION_INFO","NagiosQL $setFileVersion"); $maintp->parse("footer"); $maintp->show("footer"); ?>