aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/m_operprefix.cpp
diff options
context:
space:
mode:
authorGravatar attilamolnar2013-09-01 14:25:15 +0200
committerGravatar attilamolnar2013-09-11 12:10:07 +0200
commit34fa5627de0a0431ca76f34445c680a76a9a7dc5 (patch)
tree4b63f6ce49983e161051f70e066ecf9bf974cc88 /src/modules/m_operprefix.cpp
parentAdd a type id field to ModeHandler (diff)
downloadinspircd++-34fa5627de0a0431ca76f34445c680a76a9a7dc5.tar.gz
inspircd++-34fa5627de0a0431ca76f34445c680a76a9a7dc5.tar.bz2
inspircd++-34fa5627de0a0431ca76f34445c680a76a9a7dc5.zip
Create a base class for prefix modes
Move Channel::SetPrefix() into Membership
Diffstat (limited to 'src/modules/m_operprefix.cpp')
-rw-r--r--src/modules/m_operprefix.cpp22
1 files changed, 3 insertions, 19 deletions
diff --git a/src/modules/m_operprefix.cpp b/src/modules/m_operprefix.cpp
index 23390baea..3d2a34bdb 100644
--- a/src/modules/m_operprefix.cpp
+++ b/src/modules/m_operprefix.cpp
@@ -26,32 +26,16 @@
#define OPERPREFIX_VALUE 1000000
-class OperPrefixMode : public ModeHandler
+class OperPrefixMode : public PrefixMode
{
public:
- OperPrefixMode(Module* Creator) : ModeHandler(Creator, "operprefix", 'y', PARAM_ALWAYS, MODETYPE_CHANNEL)
+ OperPrefixMode(Module* Creator) : PrefixMode(Creator, "operprefix", 'y')
{
std::string pfx = ServerInstance->Config->ConfValue("operprefix")->getString("prefix", "!");
- list = true;
prefix = pfx.empty() ? '!' : pfx[0];
- levelrequired = OPERPREFIX_VALUE;
- m_paramtype = TR_NICK;
+ levelrequired = INT_MAX;
prefixrank = OPERPREFIX_VALUE;
}
-
- ModeAction OnModeChange(User* source, User* dest, Channel* channel, std::string &parameter, bool adding)
- {
- if (IS_SERVER(source) || ServerInstance->ULine(source->server))
- return MODEACTION_ALLOW;
- else
- {
- if (channel)
- source->WriteNumeric(ERR_CHANOPRIVSNEEDED, "%s %s :Only servers are permitted to change channel mode '%c'", source->nick.c_str(), channel->name.c_str(), 'y');
- return MODEACTION_DENY;
- }
- }
-
- bool NeedsOper() { return true; }
};
class ModuleOperPrefixMode;