+ /* Send silenced event only to the user being kicked and the user doing the kick */
+ source->WriteFrom(source, "KICK %s %s %s", chan->name.c_str(), user->nick.c_str(), reason.c_str());
+ if (ShowOps)
+ chan->WriteAllExceptSender(source, false, chan->GetStatus(user) >= STATUS_OP ? 0 : '@', "KICK %s %s %s", chan->name.c_str(), user->nick.c_str(), reason.c_str());
+ if ((!ShowOps) || (chan->GetStatus(user) < STATUS_OP)) /* make sure the target gets the event */
+ user->WriteFrom(source, "KICK %s %s %s", chan->name.c_str(), user->nick.c_str(), reason.c_str());
+ }
+ }
+
+ bool OnHostCycle(User* user)
+ {
+ for (UCListIter f = user->chans.begin(); f != user->chans.end(); f++)
+ if (f->first->IsModeSet('u'))
+ return true;
+
+ return false;