]>
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"
6 int ju_addjupe(void *source
, int cargc
, char **cargv
) {
7 nick
*np
= (nick
*)source
;
11 controlreply(np
, "Syntax: addjupe <servername> <duration> <reason>");
16 if (jupe_find(cargv
[0]) != NULL
) {
17 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
));
30 result
= jupe_add(cargv
[0], cargv
[2], duration
, JUPE_ACTIVE
);
33 controlreply(np
, "Done.");
35 controlreply(np
, "Jupe could not be created.");
40 int ju_activatejupe(void *source
, int cargc
, char **cargv
) {
41 nick
*np
= (nick
*)source
;
45 controlreply(np
, "Syntax: activatejupe <servername>");
50 jupe
= jupe_find(cargv
[0]);
53 controlreply(np
, "There is no such jupe.");
58 if (jupe
->ju_flags
& JUPE_ACTIVE
) {
59 controlreply(np
, "This jupe is already activated.");
66 controlreply(np
, "Done.");
71 int ju_deactivatejupe(void *source
, int cargc
, char **cargv
) {
72 nick
*np
= (nick
*)source
;
76 controlreply(np
, "Syntax: deactivatejupe <servername>");
81 jupe
= jupe_find(cargv
[0]);
84 controlreply(np
, "There is no such jupe.");
89 if ((jupe
->ju_flags
& JUPE_ACTIVE
) == 0) {
90 controlreply(np
, "This jupe is already deactivated.");
95 jupe_deactivate(jupe
);
97 controlreply(np
, "Done.");
102 int ju_jupelist(void *source
, int cargc
, char **cargv
) {
103 nick
*np
= (nick
*)source
;
110 controlreply(np
, "Server Reason Expires Status");
113 controlreply(np
, "%s %s %s %s", JupeServer(jupe
), JupeReason(jupe
), longtoduration(jupe
->ju_expire
- getnettime()), (jupe
->ju_flags
& JUPE_ACTIVE
) ? "activated" : "deactivated");
115 jupe
= jupe
->ju_next
;
118 controlreply(np
, "--- End of JUPE list.");
124 registercontrolcmd("addjupe", 10, 3, ju_addjupe
);
125 registercontrolcmd("activatejupe", 10, 1, ju_activatejupe
);
126 registercontrolcmd("deactivatejupe", 10, 1, ju_deactivatejupe
);
127 registercontrolcmd("jupelist", 10, 0, ju_jupelist
);
131 deregistercontrolcmd("addjupe", ju_addjupe
);
132 deregistercontrolcmd("activatejupe", ju_activatejupe
);
133 deregistercontrolcmd("deactivatejupe", ju_deactivatejupe
);
134 deregistercontrolcmd("jupelist", ju_jupelist
);