return new CommandOper(Instance);
}
-CmdResult CommandOper::Handle (const char** parameters, int pcnt, User *user)
+CmdResult CommandOper::Handle (const char** parameters, int, User *user)
{
char LoginName[MAXBUF];
char Password[MAXBUF];
if (*HostName)
user->ChangeDisplayedHost(HostName);
if (*ClassName)
- user->CheckClass(ClassName);
+ {
+ user->SetClass(ClassName);
+ user->CheckClass();
+ }
found = true;
type_invalid = false;
break;
ServerInstance->SNO->WriteToSnoMask('o',"%s (%s@%s) is now an IRC operator of type %s (using oper '%s')",user->nick,user->ident,user->host,irc::Spacify(OperType),parameters[0]);
user->WriteServ("381 %s :You are now %s %s",user->nick, strchr("aeiouAEIOU", *OperType) ? "an" : "a", irc::Spacify(OperType));
if (!user->IsModeSet('o'))
- user->Oper(OperType);
+ user->Oper(OperType, LoginName);
}
else
{