]> jfr.im git - irc/quakenet/newserv.git/blobdiff - chanserv/chanservstdcmds.c
CHANSERV: add missing error statements.
[irc/quakenet/newserv.git] / chanserv / chanservstdcmds.c
index ff06dfbe7b1afe7c9eb0b3f992f4014787cdc76f..d98cf2900d87030f3690b7bb24c42c40e4fe76e5 100644 (file)
@@ -181,6 +181,25 @@ int cs_doshowcommands(void *source, int cargc, char **cargv) {
        (!rup || !UIsDev(rup) || !IsOper(sender)))
       continue;
     
+    /* Commands flagged QCMD_ACHIEVEMENTS:
+     *  Always invalid before 01/04/2010.
+     *  Valid after 02/04/2010 only if you have the flag set */
+    if (cmdlist[i]->level & QCMD_ACHIEVEMENTS) {
+      if (time(NULL) < ACHIEVEMENTS_START)
+        continue;
+      
+      if ((time(NULL) > ACHIEVEMENTS_END) && 
+        !UIsAchievements(rup))
+        continue;
+    }
+    
+    /* Commands flagged QCMD_TITLES:
+     *  Only valid on 01/04/2010. */
+    if ((cmdlist[i]->level & QCMD_TITLES) && 
+        ((time(NULL) < ACHIEVEMENTS_START) ||
+         (time(NULL) > ACHIEVEMENTS_END)))
+      continue;
+    
     /* We passed all the checks, send the message */    
     chanservsendmessage(sender, "%-20s %s",ct, message);
   }
@@ -210,8 +229,9 @@ int cs_sendhelp(nick *sender, char *thecmd, int oneline) {
       ((cmd->level & QCMD_HELPER) && (!rup || !UHasHelperPriv(rup))) ||
       ((cmd->level & QCMD_OPER) && (!rup || !UHasOperPriv(rup))) ||
       ((cmd->level & QCMD_ADMIN) && (!rup || !UHasAdminPriv(rup))) ||
-      ((cmd->level & QCMD_DEV) && (!rup || !UIsDev(rup)))) {
-    chanservstdmessage(sender, QM_NOHELP, cmd->command->content);
+      ((cmd->level & QCMD_DEV) && (!rup || !UIsDev(rup))) ||
+      ((cmd->level & (QCMD_TITLES | QCMD_ACHIEVEMENTS)) && (time(NULL) < ACHIEVEMENTS_START))) {
+    chanservstdmessage(sender, QM_UNKNOWNCMD, thecmd);
     return CMD_OK;
   }
 
@@ -219,9 +239,9 @@ int cs_sendhelp(nick *sender, char *thecmd, int oneline) {
 
   if (sum->defhelp && *(sum->defhelp)) {
     if (oneline) {
-      chanservsendmessageoneline(sender, sum->defhelp);
+      chanservsendmessageoneline(sender, "%s", sum->defhelp);
     } else {
-      chanservsendmessage(sender, sum->defhelp);
+      chanservsendmessage(sender, "%s", sum->defhelp);
     }
   } else {
     if (!oneline)
@@ -345,11 +365,11 @@ void csdb_dohelp_real(DBConn *dbconn, void *arg) {
   }
 
   if (result) {
-    chanservsendmessage(np, result);
+    chanservsendmessage(np, "%s", result);
   } else {
     cmdsummary *sum=hip->cmd->ext;
     if (sum->defhelp && *(sum->defhelp)) {
-      chanservsendmessage(np, sum->defhelp);
+      chanservsendmessage(np, "%s", sum->defhelp);
     } else {
       chanservstdmessage(np, QM_NOHELP, hip->commandname->content);
     }