#include "inspircd.h"
-/* $ModDesc: Provides support for hiding oper status with user mode +H */
-
/** Handles user mode +H
*/
class HideOper : public SimpleUserModeHandler
{
}
- void init()
- {
- if (!ServerInstance->Modes->AddMode(&hm))
- throw ModuleException("Could not add new modes!");
- Implementation eventlist[] = { I_OnWhoisLine, I_OnSendWhoLine };
- ServerInstance->Modules->Attach(eventlist, this, 2);
- }
-
-
- virtual ~ModuleHideOper()
- {
- }
-
- virtual Version GetVersion()
+ Version GetVersion() CXX11_OVERRIDE
{
return Version("Provides support for hiding oper status with user mode +H", VF_VENDOR);
}
- ModResult OnWhoisLine(User* user, User* dest, int &numeric, std::string &text)
+ ModResult OnWhoisLine(User* user, User* dest, int &numeric, std::string &text) CXX11_OVERRIDE
{
/* Dont display numeric 313 (RPL_WHOISOPER) if they have +H set and the
* person doing the WHOIS is not an oper
if (numeric != 313)
return MOD_RES_PASSTHRU;
- if (!dest->IsModeSet('H'))
+ if (!dest->IsModeSet(hm))
return MOD_RES_PASSTHRU;
if (!user->HasPrivPermission("users/auspex"))
return MOD_RES_PASSTHRU;
}
- void OnSendWhoLine(User* source, const std::vector<std::string>& params, User* user, std::string& line)
+ void OnSendWhoLine(User* source, const std::vector<std::string>& params, User* user, Membership* memb, std::string& line) CXX11_OVERRIDE
{
- if (user->IsModeSet('H') && !source->HasPrivPermission("users/auspex"))
+ if (user->IsModeSet(hm) && !source->HasPrivPermission("users/auspex"))
{
// hide the "*" that marks the user as an oper from the /WHO line
std::string::size_type pos = line.find("*");
}
};
-
MODULE_INIT(ModuleHideOper)