]>
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>");
18 if (jupe_find(cargv
[0]) != NULL
) {
19 controlreply(np
, "There is already a jupe for that server.");
24 duration
= durationtolong(cargv
[1]);
26 if (duration
> JUPE_MAX_EXPIRE
) {
27 controlreply(np
, "A jupe's maximum duration is %s. Could not create jupe.", longtoduration(JUPE_MAX_EXPIRE
, 0));
32 result
= jupe_add(cargv
[0], cargv
[2], duration
, JUPE_ACTIVE
);
35 controlreply(np
, "Done.");
37 controlreply(np
, "Jupe could not be created.");
42 int ju_activatejupe(void *source
, int cargc
, char **cargv
) {
43 nick
*np
= (nick
*)source
;
47 controlreply(np
, "Syntax: activatejupe <servername>");
52 jupe
= jupe_find(cargv
[0]);
55 controlreply(np
, "There is no such jupe.");
60 if (jupe
->ju_flags
& JUPE_ACTIVE
) {
61 controlreply(np
, "This jupe is already activated.");
68 controlreply(np
, "Done.");
73 int ju_deactivatejupe(void *source
, int cargc
, char **cargv
) {
74 nick
*np
= (nick
*)source
;
78 controlreply(np
, "Syntax: deactivatejupe <servername>");
83 jupe
= jupe_find(cargv
[0]);
86 controlreply(np
, "There is no such jupe.");
91 if ((jupe
->ju_flags
& JUPE_ACTIVE
) == 0) {
92 controlreply(np
, "This jupe is already deactivated.");
97 jupe_deactivate(jupe
);
99 controlreply(np
, "Done.");
104 int ju_jupelist(void *source
, int cargc
, char **cargv
) {
105 nick
*np
= (nick
*)source
;
112 controlreply(np
, "Server Reason Expires Status");
115 controlreply(np
, "%s %s %s %s", JupeServer(jupe
), JupeReason(jupe
), longtoduration(jupe
->ju_expire
- getnettime(), 0), (jupe
->ju_flags
& JUPE_ACTIVE
) ? "activated" : "deactivated");
117 jupe
= jupe
->ju_next
;
120 controlreply(np
, "--- End of JUPE list.");
126 registercontrolcmd("addjupe", 10, 3, ju_addjupe
);
127 registercontrolcmd("activatejupe", 10, 1, ju_activatejupe
);
128 registercontrolcmd("deactivatejupe", 10, 1, ju_deactivatejupe
);
129 registercontrolcmd("jupelist", 10, 0, ju_jupelist
);
133 deregistercontrolcmd("addjupe", ju_addjupe
);
134 deregistercontrolcmd("activatejupe", ju_activatejupe
);
135 deregistercontrolcmd("deactivatejupe", ju_deactivatejupe
);
136 deregistercontrolcmd("jupelist", ju_jupelist
);