X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_check.cpp;h=42be6a350971343e852e5ea32452ed00c43b873c;hb=f25c4b7a2263f5f3ce9bb41ba56b43c0d3a6d124;hp=3b79081adabab01a6f00e009243cae6e69c818fe;hpb=6e85701ecb09604f2c87010683638ec0446cc515;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_check.cpp b/src/modules/m_check.cpp index 3b79081ad..42be6a350 100644 --- a/src/modules/m_check.cpp +++ b/src/modules/m_check.cpp @@ -99,18 +99,7 @@ class CommandCheck : public Command ServerInstance->DumpText(user,checkstr + " onchans ", dump); - std::deque extlist; - targuser->GetExtList(extlist); - std::stringstream dumpkeys; - for(std::deque::iterator i = extlist.begin(); i != extlist.end(); i++) - { - md_sent = false; - FOREACH_MOD_I(ServerInstance,I_OnSyncUserMetaData,OnSyncUserMetaData(targuser,Parent,(void*)user,*i, true)); - if (!md_sent) - dumpkeys << " " << *i; - } - if (!dumpkeys.str().empty()) - ServerInstance->DumpText(user,checkstr + " metadata ", dumpkeys); + FOREACH_MOD_I(ServerInstance,I_OnSyncUser,OnSyncUser(targuser,Parent,(void*)user)); } else if (targchan) { @@ -143,18 +132,7 @@ class CommandCheck : public Command user->WriteServ(checkstr + " member " + tmpbuf); } - std::deque extlist; - targchan->GetExtList(extlist); - std::stringstream dumpkeys; - for(std::deque::iterator i = extlist.begin(); i != extlist.end(); i++) - { - md_sent = false; - FOREACH_MOD_I(ServerInstance,I_OnSyncChannelMetaData,OnSyncChannelMetaData(targchan,Parent,(void*)user,*i, true)); - if (!md_sent) - dumpkeys << " " << *i; - } - if (!dumpkeys.str().empty()) - ServerInstance->DumpText(user,checkstr + " metadata ", dumpkeys); + FOREACH_MOD_I(ServerInstance,I_OnSyncChannel,OnSyncChannel(targchan,Parent,(void*)user)); } else { @@ -206,12 +184,23 @@ class ModuleCheck : public Module return Version("$Id$", VF_VENDOR, API_VERSION); } - virtual void ProtoSendMetaData(void* opaque, TargetTypeFlags type, void* target, const std::string& name, const std::string& value) + virtual void ProtoSendMetaData(void* opaque, Extensible* target, const std::string& name, const std::string& value) { User* user = static_cast(opaque); user->WriteServ("304 " + std::string(user->nick) + " :CHECK meta:" + name + " " + value); mycommand.md_sent = true; } + + virtual std::string ProtoTranslate(Extensible* item) + { + User* u = dynamic_cast(item); + Channel* c = dynamic_cast(item); + if (u) + return u->nick; + if (c) + return c->name; + return "?"; + } }; MODULE_INIT(ModuleCheck)