restricted kill and gline command from SpamServ SpamServ
authorNurPech <nurpech@nurpech.de>
Sun, 8 Sep 2013 19:22:34 +0000 (21:22 +0200)
committerNurPech <nurpech@nurpech.de>
Sun, 8 Sep 2013 19:27:59 +0000 (21:27 +0200)
src/spamserv.c

index e15008e76d6e48814694351e846279bc184be227..a6fcc606db3dcb45e6fc62e91645e689413739ae 100644 (file)
@@ -1601,21 +1601,29 @@ static SPAMSERV_FUNC(cmd_setbad)
                                   reply("SSMSG_BADWORD_SET_DONE");
                         }
                         else if(!strcmp("ACTION",setting)) {
-                                 if (!strcmp("1",value) || !strcmp("KICK",value)) {
-                                        badword->action = BADACTION_KICK;
-                                        reply("SSMSG_BADWORD_SET_DONE");
-                                 } else if (!strcmp("2",value) || !strcmp("BAN",value)) {
-                                        badword->action = BADACTION_BAN;
-                                        reply("SSMSG_BADWORD_SET_DONE");
-                                 } else if (!strcmp("3",value) || !strcmp("KILL",value)) {
-                                        badword->action = BADACTION_KILL;
-                                        reply("SSMSG_BADWORD_SET_DONE");
-                                 } else if (!strcmp("4",value) || !strcmp("GLINE",value)) {
-                                        badword->action = BADACTION_GLINE;
-                                        reply("SSMSG_BADWORD_SET_DONE");
-                                 } else {
-                                        reply("SSMSG_BADWORD_SET_INVALID", setting);
-                                 }
+                           if (!strcmp("1",value) || !strcmp("KICK",value)) {
+                                   badword->action = BADACTION_KICK;
+                                   reply("SSMSG_BADWORD_SET_DONE");
+                               } else if (!strcmp("2",value) || !strcmp("BAN",value)) {
+                                       badword->action = BADACTION_BAN;
+                                   reply("SSMSG_BADWORD_SET_DONE");
+                               } else if (!strcmp("3",value) || !strcmp("KILL",value)) {
+                    if(IsOper(user)) {
+                        badword->action = BADACTION_KILL;
+                        reply("SSMSG_BADWORD_SET_DONE");
+                    } else {
+                        reply("SSMSG_NO_ACCESS");
+                    }
+                               } else if (!strcmp("4",value) || !strcmp("GLINE",value)) {
+                    if(IsOper(user)) {
+                        badword->action = BADACTION_GLINE;
+                        reply("SSMSG_BADWORD_SET_DONE");
+                    } else {
+                        reply("SSMSG_NO_ACCESS");
+                    }
+                               } else {
+                                   reply("SSMSG_BADWORD_SET_INVALID", setting);
+                           }
                         } else {
                                  reply("SSMSG_BADWORD_SETTING_INVALID", setting);
                         }