+ if(chan && sent_chan != chan && !isUserOnChan(user, chan)) {
+ char user_in_chan = 0;
+ if((user->flags & USERFLAG_ISAUTHED)) {
+ //maybe there's another user authed to user->auth on the channel...
+ struct ChanUser *cchanuser;
+ for(cchanuser = getChannelUsers(chan, NULL); cchanuser; cchanuser = getChannelUsers(chan, cchanuser)) {
+ if((cchanuser->user->flags & USERFLAG_ISAUTHED) && !stricmp(user->auth, cchanuser->user->auth)) {
+ user_in_chan = 1;
+ break;
+ }
+ }
+ }
+ if(!user_in_chan) {
+ //check if we are allowed to execute commands in this channel
+ requested_uaccess = 1;
+ uaccess = getChannelAccess(user, chan);
+ if(!uaccess) {
+ reply(tmp_text_client, user, "MODCMD_CROSSCHAN", chan->name);
+ return;
+ }
+ }
+ }