if (!silent)
{
WriteChannel(chan,user,"MODE %s %s",chan->name,outstr);
+ FOREACH_MOD OnMode(user, chan, TYPE_CHANNEL, outstr);
}
}
}
can_change = 0;
if (user != dest)
{
- if (strchr(user->modes,'o'))
+ if ((strchr(user->modes,'o')) || (is_uline(user->server)))
{
can_change = 1;
}
}
}
- if ((Ptr) && (!has_channel(user,Ptr)))
+ if (((Ptr) && (!has_channel(user,Ptr))) && (!is_uline(user->server)))
{
WriteServ(user->fd,"442 %s %s :You're not on that channel!",user->nick, Ptr->name);
return;