00001
00002
00003
00009
00010 #include "webcit.h"
00011 #include "webserver.h"
00012
00013
00014
00015
00022 void display_floorconfig(char *prepend_html)
00023 {
00024 char buf[SIZ];
00025
00026 int floornum;
00027 char floorname[SIZ];
00028 int refcount;
00029
00030 output_headers(1, 1, 2, 0, 0, 0);
00031 wprintf("<div id=\"banner\">\n"
00032 "<TABLE class=\"floors_banner\"><TR><TD>"
00033 "<SPAN CLASS=\"titlebar\">");
00034 wprintf(_("Add/change/delete floors"));
00035 wprintf("</SPAN>"
00036 "</TD></TR></TABLE>\n"
00037 "</div>\n<div id=\"content\">\n"
00038 );
00039
00040 if (prepend_html != NULL) {
00041 wprintf("<br /><b><i>");
00042 client_write(prepend_html, strlen(prepend_html));
00043 wprintf("</i></b><br /><br />\n");
00044 }
00045
00046 serv_printf("LFLR");
00047 serv_getln(buf, sizeof buf);
00048 if (buf[0] != '1') {
00049 wprintf("<TABLE class=\"floors_config\"><TR><TD>");
00050 wprintf("<SPAN CLASS=\"titlebar\">");
00051 wprintf(_("Error"));
00052 wprintf("</SPAN>\n");
00053 wprintf("</TD></TR></TABLE>\n");
00054 wprintf("%s<br />\n", &buf[4]);
00055 wDumpContent(1);
00056 return;
00057 }
00058
00059 wprintf("<div class=\"fix_scrollbar_bug\">"
00060 "<TABLE BORDER=1 WIDTH=100%% bgcolor=\"#ffffff\">\n"
00061 "<TR><TH>");
00062 wprintf(_("Floor number"));
00063 wprintf("</TH><TH>");
00064 wprintf(_("Floor name"));
00065 wprintf("</TH><TH>");
00066 wprintf(_("Number of rooms"));
00067 wprintf("</TH><TH>");
00068 wprintf(_("Floor CSS"));
00069 wprintf("</TH></TR>\n");
00070
00071 while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
00072 floornum = extract_int(buf, 0);
00073 extract_token(floorname, buf, 1, '|', sizeof floorname);
00074 refcount = extract_int(buf, 2);
00075
00076 wprintf("<TR><TD><TABLE border=0><TR><TD>%d", floornum);
00077 if (refcount == 0) {
00078 wprintf("</TD><TD>"
00079 "<a href=\"delete_floor?floornum=%d\">"
00080 "<FONT SIZE=-1>", floornum);
00081 wprintf(_("(delete floor)"));
00082 wprintf("</A></FONT><br />");
00083 }
00084 wprintf("<FONT SIZE=-1>"
00085 "<a href=\"display_editfloorpic&"
00086 "which_floor=%d\">", floornum);
00087 wprintf(_("(edit graphic)"));
00088 wprintf("</A></TD></TR></TABLE>");
00089 wprintf("</TD>");
00090
00091 wprintf("<TD>"
00092 "<FORM METHOD=\"POST\" action=\"rename_floor\">"
00093 "<INPUT TYPE=\"hidden\" NAME=\"floornum\" "
00094 "VALUE=\"%d\">"
00095 "<INPUT TYPE=\"text\" NAME=\"floorname\" "
00096 "VALUE=\"%s\" MAXLENGTH=\"250\">\n",
00097 floornum, floorname);
00098 wprintf("<INPUT TYPE=\"SUBMIT\" NAME=\"sc\" "
00099 "VALUE=\"%s\">"
00100 "</FORM></TD>", _("Change name"));
00101
00102 wprintf("<TD>%d</TD>\n", refcount);
00103
00104 wprintf("<TD>"
00105 "<FORM METHOD=\"POST\" action=\"set_floor_css\">"
00106 "<INPUT TYPE=\"hidden\" NAME=\"floornum\" "
00107 "VALUE=\"%d\">"
00108 "<INPUT TYPE=\"text\" NAME=\"floorcss\" "
00109 "VALUE=\"%s\" MAXLENGTH=\"250\">\n",
00110 floornum, floorname);
00111 wprintf("<INPUT TYPE=\"SUBMIT\" NAME=\"sc\" "
00112 "VALUE=\"%s\">"
00113 "</FORM></TD>", _("Change CSS"));
00114
00115 wprintf("</TR>\n");
00116 }
00117
00118 wprintf("<TR><TD> </TD>"
00119 "<TD><FORM METHOD=\"POST\" action=\"create_floor\">"
00120 "<INPUT TYPE=\"text\" NAME=\"floorname\" "
00121 "MAXLENGTH=\"250\">\n"
00122 "<INPUT TYPE=\"SUBMIT\" NAME=\"sc\" "
00123 "VALUE=\"%s\">"
00124 "</FORM></TD>"
00125 "<TD> </TD></TR>\n", _("Create new floor"));
00126
00127 wprintf("</table></div>\n");
00128 wDumpContent(1);
00129 }
00130
00131
00135 void delete_floor(void) {
00136 int floornum;
00137 char buf[SIZ];
00138 char message[SIZ];
00139
00140 floornum = atoi(bstr("floornum"));
00141
00142 serv_printf("KFLR %d|1", floornum);
00143 serv_getln(buf, sizeof buf);
00144
00145 if (buf[0] == '2') {
00146 sprintf(message, _("Floor has been deleted."));
00147 }
00148 else {
00149 sprintf(message, "%s", &buf[4]);
00150 }
00151
00152 display_floorconfig(message);
00153 }
00154
00158 void create_floor(void) {
00159 char buf[SIZ];
00160 char message[SIZ];
00161 char floorname[SIZ];
00162
00163 strcpy(floorname, bstr("floorname"));
00164
00165 serv_printf("CFLR %s|1", floorname);
00166 serv_getln(buf, sizeof buf);
00167
00168 if (buf[0] == '2') {
00169 sprintf(message, _("New floor has been created."));
00170 } else {
00171 sprintf(message, "%s", &buf[4]);
00172 }
00173
00174 display_floorconfig(message);
00175 }
00176
00180 void rename_floor(void) {
00181 int floornum;
00182 char buf[SIZ];
00183 char message[SIZ];
00184 char floorname[SIZ];
00185
00186 floornum = atoi(bstr("floornum"));
00187 strcpy(floorname, bstr("floorname"));
00188
00189 serv_printf("EFLR %d|%s", floornum, floorname);
00190 serv_getln(buf, sizeof buf);
00191
00192 sprintf(message, "%s", &buf[4]);
00193
00194 display_floorconfig(message);
00195 }
00196
00197