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)
ExtensionItem* item = Extensible::GetItem(i->first);
std::string value;
if (item)
- value = item->serialize(creator, ext, i->second);
+ value = item->serialize(FORMAT_USER, ext, i->second);
if (value.empty())
dumpkeys << " " << i->first;
else
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);
/* now the ugly bit, spool current members of a channel. :| */
- CUList *ulist= targchan->GetUsers();
+ const UserMembList *ulist= targchan->GetUsers();
/* note that unlike /names, we do NOT check +i vs in the channel */
- for (CUList::iterator i = ulist->begin(); i != ulist->end(); i++)
+ for (UserMembCIter i = ulist->begin(); i != ulist->end(); i++)
{
char tmpbuf[MAXBUF];
/*
private:
CommandCheck mycommand;
public:
- ModuleCheck(InspIRCd* Me) : Module(Me), mycommand(Me, this)
+ ModuleCheck() : mycommand(this)
{
ServerInstance->AddCommand(&mycommand);
}
{
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)