X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_callerid.cpp;h=1b9492ce14ecdbacd0cf33e0176982acc124c691;hb=b5e220008782b2d538cb8e6e3b1923af0c13fb99;hp=75f22940169fef6903dd419d539d4c6683bf56fd;hpb=955b3ef59b6d69d04d82c07a8f8548654c4d4d98;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_callerid.cpp b/src/modules/m_callerid.cpp index 75f229401..1b9492ce1 100644 --- a/src/modules/m_callerid.cpp +++ b/src/modules/m_callerid.cpp @@ -307,8 +307,8 @@ public: class ModuleCallerID : public Module { private: - CommandAccept *mycommand; - User_g* myumode; + CommandAccept mycommand; + User_g myumode; // Configuration variables: unsigned int maxaccepts; // Maximum ACCEPT entries. @@ -342,28 +342,14 @@ private: } public: - ModuleCallerID(InspIRCd* Me) : Module(Me) + ModuleCallerID(InspIRCd* Me) : Module(Me), mycommand(Me, maxaccepts), myumode(Me) { - OnRehash(NULL, ""); - mycommand = new CommandAccept(ServerInstance, maxaccepts); - myumode = new User_g(ServerInstance); + OnRehash(NULL); - if (!ServerInstance->Modes->AddMode(myumode)) - { - delete mycommand; - delete myumode; + if (!ServerInstance->Modes->AddMode(&myumode)) throw ModuleException("Could not add usermode +g"); - } - try - { - ServerInstance->AddCommand(mycommand); - } - catch (const ModuleException& e) - { - delete mycommand; - delete myumode; - throw ModuleException("Could not add command!"); - } + + ServerInstance->AddCommand(&mycommand); Implementation eventlist[] = { I_OnRehash, I_OnUserPreNick, I_OnUserQuit, I_On005Numeric, I_OnUserPreNotice, I_OnUserPreMessage, I_OnCleanup }; ServerInstance->Modules->Attach(eventlist, this, 7); @@ -371,8 +357,7 @@ public: virtual ~ModuleCallerID() { - ServerInstance->Modes->DelMode(myumode); - delete myumode; + ServerInstance->Modes->DelMode(&myumode); } virtual Version GetVersion() @@ -400,14 +385,18 @@ public: { time_t now = ServerInstance->Time(); /* +g and *not* accepted */ - if (IS_LOCAL(user)) - user->WriteNumeric(716, "%s %s :is in +g mode (server-side ignore).", user->nick.c_str(), dest->nick.c_str()); - else - ServerInstance->PI->PushToClient(user, std::string("::") + ServerInstance->Config->ServerName + " 716 " + user->nick + dest->nick + " :is in +g mode (server-side ignore)."); + user->WriteNumeric(716, "%s %s :is in +g mode (server-side ignore).", user->nick.c_str(), dest->nick.c_str()); if (now > (dat->lastnotify + (time_t)notify_cooldown)) { user->WriteNumeric(717, "%s %s :has been informed that you messaged them.", user->nick.c_str(), dest->nick.c_str()); - dest->WriteNumeric(718, "%s %s %s@%s :is messaging you, and you have umode +g. Use /ACCEPT +%s to allow.", dest->nick.c_str(), user->nick.c_str(), user->ident.c_str(), user->dhost.c_str(), user->nick.c_str()); + if (IS_LOCAL(dest)) + { + dest->WriteNumeric(718, "%s %s %s@%s :is messaging you, and you have umode +g. Use /ACCEPT +%s to allow.", dest->nick.c_str(), user->nick.c_str(), user->ident.c_str(), user->dhost.c_str(), user->nick.c_str()); + } + else + { + ServerInstance->PI->PushToClient(dest, std::string("::") + ServerInstance->Config->ServerName + " 718 " + dest->nick + " " + user->nick + " " + user->ident + "@" + user->dhost + " :is messaging you, and you have umode +g. Use /ACCEPT +" + user->nick + " to allow."); + } dat->lastnotify = now; } return 1; @@ -477,7 +466,7 @@ public: RemoveData(user); } - virtual void OnRehash(User* user, const std::string& parameter) + virtual void OnRehash(User* user) { ConfigReader Conf(ServerInstance); maxaccepts = Conf.ReadInteger("callerid", "maxaccepts", "16", 0, true);