diff options
author | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-09-05 22:48:00 +0000 |
---|---|---|
committer | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-09-05 22:48:00 +0000 |
commit | b49d529981f4336347c5f7c17d8ce656ad50b1e5 (patch) | |
tree | e286d955ed0b85b1971cbb2ff6cd421ab586f4e2 /src | |
parent | b6decc75f28e24522bfc4a3a74dbacce22d5cb02 (diff) |
Likewise, convert OnLocalTopicChange to OnPreTopicChange and to be run for both local and remote changes, for API consistency.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11678 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src')
-rw-r--r-- | src/channels.cpp | 4 | ||||
-rw-r--r-- | src/modules.cpp | 2 | ||||
-rw-r--r-- | src/modules/m_override.cpp | 6 |
3 files changed, 6 insertions, 6 deletions
diff --git a/src/channels.cpp b/src/channels.cpp index e559f399f..4915b1614 100644 --- a/src/channels.cpp +++ b/src/channels.cpp @@ -63,14 +63,14 @@ std::string Channel::GetModeParameter(char mode) int Channel::SetTopic(User *u, std::string &ntopic, bool forceset) { - if (u && IS_LOCAL(u)) + if (u) { if(!forceset) { ModResult res; /* 0: check status, 1: don't, -1: disallow change silently */ - FIRST_MOD_RESULT(ServerInstance, OnLocalTopicChange, res, (u,this,ntopic)); + FIRST_MOD_RESULT(ServerInstance, OnPreTopicChange, res, (u,this,ntopic)); if (res == MOD_RES_DENY) return CMD_FAILURE; diff --git a/src/modules.cpp b/src/modules.cpp index fe7f3fb02..59b52b5b1 100644 --- a/src/modules.cpp +++ b/src/modules.cpp @@ -151,7 +151,7 @@ ModResult Module::OnCheckStringExtBan(const std::string &s, Channel *c, char typ ModResult Module::OnStats(char, User*, string_list&) { return MOD_RES_PASSTHRU; } ModResult Module::OnChangeLocalUserHost(User*, const std::string&) { return MOD_RES_PASSTHRU; } ModResult Module::OnChangeLocalUserGECOS(User*, const std::string&) { return MOD_RES_PASSTHRU; } -ModResult Module::OnLocalTopicChange(User*, Channel*, const std::string&) { return MOD_RES_PASSTHRU; } +ModResult Module::OnPreTopicChange(User*, Channel*, const std::string&) { return MOD_RES_PASSTHRU; } void Module::OnEvent(Event*) { return; } const char* Module::OnRequest(Request*) { return NULL; } ModResult Module::OnPassCompare(Extensible* ex, const std::string &password, const std::string &input, const std::string& hashtype) { return MOD_RES_PASSTHRU; } diff --git a/src/modules/m_override.cpp b/src/modules/m_override.cpp index ae18803d3..d0ec5d8fe 100644 --- a/src/modules/m_override.cpp +++ b/src/modules/m_override.cpp @@ -41,7 +41,7 @@ class ModuleOverride : public Module } OverriddenMode = OverOther = false; OverOps = OverDeops = OverVoices = OverDevoices = OverHalfops = OverDehalfops = 0; - Implementation eventlist[] = { I_OnRehash, I_OnAccessCheck, I_On005Numeric, I_OnUserPreJoin, I_OnUserPreKick, I_OnPostCommand, I_OnLocalTopicChange, I_OnRequest }; + Implementation eventlist[] = { I_OnRehash, I_OnAccessCheck, I_On005Numeric, I_OnUserPreJoin, I_OnUserPreKick, I_OnPostCommand, I_OnPreTopicChange, I_OnRequest }; ServerInstance->Modules->Attach(eventlist, this, 8); } @@ -116,9 +116,9 @@ class ModuleOverride : public Module } - virtual ModResult OnLocalTopicChange(User *source, Channel *channel, const std::string &topic) + virtual ModResult OnPreTopicChange(User *source, Channel *channel, const std::string &topic) { - if (IS_OPER(source) && CanOverride(source, "TOPIC")) + if (IS_LOCAL(source) && IS_OPER(source) && CanOverride(source, "TOPIC")) { if (!channel->HasUser(source) || (channel->IsModeSet('t') && channel->GetStatus(source) < STATUS_HOP)) { |