diff options
-rw-r--r-- | docs/inspircd.helpop-full.example | 18 | ||||
-rw-r--r-- | docs/inspircd.helpop.example | 14 | ||||
-rw-r--r-- | src/modules/m_helpop.cpp | 4 | ||||
-rw-r--r-- | src/stats.cpp | 6 | ||||
-rw-r--r-- | src/users.cpp | 2 |
5 files changed, 24 insertions, 20 deletions
diff --git a/docs/inspircd.helpop-full.example b/docs/inspircd.helpop-full.example index 0169077ba..9c4ae0b92 100644 --- a/docs/inspircd.helpop-full.example +++ b/docs/inspircd.helpop-full.example @@ -2,7 +2,7 @@ # Helpop Standard # ##################### -<alias text="HELPOP" replace="HELP $2-"> +<alias text="HELP" replace="HELPOP $2-"> <helpop key="start" value="InspIRCd Help System @@ -10,12 +10,12 @@ This system provides help for commands and modes. Specify your question or a command name as the parameter for this command. -/HELP CUSER - To see a list of user commands -/HELP COPER - To see a list of oper commands -/HELP UMODES - To see a list of user modes -/HELP CHMODES - To see a list of channel modes -/HELP SNOMASKS - To see a list of oper snotice masks -/HELP EXTBANS - To see a list of extended bans"> +/HELPOP CUSER - To see a list of user commands +/HELPOP COPER - To see a list of oper commands +/HELPOP UMODES - To see a list of user modes +/HELPOP CHMODES - To see a list of channel modes +/HELPOP SNOMASKS - To see a list of oper snotice masks +/HELPOP EXTBANS - To see a list of extended bans"> <helpop key="nohelp" value="There is no help for the topic you searched for. Please try again."> @@ -205,8 +205,8 @@ A user may only set modes upon themselves, and may not set the +o usermode, and a user may only change channel modes of channels where they are at least a halfoperator. -For a list of all user and channel modes, enter /HELP UMODES or -/HELP CHMODES."> +For a list of all user and channel modes, enter /HELPOP UMODES or +/HELPOP CHMODES."> <helpop key="topic" value="/TOPIC [channel] {topic} diff --git a/docs/inspircd.helpop.example b/docs/inspircd.helpop.example index fec81865e..4b3354837 100644 --- a/docs/inspircd.helpop.example +++ b/docs/inspircd.helpop.example @@ -9,7 +9,7 @@ # -- w00t 16/dec/2006 # -<alias text="HELPOP" replace="HELP $2-"> +<alias text="HELP" replace="HELPOP $2-"> <helpop key="start" value="InspIRCd Help System @@ -17,12 +17,12 @@ This system provides help for commands and modes. Specify your question or a command name as the parameter for this command. -/HELP CUSER - To see a list of user commands -/HELP COPER - To see a list of oper commands -/HELP UMODES - To see a list of user modes -/HELP CHMODES - To see a list of channel modes -/HELP SNOMASKS - To see a list of oper snotice masks -/HELP EXTBANS - To see a list of extended bans"> +/HELPOP CUSER - To see a list of user commands +/HELPOP COPER - To see a list of oper commands +/HELPOP UMODES - To see a list of user modes +/HELPOP CHMODES - To see a list of channel modes +/HELPOP SNOMASKS - To see a list of oper snotice masks +/HELPOP EXTBANS - To see a list of extended bans"> <helpop key="nohelp" value="There is no help for the topic you searched for. Please try again."> diff --git a/src/modules/m_helpop.cpp b/src/modules/m_helpop.cpp index 4c5dc23a9..502fa33fd 100644 --- a/src/modules/m_helpop.cpp +++ b/src/modules/m_helpop.cpp @@ -53,7 +53,7 @@ class Helpop : public ModeHandler class CommandHelpop : public Command { public: - CommandHelpop(Module* Creator) : Command(Creator, "HELP", 0) + CommandHelpop(Module* Creator) : Command(Creator, "HELPOP", 0) { syntax = "<any-text>"; } @@ -176,7 +176,7 @@ class ModuleHelpop : public Module Version GetVersion() { - return Version("/help command, works like Unreal helpop", VF_VENDOR); + return Version("Provides the /HELPOP command, works like UnrealIRCd's helpop", VF_VENDOR); } }; diff --git a/src/stats.cpp b/src/stats.cpp index 5a117b5d3..cd132afed 100644 --- a/src/stats.cpp +++ b/src/stats.cpp @@ -19,7 +19,11 @@ void InspIRCd::DoStats(char statschar, User* user, string_list &results) { std::string sn(this->Config->ServerName); - if (!user->HasPrivPermission("servers/auspex") && Config->UserStats.find(statschar) == std::string::npos) + bool isPublic = Config->UserStats.find(statschar) != std::string::npos; + bool isRemoteOper = IS_REMOTE(user) && IS_OPER(user); + bool isLocalOperWithPrivs = IS_LOCAL(user) && user->HasPrivPermission("servers/auspex"); + + if (!isPublic && !isRemoteOper && !isLocalOperWithPrivs) { this->SNO->WriteToSnoMask('t', "%s '%c' denied for %s (%s@%s)", diff --git a/src/users.cpp b/src/users.cpp index f8f9d0025..8b3065706 100644 --- a/src/users.cpp +++ b/src/users.cpp @@ -1541,7 +1541,7 @@ void User::SplitChanList(User* dest, const std::string &cl) } } - if (line.length()) + if (line.length() != prefix.str().length()) { ServerInstance->SendWhoisLine(this, dest, 319, "%s", line.c_str()); } |