X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_opermotd.cpp;h=b988dd00e2d8a7cad09d5bc316acae2b8a623b2e;hb=66098d307c036997e51eaea21724615e27fdc3e9;hp=7fd19122b64d4f5a1b89ac9468e2b23b49dac8da;hpb=293df6a8b55e89c127e60e92711ef0ef1027bff8;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_opermotd.cpp b/src/modules/m_opermotd.cpp index 7fd19122b..b988dd00e 100644 --- a/src/modules/m_opermotd.cpp +++ b/src/modules/m_opermotd.cpp @@ -7,11 +7,12 @@ using namespace std; #include "channels.h" #include "modules.h" #include "helperfuncs.h" +#include "inspircd.h" /* $ModDesc: Shows a message to opers after oper-up, adds /opermotd */ -FileReader* opermotd; -Server* Srv; +static FileReader* opermotd; + void LoadOperMOTD() { @@ -21,37 +22,38 @@ void LoadOperMOTD() filename = conf->ReadValue("opermotd","file",0); opermotd->LoadFile(filename); - delete conf; + DELETE(conf); } void ShowOperMOTD(userrec* user) { if(!opermotd->FileSize()) { - Srv->SendServ(user->fd,std::string("425 ") + user->nick + std::string(" :OPERMOTD file is missing")); + user->WriteServ(std::string("425 ") + user->nick + std::string(" :OPERMOTD file is missing")); return; } - Srv->SendServ(user->fd,std::string("375 ") + user->nick + std::string(" :- IRC Operators Message of the Day")); + user->WriteServ(std::string("375 ") + user->nick + std::string(" :- IRC Operators Message of the Day")); for(int i=0; i != opermotd->FileSize(); i++) { - Srv->SendServ(user->fd,std::string("372 ") + user->nick + std::string(" :- ") + opermotd->GetLine(i)); + user->WriteServ(std::string("372 ") + user->nick + std::string(" :- ") + opermotd->GetLine(i)); } - Srv->SendServ(user->fd,std::string("376 ") + user->nick + std::string(" :- End of OPERMOTD")); + user->WriteServ(std::string("376 ") + user->nick + std::string(" :- End of OPERMOTD")); } class cmd_opermotd : public command_t { public: - cmd_opermotd () : command_t("OPERMOTD", 'o', 0) + cmd_opermotd (InspIRCd* Instance) : command_t(Instance,"OPERMOTD", 'o', 0) { this->source = "m_opermotd.so"; + syntax = "[]"; } - void Handle (char** parameters, int pcnt, userrec* user) + void Handle (const char** parameters, int pcnt, userrec* user) { ShowOperMOTD(user); } @@ -61,12 +63,12 @@ class ModuleOpermotd : public Module { cmd_opermotd* mycommand; public: - ModuleOpermotd(Server* Me) + ModuleOpermotd(InspIRCd* Me) : Module::Module(Me) { - Srv = Me; - mycommand = new cmd_opermotd(); - Srv->AddCommand(mycommand); + + mycommand = new cmd_opermotd(ServerInstance); + ServerInstance->AddCommand(mycommand); opermotd = new FileReader(); LoadOperMOTD(); } @@ -80,12 +82,17 @@ class ModuleOpermotd : public Module return Version(1,0,0,1,VF_VENDOR); } - virtual void OnOper(userrec* user, std::string opertype) + void Implements(char* List) + { + List[I_OnRehash] = List[I_OnOper] = 1; + } + + virtual void OnOper(userrec* user, const std::string &opertype) { ShowOperMOTD(user); } - virtual void OnRehash(std::string parameter) + virtual void OnRehash(const std::string ¶meter) { LoadOperMOTD(); } @@ -103,7 +110,7 @@ class ModuleOpermotdFactory : public ModuleFactory { } - virtual Module* CreateModule(Server* Me) + virtual Module* CreateModule(InspIRCd* Me) { return new ModuleOpermotd(Me); }