diff options
author | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2008-10-18 16:52:58 +0000 |
---|---|---|
committer | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2008-10-18 16:52:58 +0000 |
commit | a578f50f03a15e87a8abd8381fb936f1679109b7 (patch) | |
tree | 80d935f121c5fadb4ffc65b60845c65bcf9cbb2c /src/commands/cmd_who.cpp | |
parent | 88ff6a1180068fbc0b35ce7975ec163a53ba0e18 (diff) |
Tie a number of /who settings to servers/auspex and users/auspex respectively.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10674 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/commands/cmd_who.cpp')
-rw-r--r-- | src/commands/cmd_who.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/commands/cmd_who.cpp b/src/commands/cmd_who.cpp index 403ec5f64..6f8b91e75 100644 --- a/src/commands/cmd_who.cpp +++ b/src/commands/cmd_who.cpp @@ -136,7 +136,7 @@ bool CommandWho::CanView(Channel* chan, User* user) if (chan->HasUser(user)) return true; /* Opers see all */ - if (IS_OPER(user)) + if (user->HasPrivPermission("users/auspex")) return true; /* Cant see inside a +s or a +p channel unless we are a member (see above) */ else if (!chan->IsModeSet('s') && !chan->IsModeSet('p')) @@ -155,7 +155,7 @@ void CommandWho::SendWhoLine(User* user, const std::string &initial, Channel* ch Channel* chlast = ServerInstance->FindChan(lcn); std::string wholine = initial + (ch ? ch->name : lcn) + " " + u->ident + " " + (opt_showrealhost ? u->host : u->dhost) + " " + - ((*ServerInstance->Config->HideWhoisServer && !IS_OPER(user)) ? ServerInstance->Config->HideWhoisServer : u->server) + + ((*ServerInstance->Config->HideWhoisServer && !user->HasPrivPermission("servers/auspex")) ? ServerInstance->Config->HideWhoisServer : u->server) + " " + u->nick + " "; /* away? */ @@ -239,11 +239,11 @@ CmdResult CommandWho::Handle (const std::vector<std::string>& parameters, User * opt_viewopersonly = true; break; case 'h': - if (IS_OPER(user)) + if (user->HasPrivPermission("users/auspex")) opt_showrealhost = true; break; case 'u': - if (IS_OPER(user)) + if (user->HasPrivPermission("users/auspex")) opt_unlimit = true; break; case 'r': @@ -300,7 +300,7 @@ CmdResult CommandWho::Handle (const std::vector<std::string>& parameters, User * continue; /* If we're not inside the channel, hide +i users */ - if (i->first->IsModeSet('i') && !inside && !IS_OPER(user)) + if (i->first->IsModeSet('i') && !inside && !user->HasPrivPermission("users/auspex")) continue; } @@ -322,7 +322,7 @@ CmdResult CommandWho::Handle (const std::vector<std::string>& parameters, User * { if (!user->SharesChannelWith(oper)) { - if (usingwildcards && (!oper->IsModeSet('i')) && (!IS_OPER(user))) + if (usingwildcards && (!oper->IsModeSet('i')) && (!user->HasPrivPermission("users/auspex"))) continue; } @@ -338,7 +338,7 @@ CmdResult CommandWho::Handle (const std::vector<std::string>& parameters, User * { if (!user->SharesChannelWith(i->second)) { - if (usingwildcards && (i->second->IsModeSet('i')) && (!IS_OPER(user))) + if (usingwildcards && (i->second->IsModeSet('i')) && (!user->HasPrivPermission("users/auspex"))) continue; } |