$Log$
+Revision 213.4 2001/02/15 01:21:55 ajc
+* Applied a patch submitted by "cough" to add who-knows-room and
+ invite/kickout functionality.
+
Revision 213.3 2001/01/25 23:10:00 ajc
* "Delete message" button now confirms on client-side using JavaScript
1998-12-03 Nathan Bryant <bryant@cs.usm.maine.edu>
* webserver.c: warning fix
+
wprintf("<LI><A HREF=\"/display_editroom\">\n");
wprintf("Edit or delete this room</A>\n");
+ wprintf("<LI><A HREF=\"/display_whok\">\n");
+ wprintf("Show who knows this room</A>\n");
+
wprintf("<LI><A HREF=\"/display_siteconfig\">\n");
wprintf("Edit site-wide configuration</A>\n");
smart_goto(er_name);
}
+/*
+ * Invite, Kick, and show Who Knows a room
+ */
+void display_whok(void)
+{
+ char buf[256], room[256], username[256];
+
+ serv_puts("GETR");
+ serv_gets(buf);
+
+ if (buf[0] != '2') {
+ display_error(&buf[4]);
+ return;
+ }
+ extract(room, &buf[4], 0);
+
+ strcpy(username, bstr("username"));
+
+ output_headers(1);
+
+ if(!strcmp(bstr("sc"), "Kick")) {
+ sprintf(buf, "KICK %s", username);
+ serv_puts(buf);
+ serv_gets(buf);
+
+ if (buf[0] != '2') {
+ display_error(&buf[4]);
+ return;
+ } else {
+ wprintf("User %s kicked out of room %s.\n",
+ username, room);
+ }
+ } else if(!strcmp(bstr("sc"), "Invite")) {
+ sprintf(buf, "INVT %s", username);
+ serv_puts(buf);
+ serv_gets(buf);
+
+ if (buf[0] != '2') {
+ display_error(&buf[4]);
+ return;
+ } else {
+ wprintf("User %s invited to room %s.\n",
+ username, room);
+ }
+ }
+
+
+ wprintf("<FORM METHOD=\"POST\" ACTION=\"/display_whok\">\n");
+ wprintf("<SELECT NAME=\"username\" SIZE=10>\n");
+ serv_puts("WHOK");
+ serv_gets(buf);
+ if (buf[0] == '1') {
+ while (serv_gets(buf), strcmp(buf, "000")) {
+ extract(username, buf, 0);
+ wprintf("<OPTION>");
+ escputs(username);
+ wprintf("\n");
+ }
+ }
+ wprintf("</SELECT>\n");
+
+ wprintf("<CENTER>\n");
+ wprintf("<input type=submit name=sc value=\"Kick\">");
+ wprintf("</CENTER>\n");
+ wprintf("</FORM>\n");
+ wprintf("<FORM METHOD=\"POST\" ACTION=\"/display_whok\">\n");
+ wprintf("Invite: ");
+ wprintf("<input type=text name=username>\n");
+ wprintf("<input type=hidden name=sc value=\"Invite\">");
+ wprintf("<input type=submit value=\"Invite\">");
+ wDumpContent(1);
+}
+
/*
display_editroom();
} else if (!strcasecmp(action, "editroom")) {
editroom();
+ } else if (!strcasecmp(action, "display_whok")) {
+ display_whok();
} else if (!strcasecmp(action, "display_editinfo")) {
display_edit("Room info", "EINF 0", "RINF", "/editinfo");
} else if (!strcasecmp(action, "editinfo")) {
void entroom(void);
void display_editroom(void);
void editroom(void);
+void display_whok(void);
void server_to_text(void);
void save_edit(char *description, char *enter_cmd, int regoto);
void display_edit(char *description, char *check_cmd,