X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_censor.cpp;h=c8b6b73a8836cda49cd90107e3bc31c995e46457;hb=b9e11915a976daaf790ebc763aff56e19fd49e0f;hp=4148c59b4f2b7f870a320b0da6b7148a2b4f4d5f;hpb=f2cdf27dd9c45f91f4184b81ea3b9be7c5d88173;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_censor.cpp b/src/modules/m_censor.cpp index 4148c59b4..c8b6b73a8 100644 --- a/src/modules/m_censor.cpp +++ b/src/modules/m_censor.cpp @@ -20,15 +20,9 @@ */ -/* $ModDesc: Provides user and channel +G mode */ - -#define _CRT_SECURE_NO_DEPRECATE -#define _SCL_SECURE_NO_DEPRECATE - #include "inspircd.h" -#include -typedef std::map censor_t; +typedef insp::flat_map censor_t; /** Handles usermode +G */ @@ -55,17 +49,6 @@ class ModuleCensor : public Module public: ModuleCensor() : cu(this), cc(this) { } - void init() CXX11_OVERRIDE - { - /* Read the configuration file on startup. - */ - OnRehash(NULL); - ServerInstance->Modules->AddService(cu); - ServerInstance->Modules->AddService(cc); - Implementation eventlist[] = { I_OnRehash, I_OnUserPreMessage }; - ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation)); - } - // format of a config entry is ModResult OnUserPreMessage(User* user, void* dest, int target_type, std::string& text, char status, CUList& exempt_list, MessageType msgtype) CXX11_OVERRIDE { @@ -96,7 +79,7 @@ class ModuleCensor : public Module { if (index->second.empty()) { - user->WriteNumeric(ERR_WORDFILTERED, "%s %s %s :Your message contained a censored word, and was blocked", user->nick.c_str(), ((Channel*)dest)->name.c_str(), index->first.c_str()); + user->WriteNumeric(ERR_WORDFILTERED, ((target_type == TYPE_CHANNEL) ? ((Channel*)dest)->name : ((User*)dest)->nick), index->first, "Your message contained a censored word, and was blocked"); return MOD_RES_DENY; } @@ -107,7 +90,7 @@ class ModuleCensor : public Module return MOD_RES_PASSTHRU; } - void OnRehash(User* user) CXX11_OVERRIDE + void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE { /* * reload our config file on rehash - we must destroy and re-allocate the classes