floors.c

00001 /*
00002  * $Id: floors.c 5147 2007-05-08 15:36:22Z ajc $
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>&nbsp;</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>&nbsp;</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 

Generated on Wed Jun 20 23:13:07 2007 for webcit by  doxygen 1.5.2