#include <deque>
#include "connection.h"
#include "users.h"
-#include "servers.h"
#include "ctables.h"
#include "globals.h"
#include "modules.h"
{
log(DEBUG,"Local mode change");
WriteChannelLocal(chan, user, "MODE %s %s",chan->name,outstr);
+ FOREACH_MOD OnMode(user, chan, TYPE_CHANNEL, outstr);
}
else
{
if (!silent)
{
WriteChannelWithServ(ServerName,chan,"MODE %s %s",chan->name,outstr);
- // M token for a usermode must go to all servers
- char buffer[MAXBUF];
- snprintf(buffer,MAXBUF,"M %s %s",chan->name, outstr);
- NetSendToAll(buffer);
}
}
if (!silent)
{
WriteChannel(chan,user,"MODE %s %s",chan->name,outstr);
- // M token for a usermode must go to all servers
- char buffer[MAXBUF];
- snprintf(buffer,MAXBUF,"m %s %s %s",user->nick,chan->name, outstr);
- NetSendToAll(buffer);
+ FOREACH_MOD OnMode(user, chan, TYPE_CHANNEL, outstr);
}
}
}
if (strcmp(b,""))
{
WriteTo(user, dest, "MODE %s :%s", dest->nick, b);
- // M token for a usermode must go to all servers
- char buffer[MAXBUF];
- snprintf(buffer,MAXBUF,"m %s %s %s",user->nick, dest->nick, b);
- NetSendToAll(buffer);
+ FOREACH_MOD OnMode(user, dest, TYPE_USER, b);
}
if (strlen(dmodes)>MAXMODES)
if (strcmp(b,""))
{
WriteTo(user, dest, "MODE %s :%s", dest->nick, b);
- // M token for a usermode must go to all servers
- char buffer[MAXBUF];
- snprintf(buffer,MAXBUF,"m %s %s %s",user->nick, dest->nick, b);
- NetSendToAll(buffer);
+ FOREACH_MOD OnMode(user, dest, TYPE_USER, b);
}
if (strlen(dmodes)>MAXMODES)
if (strcmp(b,""))
{
WriteTo(user,dest,"MODE %s :%s",dest->nick,b);
- log(DEBUG,"Sent: :%s MODE %s",user->nick,b);
+ FOREACH_MOD OnMode(user, dest, TYPE_USER, b);
}
if (strlen(dmodes)>MAXMODES)