From 9d4004e8d477232c143830508a7a6e41fd2d31b7 Mon Sep 17 00:00:00 2001 From: danieldg Date: Tue, 2 Feb 2010 19:03:07 +0000 Subject: [PATCH] Allow opermotd to specify its file in without also requiring an block git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12355 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/modules.cpp | 1 + src/modules/m_httpd_acl.cpp | 18 +++++++++--------- src/modules/m_httpd_config.cpp | 24 +++++------------------- src/modules/m_httpd_stats.cpp | 10 ---------- src/modules/m_opermotd.cpp | 12 +++++------- 5 files changed, 20 insertions(+), 45 deletions(-) diff --git a/src/modules.cpp b/src/modules.cpp index d4ba9145a..52a25d37c 100644 --- a/src/modules.cpp +++ b/src/modules.cpp @@ -693,6 +693,7 @@ void FileReader::LoadFile(const std::string &filename) } else { + fc.clear(); FILE* f = fopen(filename.c_str(), "r"); if (!f) return; diff --git a/src/modules/m_httpd_acl.cpp b/src/modules/m_httpd_acl.cpp index 0086cdd0f..94cc4045f 100644 --- a/src/modules/m_httpd_acl.cpp +++ b/src/modules/m_httpd_acl.cpp @@ -46,12 +46,12 @@ class ModuleHTTPAccessList : public Module void ReadConfig() { acl_list.clear(); - ConfigReader c; - int n_items = c.Enumerate("httpdacl"); - for (int i = 0; i < n_items; ++i) + ConfigTagList acls = ServerInstance->Config->ConfTags("httpdacl"); + for (ConfigIter i = acls.first; i != acls.second; i++) { - std::string path = c.ReadValue("httpdacl", "path", i); - std::string types = c.ReadValue("httpdacl", "types", i); + ConfigTag* c = i->second; + std::string path = c->getString("path"); + std::string types = c->getString("types"); irc::commasepstream sep(types); std::string type; std::string username; @@ -63,16 +63,16 @@ class ModuleHTTPAccessList : public Module { if (type == "password") { - username = c.ReadValue("httpdacl", "username", i); - password = c.ReadValue("httpdacl", "password", i); + username = c->getString("username"); + password = c->getString("password"); } else if (type == "whitelist") { - whitelist = c.ReadValue("httpdacl", "whitelist", i); + whitelist = c->getString("whitelist"); } else if (type == "blacklist") { - blacklist = c.ReadValue("httpdacl", "blacklist", i); + blacklist = c->getString("blacklist"); } else { diff --git a/src/modules/m_httpd_config.cpp b/src/modules/m_httpd_config.cpp index 2183f0aed..f79f0c2a4 100644 --- a/src/modules/m_httpd_config.cpp +++ b/src/modules/m_httpd_config.cpp @@ -16,25 +16,11 @@ #include "protocol.h" /* $ModDesc: Provides statistics over HTTP via m_httpd.so */ -/* $ModDep: httpd.h */ -class ModuleHttpStats : public Module +class ModuleHttpConfig : public Module { - - std::string stylesheet; - bool changed; - public: - - void ReadConfig() - { - ConfigReader c; - this->stylesheet = c.ReadValue("httpstats", "stylesheet", 0); - } - - ModuleHttpStats() { - ReadConfig(); - this->changed = true; + ModuleHttpConfig() { Implementation eventlist[] = { I_OnEvent }; ServerInstance->Modules->Attach(eventlist, this, 1); } @@ -108,14 +94,14 @@ class ModuleHttpStats : public Module } } - virtual ~ModuleHttpStats() + virtual ~ModuleHttpConfig() { } virtual Version GetVersion() { - return Version("Provides statistics over HTTP via m_httpd.so", VF_VENDOR); + return Version("Provides configuration over HTTP via m_httpd.so", VF_VENDOR); } }; -MODULE_INIT(ModuleHttpStats) +MODULE_INIT(ModuleHttpConfig) diff --git a/src/modules/m_httpd_stats.cpp b/src/modules/m_httpd_stats.cpp index 00c6a5d7f..a682cd14c 100644 --- a/src/modules/m_httpd_stats.cpp +++ b/src/modules/m_httpd_stats.cpp @@ -21,20 +21,10 @@ class ModuleHttpStats : public Module { static std::map const &entities; - std::string stylesheet; - bool changed; public: - void ReadConfig() - { - ConfigReader c; - this->stylesheet = c.ReadValue("httpstats", "stylesheet", 0); - } - ModuleHttpStats() { - ReadConfig(); - this->changed = true; Implementation eventlist[] = { I_OnEvent }; ServerInstance->Modules->Attach(eventlist, this, 1); } diff --git a/src/modules/m_opermotd.cpp b/src/modules/m_opermotd.cpp index be832e289..7b4584db9 100644 --- a/src/modules/m_opermotd.cpp +++ b/src/modules/m_opermotd.cpp @@ -63,12 +63,9 @@ class ModuleOpermotd : public Module void LoadOperMOTD() { - ConfigReader conf; - std::string filename; - filename = conf.ReadValue("opermotd","file",0); - delete opermotd; - opermotd = new FileReader(filename); - onoper = conf.ReadFlag("opermotd","onoper","yes",0); + ConfigTag* conf = ServerInstance->Config->ConfValue("opermotd"); + opermotd->LoadFile(conf->getString("file","opermotd")); + onoper = conf->getBool("onoper", true); } ModuleOpermotd() @@ -84,6 +81,8 @@ class ModuleOpermotd : public Module virtual ~ModuleOpermotd() { + delete opermotd; + opermotd = NULL; } virtual Version GetVersion() @@ -91,7 +90,6 @@ class ModuleOpermotd : public Module return Version("Shows a message to opers after oper-up, adds /opermotd", VF_VENDOR); } - virtual void OnOper(User* user, const std::string &opertype) { if (onoper) -- 2.39.5