X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_services_account.cpp;h=cff0d7698f236165e4f5543cd3566cdc0c39136f;hb=78fa4165c90088523e623ab2b64ca0db0d19def0;hp=dc10d9408f26d66b8188b52034c871cf7e8f5d2d;hpb=22666c2c6b1efb6423261ae2edf847797face1c8;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_services_account.cpp b/src/modules/m_services_account.cpp index dc10d9408..cff0d7698 100644 --- a/src/modules/m_services_account.cpp +++ b/src/modules/m_services_account.cpp @@ -11,11 +11,11 @@ * --------------------------------------------------- */ +#include "inspircd.h" #include "users.h" #include "channels.h" #include "modules.h" #include "hashcomp.h" -#include "inspircd.h" /* $ModDesc: Povides support for ircu-style services accounts, including chmode +R, etc. */ @@ -116,7 +116,7 @@ class ModuleServicesAccount : public Module AChannel_M* m2; AUser_R* m3; public: - ModuleServicesAccount(InspIRCd* Me) : Module::Module(Me) + ModuleServicesAccount(InspIRCd* Me) : Module(Me) { m1 = new AChannel_R(ServerInstance); @@ -225,7 +225,7 @@ class ModuleServicesAccount : public Module // this method is called. We should use the ProtoSendMetaData function after we've // corrected decided how the data should look, to send the metadata on its way if // it is ours. - virtual void OnSyncUserMetaData(userrec* user, Module* proto, void* opaque, const std::string &extname) + virtual void OnSyncUserMetaData(userrec* user, Module* proto, void* opaque, const std::string &extname, bool displayable) { // check if the linking module wants to know about OUR metadata if (extname == "accountname") @@ -235,6 +235,9 @@ class ModuleServicesAccount : public Module user->GetExt("accountname", account); if (account) { + // remove any accidental leading/trailing spaces + trim(*account); + // call this function in the linking module, let it format the data how it // sees fit, and send it on its way. We dont need or want to know how. proto->ProtoSendMetaData(opaque,TYPE_USER,user,extname,*account); @@ -302,7 +305,7 @@ class ModuleServicesAccount : public Module if (!dest->GetExt("accountname", text)) { text = new std::string(extdata); - // atheme puts a space on this at logout, trim it + // remove any accidental leading/trailing spaces trim(*text); dest->Extend("accountname", text); } @@ -326,27 +329,4 @@ class ModuleServicesAccount : public Module } }; - -class ModuleServicesAccountFactory : public ModuleFactory -{ - public: - ModuleServicesAccountFactory() - { - } - - ~ModuleServicesAccountFactory() - { - } - - virtual Module * CreateModule(InspIRCd* Me) - { - return new ModuleServicesAccount(Me); - } - -}; - - -extern "C" void * init_module( void ) -{ - return new ModuleServicesAccountFactory; -} +MODULE_INIT(ModuleServicesAccount)