]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_check.cpp
Remove more classbase
[user/henk/code/inspircd.git] / src / modules / m_check.cpp
index 33f950b4c21ed3a266d199108f1e9396c68d3421..4b960e18b6b6e8dddd94fefa7f0b88274997ec4c 100644 (file)
@@ -20,9 +20,9 @@
 class CommandCheck : public Command
 {
  public:
-       CommandCheck (InspIRCd* Instance, Module* parent) : Command(Instance,parent,"CHECK", "o", 1)
+       CommandCheck(Module* parent) : Command(parent,"CHECK", 1)
        {
-               syntax = "<nickname>|<ip>|<hostmask>|<channel> <server>";
+               flags_needed = 'o'; syntax = "<nickname>|<ip>|<hostmask>|<channel> <server>";
        }
 
        std::string timestring(time_t time)
@@ -36,16 +36,14 @@ class CommandCheck : public Command
        void dumpExt(User* user, std::string checkstr, Extensible* ext)
        {
                std::stringstream dumpkeys;
-               for(ExtensibleStore::const_iterator i = ext->GetExtList().begin(); i != ext->GetExtList().end(); i++)
+               for(Extensible::ExtensibleStore::const_iterator i = ext->GetExtList().begin(); i != ext->GetExtList().end(); i++)
                {
-                       ExtensionItem* item = Extensible::GetItem(i->first);
-                       std::string value;
-                       if (item)
-                               value = item->serialize(creator, ext, i->second);
-                       if (value.empty())
-                               dumpkeys << " " << i->first;
-                       else
-                               ServerInstance->DumpText(user, checkstr + " meta:" + i->first + " " + value);
+                       ExtensionItem* item = i->first;
+                       std::string value = item->serialize(FORMAT_USER, ext, i->second);
+                       if (!value.empty())
+                               ServerInstance->DumpText(user, checkstr + " meta:" + item->key + " " + value);
+                       else if (!item->key.empty())
+                               dumpkeys << " " << item->key;
                }
                if (!dumpkeys.str().empty())
                        ServerInstance->DumpText(user,checkstr + " metadata", dumpkeys);
@@ -53,7 +51,7 @@ class CommandCheck : public Command
 
        CmdResult Handle (const std::vector<std::string> &parameters, User *user)
        {
-               if (parameters.size() > 1 && parameters[1] != ServerInstance->Config->ServerName)
+               if (parameters.size() > 1 && parameters[1] != ServerInstance->Config->ServerName.c_str())
                        return CMD_SUCCESS;
 
                User *targuser;
@@ -115,7 +113,12 @@ class CommandCheck : public Command
                        else
                                ServerInstance->DumpText(user, checkstr + " onip " + targuser->GetIPString());
 
-                       chliststr = targuser->ChannelList(targuser);
+                       for (UCListIter i = targuser->chans.begin(); i != targuser->chans.end(); i++)
+                       {
+                               Channel* c = *i;
+                               chliststr.append(c->GetPrefixChar(targuser)).append(c->name).append(" ");
+                       }
+
                        std::stringstream dump(chliststr);
 
                        ServerInstance->DumpText(user,checkstr + " onchans", dump);
@@ -198,7 +201,7 @@ class ModuleCheck : public Module
  private:
        CommandCheck mycommand;
  public:
-       ModuleCheck(InspIRCd* Me) : Module(Me), mycommand(Me, this)
+       ModuleCheck() : mycommand(this)
        {
                ServerInstance->AddCommand(&mycommand);
        }
@@ -211,17 +214,6 @@ class ModuleCheck : public Module
        {
                return Version("CHECK command, view user/channel details", VF_VENDOR|VF_OPTCOMMON);
        }
-
-       std::string ProtoTranslate(Extensible* item)
-       {
-               User* u = dynamic_cast<User*>(item);
-               Channel* c = dynamic_cast<Channel*>(item);
-               if (u)
-                       return u->nick;
-               if (c)
-                       return c->name;
-               return "?";
-       }
 };
 
 MODULE_INIT(ModuleCheck)