4 * Administrative screens for floor maintenance
15 #include <sys/types.h>
17 #include <sys/socket.h>
20 #include <netinet/in.h>
29 #include "webserver.h"
35 * Display floor configuration. If prepend_html is not NULL, its contents
36 * will be displayed at the top of the screen.
38 void display_floorconfig(char *prepend_html)
46 output_headers(1, 1, 2, 0, 0, 0, 0);
48 if (prepend_html != NULL) {
49 client_write(prepend_html, strlen(prepend_html));
52 serv_printf("LFLR"); /* FIXME put a real test here */
55 wprintf("<div id=\"banner\">\n");
56 wprintf("<TABLE WIDTH=100%% BORDER=0 BGCOLOR=\"#770000\"><TR><TD>");
57 wprintf("<SPAN CLASS=\"titlebar\">Error</SPAN>\n");
58 wprintf("</TD></TR></TABLE>\n");
59 wprintf("</div>\n<div id=\"content\">\n");
60 wprintf("%s<br />\n", &buf[4]);
65 svprintf("BOXTITLE", WCS_STRING, "Floor configuration");
66 do_template("beginbox");
68 wprintf("<TABLE BORDER=1 WIDTH=100%>\n"
69 "<TR><TH>Floor number</TH>"
71 "<TH>Number of rooms</TH></TR>\n"
74 while (serv_gets(buf), strcmp(buf, "000")) {
75 floornum = extract_int(buf, 0);
76 extract(floorname, buf, 1);
77 refcount = extract_int(buf, 2);
79 wprintf("<TR><TD><TABLE border=0><TR><TD>%d", floornum);
82 "<A HREF=\"/delete_floor?floornum=%d\">"
83 "<FONT SIZE=-1>(delete floor)</A>"
84 "</FONT><br />", floornum
87 wprintf("<FONT SIZE=-1>"
88 "<A HREF=\"/display_editfloorpic&"
89 "which_floor=%d\">(edit graphic)</A>",
91 wprintf("</TD></TR></TABLE>");
95 "<FORM METHOD=\"POST\" ACTION=\"/rename_floor\">"
96 "<INPUT TYPE=\"hidden\" NAME=\"floornum\" "
98 "<INPUT TYPE=\"text\" NAME=\"floorname\" "
99 "VALUE=\"%s\" MAXLENGTH=\"250\">\n",
100 floornum, floorname);
101 wprintf("<INPUT TYPE=\"SUBMIT\" NAME=\"sc\" "
102 "VALUE=\"Change name\">"
105 wprintf("<TD>%d</TD></TR>\n", refcount);
108 wprintf("<TR><TD> </TD>"
109 "<TD><FORM METHOD=\"POST\" ACTION=\"/create_floor\">"
110 "<INPUT TYPE=\"text\" NAME=\"floorname\" "
111 "MAXLENGTH=\"250\">\n"
112 "<INPUT TYPE=\"SUBMIT\" NAME=\"sc\" "
113 "VALUE=\"Create new floor\">"
115 "<TD> </TD></TR>\n");
117 wprintf("</TABLE>\n");
118 do_template("endbox");
124 void delete_floor(void) {
129 floornum = atoi(bstr("floornum"));
131 serv_printf("KFLR %d|1", floornum);
135 sprintf(message, "<B><I>Floor has been deleted."
136 "</I></B><br /><br />\n");
139 sprintf(message, "<B><I>%s</I></B>><br />", &buf[4]);
142 display_floorconfig(message);
146 void create_floor(void) {
151 strcpy(floorname, bstr("floorname"));
153 serv_printf("CFLR %s|1", floorname);
156 sprintf(message, "<B><I>%s</I></B>><br />", &buf[4]);
158 display_floorconfig(message);
162 void rename_floor(void) {
168 floornum = atoi(bstr("floornum"));
169 strcpy(floorname, bstr("floorname"));
171 serv_printf("EFLR %d|%s", floornum, floorname);
174 sprintf(message, "<B><I>%s</I></B>><br />", &buf[4]);
176 display_floorconfig(message);