]> jfr.im git - irc/quakenet/newserv.git/blob - chanserv/newsearch/chanserv_newsearch.c
eb02b0aaf8c46c537eec46f957ab85f85cf45569
[irc/quakenet/newserv.git] / chanserv / newsearch / chanserv_newsearch.c
1 #include "../chanserv.h"
2 #include "chanserv_newsearch.h"
3
4 int cs_donicksearch(void *source, int cargc, char **cargv);
5 int cs_dochansearch(void *source, int cargc, char **cargv);
6 int cs_dousersearch(void *source, int cargc, char **cargv);
7 int cs_dospewemail(void *source, int cargc, char **cargv);
8 int cs_dospewdb(void *source, int cargc, char **cargv);
9
10 UserDisplayFunc previousdefault;
11
12 void _init() {
13 regnickdisp("auth", printnick_auth);
14 regnickdisp("authchans", printnick_authchans);
15 regchandisp("qusers", printchannel_qusers);
16 reguserdisp("auth", printauth);
17
18 registersearchterm("qusers", qusers_parse);
19 registersearchterm("qlasthost", qlasthost_parse);
20 registersearchterm("qemail", qemail_parse);
21 registersearchterm("qsuspendreason", qsuspendreason_parse);
22 registersearchterm("qusername", qusername_parse);
23 registersearchterm("qchanflags", qchanflags_parse);
24
25 chanservaddcommand("nicksearch", QCMD_OPER, 5, cs_donicksearch, "Wrapper for standard newserv nicksearch command.", "");
26 chanservaddcommand("chansearch", QCMD_OPER, 5, cs_dochansearch, "Wrapper for standard newserv chansearch command.", "");
27 chanservaddcommand("usersearch", QCMD_OPER, 5, cs_dousersearch, "Wrapper for standard newserv usersearch command.", "");
28 chanservaddcommand("spewemail", QCMD_OPER, 1, cs_dospewemail, "Search for an e-mail in the database.", "Usage: spewemail <pattern>\nDisplays all users with email addresses that match the supplied pattern.");
29 chanservaddcommand("spewdb", QCMD_OPER, 1, cs_dospewdb, "Search for a user in the database.", "Usage: spewdb <pattern>\nDisplays all users with usernames that match the specified pattern.");
30
31 previousdefault = defaultuserfn;
32 defaultuserfn = printauth;
33 }
34
35 void _fini() {
36 unregnickdisp("auth", printnick_auth);
37 unregnickdisp("authchans", printnick_authchans);
38 unregchandisp("qusers", printchannel_qusers);
39 unreguserdisp("auth", printauth);
40
41 deregistersearchterm("qusers", qusers_parse);
42 deregistersearchterm("qlasthost", qlasthost_parse);
43 deregistersearchterm("qemail", qemail_parse);
44 deregistersearchterm("qsuspendreason", qsuspendreason_parse);
45 deregistersearchterm("qusername", qusername_parse);
46 deregistersearchterm("qchanflags", qchanflags_parse);
47
48 chanservremovecommand("nicksearch", cs_donicksearch);
49 chanservremovecommand("chansearch", cs_dochansearch);
50 chanservremovecommand("usersearch", cs_dousersearch);
51 chanservremovecommand("spewemail", cs_dospewemail);
52 chanservremovecommand("spewdb", cs_dospewdb);
53
54 defaultuserfn = previousdefault;
55 }