4 * Server-side functions which handle message moderation.
16 #include <sys/types.h>
18 #if TIME_WITH_SYS_TIME
19 # include <sys/time.h>
23 # include <sys/time.h>
34 #include "sysdep_decls.h"
35 #include "citserver.h"
39 #include "dynloader.h"
52 void cmd_mmod(char *argbuf) {
56 int is_message_in_room;
58 /* user must be at least a Room Aide to moderate */
59 if (CtdlAccessCheck(ac_room_aide)) return;
61 msgnum = extract_long(argbuf, 0);
62 newlevel = extract_int(argbuf, 1);
64 if ( (newlevel < (-63)) || (newlevel > (+63)) ) {
65 cprintf("%d %d is not a valid moderation level.\n",
66 ERROR+ILLEGAL_VALUE, newlevel);
70 is_message_in_room = CtdlForEachMessage(MSGS_EQ, msgnum, (-127),
71 NULL, NULL, NULL, NULL);
72 if (!is_message_in_room) {
73 cprintf("%d Message %ld is not in this room.\n",
74 ERROR+ILLEGAL_VALUE, msgnum);
78 GetMetaData(&smi, msgnum);
79 smi.meta_mod = newlevel;
82 cprintf("%d Message %ld is moderated to %d\n", OK, msgnum, newlevel);
86 char *Dynamic_Module_Init(void)
88 CtdlRegisterProtoHook(cmd_mmod, "MMOD", "Moderate a message");