summaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-08-29 18:26:55 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-08-29 18:26:55 +0000
commitb9e99da4dafd836e995970216835cefe3716a01a (patch)
tree3e1a53384d20e350adf6a23ac964b9429e735e6b /src/modules
parente7aac9ee56d7bfff83287e3068ac18f60d43a1f9 (diff)
Snomask support cometh! and it leave a sticky white mess all over the floor :(
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5062 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/m_globops.cpp46
1 files changed, 7 insertions, 39 deletions
diff --git a/src/modules/m_globops.cpp b/src/modules/m_globops.cpp
index 77a35294a..f0a879d4b 100644
--- a/src/modules/m_globops.cpp
+++ b/src/modules/m_globops.cpp
@@ -32,76 +32,44 @@ using namespace std;
class cmd_globops : public command_t
{
public:
- cmd_globops (InspIRCd* Instance) : command_t(Instance,"GLOBOPS",'o',1)
+ cmd_globops (InspIRCd* Instance) : command_t(Instance,"GLOBOPS",'o',1)
{
this->source = "m_globops.so";
syntax = "<any-text>";
}
-
+
void Handle (const char** parameters, int pcnt, userrec *user)
{
- std::string line = "*** GLOBOPS - From " + std::string(user->nick) + ": ";
+ std::string line = "From " + std::string(user->nick) + ": ";
for (int i = 0; i < pcnt; i++)
{
line = line + std::string(parameters[i]) + " ";
}
- ServerInstance->WriteMode("og",WM_AND,line.c_str());
+ ServerInstance->SNO->WriteToSnoMask('g',line);
}
};
-class ModeGlobops : public ModeHandler
-{
- public:
- ModeGlobops(InspIRCd* Instance) : ModeHandler(Instance, 'g', 0, 0, false, MODETYPE_USER, true) { }
-
- ModeAction OnModeChange(userrec* source, userrec* dest, chanrec* channel, std::string &parameter, bool adding)
- {
- if (adding)
- {
- if (!dest->IsModeSet('g'))
- {
- dest->SetMode('P',true);
- return MODEACTION_ALLOW;
- }
- }
- else
- {
- if (dest->IsModeSet('g'))
- {
- dest->SetMode('P',false);
- return MODEACTION_ALLOW;
- }
- }
-
- return MODEACTION_DENY;
- }
-};
-
-
class ModuleGlobops : public Module
{
cmd_globops* mycommand;
- ModeGlobops* mg;
public:
ModuleGlobops(InspIRCd* Me)
: Module::Module(Me)
{
-
- mg = new ModeGlobops(ServerInstance);
- ServerInstance->AddMode(mg, 'g');
mycommand = new cmd_globops(ServerInstance);
ServerInstance->AddCommand(mycommand);
+ ServerInstance->SNO->EnableSnomask('g',"GLOBOPS");
}
virtual ~ModuleGlobops()
{
+ ServerInstance->SNO->DisableSnomask('g');
DELETE(mycommand);
- DELETE(mg);
}
virtual Version GetVersion()
{
- return Version(1,0,0,1,VF_STATIC|VF_VENDOR);
+ return Version(1,0,0,1,VF_VENDOR);
}
void Implements(char* List)