- if ((!theuser) || (!channel->HasUser(theuser)))
- {
- parameter.clear();
- return NULL;
- }
- return theuser;
- }
-
- ModeAction HandleChange(User* source, User* theuser, bool adding, Channel* channel, std::string ¶meter)
- {
- Membership* m = channel->GetUser(theuser);
- if (m && adding)
- {
- if (!m->hasMode('Y'))
- {
- parameter = theuser->nick;
- return MODEACTION_ALLOW;
- }
- }
- else if (m && !adding)
- {
- if (m->hasMode('Y'))
- {
- parameter = theuser->nick;
- return MODEACTION_ALLOW;
- }
- }
- return MODEACTION_DENY;
- }
-
- unsigned int GetPrefixRank()
- {
- return NETWORK_VALUE;
- }
-
- void RemoveMode(User* user, irc::modestacker* stack)
- {
- }
-
- ModeAction OnModeChange(User* source, User* dest, Channel* channel, std::string ¶meter, bool adding)
- {
- User* theuser = FindAndVerify(parameter, channel);
-
- if (!theuser)
- return MODEACTION_DENY;