2 * Administrative screens for floor maintenance
13 #include <sys/types.h>
15 #include <sys/socket.h>
18 #include <netinet/in.h>
27 #include "webserver.h"
33 * Display floor configuration. If prepend_html is not NULL, its contents
34 * will be displayed at the top of the screen.
36 void display_floorconfig(char *prepend_html)
46 if (prepend_html != NULL) {
47 client_write(prepend_html, strlen(prepend_html));
50 serv_printf("LFLR"); /* FIXME put a real test here */
53 wprintf("<TABLE WIDTH=100%% BORDER=0 BGCOLOR=\"#770000\"><TR><TD>");
54 wprintf("<SPAN CLASS=\"titlebar\">Error</SPAN>\n");
55 wprintf("</TD></TR></TABLE><BR>\n");
56 wprintf("%s<BR>\n", &buf[4]);
61 svprintf("BOXTITLE", WCS_STRING, "Floor configuration");
62 do_template("beginbox");
64 wprintf("<TABLE BORDER=1 WIDTH=100%>\n"
65 "<TR><TH>Floor number</TH>"
67 "<TH>Number of rooms</TH></TR>\n"
70 while (serv_gets(buf), strcmp(buf, "000")) {
71 floornum = extract_int(buf, 0);
72 extract(floorname, buf, 1);
73 refcount = extract_int(buf, 2);
75 wprintf("<TR><TD><TABLE border=0><TR><TD>%d", floornum);
78 "<A HREF=\"/delete_floor?floornum=%d\">"
79 "<FONT SIZE=-1>(delete floor)</A>"
80 "</FONT><BR>", floornum
83 wprintf("<FONT SIZE=-1>"
84 "<A HREF=\"/display_editfloorpic&"
85 "which_floor=%d\">(edit graphic)</A>",
87 wprintf("</TD></TR></TABLE>");
91 "<FORM METHOD=\"POST\" ACTION=\"/rename_floor\">"
92 "<INPUT TYPE=\"hidden\" NAME=\"floornum\" "
94 "<INPUT TYPE=\"text\" NAME=\"floorname\" "
95 "VALUE=\"%s\" MAXLENGTH=\"250\">\n",
97 wprintf("<INPUT TYPE=\"SUBMIT\" NAME=\"sc\" "
98 "VALUE=\"Change name\">"
101 wprintf("<TD>%d</TD></TR>\n", refcount);
104 wprintf("<TR><TD> </TD>"
105 "<TD><FORM METHOD=\"POST\" ACTION=\"/create_floor\">"
106 "<INPUT TYPE=\"text\" NAME=\"floorname\" "
107 "MAXLENGTH=\"250\">\n"
108 "<INPUT TYPE=\"SUBMIT\" NAME=\"sc\" "
109 "VALUE=\"Create new floor\">"
111 "<TD> </TD></TR>\n");
113 wprintf("</TABLE>\n");
114 do_template("endbox");
120 void delete_floor(void) {
125 floornum = atoi(bstr("floornum"));
127 serv_printf("KFLR %d|1", floornum);
131 sprintf(message, "<B><I>Floor has been deleted."
132 "</I></B><BR><BR>\n");
135 sprintf(message, "<B><I>%s</I></B>><BR>", &buf[4]);
138 display_floorconfig(message);
142 void create_floor(void) {
147 strcpy(floorname, bstr("floorname"));
149 serv_printf("CFLR %s|1", floorname);
152 sprintf(message, "<B><I>%s</I></B>><BR>", &buf[4]);
154 display_floorconfig(message);
158 void rename_floor(void) {
164 floornum = atoi(bstr("floornum"));
165 strcpy(floorname, bstr("floorname"));
167 serv_printf("EFLR %d|%s", floornum, floorname);
170 sprintf(message, "<B><I>%s</I></B>><BR>", &buf[4]);
172 display_floorconfig(message);