]> jfr.im git - irc/quakenet/newserv.git/blobdiff - chanserv/authcmds/setemail.c
glines: Include target nick in error message for block command.
[irc/quakenet/newserv.git] / chanserv / authcmds / setemail.c
index b76ed1354cecc804fe2b6327ab2a63dff9de591c..35dde83a93be2b7046654a412db427e8d2b262cf 100644 (file)
@@ -3,11 +3,11 @@
  *
  * CMDNAME: setemail
  * CMDLEVEL: QCMD_OPER
  *
  * CMDNAME: setemail
  * CMDLEVEL: QCMD_OPER
- * CMDARGS: 2
+ * CMDARGS: 3
  * CMDDESC: Set the email address.
  * CMDFUNC: csa_dosetmail
  * CMDPROTO: int csa_dosetmail(void *source, int cargc, char **cargv);
  * CMDDESC: Set the email address.
  * CMDFUNC: csa_dosetmail
  * CMDPROTO: int csa_dosetmail(void *source, int cargc, char **cargv);
- * CMDHELP: Usage: setemail <username> <email address>
+ * CMDHELP: Usage: setemail <username> <email address> <reason for modification>
  * CMDHELP: Sets the email address for the specified username.
  */
 
  * CMDHELP: Sets the email address for the specified username.
  */
 
@@ -22,8 +22,9 @@ int csa_dosetmail(void *source, int cargc, char **cargv) {
   reguser *rup, *vrup = getreguserfromnick(sender);
   char *dupemail;
   char *local;
   reguser *rup, *vrup = getreguserfromnick(sender);
   char *dupemail;
   char *local;
+  char *reason;
 
 
-  if (cargc<2) {
+  if (cargc<3) {
     chanservstdmessage(sender, QM_NOTENOUGHPARAMS, "setemail");
     return CMD_ERROR;
   }
     chanservstdmessage(sender, QM_NOTENOUGHPARAMS, "setemail");
     return CMD_ERROR;
   }
@@ -39,9 +40,13 @@ int csa_dosetmail(void *source, int cargc, char **cargv) {
   if (csa_checkeboy(sender, cargv[1]))
     return CMD_ERROR;
 
   if (csa_checkeboy(sender, cargv[1]))
     return CMD_ERROR;
 
+  reason = cargv[2];
+  if(!checkreason(sender, reason))
+    return CMD_ERROR;
+
   if(UHasStaffPriv(rup)) {
   if(UHasStaffPriv(rup)) {
-    cs_log(sender,"SETEMAIL FAILED username %s",rup->username);
-    chanservwallmessage("%s (%s) just FAILED using SETEMAIL on %s: %s", sender->nick, vrup->username, rup->username, cargv[1]);
+    cs_log(sender,"SETEMAIL FAILED username %s (reason: %s)",rup->username, reason);
+    chanservwallmessage("%s (%s) just FAILED using SETEMAIL on %s: %s (reason: %s)", sender->nick, vrup->username, rup->username, cargv[1], reason);
     chanservsendmessage(sender, "Sorry, that user is privileged.");
     return CMD_ERROR;
   }
     chanservsendmessage(sender, "Sorry, that user is privileged.");
     return CMD_ERROR;
   }
@@ -68,8 +73,8 @@ int csa_dosetmail(void *source, int cargc, char **cargv) {
   free(dupemail);
 
   chanservstdmessage(sender, QM_EMAILCHANGED, cargv[1]);
   free(dupemail);
 
   chanservstdmessage(sender, QM_EMAILCHANGED, cargv[1]);
-  cs_log(sender,"SETEMAIL OK username %s <%s>",rup->username,rup->email->content);
-  chanservwallmessage("%s (%s) just used SETEMAIL on %s: %s", sender->nick, vrup->username, rup->username, rup->email->content);
+  cs_log(sender,"SETEMAIL OK username %s <%s> (reason: %s)",rup->username,rup->email->content, reason);
+  chanservwallmessage("%s (%s) just used SETEMAIL on %s: %s (reason: %s)", sender->nick, vrup->username, rup->username, rup->email->content, reason);
 
   csdb_updateuser(rup);
 
 
   csdb_updateuser(rup);