When setting/unsetting cmode +M, only wallops once, not for every server on the network.
This commit is contained in:
parent
3df8ab7a98
commit
01a8417f75
46
src/chmode.c
46
src/chmode.c
|
@ -674,19 +674,23 @@ chm_hidden(struct Client *source_p, struct Channel *chptr,
|
||||||
mode_changes[mode_count].mems = ONLY_OPERS;
|
mode_changes[mode_count].mems = ONLY_OPERS;
|
||||||
mode_changes[mode_count].override = 0;
|
mode_changes[mode_count].override = 0;
|
||||||
mode_changes[mode_count++].arg = NULL;
|
mode_changes[mode_count++].arg = NULL;
|
||||||
|
|
||||||
/* A little ugly */
|
|
||||||
sendto_wallops_flags(UMODE_WALLOP, &me,
|
|
||||||
"+%c set on [%s] by %s!%s@%s",
|
|
||||||
c, chptr->chname, source_p->name, source_p->username, source_p->host);
|
|
||||||
ilog(L_MAIN, "+%c set on [%s] by %s",
|
ilog(L_MAIN, "+%c set on [%s] by %s",
|
||||||
c, chptr->chname, get_oper_name(source_p));
|
c, chptr->chname, get_oper_name(source_p));
|
||||||
|
|
||||||
|
/* A little ugly */
|
||||||
|
if (MyClient(source_p))
|
||||||
|
{
|
||||||
|
sendto_wallops_flags(UMODE_WALLOP, &me,
|
||||||
|
"+%c set on [%s] by %s!%s@%s",
|
||||||
|
c, chptr->chname, source_p->name, source_p->username, source_p->host);
|
||||||
|
|
||||||
if(*chptr->chname != '&')
|
if(*chptr->chname != '&')
|
||||||
sendto_server(NULL, NULL, NOCAPS, NOCAPS,
|
sendto_server(NULL, NULL, NOCAPS, NOCAPS,
|
||||||
":%s WALLOPS :+%c set on [%s] by %s!%s@%s",
|
":%s WALLOPS :+%c set on [%s] by %s!%s@%s",
|
||||||
me.name, c, chptr->chname, source_p->name, source_p->username,
|
me.name, c, chptr->chname, source_p->name, source_p->username,
|
||||||
source_p->host);
|
source_p->host);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if((dir == MODE_DEL) && (chptr->mode.mode & mode_type))
|
else if((dir == MODE_DEL) && (chptr->mode.mode & mode_type))
|
||||||
{
|
{
|
||||||
|
@ -701,18 +705,22 @@ chm_hidden(struct Client *source_p, struct Channel *chptr,
|
||||||
mode_changes[mode_count].override = 0;
|
mode_changes[mode_count].override = 0;
|
||||||
mode_changes[mode_count++].arg = NULL;
|
mode_changes[mode_count++].arg = NULL;
|
||||||
|
|
||||||
/* A little ugly */
|
|
||||||
sendto_wallops_flags(UMODE_WALLOP, &me,
|
|
||||||
"+%c unset from [%s] by %s!%s@%s",
|
|
||||||
c, chptr->chname, source_p->name, source_p->username, source_p->host);
|
|
||||||
ilog(L_MAIN, "+%c unset from [%s] by %s",
|
ilog(L_MAIN, "+%c unset from [%s] by %s",
|
||||||
c, chptr->chname, get_oper_name(source_p));
|
c, chptr->chname, get_oper_name(source_p));
|
||||||
|
|
||||||
|
/* A little ugly */
|
||||||
|
if (MyClient(source_p))
|
||||||
|
{
|
||||||
|
sendto_wallops_flags(UMODE_WALLOP, &me,
|
||||||
|
"+%c unset from [%s] by %s!%s@%s",
|
||||||
|
c, chptr->chname, source_p->name, source_p->username, source_p->host);
|
||||||
|
|
||||||
if(*chptr->chname != '&')
|
if(*chptr->chname != '&')
|
||||||
sendto_server(NULL, NULL, NOCAPS, NOCAPS,
|
sendto_server(NULL, NULL, NOCAPS, NOCAPS,
|
||||||
":%s WALLOPS :+%c unset from [%s] by %s!%s@%s",
|
":%s WALLOPS :+%c unset from [%s] by %s!%s@%s",
|
||||||
me.name, c, chptr->chname, source_p->name, source_p->username,
|
me.name, c, chptr->chname, source_p->name, source_p->username,
|
||||||
source_p->host);
|
source_p->host);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue