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);
47 wprintf("<div id=\"banner\">\n"
48 "<TABLE WIDTH=100%% BORDER=0 BGCOLOR=\"#444455\"><TR><TD>"
49 "<SPAN CLASS=\"titlebar\">Add/change/delete floors</SPAN>"
50 "</TD></TR></TABLE>\n"
51 "</div>\n<div id=\"content\">\n"
54 if (prepend_html != NULL) {
55 wprintf("<br /><b><i>");
56 client_write(prepend_html, strlen(prepend_html));
57 wprintf("</i></b><br /><br />\n");
63 wprintf("<TABLE WIDTH=100%% BORDER=0 BGCOLOR=\"#770000\"><TR><TD>");
64 wprintf("<SPAN CLASS=\"titlebar\">Error</SPAN>\n");
65 wprintf("</TD></TR></TABLE>\n");
66 wprintf("%s<br />\n", &buf[4]);
71 wprintf("<div id=\"fix_scrollbar_bug\">"
72 "<TABLE BORDER=1 WIDTH=100%% bgcolor=\"#ffffff\">\n"
73 "<TR><TH>Floor number</TH>"
75 "<TH>Number of rooms</TH></TR>\n"
78 while (serv_gets(buf), strcmp(buf, "000")) {
79 floornum = extract_int(buf, 0);
80 extract(floorname, buf, 1);
81 refcount = extract_int(buf, 2);
83 wprintf("<TR><TD><TABLE border=0><TR><TD>%d", floornum);
86 "<A HREF=\"/delete_floor?floornum=%d\">"
87 "<FONT SIZE=-1>(delete floor)</A>"
88 "</FONT><br />", floornum
91 wprintf("<FONT SIZE=-1>"
92 "<A HREF=\"/display_editfloorpic&"
93 "which_floor=%d\">(edit graphic)</A>",
95 wprintf("</TD></TR></TABLE>");
99 "<FORM METHOD=\"POST\" ACTION=\"/rename_floor\">"
100 "<INPUT TYPE=\"hidden\" NAME=\"floornum\" "
102 "<INPUT TYPE=\"text\" NAME=\"floorname\" "
103 "VALUE=\"%s\" MAXLENGTH=\"250\">\n",
104 floornum, floorname);
105 wprintf("<INPUT TYPE=\"SUBMIT\" NAME=\"sc\" "
106 "VALUE=\"Change name\">"
109 wprintf("<TD>%d</TD></TR>\n", refcount);
112 wprintf("<TR><TD> </TD>"
113 "<TD><FORM METHOD=\"POST\" ACTION=\"/create_floor\">"
114 "<INPUT TYPE=\"text\" NAME=\"floorname\" "
115 "MAXLENGTH=\"250\">\n"
116 "<INPUT TYPE=\"SUBMIT\" NAME=\"sc\" "
117 "VALUE=\"Create new floor\">"
119 "<TD> </TD></TR>\n");
121 wprintf("</table></div>\n");
127 void delete_floor(void) {
132 floornum = atoi(bstr("floornum"));
134 serv_printf("KFLR %d|1", floornum);
138 sprintf(message, "Floor has been deleted.");
141 sprintf(message, "%s", &buf[4]);
144 display_floorconfig(message);
148 void create_floor(void) {
153 strcpy(floorname, bstr("floorname"));
155 serv_printf("CFLR %s|1", floorname);
159 sprintf(message, "New floor has been created.");
161 sprintf(message, "%s", &buf[4]);
164 display_floorconfig(message);
168 void rename_floor(void) {
174 floornum = atoi(bstr("floornum"));
175 strcpy(floorname, bstr("floorname"));
177 serv_printf("EFLR %d|%s", floornum, floorname);
180 sprintf(message, "%s", &buf[4]);
182 display_floorconfig(message);