2
0
mirror of https://github.com/inspircd/inspircd.git synced 2025-03-22 00:49:02 -04:00

Port to new API

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4229 e03df62e-2008-0410-955e-edbf42e46eb7
This commit is contained in:
brain 2006-07-09 16:16:01 +00:00
parent 2958a8d0c8
commit 7074dc3b27

@ -24,21 +24,51 @@ using namespace std;
/* $ModDesc: Provides support for unreal-style channel mode +T */ /* $ModDesc: Provides support for unreal-style channel mode +T */
class NoNotice : public ModeHandler
{
public:
NoNotice() : ModeHandler('T', 0, 0, false, MODETYPE_CHANNEL, false) { }
ModeAction OnModeChange(userrec* source, userrec* dest, chanrec* channel, std::string &parameter, bool adding)
{
if (adding)
{
if (!channel->IsModeSet('T'))
{
channel->SetMode('T',true);
return MODEACTION_ALLOW;
}
}
else
{
if (channel->IsModeSet('T'))
{
channel->SetMode('T',false);
return MODEACTION_ALLOW;
}
}
return MODEACTION_DENY;
}
};
class ModuleNoNotice : public Module class ModuleNoNotice : public Module
{ {
Server *Srv; Server *Srv;
NoNotice* nt;
public: public:
ModuleNoNotice(Server* Me) ModuleNoNotice(Server* Me)
: Module::Module(Me) : Module::Module(Me)
{ {
Srv = Me; Srv = Me;
Srv->AddExtendedMode('T',MT_CHANNEL,false,0,0); nt = new NoNotice();
Srv->AddMode(nt, 'T');
} }
void Implements(char* List) void Implements(char* List)
{ {
List[I_OnUserPreNotice] = List[I_On005Numeric] = List[I_OnExtendedMode] = 1; List[I_OnUserPreNotice] = List[I_On005Numeric] = 1;
} }
virtual int OnUserPreNotice(userrec* user,void* dest,int target_type, std::string &text, char status) virtual int OnUserPreNotice(userrec* user,void* dest,int target_type, std::string &text, char status)
@ -68,21 +98,9 @@ class ModuleNoNotice : public Module
InsertMode(output,"T",4); InsertMode(output,"T",4);
} }
virtual int OnExtendedMode(userrec* user, void* target, char modechar, int type, bool mode_on, string_list &params)
{
// check if this is our mode character...
if ((modechar == 'T') && (type == MT_CHANNEL))
{
return 1;
}
else
{
return 0;
}
}
virtual ~ModuleNoNotice() virtual ~ModuleNoNotice()
{ {
DELETE(nt);
} }
virtual Version GetVersion() virtual Version GetVersion()