]>
jfr.im git - irc/quakenet/newserv.git/blob - 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"
8 int ju_addjupe(void *source
, int cargc
, char **cargv
) {
9 nick
*np
= (nick
*)source
;
13 controlreply(np
, "Syntax: addjupe <servername> <duration> <reason>");
17 if (jupe_find(cargv
[0]) != NULL
) {
18 controlreply(np
, "There is already a jupe for that server.");
22 duration
= durationtolong(cargv
[1]);
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));
29 result
= jupe_add(cargv
[0], cargv
[2], duration
, JUPE_ACTIVE
);
32 controlreply(np
, "Done.");
34 controlreply(np
, "Jupe could not be created.");
39 int ju_activatejupe(void *source
, int cargc
, char **cargv
) {
40 nick
*np
= (nick
*)source
;
44 controlreply(np
, "Syntax: activatejupe <servername>");
49 jupe
= jupe_find(cargv
[0]);
52 controlreply(np
, "There is no such jupe.");
56 if (jupe
->ju_flags
& JUPE_ACTIVE
) {
57 controlreply(np
, "This jupe is already activated.");
64 controlreply(np
, "Done.");
69 int ju_deactivatejupe(void *source
, int cargc
, char **cargv
) {
70 nick
*np
= (nick
*)source
;
74 controlreply(np
, "Syntax: deactivatejupe <servername>");
78 jupe
= jupe_find(cargv
[0]);
81 controlreply(np
, "There is no such jupe.");
86 if ((jupe
->ju_flags
& JUPE_ACTIVE
) == 0) {
87 controlreply(np
, "This jupe is already deactivated.");
92 jupe_deactivate(jupe
);
94 controlreply(np
, "Done.");
99 int ju_jupelist(void *source
, int cargc
, char **cargv
) {
100 nick
*np
= (nick
*)source
;
107 controlreply(np
, "Server Reason Expires Status");
110 controlreply(np
, "%s %s %s %s", JupeServer(jupe
), JupeReason(jupe
), longtoduration(jupe
->ju_expire
- getnettime(), 0), (jupe
->ju_flags
& JUPE_ACTIVE
) ? "activated" : "deactivated");
112 jupe
= jupe
->ju_next
;
115 controlreply(np
, "--- End of JUPE list.");
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
);
128 deregistercontrolcmd("addjupe", ju_addjupe
);
129 deregistercontrolcmd("activatejupe", ju_activatejupe
);
130 deregistercontrolcmd("deactivatejupe", ju_deactivatejupe
);
131 deregistercontrolcmd("jupelist", ju_jupelist
);