]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_check.cpp
General code cleanup for the commonchans module.
[user/henk/code/inspircd.git] / src / modules / m_check.cpp
index 3e9e46a3e192cd3d4b8946992429437d0512e62c..6447ef9e3da2250b2ef2ca6c94dbda58edd50ab7 100644 (file)
@@ -67,16 +67,21 @@ class CheckContext
 
        User* GetUser() const { return user; }
 
-       void DumpListMode(const ListModeBase::ModeList* list)
+       void DumpListMode(ListModeBase* mode, Channel* chan)
        {
+               const ListModeBase::ModeList* list = mode->GetList(chan);
                if (!list)
                        return;
 
-               CheckContext::List modelist(*this, "modelist");
                for (ListModeBase::ModeList::const_iterator i = list->begin(); i != list->end(); ++i)
-                       modelist.Add(i->mask);
-
-               modelist.Flush();
+               {
+                       CheckContext::List listmode(*this, "listmode");
+                       listmode.Add(ConvToStr(mode->GetModeChar()));
+                       listmode.Add(i->mask);
+                       listmode.Add(i->setter);
+                       listmode.Add(FormatTime(i->time));
+                       listmode.Flush();
+               }
        }
 
        void DumpExt(Extensible* ext)
@@ -141,7 +146,7 @@ class CommandCheck : public Command
                : Command(parent,"CHECK", 1)
                , snomaskmode(parent, "snomask")
        {
-               flags_needed = 'o'; syntax = "<nickname>|<ip>|<hostmask>|<channel> <server>";
+               flags_needed = 'o'; syntax = "<nick>|<ipmask>|<hostmask>|<channel> [<servername>]";
        }
 
        CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE
@@ -235,7 +240,7 @@ class CommandCheck : public Command
                else if (targchan)
                {
                        /* /check on a channel */
-                       context.Write("timestamp", targchan->age);
+                       context.Write("createdat", targchan->age);
 
                        if (!targchan->topic.empty())
                        {
@@ -266,7 +271,7 @@ class CommandCheck : public Command
 
                        const ModeParser::ListModeList& listmodes = ServerInstance->Modes->GetListModes();
                        for (ModeParser::ListModeList::const_iterator i = listmodes.begin(); i != listmodes.end(); ++i)
-                               context.DumpListMode((*i)->GetList(targchan));
+                               context.DumpListMode(*i, targchan);
 
                        context.DumpExt(targchan);
                }