mirror of
https://github.com/inspircd/inspircd.git
synced 2025-03-09 18:49:03 -04:00
Change the type of the user parameter in the OnUserPreNick() hook from User to LocalUser
No remote users were passed to this hook before. Remove needless IS_LOCAL() checks.
This commit is contained in:
parent
3323226c38
commit
1442193c79
@ -558,17 +558,14 @@ class CoreExport Module : public classbase, public usecountbase
|
||||
*/
|
||||
virtual void OnBuildNeighborList(User* source, IncludeChanList& include_c, std::map<User*, bool>& exceptions);
|
||||
|
||||
/** Called before any nickchange, local or remote. This can be used to implement Q-lines etc.
|
||||
* Please note that although you can see remote nickchanges through this function, you should
|
||||
* NOT make any changes to the User if the user is a remote user as this may cause a desnyc.
|
||||
* check user->server before taking any action (including returning nonzero from the method).
|
||||
/** Called before local nickname changes. This can be used to implement Q-lines etc.
|
||||
* If your method returns nonzero, the nickchange is silently forbidden, and it is down to your
|
||||
* module to generate some meaninful output.
|
||||
* @param user The username changing their nick
|
||||
* @param newnick Their new nickname
|
||||
* @return 1 to deny the change, 0 to allow
|
||||
*/
|
||||
virtual ModResult OnUserPreNick(User* user, const std::string &newnick);
|
||||
virtual ModResult OnUserPreNick(LocalUser* user, const std::string& newnick);
|
||||
|
||||
/** Called after any PRIVMSG sent from a user.
|
||||
* The dest variable contains a User* if target_type is TYPE_USER and a Channel*
|
||||
|
@ -95,7 +95,7 @@ void Module::OnInfo(User*) { DetachEvent(I_OnInfo); }
|
||||
void Module::OnWhois(User*, User*) { DetachEvent(I_OnWhois); }
|
||||
ModResult Module::OnUserPreInvite(User*, User*, Channel*, time_t) { DetachEvent(I_OnUserPreInvite); return MOD_RES_PASSTHRU; }
|
||||
ModResult Module::OnUserPreMessage(User*, void*, int, std::string&, char, CUList&, MessageType) { DetachEvent(I_OnUserPreMessage); return MOD_RES_PASSTHRU; }
|
||||
ModResult Module::OnUserPreNick(User*, const std::string&) { DetachEvent(I_OnUserPreNick); return MOD_RES_PASSTHRU; }
|
||||
ModResult Module::OnUserPreNick(LocalUser*, const std::string&) { DetachEvent(I_OnUserPreNick); return MOD_RES_PASSTHRU; }
|
||||
void Module::OnUserPostNick(User*, const std::string&) { DetachEvent(I_OnUserPostNick); }
|
||||
ModResult Module::OnPreMode(User*, User*, Channel*, const std::vector<std::string>&) { DetachEvent(I_OnPreMode); return MOD_RES_PASSTHRU; }
|
||||
void Module::On005Numeric(std::map<std::string, std::string>&) { DetachEvent(I_On005Numeric); }
|
||||
|
@ -126,7 +126,7 @@ class ModuleNickFlood : public Module
|
||||
{
|
||||
}
|
||||
|
||||
ModResult OnUserPreNick(User* user, const std::string &newnick) CXX11_OVERRIDE
|
||||
ModResult OnUserPreNick(LocalUser* user, const std::string& newnick) CXX11_OVERRIDE
|
||||
{
|
||||
for (UCListIter i = user->chans.begin(); i != user->chans.end(); i++)
|
||||
{
|
||||
|
@ -153,11 +153,8 @@ class ModuleNickLock : public Module
|
||||
return Version("Provides the NICKLOCK command, allows an oper to change a users nick and lock them to it until they quit", VF_OPTCOMMON | VF_VENDOR);
|
||||
}
|
||||
|
||||
ModResult OnUserPreNick(User* user, const std::string &newnick) CXX11_OVERRIDE
|
||||
ModResult OnUserPreNick(LocalUser* user, const std::string& newnick) CXX11_OVERRIDE
|
||||
{
|
||||
if (!IS_LOCAL(user))
|
||||
return MOD_RES_PASSTHRU;
|
||||
|
||||
if (locked.get(user))
|
||||
{
|
||||
user->WriteNumeric(ERR_CANTCHANGENICK, ":You cannot change your nickname (your nick is locked)");
|
||||
|
@ -46,11 +46,8 @@ class ModuleNoNickChange : public Module
|
||||
tokens["EXTBAN"].push_back('N');
|
||||
}
|
||||
|
||||
ModResult OnUserPreNick(User* user, const std::string &newnick) CXX11_OVERRIDE
|
||||
ModResult OnUserPreNick(LocalUser* user, const std::string& newnick) CXX11_OVERRIDE
|
||||
{
|
||||
if (!IS_LOCAL(user))
|
||||
return MOD_RES_PASSTHRU;
|
||||
|
||||
for (UCListIter i = user->chans.begin(); i != user->chans.end(); i++)
|
||||
{
|
||||
Channel* curr = (*i)->chan;
|
||||
|
@ -192,7 +192,7 @@ class ModuleSVSHold : public Module
|
||||
return MOD_RES_DENY;
|
||||
}
|
||||
|
||||
ModResult OnUserPreNick(User *user, const std::string &newnick) CXX11_OVERRIDE
|
||||
ModResult OnUserPreNick(LocalUser* user, const std::string& newnick) CXX11_OVERRIDE
|
||||
{
|
||||
XLine *rl = ServerInstance->XLines->MatchesLine("SVSHOLD", newnick);
|
||||
|
||||
|
@ -619,11 +619,13 @@ bool User::ChangeNick(const std::string& newnick, bool force, time_t newts)
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!force)
|
||||
LocalUser* const localuser = IS_LOCAL(this);
|
||||
if (!force && localuser)
|
||||
{
|
||||
ModResult MOD_RESULT;
|
||||
FIRST_MOD_RESULT(OnUserPreNick, MOD_RESULT, (this, newnick));
|
||||
FIRST_MOD_RESULT(OnUserPreNick, MOD_RESULT, (localuser, newnick));
|
||||
|
||||
// If a module denied the change, abort now
|
||||
if (MOD_RESULT == MOD_RES_DENY)
|
||||
return false;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user