]> jfr.im git - irc/quakenet/newserv.git/blame - chanserv/newsearch/chanserv_newsearch.c
newsearch changes to support addition of trust_search/patriciasearch
[irc/quakenet/newserv.git] / chanserv / newsearch / chanserv_newsearch.c
CommitLineData
20b9980a 1#include "../chanserv.h"
6d349eb0 2#include "chanserv_newsearch.h"
20b9980a
CP
3
4int cs_donicksearch(void *source, int cargc, char **cargv);
5int cs_dochansearch(void *source, int cargc, char **cargv);
6d349eb0 6int cs_dousersearch(void *source, int cargc, char **cargv);
e1c7b7a9
CP
7int cs_dospewemail(void *source, int cargc, char **cargv);
8int cs_dospewdb(void *source, int cargc, char **cargv);
6d349eb0
CP
9
10UserDisplayFunc previousdefault;
20b9980a
CP
11
12void _init() {
a92bb8e1
P
13 regdisp(reg_nicksearch, "auth", printnick_auth);
14 regdisp(reg_nicksearch, "authchans", printnick_authchans);
15 regdisp(reg_chansearch, "qusers", printchannel_qusers);
16 regdisp(reg_usersearch, "auth", printauth);
17
18 registersearchterm(reg_usersearch, "qusers", qusers_parse);
19 registersearchterm(reg_usersearch, "qlasthost", qlasthost_parse);
20 registersearchterm(reg_usersearch, "qemail", qemail_parse);
21 registersearchterm(reg_usersearch, "qsuspendreason", qsuspendreason_parse);
22 registersearchterm(reg_usersearch, "qusername", qusername_parse);
23 registersearchterm(reg_chansearch, "qchanflags", qchanflags_parse);
20b9980a 24
262c5746 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.", "");
6d349eb0 27 chanservaddcommand("usersearch", QCMD_OPER, 5, cs_dousersearch, "Wrapper for standard newserv usersearch command.", "");
e1c7b7a9
CP
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.");
6d349eb0
CP
30
31 previousdefault = defaultuserfn;
32 defaultuserfn = printauth;
20b9980a
CP
33}
34
35void _fini() {
a92bb8e1
P
36 unregdisp(reg_nicksearch, "auth", printnick_auth);
37 unregdisp(reg_nicksearch, "authchans", printnick_authchans);
38 unregdisp(reg_chansearch, "qusers", printchannel_qusers);
39 unregdisp(reg_usersearch, "auth", printauth);
40
41 deregistersearchterm(reg_usersearch, "qusers", qusers_parse);
42 deregistersearchterm(reg_usersearch, "qlasthost", qlasthost_parse);
43 deregistersearchterm(reg_usersearch, "qemail", qemail_parse);
44 deregistersearchterm(reg_usersearch, "qsuspendreason", qsuspendreason_parse);
45 deregistersearchterm(reg_usersearch, "qusername", qusername_parse);
46 deregistersearchterm(reg_usersearch, "qchanflags", qchanflags_parse);
20b9980a
CP
47
48 chanservremovecommand("nicksearch", cs_donicksearch);
49 chanservremovecommand("chansearch", cs_dochansearch);
6d349eb0 50 chanservremovecommand("usersearch", cs_dousersearch);
e1c7b7a9
CP
51 chanservremovecommand("spewemail", cs_dospewemail);
52 chanservremovecommand("spewdb", cs_dospewdb);
6d349eb0
CP
53
54 defaultuserfn = previousdefault;
20b9980a 55}