]>
jfr.im git - irc/quakenet/newserv.git/blob - chanserv/authcmds/setemail.c
1 /* Automatically generated by refactor.pl.
7 * CMDDESC: Set the email address.
8 * CMDFUNC: csa_dosetmail
9 * CMDPROTO: int csa_dosetmail(void *source, int cargc, char **cargv);
10 * CMDHELP: Usage: setemail <username> <email address> <reason for modification>
11 * CMDHELP: Sets the email address for the specified username.
14 #include "../chanserv.h"
15 #include "../authlib.h"
16 #include "../../lib/irc_string.h"
20 int csa_dosetmail(void *source
, int cargc
, char **cargv
) {
22 reguser
*rup
, *vrup
= getreguserfromnick(sender
);
28 chanservstdmessage(sender
, QM_NOTENOUGHPARAMS
, "setemail");
32 if (!(rup
=findreguser(sender
, cargv
[0])))
35 if(rup
->email
&& !strcasecmp(cargv
[1], rup
->email
->content
)) {
36 chanservstdmessage(sender
, QM_EMAILMATCHESOLD
);
40 if (csa_checkeboy(sender
, cargv
[1]))
44 if(!checkreason(sender
, reason
))
47 if(UHasStaffPriv(rup
)) {
48 cs_log(sender
,"SETEMAIL FAILED username %s (reason: %s)",rup
->username
, reason
);
49 chanservwallmessage("%s (%s) just FAILED using SETEMAIL on %s: %s (reason: %s)", sender
->nick
, vrup
->username
, rup
->username
, cargv
[1], reason
);
50 chanservsendmessage(sender
, "Sorry, that user is privileged.");
54 csdb_accounthistory_insert(sender
, NULL
, NULL
, rup
->email
?rup
->email
->content
:NULL
, cargv
[1]);
55 delreguserfrommaildomain(rup
,rup
->domain
);
56 freesstring(rup
->email
);
57 rup
->email
=getsstring(cargv
[1],EMAILLEN
);
58 rup
->lastemailchange
=time(NULL
);
60 freesstring(rup
->lastemail
);
64 rup
->domain
=findorcreatemaildomain(rup
->email
->content
);
65 addregusertomaildomain(rup
, rup
->domain
);
66 dupemail
= strdup(rup
->email
->content
);
67 if((local
=strchr(dupemail
, '@'))) {
69 rup
->localpart
=getsstring(dupemail
,EMAILLEN
);
75 chanservstdmessage(sender
, QM_EMAILCHANGED
, cargv
[1]);
76 cs_log(sender
,"SETEMAIL OK username %s <%s> (reason: %s)",rup
->username
,rup
->email
->content
, reason
);
77 chanservwallmessage("%s (%s) just used SETEMAIL on %s: %s (reason: %s)", sender
->nick
, vrup
->username
, rup
->username
, rup
->email
->content
, reason
);