#include "inspircd.h"
+#include "modules/stats.h"
+#include "modules/whois.h"
/** Handles user mode +H
*/
oper = true;
}
- ModeAction OnModeChange(User* source, User* dest, Channel* channel, std::string& parameter, bool adding)
+ ModeAction OnModeChange(User* source, User* dest, Channel* channel, std::string& parameter, bool adding) CXX11_OVERRIDE
{
if (SimpleUserModeHandler::OnModeChange(source, dest, channel, parameter, adding) == MODEACTION_DENY)
return MODEACTION_DENY;
}
};
-class ModuleHideOper : public Module, public Whois::LineEventListener
+class ModuleHideOper : public Module, public Stats::EventListener, public Whois::LineEventListener
{
HideOper hm;
bool active;
public:
ModuleHideOper()
- : Whois::LineEventListener(this)
+ : Stats::EventListener(this)
+ , Whois::LineEventListener(this)
, hm(this)
, active(false)
{
ModResult OnNumeric(User* user, const Numeric::Numeric& numeric) CXX11_OVERRIDE
{
- if (numeric.GetNumeric() != 252 || active || user->HasPrivPermission("users/auspex"))
+ if (numeric.GetNumeric() != RPL_LUSEROP || active || user->HasPrivPermission("users/auspex"))
return MOD_RES_PASSTHRU;
// If there are no visible operators then we shouldn't send the numeric.
if (opercount)
{
active = true;
- user->WriteNumeric(252, opercount, "operator(s) online");
+ user->WriteNumeric(RPL_LUSEROP, opercount, "operator(s) online");
active = false;
}
return MOD_RES_DENY;
if (!oper->server->IsULine() && (stats.GetSource()->IsOper() || !oper->IsModeSet(hm)))
{
LocalUser* lu = IS_LOCAL(oper);
- stats.AddRow(249, oper->nick + " (" + oper->ident + "@" + oper->dhost + ") Idle: " +
+ stats.AddRow(249, oper->nick + " (" + oper->ident + "@" + oper->GetDisplayedHost() + ") Idle: " +
(lu ? ConvToStr(ServerInstance->Time() - lu->idle_lastmsg) + " secs" : "unavailable"));
count++;
}