* Added "add/edit floor graphic" screens.
* Fixed display of floor graphic in known rooms list.
* "Finished" the MIME parser.
* Got image uploads working.
* Added "add/edit user photo" screens.
+ * Added "add/edit room graphic" screens.
+ * Added "add/edit floor graphic" screens.
+ * Fixed display of floor graphic in known rooms list.
Wed Dec 30 20:36:13 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
* Wrote mime_parser.c for handling of image uploads. This will also
void validate(void);
void mime_parser(char *, int, char *);
void handle_multipart(char *, int, char *);
-void display_graphics_upload(char *description, char *check_cmd, char *uplurl);
+void display_graphics_upload(char *, char *, char *);
void do_graphics_upload(char *upl_cmd);
void serv_read(char *buf, int bytes);
void serv_gets(char *strbuf);
void serv_write(char *buf, int nbytes);
void serv_puts(char *string);
void serv_printf(const char *format, ...);
-
-
-
-
-
+void load_floorlist(void);
+void select_floor_to_edit_pic(void);
wprintf("</FONT></TD></TR></TABLE>\n");
wprintf("<CENTER>\n");
+
+ wprintf("<FORM ENCTYPE=\"multipart/form-data\" ACTION=\"%s&which_room=%s\" METHOD=\"POST\">\n", uplurl, bstr("which_room"));
wprintf("Please select a file to upload:<BR>\n");
- wprintf("<FORM ENCTYPE=\"multipart/form-data\" ACTION=\"%s\" METHOD=\"POST\">\n", uplurl);
wprintf("<INPUT TYPE=\"FILE\" NAME=\"filename\" SIZE=\"35\">\n");
wprintf("<BR>");
wprintf("<INPUT TYPE=\"SUBMIT\" VALUE=\"Upload\">\n");
return;
}
}
+
+
+
+void select_floor_to_edit_pic(void) {
+ int a;
+
+ printf("HTTP/1.0 200 OK\n");
+ output_headers(1);
+
+ wprintf("<TABLE WIDTH=100% BORDER=0 BGCOLOR=770000><TR><TD>");
+ wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
+ wprintf("<B>Select floor to edit label graphic</B>\n");
+ wprintf("</FONT></TD></TR></TABLE>\n");
+
+ load_floorlist();
+ for (a=0; a<128; ++a) if (strlen(floorlist[a])>0) {
+ wprintf("<A HREF=\"/display_editfloorpic&which_floor=%d\">", a);
+ escputs(floorlist[a]);
+ wprintf("</A>\n");
+ }
+
+ wprintf("</BODY></HTML>\n");
+ wDumpContent();
+ }
wprintf("<LI><A HREF=\"/validate\">\n");
wprintf("Validate new users</A>\n");
- wprintf("<LI><A HREF=\"/display_editfloorpic\">\n");
+ wprintf("<LI><A HREF=\"/select_floor_to_edit_pic\">\n");
wprintf("Set or change a floor label graphic</A>\n");
wprintf("<LI><A HREF=\"/display_netconf\">\n");
}
-
/*
* remove a room from the march list
*/
/* Floor name column */
wprintf("<TR><TD>");
-/* FIX ... don't link to a floor pic that doesn't exist
- wprintf("<IMG SRC=\"/dynamic/_floorpic_/%d\" ALT=\"%s\">",
- &floorlist[a][0]);
- */
- escputs(&floorlist[a][0]);
+ serv_printf("OIMG _floorpic_|%d", a);
+ serv_gets(buf);
+ if (buf[0] == '2') {
+ serv_puts("CLOS");
+ serv_gets(buf);
+ wprintf("<IMG SRC=\"/image&name=_floorpic_&parm=%d\" ALT=\"%s\">",
+ a, &floorlist[a][0]);
+ }
+ else {
+ escputs(&floorlist[a][0]);
+ }
wprintf("</TD>");
do_graphics_upload("UIMG 1|_userpic_");
}
+ else if (!strcasecmp(action, "display_editroompic")) {
+ display_graphics_upload("the graphic for this room",
+ "UIMG 0|_roompic_",
+ "/editroompic");
+ }
+
+ else if (!strcasecmp(action, "editroompic")) {
+ do_graphics_upload("UIMG 1|_roompic_");
+ }
+
+ else if (!strcasecmp(action, "select_floor_to_edit_pic")) {
+ select_floor_to_edit_pic();
+ }
+
+ else if (!strcasecmp(action, "display_editfloorpic")) {
+ sprintf(buf, "UIMG 0|_floorpic_|%s",
+ bstr("which_floor"));
+ display_graphics_upload("the graphic for this floor",
+ buf,
+ "/editfloorpic");
+ }
+
+ else if (!strcasecmp(action, "editfloorpic")) {
+ sprintf(buf, "UIMG 1|_floorpic_|%s",
+ bstr("which_floor"));
+ do_graphics_upload(buf);
+ }
+
/* When all else fails... */
else {
printf("HTTP/1.0 200 OK\n");
extern char *axdefs[];
extern int upload_length;
extern char *upload;
+extern char floorlist[128][256];