- ModeAction OnModeChange(userrec* source, userrec* dest, chanrec* channel, std::string ¶meter, bool adding)
- {
- if ((kludgeme) || (Srv->IsUlined(source->nick)) || (Srv->IsUlined(source->server)) || (!*source->server || (strchr(source->nick,'.'))))
- {
- log(DEBUG,"Allowing umode +r, server and nick are: '%s','%s'",source->nick,source->server);
- dest->SetMode('r',adding);
- return MODEACTION_ALLOW;
- }
- else
- {
- log(DEBUG,"Only a server can set umode +r, server and nick are: '%s','%s'",source->nick, source->server);
- source->WriteServ("500 "+std::string(source->nick)+" :Only a server may modify the +r user mode");
- return MODEACTION_DENY;
- }
- }
-};
-
-class Channel_R : public ModeHandler
-{