summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/operserv.c33
1 files changed, 30 insertions, 3 deletions
diff --git a/src/operserv.c b/src/operserv.c
index 2fdec586a..11d1a2a51 100644
--- a/src/operserv.c
+++ b/src/operserv.c
@@ -969,13 +969,40 @@ static int do_help(User * u)
if (!cmd) {
notice_help(s_OperServ, u, OPER_HELP);
- if (is_services_oper(u))
+ if (is_services_oper(u)) {
notice_help(s_OperServ, u, OPER_HELP_OPER_CMD);
- if (is_services_admin(u))
+ if (ircd->sgline || ircd->sqline || ircd->szline) {
+ notice_help(s_OperServ, u, OPER_HELP_OPER_CMD_EXTRA);
+ }
+ if (ircd->sgline) {
+ notice_help(s_OperServ, u, OPER_HELP_OPER_CMD_SGLINE);
+ }
+ if (ircd->sqline) {
+ notice_help(s_OperServ, u, OPER_HELP_OPER_CMD_SQLINE);
+ }
+ if (ircd->szline) {
+ notice_help(s_OperServ, u, OPER_HELP_OPER_CMD_SZLINE);
+ }
+ }
+ if (is_services_admin(u)) {
notice_help(s_OperServ, u, OPER_HELP_ADMIN_CMD);
+ if (ircd->svsnick || ircd->omode || ircd->umode) {
+ notice_help(s_OperServ, u, OPER_HELP_ADMIN_CMD_EXTRA);
+ }
+ if (ircd->svsnick) {
+ notice_help(s_OperServ, u, OPER_HELP_ADMIN_CMD_SVSNICK);
+ }
+ if (ircd->omode) {
+ notice_help(s_OperServ, u, OPER_HELP_ADMIN_CMD_OLINE);
+ }
+ if (ircd->umode) {
+ notice_help(s_OperServ, u, OPER_HELP_ADMIN_CMD_UMODE);
+ }
+ }
#ifdef USE_MODULES
- if (is_services_root(u))
+ if (is_services_root(u)) {
notice_help(s_OperServ, u, OPER_HELP_ROOT_CMD);
+ }
#endif
moduleDisplayHelp(5, u);
notice_help(s_OperServ, u, OPER_HELP_LOGGED);