+ struct tm *mytime = gmtime(&time);
+ strftime(timebuf, 59, "%Y-%m-%d %H:%M:%S UTC (%s)", mytime);
+ return std::string(timebuf);
+ }
+
+ void dumpExt(User* user, const std::string& checkstr, Extensible* ext)
+ {
+ std::stringstream dumpkeys;
+ for(Extensible::ExtensibleStore::const_iterator i = ext->GetExtList().begin(); i != ext->GetExtList().end(); i++)
+ {
+ ExtensionItem* item = i->first;
+ std::string value = item->serialize(FORMAT_USER, ext, i->second);
+ if (!value.empty())
+ user->SendText(checkstr + " meta:" + item->name + " " + value);
+ else if (!item->name.empty())
+ dumpkeys << " " << item->name;
+ }
+ if (!dumpkeys.str().empty())
+ user->SendText(checkstr + " metadata", dumpkeys);
+ }
+
+ CmdResult Handle (const std::vector<std::string> ¶meters, User *user)
+ {
+ if (parameters.size() > 1 && parameters[1] != ServerInstance->Config->ServerName.c_str())
+ return CMD_SUCCESS;