2 * Administrative screens for floor maintenance
13 #include <sys/types.h>
15 #include <sys/socket.h>
18 #include <netinet/in.h>
32 * Display floor configuration. If prepend_html is not NULL, its contents
33 * will be displayed at the top of the screen.
35 void display_floorconfig(char *prepend_html)
45 if (prepend_html != NULL) {
46 write(WC->http_sock, prepend_html, strlen(prepend_html));
49 serv_printf("LFLR"); /* FIXME put a real test here */
52 wprintf("<TABLE WIDTH=100%% BORDER=0 BGCOLOR=770000><TR><TD>");
53 wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
54 wprintf("<B>Error</B>\n");
55 wprintf("</FONT></TD></TR></TABLE><BR>\n");
56 wprintf("%s<BR>\n", &buf[4]);
61 wprintf("<TABLE WIDTH=100%% BORDER=0 BGCOLOR=007700><TR><TD>"
62 "<FONT SIZE=+1 COLOR=\"FFFFFF\"<B>Floor configuration"
63 "</B></FONT></TD></TR></TABLE>\n"
66 wprintf("<TABLE BORDER=1 WIDTH=100%>\n"
67 "<TR><TH>Floor number</TH>"
69 "<TH>Number of rooms</TH></TR>\n"
72 while (serv_gets(buf), strcmp(buf, "000")) {
73 floornum = extract_int(buf, 0);
74 extract(floorname, buf, 1);
75 refcount = extract_int(buf, 2);
77 wprintf("<TR><TD>%d", floornum);
79 wprintf(" <A HREF=\"/delete_floor?floornum=%d\">"
80 "(delete floor)</A>");
85 "<FORM METHOD=\"POST\" ACTION=\"/rename_floor\">"
86 "<INPUT TYPE=\"hidden\" NAME=\"floornum\" "
88 "<INPUT TYPE=\"text\" NAME=\"floorname\" "
89 "VALUE=\"%s\" MAXLENGTH=\"250\">\n",
91 wprintf("<INPUT TYPE=\"SUBMIT\" NAME=\"sc\" "
92 "VALUE=\"Change name\">"
95 wprintf("<TD>%d</TD></TR>\n", refcount);
98 wprintf("<TR><TD> </TD>"
99 "<TD><FORM METHOD=\"POST\" ACTION=\"/create_floor\">"
100 "<INPUT TYPE=\"text\" NAME=\"floorname\" "
101 "MAXLENGTH=\"250\">\n"
102 "<INPUT TYPE=\"SUBMIT\" NAME=\"sc\" "
103 "VALUE=\"Create new floor\">"
105 "<TD> </TD></TR>\n");
107 wprintf("</TABLE>\n");
114 void delete_floor(void) {
119 floornum = atoi(bstr("floornum"));
121 serv_printf("KFLR %d|1", floornum);
125 sprintf(message, "<B><I>Floor has been deleted."
126 "</I></B><BR><BR>\n");
129 sprintf(message, "<B><I>%s</I></B>><BR>", &buf[4]);
132 display_floorconfig(message);
136 void create_floor(void) {
141 strcpy(floorname, bstr("floorname"));
143 serv_printf("CFLR %s|1", floorname);
146 sprintf(message, "<B><I>%s</I></B>><BR>", &buf[4]);
148 display_floorconfig(message);
152 void rename_floor(void) {
158 floornum = atoi(bstr("floornum"));
159 strcpy(floorname, bstr("floorname"));
161 serv_printf("EFLR %d|%s", floornum, floorname);
164 sprintf(message, "<B><I>%s</I></B>><BR>", &buf[4]);
166 display_floorconfig(message);