bool CFBCallMonitor::SaveSettings() { CConfigFile *bpfbconfig = new CConfigFile(','); bpfbconfig->setString("FRITZBOXIP", FB_IP_STRG); bpfbconfig->setString("TELDPORT", FB_PORT_STRG); bpfbconfig->setString("Ziel_1", FB_ZIEL1_STRG); bpfbconfig->setString("Ziel_1_name", FB_ZIEL1N_STRG); bpfbconfig->setString("Ziel_2", FB_ZIEL2_STRG); bpfbconfig->setString("Ziel_2_name", FB_ZIEL2N_STRG); bpfbconfig->setString("Ziel_3", FB_ZIEL3_STRG); bpfbconfig->setString("Ziel_3_name", FB_ZIEL3N_STRG); bpfbconfig->setString("ip", FB_BOXIP_STRG); bpfbconfig->setString("loginname", FB_BOXUSERNAME_STRG); bpfbconfig->setString("passwort", FB_BOXPASSWORD_STRG); bpfbconfig->setInt32("debug", FB_DEBUG); bpfbconfig->setInt32("Alle", FB_ALLE); bpfbconfig->setInt32("monRing", FB_MONRING); bpfbconfig->setInt32("monDisconnect", FB_MONDISCONNECT); bpfbconfig->setInt32("muteRing", FB_MUTERING); bpfbconfig->setInt32("popup", FB_POPUP); bpfbconfig->setInt32("invers", FB_INVERS); bpfbconfig->saveConfig(CONFIG_FILE); return true; }
//------------------------------------------------------------------------- // y-func : get_header_data //------------------------------------------------------------------------- std::string CyParser::func_set_language(CyhookHandler *, std::string para) { if (para != "") { CConfigFile *Config = new CConfigFile(','); Config->loadConfig(HTTPD_CONFIGFILE); Config->setString("Language.selected", para); Config->saveConfig(HTTPD_CONFIGFILE); yhttpd_reload_config(); } return ""; }
void CTimerManager::saveEventsToConfig() { CConfigFile *config = new CConfigFile(','); config->clear(); CTimerEventMap::iterator pos = events.begin(); for(;pos != events.end();pos++) { CTimerEvent *event = pos->second; event->saveToConfig(config); } config->saveConfig(CONFIGFILE); delete config; }
//------------------------------------------------------------------------- // y-func : mount_set_values //------------------------------------------------------------------------- std::string CNeutrinoYParser::func_mount_set_values(CyhookHandler *hh, std::string) { CConfigFile *Config = new CConfigFile(','); std::string ynr, yresult; Config->loadConfig(NEUTRINO_CONFIGFILE); ynr = hh->ParamList["nr"]; Config->setString("network_nfs_type_"+ynr,hh->ParamList["type"]); Config->setString("network_nfs_ip_"+ynr,hh->ParamList["ip"]); Config->setString("network_nfs_dir_"+ynr,hh->ParamList["dir"]); Config->setString("network_nfs_local_dir_"+ynr,hh->ParamList["localdir"]); Config->setString("network_nfs_mac_"+ynr,hh->ParamList["mac"]); Config->setString("network_nfs_mount_options1_"+ynr,hh->ParamList["opt1"]); Config->setString("network_nfs_mount_options2_"+ynr,hh->ParamList["opt2"]); Config->setString("network_nfs_automount_"+ynr,hh->ParamList["automount"]); Config->setString("network_nfs_username_"+ynr,hh->ParamList["username"]); Config->setString("network_nfs_password_"+ynr,hh->ParamList["password"]); Config->saveConfig(NEUTRINO_CONFIGFILE); delete Config; return yresult; }
//----------------------------------------------------------------------------- // Read Webserver Configurationfile // Call "Hooks_ReadConfig" so Hooks can read/write own Configuration Values //----------------------------------------------------------------------------- void Cyhttpd::ReadConfig(void) { log_level_printf(3, "ReadConfig Start\n"); CConfigFile *Config = new CConfigFile(','); bool have_config = false; if (access(HTTPD_CONFIGFILE, R_OK) == 0) have_config = true; Config->loadConfig(HTTPD_CONFIGFILE); // convert old config files if (have_config) { if (Config->getInt32("configfile.version", 0) == 0) { CConfigFile OrgConfig = *Config; Config->clear(); Config->setInt32("server.log.loglevel", OrgConfig.getInt32( "LogLevel", 0)); Config->setInt32("configfile.version", CONF_VERSION); Config->setString("webserver.websites", "WebsiteMain"); Config->setBool("webserver.threading", OrgConfig.getBool("THREADS", true)); Config->setInt32("WebsiteMain.port", OrgConfig.getInt32("Port", HTTPD_STANDARD_PORT)); Config->setString("WebsiteMain.directory", OrgConfig.getString( "PrivatDocRoot", PRIVATEDOCUMENTROOT)); if (!OrgConfig.getString("PublicDocRoot", "").empty()) Config->setString("WebsiteMain.override_directory", OrgConfig.getString("PublicDocRoot", PRIVATEDOCUMENTROOT)); // mod_auth Config->setString("mod_auth.username", OrgConfig.getString( "AuthUser", AUTHUSER)); Config->setString("mod_auth.password", OrgConfig.getString( "AuthPassword", AUTHPASSWORD)); Config->setString("mod_auth.no_auth_client", OrgConfig.getString( "NoAuthClient", "")); Config->setString("mod_auth.authenticate", OrgConfig.getString( "Authenticate", "false")); Config->setString("mod_sendfile.mime_types", HTTPD_SENDFILE_EXT); Config->saveConfig(HTTPD_CONFIGFILE); } // Add Defaults for Version 2 if (Config->getInt32("configfile.version") < 2) { Config->setString("mod_sendfile.mime_types", HTTPD_SENDFILE_EXT); Config->setInt32("configfile.version", CONF_VERSION); Config->setString("mod_sendfile.sendAll", "false"); Config->saveConfig(HTTPD_CONFIGFILE); } // Add Defaults for Version 4 if (Config->getInt32("configfile.version") < 4) { Config->setInt32("configfile.version", CONF_VERSION); Config->setString("Language.selected", HTTPD_DEFAULT_LANGUAGE); Config->setString("Language.directory", HTTPD_LANGUAGEDIR); if (Config->getString("WebsiteMain.hosted_directory", "").empty()) Config->setString("WebsiteMain.hosted_directory", HOSTEDDOCUMENTROOT); Config->saveConfig(HTTPD_CONFIGFILE); } } // configure debugging & logging if (CLogging::getInstance()->LogLevel == 0) CLogging::getInstance()->LogLevel = Config->getInt32("server.log.loglevel", 0); if (CLogging::getInstance()->LogLevel > 0) CLogging::getInstance()->setDebug(true); // get variables webserver->init(Config->getInt32("WebsiteMain.port", HTTPD_STANDARD_PORT), Config->getBool("webserver.threading", true)); // informational use ConfigList["WebsiteMain.port"] = itoa(Config->getInt32("WebsiteMain.port", HTTPD_STANDARD_PORT)); ConfigList["webserver.threading"] = Config->getString( "webserver.threading", "true"); ConfigList["configfile.version"] = Config->getInt32("configfile.version", CONF_VERSION); ConfigList["server.log.loglevel"] = itoa(Config->getInt32( "server.log.loglevel", 0)); ConfigList["server.no_keep-alive_ips"] = Config->getString( "server.no_keep-alive_ips", ""); webserver->conf_no_keep_alive_ips = Config->getStringVector( "server.no_keep-alive_ips"); // MainSite ConfigList["WebsiteMain.directory"] = Config->getString( "WebsiteMain.directory", PRIVATEDOCUMENTROOT); ConfigList["WebsiteMain.override_directory"] = Config->getString( "WebsiteMain.override_directory", PUBLICDOCUMENTROOT); ConfigList["WebsiteMain.hosted_directory"] = Config->getString( "WebsiteMain.hosted_directory", HOSTEDDOCUMENTROOT); ConfigList["Tuxbox.DisplayLogos"] = Config->getString("Tuxbox.DisplayLogos", "true"); // Check location of logos if (Config->getString("Tuxbox.LogosURL", "").empty()) { if (access(ConfigList["WebsiteMain.override_directory"] + "/logos", R_OK) == 0) { Config->setString("Tuxbox.LogosURL", ConfigList["WebsiteMain.override_directory"] + "/logos"); have_config = false; //save config } else if (access(ConfigList["WebsiteMain.directory"] + "/logos", R_OK) == 0){ Config->setString("Tuxbox.LogosURL", ConfigList["WebsiteMain.directory"] + "/logos"); have_config = false; //save config } #ifdef Y_CONFIG_USE_HOSTEDWEB else if (access(ConfigList["WebsiteMain.hosted_directory"] + "/logos", R_OK) == 0){ Config->setString("Tuxbox.LogosURL", ConfigList["WebsiteMain.hosted_directory"] + "/logos"); have_config = false; //save config } #endif //Y_CONFIG_USE_HOSTEDWEB } ConfigList["Tuxbox.LogosURL"] = Config->getString("Tuxbox.LogosURL", ""); #ifdef Y_CONFIG_USE_OPEN_SSL ConfigList["SSL"] = Config->getString("WebsiteMain.ssl", "false"); ConfigList["SSL_pemfile"] = Config->getString("WebsiteMain.ssl_pemfile", SSL_PEMFILE); ConfigList["SSL_CA_file"] = Config->getString("WebsiteMain.ssl_ca_file", SSL_CA_FILE); CySocket::SSL_pemfile = ConfigList["SSL_pemfile"]; CySocket::SSL_CA_file = ConfigList["SSL_CA_file"]; if(ConfigList["SSL"] == "true") CySocket::initSSL(); #endif ConfigList["server.user_name"] = Config->getString("server.user_name", ""); ConfigList["server.group_name"] = Config->getString("server.group_name", ""); ConfigList["server.chroot"] = Config->getString("server.chroot", ""); // language ConfigList["Language.directory"] = Config->getString("Language.directory", HTTPD_LANGUAGEDIR); ConfigList["Language.selected"] = Config->getString("Language.selected", HTTPD_DEFAULT_LANGUAGE); yhttpd->ReadLanguage(); // Read App specifig settings by Hook CyhookHandler::Hooks_ReadConfig(Config, ConfigList); // Save if new defaults are set if (!have_config) Config->saveConfig(HTTPD_CONFIGFILE); log_level_printf(3, "ReadConfig End\n"); delete Config; }
//----------------------------------------------------------------------------- // Read Webserver Configurationfile // Call "Hooks_ReadConfig" so Hooks can read/write own Configuration Values //----------------------------------------------------------------------------- void Cyhttpd::ReadConfig(void) { log_level_printf(3,"ReadConfig Start\n"); CConfigFile *Config = new CConfigFile(','); bool have_config = false; if(access(HTTPD_CONFIGFILE,4) == 0) have_config = true; Config->loadConfig(HTTPD_CONFIGFILE); // convert old config files if(have_config) if(Config->getInt32("Port", 0) != 0) { CConfigFile OrgConfig = *Config; Config->clear(); Config->setInt32("server.log.loglevel", OrgConfig.getInt32("LogLevel", 0)); Config->setString("configfile.version", "1"); Config->setString("webserver.websites", "WebsiteMain"); Config->setBool("webserver.threading", OrgConfig.getBool("THREADS", true)); Config->setInt32("WebsiteMain.port",OrgConfig.getInt32("Port", HTTPD_STANDARD_PORT)); Config->setString("WebsiteMain.directory", OrgConfig.getString("PrivatDocRoot", PRIVATEDOCUMENTROOT)); if(OrgConfig.getString("PublicDocRoot", "") != "") Config->setString("WebsiteMain.override_directory", OrgConfig.getString("PublicDocRoot", PRIVATEDOCUMENTROOT)); if(OrgConfig.getString("HostedDocRoot", "") != "") Config->setString("WebsiteMain.special_locations", "/hosted/="+OrgConfig.getString("HostedDocRoot", PRIVATEDOCUMENTROOT)); if(OrgConfig.getString("HostedDocRoot", "") != "") Config->setString("Tuxbox.HostedDocumentRoot", OrgConfig.getString("HostedDocRoot", PRIVATEDOCUMENTROOT)); // mod_auth Config->setString("mod_auth.username", OrgConfig.getString("AuthUser", AUTHUSER)); Config->setString("mod_auth.password", OrgConfig.getString("AuthPassword", AUTHPASSWORD)); Config->setString("mod_auth.no_auth_client", OrgConfig.getString("NoAuthClient", "")); Config->setString("mod_auth.authenticate", OrgConfig.getString("Authenticate", "false")); Config->setString("mod_sendfile.mime_types", HTTPD_SENDFILE_EXT); Config->saveConfig(HTTPD_CONFIGFILE); } // configure debugging & logging if(CLogging::getInstance()->LogLevel == 0) CLogging::getInstance()->LogLevel = Config->getInt32("server.log.loglevel", 0); // get variables webserver->init(Config->getInt32("WebsiteMain.port", HTTPD_STANDARD_PORT), Config->getBool("webserver.threading", true)); // informational use ConfigList["WebsiteMain.port"]= itoa(Config->getInt32("WebsiteMain.port", HTTPD_STANDARD_PORT)); ConfigList["webserver.threading"]= Config->getString("webserver.threading", "true"); ConfigList["configfile.version"]= Config->getString("configfile.version", "1"); ConfigList["server.log.loglevel"]= itoa(Config->getInt32("server.log.loglevel", 0)); ConfigList["server.no_keep-alive_ips"]= Config->getString("server.no_keep-alive_ips", ""); webserver->conf_no_keep_alive_ips = Config->getStringVector("server.no_keep-alive_ips"); // MainSite ConfigList["PrivatDocumentRoot"]= Config->getString("WebsiteMain.directory", PRIVATEDOCUMENTROOT); ConfigList["PublicDocumentRoot"]= Config->getString("WebsiteMain.override_directory", PUBLICDOCUMENTROOT); ConfigList["HostedDocumentRoot"]= Config->getString("Tuxbox.HostedDocumentRoot", HOSTEDDOCUMENTROOT); #ifdef Y_CONFIG_USE_OPEN_SSL ConfigList["SSL"] = Config->getString("WebsiteMain.ssl", "false"); ConfigList["SSL_pemfile"] = Config->getString("WebsiteMain.ssl_pemfile", SSL_PEMFILE); ConfigList["SSL_CA_file"] = Config->getString("WebsiteMain.ssl_ca_file", SSL_CA_FILE); CySocket::SSL_pemfile = ConfigList["SSL_pemfile"]; CySocket::SSL_CA_file = ConfigList["SSL_CA_file"]; if(ConfigList["SSL"] == "true") CySocket::initSSL(); #endif ConfigList["server.user_name"]= Config->getString("server.user_name", ""); ConfigList["server.group_name"]= Config->getString("server.group_name", ""); ConfigList["server.chroot"]= Config->getString("server.chroot", ""); // Read App specifig settings by Hook CyhookHandler::Hooks_ReadConfig(Config, ConfigList); // Save if new defaults are set if (!have_config) Config->saveConfig(HTTPD_CONFIGFILE); log_level_printf(3,"ReadConfig End\n"); delete Config; }