std::string xhost;
while (hl >> xhost)
{
- if (match(host,xhost.c_str()) || match(ip,xhost.c_str(),true))
+ if (match(host, xhost) || match(ip,xhost, true))
{
return true;
}
return false;
}
- CmdResult Handle(const char* const* parameters, int pcnt, User* user)
+ CmdResult Handle(const std::vector<std::string> ¶meters, User* user)
{
if (!IS_LOCAL(user))
return CMD_LOCALONLY;
std::string title = Conf.ReadValue("title", "title", "", i);
std::string vhost = Conf.ReadValue("title", "vhost", "", i);
- if (!strcmp(name.c_str(),parameters[0]) && !ServerInstance->PassCompare(user, pass.c_str(), parameters[1], hash.c_str()) && OneOfMatches(TheHost,TheIP,host.c_str()) && !title.empty())
+ if (!strcmp(name.c_str(),parameters[0].c_str()) && !ServerInstance->PassCompare(user, pass.c_str(), parameters[1].c_str(), hash.c_str()) && OneOfMatches(TheHost,TheIP,host.c_str()) && !title.empty())
{
std::string* text;
user->GetExt("ctitle", text);
text = new std::string(title);
user->Extend("ctitle", text);
- std::deque<std::string>* metadata = new std::deque<std::string>;
- metadata->push_back(user->uuid);
- metadata->push_back("ctitle"); // The metadata id
- metadata->push_back(*text); // The value to send
- Event event((char*)metadata,(Module*)this,"send_metadata");
- event.Send(ServerInstance);
- delete metadata;
+ ServerInstance->PI->SendMetaData(user, TYPE_USER, "ctitle", *text);
if (!vhost.empty())
user->ChangeDisplayedHost(vhost.c_str());
if (!ServerInstance->ULine(user->server))
// Ulines also fail TITLEs silently
- ServerInstance->SNO->WriteToSnoMask('A', "Failed TITLE attempt by %s!%s@%s using login '%s'",user->nick,user->ident,user->host,parameters[0]);
+ ServerInstance->SNO->WriteToSnoMask('A', "Failed TITLE attempt by %s!%s@%s using login '%s'",user->nick,user->ident,user->host,parameters[0].c_str());
user->WriteServ("NOTICE %s :Invalid title credentials",user->nick);
return CMD_SUCCESS;