- ModResult OnPreMode(User* source,User* dest,Channel* channel, const std::vector<std::string>& parameters)
- {
- if (cmd.active)
- return MOD_RES_ALLOW;
- return MOD_RES_PASSTHRU;
+ std::string logtext = (destuser ? destuser->nick : destchan->name);
+ logtext.push_back(' ');
+ logtext += ClientProtocol::Messages::Mode::ToModeLetters(modes);
+
+ for (Modes::ChangeList::List::const_iterator i = modes.getlist().begin(); i != modes.getlist().end(); ++i)
+ {
+ const Modes::Change& item = *i;
+ if (!item.param.empty())
+ logtext.append(1, ' ').append(item.param);
+ }
+
+ cmd.LogUsage(user, logtext);