int i;
wprintf("<form name=\"viewomatic\" action=\"changeview\">\n");
- wprintf("\t<div style=\"display: inline;\">\n\t<input type=\"hidden\" name=\"nonce\" value=\"%ld\">\n", WC->nonce);
+ wprintf("\t<div style=\"display: inline;\">\n\t<input type=\"hidden\" name=\"nonce\" value=\"%d\">\n", WC->nonce);
wprintf("<label for=\"view_name\">");
wprintf(_("View as:"));
wprintf("</label> "
*/
void embed_search_o_matic(void) {
wprintf("<form name=\"searchomatic\" action=\"do_search\">\n");
- wprintf("<div style=\"display: inline;\"><input type=\"hidden\" name=\"nonce\" value=\"%ld\">\n", WC->nonce);
+ wprintf("<div style=\"display: inline;\"><input type=\"hidden\" name=\"nonce\" value=\"%d\">\n", WC->nonce);
wprintf("<label for=\"search_name\">");
wprintf(_("Search: "));
wprintf("</label><input ");
case VIEW_NOTES:
wprintf(
"<li class=\"enternewnote\">"
- "<a href=\"javascript:add_new_note();\">"
+ "<a href=\"add_new_note\">"
"<img src=\"static/enternewnote_24x.gif\" "
"alt=\"\"><span class=\"navbar_link\">"
"%s"
}
-/**
- * \brief back end routine to take the session to a new room
- * \param gname room to go to
- *
+/*
+ * back end routine to take the session to a new room
*/
int gotoroom(char *gname)
{
static long ls = (-1L);
int err = 0;
- /** store ungoto information */
+ /* store ungoto information */
strcpy(WC->ugname, WC->wc_roomname);
WC->uglsn = ls;
wprintf("<div class=\"fix_scrollbar_bug\">");
- /** print the tabbed dialog */
- wprintf("<ul class=\"tabbed_dialog\">\n");
+ wprintf("<br />\n");
- wprintf("<li class=\"tablabel ");
+ /* print the tabbed dialog */
+ wprintf("<div align=\"center\">");
+ wprintf("<table id=\"AdminTabs\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\""
+ "<tr align=\"center\" style=\"cursor:pointer\"><td> </td>"
+ );
+
+ wprintf("<td class=\"");
if (!strcmp(tab, "admin")) {
wprintf(" tab_cell_label\">");
wprintf(_("Administration"));
wprintf(_("Administration"));
wprintf("</a>");
}
- wprintf("</li>\n");
+ wprintf("</td>\n");
+ wprintf("<td> </td>\n");
if ( (WC->axlevel >= 6) || (WC->is_room_aide) ) {
- wprintf("<li class=\"tablabel ");
+ wprintf("<td class=\"");
if (!strcmp(tab, "config")) {
wprintf(" tab_cell_label\">");
wprintf(_("Configuration"));
wprintf(_("Configuration"));
wprintf("</a>");
}
- wprintf("</li>\n");
+ wprintf("</td>\n");
+ wprintf("<td> </td>\n");
- wprintf("<li class=\"tablabel ");
+ wprintf("<td class=\"");
if (!strcmp(tab, "expire")) {
wprintf(" tab_cell_label\">");
wprintf(_("Message expire policy"));
wprintf(_("Message expire policy"));
wprintf("</a>");
}
- wprintf("</li>\n");
+ wprintf("</td>\n");
+ wprintf("<td> </td>\n");
- wprintf("<li class=\"tablabel ");
+ wprintf("<td class=\"");
if (!strcmp(tab, "access")) {
wprintf(" tab_cell_label\">");
wprintf(_("Access controls"));
wprintf(_("Access controls"));
wprintf("</a>");
}
- wprintf("</li>\n");
+ wprintf("</td>\n");
+ wprintf("<td> </td>\n");
- wprintf("<li class=\"tablabel ");
+ wprintf("<td class=\"");
if (!strcmp(tab, "sharing")) {
wprintf(" tab_cell_label\">");
wprintf(_("Sharing"));
wprintf(_("Sharing"));
wprintf("</a>");
}
- wprintf("</li>\n");
+ wprintf("</td>\n");
+ wprintf("<td> </td>\n");
- wprintf("<li class=\"tablabel ");
+ wprintf("<td class=\"");
if (!strcmp(tab, "listserv")) {
wprintf(" tab_cell_label\">");
wprintf(_("Mailing list service"));
wprintf(_("Mailing list service"));
wprintf("</a>");
}
- wprintf("</li>\n");
+ wprintf("</td>\n");
+ wprintf("<td> </td>\n");
}
- wprintf("<li class=\"tablabel ");
+ wprintf("<td class=\"");
if (!strcmp(tab, "feeds")) {
wprintf(" tab_cell_label\">");
wprintf(_("Remote retrieval"));
wprintf(_("Remote retrieval"));
wprintf("</a>");
}
- wprintf("</li>\n");
+ wprintf("</td>\n");
+ wprintf("<td> </td>\n");
- wprintf("</ul>\n");
+ wprintf("</tr></table>\n");
+ wprintf("</div>\n");
/* end tabbed dialog */
+ wprintf("<script type=\"text/javascript\">"
+ " Nifty(\"table#AdminTabs td\", \"small transparent top\");"
+ "</script>"
+ );
+
/* begin content of whatever tab is open now */
if (!strcmp(tab, "admin")) {
er_flags2 = extract_int(&buf[4], 7);
wprintf("<form method=\"POST\" action=\"editroom\">\n");
- wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%ld\">\n", WC->nonce);
+ wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%d\">\n", WC->nonce);
wprintf("<ul><li>");
wprintf(_("Name of room: "));
extract_token(remote_room, buf, 1, '|', sizeof remote_room);
if (!IsEmptyStr(node)) {
wprintf("<form method=\"POST\" action=\"netedit\">");
- wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%ld\">\n", WC->nonce);
+ wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%d\">\n", WC->nonce);
wprintf("<tr><td>%s</td>\n", node);
wprintf("<td>");
extract_token(node, not_shared_with, i, '\n', sizeof node);
if (!IsEmptyStr(node)) {
wprintf("<form method=\"POST\" action=\"netedit\">");
- wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%ld\">\n", WC->nonce);
+ wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%d\">\n", WC->nonce);
wprintf("<tr><td>");
escputs(node);
wprintf("</td><td>"
wprintf("<br /><form method=\"POST\" action=\"netedit\">\n"
"<input type=\"hidden\" NAME=\"tab\" VALUE=\"listserv\">\n"
"<input type=\"hidden\" NAME=\"prefix\" VALUE=\"listrecp|\">\n");
- wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%ld\">\n", WC->nonce);
+ wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%d\">\n", WC->nonce);
wprintf("<input type=\"text\" id=\"add_as_listrecp\" NAME=\"line\">\n");
wprintf("<input type=\"submit\" NAME=\"add_button\" VALUE=\"%s\">", _("Add"));
wprintf("</form>\n");
wprintf("<br /><form method=\"POST\" action=\"netedit\">\n"
"<input type=\"hidden\" NAME=\"tab\" VALUE=\"listserv\">\n"
"<input type=\"hidden\" NAME=\"prefix\" VALUE=\"digestrecp|\">\n");
- wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%ld\">\n", WC->nonce);
+ wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%d\">\n", WC->nonce);
wprintf("<input type=\"text\" id=\"add_as_digestrecp\" NAME=\"line\">\n");
wprintf("<input type=\"submit\" NAME=\"add_button\" VALUE=\"%s\">", _("Add"));
wprintf("</form>\n");
}
wprintf("<br /><form method=\"POST\" action=\"set_room_policy\">\n");
- wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%ld\">\n", WC->nonce);
+ wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%d\">\n", WC->nonce);
wprintf("<table border=0 cellspacing=5>\n");
wprintf("<tr><td>");
wprintf(_("Message expire policy for this room"));
"<tr>"
"<input type=\"hidden\" name=\"tab\" value=\"feeds\">"
"<input type=\"hidden\" name=\"prefix\" value=\"pop3client|\">\n");
- wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%ld\">\n", WC->nonce);
+ wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%d\">\n", WC->nonce);
wprintf("<td>");
wprintf("<input type=\"text\" id=\"add_as_pop3host\" NAME=\"line_pop3host\">\n");
wprintf("</td>");
"<tr>"
"<input type=\"hidden\" name=\"tab\" value=\"feeds\">"
"<input type=\"hidden\" name=\"prefix\" value=\"rssclient|\">\n");
- wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%ld\">\n", WC->nonce);
+ wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%d\">\n", WC->nonce);
wprintf("<td>");
wprintf("<input type=\"text\" id=\"add_as_pop3host\" size=\"72\" "
"maxlength=\"256\" name=\"line_pop3host\">\n");
wprintf("<br /><br />");
wprintf("<CENTER><form method=\"POST\" action=\"do_invt_kick\">\n");
- wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%ld\">\n", WC->nonce);
+ wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%d\">\n", WC->nonce);
wprintf("<input type=\"hidden\" NAME=\"tab\" VALUE=\"access\">\n");
wprintf("<select NAME=\"username\" SIZE=\"10\" style=\"width:100%%\">\n");
serv_puts("WHOK");
wprintf("<CENTER><form method=\"POST\" action=\"do_invt_kick\">\n");
wprintf("<input type=\"hidden\" NAME=\"tab\" VALUE=\"access\">\n");
- wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%ld\">\n", WC->nonce);
+ wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%d\">\n", WC->nonce);
wprintf(_("Invite:"));
wprintf(" ");
wprintf("<input type=\"text\" name=\"username\" id=\"username_id\" style=\"width:100%%\"><br />\n"
do_template("beginbox");
wprintf("<form name=\"create_room_form\" method=\"POST\" action=\"entroom\">\n");
- wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%ld\">\n", WC->nonce);
+ wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%d\">\n", WC->nonce);
wprintf("<table class=\"altern\"> ");
wprintf("</p>");
wprintf("<form method=\"post\" action=\"goto_private\">\n");
- wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%ld\">\n", WC->nonce);
+ wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%d\">\n", WC->nonce);
wprintf("<table class=\"altern\"> "
"<tr class=\"even\"><td>");
"to do?<br />\n"), WC->wc_roomname);
wprintf("<form method=\"POST\" action=\"zap\">\n");
- wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%ld\">\n", WC->nonce);
+ wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%d\">\n", WC->nonce);
wprintf("<input type=\"submit\" NAME=\"ok_button\" VALUE=\"%s\">", _("Zap this room"));
wprintf(" ");
wprintf("<input type=\"submit\" NAME=\"cancel_button\" VALUE=\"%s\">", _("Cancel"));
*/
void set_floordiv_expanded(char *which_floordiv) {
begin_ajax_response();
- safestrncpy(WC->floordiv_expanded, which_floordiv, sizeof WC->floordiv_expanded);
+ StrBufPrintf(WC->floordiv_expanded, "%s", which_floordiv);
end_ajax_response();
}
"%s</span><br>\n", floordiv_id, floordivtitle);
wprintf("<div id=\"%s\" style=\"display:%s\">",
floordiv_id,
- (!strcasecmp(floordiv_id, WC->floordiv_expanded) ? "block" : "none")
+ (!strcasecmp(floordiv_id, ChrPtr(WC->floordiv_expanded)) ? "block" : "none")
);
}
}
wprintf("num_drop_targets = %d;\n", num_drop_targets);
- if ((WC->floordiv_expanded[0] != '\0')&&
- (WC->floordiv_expanded[1] != '\0')){
- wprintf("which_div_expanded = '%s';\n", WC->floordiv_expanded);
+ if ((ChrPtr(WC->floordiv_expanded)[0] != '\0')&&
+ (ChrPtr(WC->floordiv_expanded)[1] != '\0')){
+ wprintf("which_div_expanded = '%s';\n", ChrPtr(WC->floordiv_expanded));
}
wprintf("\">\n");
* \param viewpref the view preferences???
*/
-void list_all_rooms_by_floor(char *viewpref) {
+void list_all_rooms_by_floor(const char *viewpref) {
char buf[SIZ];
int swap = 0;
struct folder *fold = NULL;
int *floor_mapping;
int IDMax;
int i, j;
+ int ShowEmptyFloors;
int ra_flags = 0;
int flags = 0;
int num_floors = 1; /** add an extra one for private folders */
- char buf2[SIZ];
char buf3[SIZ];
/** If our cached folder list is very old, burn it. */
/*
* Remove any floors that don't have rooms
*/
- get_preference("emptyfloors", buf2, sizeof buf2);
- if (buf2[0]==0 || (strcasecmp(buf2, "no") == 0))
+ get_pref_yesno("emptyfloors", &ShowEmptyFloors, 0);
+ if (ShowEmptyFloors)
{
for (i=0; i<num_floors; i++)
{
*/
void knrooms(void)
{
- char listviewpref[SIZ];
+ StrBuf *ListView = NULL;
output_headers(1, 1, 2, 0, 0, 0);
/** Determine whether the user is trying to change views */
- if (bstr("view") != NULL) {
- if (havebstr("view")) {
- set_preference("roomlistview", bstr("view"), 1);
+ if (havebstr("view")) {
+ ListView = NewStrBufPlain(bstr("view"), -1);
+ set_preference("roomlistview", ListView, 1);
+ }
+ /** Sanitize the input so its safe */
+ if(!get_preference("roomlistview", &ListView) ||
+ ((strcasecmp(ChrPtr(ListView), "folders") != 0) &&
+ (strcasecmp(ChrPtr(ListView), "table") != 0)))
+ {
+ if (ListView == NULL) {
+ ListView = NewStrBufPlain("rooms", sizeof("rooms") - 1);
+ set_preference("roomlistview", ListView, 0);
+ }
+ else {
+ StrBufPrintf(ListView, "rooms");
+ save_preferences();
}
- }
-
- get_preference("roomlistview", listviewpref, sizeof listviewpref);
-
- if ( (strcasecmp(listviewpref, "folders"))
- && (strcasecmp(listviewpref, "table")) ) {
- strcpy(listviewpref, "rooms");
}
/** title bar */
wprintf("<div id=\"banner\">\n");
wprintf("<div class=\"room_banner\">");
wprintf("<h1>");
- if (!strcasecmp(listviewpref, "rooms")) {
+ if (!strcasecmp(ChrPtr(ListView), "rooms")) {
wprintf(_("Room list"));
}
- if (!strcasecmp(listviewpref, "folders")) {
+ else if (!strcasecmp(ChrPtr(ListView), "folders")) {
wprintf(_("Folder list"));
}
- if (!strcasecmp(listviewpref, "table")) {
+ else if (!strcasecmp(ChrPtr(ListView), "table")) {
wprintf(_("Room list"));
}
wprintf("</h1></div>\n");
wprintf("<option %s value=\"knrooms&view=rooms\">"
"View as room list"
"</option>\n",
- ( !strcasecmp(listviewpref, "rooms") ? "SELECTED" : "" )
+ ( !strcasecmp(ChrPtr(ListView), "rooms") ? "SELECTED" : "" )
);
wprintf("<option %s value=\"knrooms&view=folders\">"
"View as folder list"
"</option>\n",
- ( !strcasecmp(listviewpref, "folders") ? "SELECTED" : "" )
+ ( !strcasecmp(ChrPtr(ListView), "folders") ? "SELECTED" : "" )
);
wprintf("</select>");
wprintf("<div id=\"content\" class=\"service\">\n");
/** Display the room list in the user's preferred format */
- list_all_rooms_by_floor(listviewpref);
+ list_all_rooms_by_floor(ChrPtr(ListView));
wDumpContent(1);
}
if (WC->axlevel >= 6) {
strcat(WC->ImportantMessage, "<br />\n");
- serv_printf("SPEX floor|%d|%d", ibstr("floorpolicy"), bstr("floorvalue"));
+ serv_printf("SPEX floor|%d|%d", ibstr("floorpolicy"), ibstr("floorvalue"));
serv_getln(buf, sizeof buf);
strcat(WC->ImportantMessage, &buf[4]);
}