]> jfr.im git - irc/quakenet/newserv.git/blob - chanserv/newsearch/chanserv_newsearch.c
CHANSERV: qusers should be a chansearch search term, not usersearch
[irc/quakenet/newserv.git] / chanserv / newsearch / chanserv_newsearch.c
1 #include "../chanserv.h"
2 #include "chanserv_newsearch.h"
3 #include "../../lib/version.h"
4
5 MODULE_VERSION(QVERSION);
6
7 int cs_donicksearch(void *source, int cargc, char **cargv);
8 int cs_dochansearch(void *source, int cargc, char **cargv);
9 int cs_dousersearch(void *source, int cargc, char **cargv);
10 int cs_dospewemail(void *source, int cargc, char **cargv);
11 int cs_dospewdb(void *source, int cargc, char **cargv);
12
13 UserDisplayFunc previousdefault;
14
15 void _init() {
16 regdisp(reg_nicksearch, "auth", printnick_auth, 0, "");
17 regdisp(reg_nicksearch, "authchans", printnick_authchans, 0, "");
18 regdisp(reg_chansearch, "qusers", printchannel_qusers, 0, "");
19 regdisp(reg_usersearch, "auth", printauth, 0, "");
20
21 registersearchterm(reg_chansearch, "qusers", qusers_parse, 0, "");
22 registersearchterm(reg_usersearch, "qlasthost", qlasthost_parse, 0, "");
23 registersearchterm(reg_usersearch, "qemail", qemail_parse, 0, "");
24 registersearchterm(reg_usersearch, "qsuspendreason", qsuspendreason_parse, 0, "");
25 registersearchterm(reg_usersearch, "qusername", qusername_parse, 0, "");
26 registersearchterm(reg_chansearch, "qchanflags", qchanflags_parse, 0, "");
27 registersearchterm(reg_usersearch, "qsuspended", qsuspended_parse, 0, "");
28
29 chanservaddcommand("nicksearch", QCMD_OPER, 5, cs_donicksearch, "Wrapper for standard newserv nicksearch command.", "");
30 chanservaddcommand("chansearch", QCMD_OPER, 5, cs_dochansearch, "Wrapper for standard newserv chansearch command.", "");
31 chanservaddcommand("usersearch", QCMD_OPER, 5, cs_dousersearch, "Wrapper for standard newserv usersearch command.", "");
32 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.");
33 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.");
34
35 previousdefault = defaultuserfn;
36 defaultuserfn = printauth;
37 }
38
39 void _fini() {
40 unregdisp(reg_nicksearch, "auth", printnick_auth);
41 unregdisp(reg_nicksearch, "authchans", printnick_authchans);
42 unregdisp(reg_chansearch, "qusers", printchannel_qusers);
43 unregdisp(reg_usersearch, "auth", printauth);
44
45 deregistersearchterm(reg_chansearch, "qusers", qusers_parse);
46 deregistersearchterm(reg_usersearch, "qlasthost", qlasthost_parse);
47 deregistersearchterm(reg_usersearch, "qemail", qemail_parse);
48 deregistersearchterm(reg_usersearch, "qsuspendreason", qsuspendreason_parse);
49 deregistersearchterm(reg_usersearch, "qusername", qusername_parse);
50 deregistersearchterm(reg_chansearch, "qchanflags", qchanflags_parse);
51
52 chanservremovecommand("nicksearch", cs_donicksearch);
53 chanservremovecommand("chansearch", cs_dochansearch);
54 chanservremovecommand("usersearch", cs_dousersearch);
55 chanservremovecommand("spewemail", cs_dospewemail);
56 chanservremovecommand("spewdb", cs_dospewdb);
57
58 defaultuserfn = previousdefault;
59 }