state->cli_change[i].client,
state->cli_change[i].oplevel);
- if(MyUser(state->sptr) && (state->chptr->mode.mode & MODE_AUDITORIUM) && (state->cli_change[i].flag & MODE_CHANOP)) {
- do_names(state->sptr, state->chptr, NAMES_ALL|NAMES_EON|((member->status & MODE_CHANOP) ? 0 : NAMES_OPS));
+ if(MyUser(member->user) && (member->channel->mode.mode & MODE_AUDITORIUM) && (state->cli_change[i].flag & MODE_CHANOP)) {
+ do_names(member->user, member->channel, NAMES_ALL|NAMES_EON|((member->status & MODE_CHANOP) ? 0 : NAMES_OPS));
}
} /* for (i = 0; state->cli_change[i].flags; i++) */
}
/* Local users are not permitted to change registration status */
if (flag_p[0] == MODE_REGISTERED && !(state->flags & MODE_PARSE_FORCE) && MyUser(state->sptr))
return;
+
+ if(flag_p[0] == MODE_AUDITORIUM)
+ audit_chan_users(state, flag_p);
if (state->dir == MODE_ADD) {
state->add |= flag_p[0];
case 'l': /* deal with limits */
mode_parse_limit(&state, flag_p);
break;
- case 'u': /* deal with not oped members */
- audit_chan_users(&state, flag_p);
- mode_parse_mode(&state, flag_p);
- break;
case 'a': /* deal with limits */
mode_parse_access(&state, flag_p);
break;
}
}
- if((chan->mode.mode & MODE_DELJOINS) && !(flags & CHFL_VOICED_OR_OPPED)) {
+ if((chan->mode.mode & MODE_AUDITORIUM) && !(flags & CHFL_VOICED_OR_OPPED)) {
//we have to send this JOIN event to ops only...
sendcmdto_channel_butserv_butone(jbuf->jb_source, CMD_JOIN, chan, NULL, SKIP_NONOPS, "%H", chan);
if(MyUser(jbuf->jb_source))