int csu_dodeluser(void *source, int cargc, char **cargv) {
nick *sender=source;
reguser *rup=getreguserfromnick(sender), *target;
+ char *reason;
if (!rup)
return CMD_ERROR;
return CMD_ERROR;
}
+ reason = cargv[1];
+ if(!checkreason(sender, reason))
+ return CMD_ERROR;
+
if (!(target=findreguser(sender, cargv[0])))
return CMD_ERROR;
-
+
+ if(target->ID == lastuserID) {
+ chanservsendmessage(sender, "Sorry, can't delete last user -- wait a while and try again.");
+ return CMD_ERROR;
+ }
+
if(UHasStaffPriv(target)) {
- cs_log(sender,"DELUSER FAILED username %s (%s)",target->username,cargc>1?cargv[1]:"");
- chanservwallmessage("%s (%s) just FAILED using DELUSER on %s (%s)", sender->nick, rup->username, target->username, cargv[1]);
+ cs_log(sender,"DELUSER FAILED username %s (reason: %s)",target->username,reason);
+ chanservwallmessage("%s (%s) just FAILED using DELUSER on %s (reason: %s)", sender->nick, rup->username, target->username, reason);
chanservsendmessage(sender, "Sorry, that user is privileged.");
return CMD_ERROR;
}
- cs_log(sender,"DELUSER OK username %s (%s)",target->username,cargv[1]);
- chanservwallmessage("%s (%s) just used DELUSER on %s (%s)", sender->nick, rup->username, target->username, cargv[1]);
+ cs_log(sender,"DELUSER OK username %s (reason: %s)",target->username,reason);
+ chanservwallmessage("%s (%s) just used DELUSER on %s (reason: %s)", sender->nick, rup->username, target->username, reason);
cs_removeuser(target);