]> jfr.im git - irc/quakenet/newserv.git/blob - jupe/jupe_commands.c
Jupe: Fix Whitespace in jupe module
[irc/quakenet/newserv.git] / jupe / jupe_commands.c
1 #include "../control/control.h"
2 #include "../nick/nick.h"
3 #include "../channel/channel.h"
4 #include "../lib/irc_string.h"
5 #include "../irc/irc.h"
6 #include "jupe.h"
7
8 int ju_addjupe(void *source, int cargc, char **cargv) {
9 nick *np = (nick*)source;
10 int result, duration;
11
12 if (cargc < 3) {
13 controlreply(np, "Syntax: addjupe <servername> <duration> <reason>");
14 return CMD_OK;
15 }
16
17 if (jupe_find(cargv[0]) != NULL) {
18 controlreply(np, "There is already a jupe for that server.");
19 return CMD_OK;
20 }
21
22 duration = durationtolong(cargv[1]);
23
24 if (duration > JUPE_MAX_EXPIRE) {
25 controlreply(np, "A jupe's maximum duration is %s. Could not create jupe.", longtoduration(JUPE_MAX_EXPIRE, 0));
26 return CMD_OK;
27 }
28
29 result = jupe_add(cargv[0], cargv[2], duration, JUPE_ACTIVE);
30
31 if (result)
32 controlreply(np, "Done.");
33 else
34 controlreply(np, "Jupe could not be created.");
35
36 return CMD_OK;
37 }
38
39 int ju_activatejupe(void *source, int cargc, char **cargv) {
40 nick *np = (nick*)source;
41 jupe_t *jupe;
42
43 if (cargc < 1) {
44 controlreply(np, "Syntax: activatejupe <servername>");
45
46 return CMD_OK;
47 }
48
49 jupe = jupe_find(cargv[0]);
50
51 if (jupe == NULL) {
52 controlreply(np, "There is no such jupe.");
53 return CMD_OK;
54 }
55
56 if (jupe->ju_flags & JUPE_ACTIVE) {
57 controlreply(np, "This jupe is already activated.");
58
59 return CMD_OK;
60 }
61
62 jupe_activate(jupe);
63
64 controlreply(np, "Done.");
65
66 return CMD_OK;
67 }
68
69 int ju_deactivatejupe(void *source, int cargc, char **cargv) {
70 nick *np = (nick*)source;
71 jupe_t *jupe;
72
73 if (cargc < 1) {
74 controlreply(np, "Syntax: deactivatejupe <servername>");
75 return CMD_OK;
76 }
77
78 jupe = jupe_find(cargv[0]);
79
80 if (jupe == NULL) {
81 controlreply(np, "There is no such jupe.");
82
83 return CMD_OK;
84 }
85
86 if ((jupe->ju_flags & JUPE_ACTIVE) == 0) {
87 controlreply(np, "This jupe is already deactivated.");
88
89 return CMD_OK;
90 }
91
92 jupe_deactivate(jupe);
93
94 controlreply(np, "Done.");
95
96 return CMD_OK;
97 }
98
99 int ju_jupelist(void *source, int cargc, char **cargv) {
100 nick *np = (nick*)source;
101 jupe_t *jupe;
102
103 jupe_expire();
104
105 jupe = jupes;
106
107 controlreply(np, "Server Reason Expires Status");
108
109 while (jupe) {
110 controlreply(np, "%s %s %s %s", JupeServer(jupe), JupeReason(jupe), longtoduration(jupe->ju_expire - getnettime(), 0), (jupe->ju_flags & JUPE_ACTIVE) ? "activated" : "deactivated");
111
112 jupe = jupe->ju_next;
113 }
114
115 controlreply(np, "--- End of JUPE list.");
116
117 return CMD_OK;
118 }
119
120 void _init(void) {
121 registercontrolcmd("addjupe", 10, 3, ju_addjupe);
122 registercontrolcmd("activatejupe", 10, 1, ju_activatejupe);
123 registercontrolcmd("deactivatejupe", 10, 1, ju_deactivatejupe);
124 registercontrolcmd("jupelist", 10, 0, ju_jupelist);
125 }
126
127 void _fini(void) {
128 deregistercontrolcmd("addjupe", ju_addjupe);
129 deregistercontrolcmd("activatejupe", ju_activatejupe);
130 deregistercontrolcmd("deactivatejupe", ju_deactivatejupe);
131 deregistercontrolcmd("jupelist", ju_jupelist);
132 }