At 10:55 PM 9/27/01 +0100, you wrote: >[EMAIL PROTECTED] wrote on 27/09/2001 19:20:24: > > > Why not put a code in that sais if a user is suspended, he can not be >removed. > > > > I presume you know that if you have someone on the userlist that is >close to > > you, and is willig to "betrade" the other ops, he could /msg x remuser > > #channel username, and then /msg x adduser #channel username level, and >his > > suspension is cancelled. > > > > > >The downside of this is you can essentially "Lock" a person into being >added in a channel without their consent, just by suspending them - >they'll be unable to remove themselves from #!!!!!!!!!!hot-turtles. You >could make it so that self-remuser's still work, however you're left with >the same problem :) > >Greg
Just a thought.... (with a little detail :) Could it be made possible that if a suspended user is REMUSER'ed, the user either (a) cannot be re-added until the suspension expires or is removed, or (b) the "new" record retains the old suspension..... In REMUSER, if the record is marked suspended, simply set the access level to NULL... (mark the record deleted but still suspended) In ADDUSER, if a levels record exists with a NULL access level & suspension flag, (a) refuse the adduser as necessary. (The existing duplicate prevention code could also handle this.....) *OR* (b) if the adduser is valid, simply reset the access level, retaining everything else, including the suspension flag. In UNSUSPEND (automatic or command), if the access level is NULL, delete the levels record as appropriate. Otherwise remove the suspension flag... This would also require appropriate changes everywhere else, and in the web interface..... Either way, this loophole is closed.... Either the user is re-added with the old suspension, or the user is permanently removed... I don't know C++ though, so I wouldn't be of much help in implementing this, should it be accepted...