|
|
@@ -31,7 +31,7 @@ static int msg_bewm(char *nick, char *host, struct userrec *u, char *par)
|
|
|
|
|
|
struct flag_record fr = {FR_GLOBAL | FR_CHAN, 0, 0, 0 };
|
|
|
|
|
|
- get_user_flagrec(u, &fr, chan->dname);
|
|
|
+ get_user_flagrec(u, &fr, chan->dname, chan);
|
|
|
|
|
|
if (!chk_op(fr, chan)) {
|
|
|
putlog(LOG_CMDS, "*", "(%s!%s) !%s! !BEWM", nick, host, u->handle);
|
|
|
@@ -130,7 +130,7 @@ static int msg_op(char *nick, char *host, struct userrec *u, char *par)
|
|
|
if (par[0]) {
|
|
|
chan = findchan_by_dname(par);
|
|
|
if (chan && channel_active(chan)) {
|
|
|
- get_user_flagrec(u, &fr, par);
|
|
|
+ get_user_flagrec(u, &fr, par, chan);
|
|
|
if (chk_op(fr, chan)) {
|
|
|
if (do_op(nick, chan, 0, 1)) {
|
|
|
stats_add(u, 0, 1);
|
|
|
@@ -144,7 +144,7 @@ static int msg_op(char *nick, char *host, struct userrec *u, char *par)
|
|
|
} else {
|
|
|
int stats = 0;
|
|
|
for (chan = chanset; chan; chan = chan->next) {
|
|
|
- get_user_flagrec(u, &fr, chan->dname);
|
|
|
+ get_user_flagrec(u, &fr, chan->dname, chan);
|
|
|
if (chk_op(fr, chan)) {
|
|
|
if (do_op(nick, chan, 0, 1)) {
|
|
|
stats++;
|
|
|
@@ -220,7 +220,7 @@ static int msg_invite(char *nick, char *host, struct userrec *u, char *par)
|
|
|
if (u_pass_match(u, pass) && !u_pass_match(u, "-")) {
|
|
|
if (par[0] == '*') {
|
|
|
for (chan = chanset; chan; chan = chan->next) {
|
|
|
- get_user_flagrec(u, &fr, chan->dname);
|
|
|
+ get_user_flagrec(u, &fr, chan->dname, chan);
|
|
|
if (chk_op(fr, chan) && (chan->channel.mode & CHANINV)) {
|
|
|
cache_invite(chan, nick, host, u->handle, 0, 0);
|
|
|
}
|
|
|
@@ -237,7 +237,7 @@ static int msg_invite(char *nick, char *host, struct userrec *u, char *par)
|
|
|
return BIND_RET_BREAK;
|
|
|
}
|
|
|
/* We need to check access here also (dw 991002) */
|
|
|
- get_user_flagrec(u, &fr, par);
|
|
|
+ get_user_flagrec(u, &fr, par, chan);
|
|
|
if (chk_op(fr, chan)) {
|
|
|
cache_invite(chan, nick, host, u->handle, 0, 0);
|
|
|
putlog(LOG_CMDS, "*", "(%s!%s) !%s! INVITE %s", nick, host, u->handle, par);
|
|
|
@@ -519,7 +519,7 @@ static int msgc_op(Auth *a, char *chname, char *par)
|
|
|
if (!chan)
|
|
|
chan = findchan_by_dname(par);
|
|
|
if (chan && channel_active(chan)) {
|
|
|
- get_user_flagrec(a->user, &fr, chan->dname);
|
|
|
+ get_user_flagrec(a->user, &fr, chan->dname, chan);
|
|
|
if (chk_op(fr, chan)) {
|
|
|
if (do_op(a->nick, chan, 0, force))
|
|
|
stats_add(a->user, 0, 1);
|
|
|
@@ -528,7 +528,7 @@ static int msgc_op(Auth *a, char *chname, char *par)
|
|
|
}
|
|
|
} else {
|
|
|
for (chan = chanset; chan; chan = chan->next) {
|
|
|
- get_user_flagrec(a->user, &fr, chan->dname);
|
|
|
+ get_user_flagrec(a->user, &fr, chan->dname, chan);
|
|
|
if (chk_op(fr, chan)) {
|
|
|
if (do_op(a->nick, chan, 0, force))
|
|
|
stats_add(a->user, 0, 1);
|
|
|
@@ -568,7 +568,7 @@ static int msgc_voice(Auth *a, char *chname, char *par)
|
|
|
if (!chan)
|
|
|
chan = findchan_by_dname(par);
|
|
|
if (chan && channel_active(chan)) {
|
|
|
- get_user_flagrec(a->user, &fr, chan->dname);
|
|
|
+ get_user_flagrec(a->user, &fr, chan->dname, chan);
|
|
|
if (!chk_devoice(fr)) { /* dont voice +q */
|
|
|
add_mode(chan, '+', 'v', a->nick);
|
|
|
}
|
|
|
@@ -576,7 +576,7 @@ static int msgc_voice(Auth *a, char *chname, char *par)
|
|
|
}
|
|
|
} else {
|
|
|
for (chan = chanset; chan; chan = chan->next) {
|
|
|
- get_user_flagrec(a->user, &fr, chan->dname);
|
|
|
+ get_user_flagrec(a->user, &fr, chan->dname, chan);
|
|
|
if (!chk_devoice(fr)) { /* dont voice +q */
|
|
|
add_mode(chan, '+', 'v', a->nick);
|
|
|
}
|
|
|
@@ -593,7 +593,7 @@ static int msgc_channels(Auth *a, char *chname, char *par)
|
|
|
|
|
|
LOGC("CHANNELS");
|
|
|
for (chan = chanset; chan; chan = chan->next) {
|
|
|
- get_user_flagrec(a->user, &fr, chan->dname);
|
|
|
+ get_user_flagrec(a->user, &fr, chan->dname, chan);
|
|
|
if (chk_op(fr, chan)) {
|
|
|
if (me_op(chan))
|
|
|
strcat(list, "@");
|
|
|
@@ -624,7 +624,7 @@ static int msgc_getkey(Auth *a, char *chname, char *par)
|
|
|
LOGC("GETKEY");
|
|
|
chan = findchan_by_dname(par);
|
|
|
if (chan && channel_active(chan) && !channel_pending(chan)) {
|
|
|
- get_user_flagrec(a->user, &fr, chan->dname);
|
|
|
+ get_user_flagrec(a->user, &fr, chan->dname, chan);
|
|
|
if (chk_op(fr, chan)) {
|
|
|
if (chan->channel.key[0]) {
|
|
|
reply(a->nick, NULL, "Key for %s is: %s\n", chan->name, chan->channel.key);
|
|
|
@@ -712,7 +712,7 @@ static int msgc_invite(Auth *a, char *chname, char *par)
|
|
|
chan = findchan_by_dname(par);
|
|
|
if (chan && channel_active(chan) && !ismember(chan, a->nick)) {
|
|
|
if ((!(chan->channel.mode & CHANINV) && force) || (chan->channel.mode & CHANINV)) {
|
|
|
- get_user_flagrec(a->user, &fr, chan->dname);
|
|
|
+ get_user_flagrec(a->user, &fr, chan->dname, chan);
|
|
|
if (chk_op(fr, chan)) {
|
|
|
cache_invite(chan, a->nick, a->host, a->handle, 0, 0);
|
|
|
}
|
|
|
@@ -723,7 +723,7 @@ static int msgc_invite(Auth *a, char *chname, char *par)
|
|
|
for (chan = chanset; chan; chan = chan->next) {
|
|
|
if (channel_active(chan) && !ismember(chan, a->nick)) {
|
|
|
if ((!(chan->channel.mode & CHANINV) && force) || (chan->channel.mode & CHANINV)) {
|
|
|
- get_user_flagrec(a->user, &fr, chan->dname);
|
|
|
+ get_user_flagrec(a->user, &fr, chan->dname, chan);
|
|
|
if (chk_op(fr, chan)) {
|
|
|
cache_invite(chan, a->nick, a->host, a->handle, 0, 0);
|
|
|
}
|