long IconbarIsENABLED(const char *key, size_t keylen, long defval)
{
- void *Data;
+ void *Data = NULL;
wcsession *WCC = WC;
if (WCC == NULL)
if (GetHash(WCC->IconBarSettings,
key,
keylen,
- &Data) &&
- (Data != NULL))
+ &Data))
return (long) Data;
else
return defval;
int ib_displayas;
testFor = GetTemplateTokenNumber(Target, TP, 3, IB_PICTEXT);
- ib_displayas = IconbarIsEnabled("ib_displayas", IB_PICTEXT);
+ ib_displayas = IconbarIsENABLED(TKEY(2),0);
return (testFor == ib_displayas);
}
FreeStrBuf(&buf);
}
-/*
- * display a customized version of the iconbar
- */
-void display_customize_iconbar(void) {
- int i;
- int bar = 0;
- long val;
-
- int ib_displayas;
-
- output_headers(1, 1, 2, 0, 0, 0);
- wprintf("<div id=\"banner\">");
- wprintf("<h1>");
- wprintf(_("Customize the icon bar"));
- wprintf("</h1></div>\n");
-
- wprintf("<div id=\"content\" class=\"service\">\n");
-
- wprintf("<div class=\"fix_scrollbar_bug\">");
-
- wprintf("<form method=\"post\" action=\"commit_iconbar\">\n");
- wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%d\">\n", WC->nonce);
-
- wprintf("<table class=\"altern\" >\n");
- wprintf("<tr><td></td><td colspan=\"2\"><b>");
- wprintf(_("Display icons as:"));
- wprintf("</b>");
- ib_displayas = IconbarIsEnabled("ib_displayas",IB_PICTEXT);
- for (i=0; i<=2; ++i) {
- wprintf("<input type=\"radio\" name=\"ib_displayas\" value=\"%d\"", i);
- if (ib_displayas == i) wprintf(" CHECKED");
- wprintf(">");
- if (i == IB_PICTEXT) wprintf(_("pictures and text"));
- if (i == IB_PICONLY) wprintf(_("pictures only"));
- if (i == IB_TEXTONLY) wprintf(_("text only"));
- wprintf("\n");
- }
- wprintf("<br />\n");
-
- wprintf(_("Select the icons you would like to see displayed "
- "in the 'icon bar' menu on the left side of the "
- "screen."));
- wprintf("</td></tr>\n");
-
- bar = 1 - bar;
- val = IconbarIsEnabled("ib_logo", 0);
- wprintf("<tr class=\"%s\"><td>"
- "<input type=\"radio\" name=\"ib_logo\" value=\"yes\" %s> %s "
- "<input type=\"radio\" name=\"ib_logo\" value=\"no\" %s> %s <br />"
- "</td><td>"
- "<img src=\"image&name=hello\" width=\"48\" alt=\" \">"
- "</td><td>"
- "<b>%s</b><br />"
- "%s"
- "</td></tr>\n",
- (bar ? "even" : "odd"),
- (val ? "CHECKED" : ""),_("Yes"),
- (!val ? "CHECKED" : ""),_("No"),
- _("Site logo"),
- _("An icon describing this site")
- );
-
- bar = 1 - bar;
- val = IconbarIsEnabled("ib_summary", 1);
- wprintf("<tr class=\"%s\"><td>"
- "<input type=\"radio\" name=\"ib_summary\" value=\"yes\" %s> %s "
- "<input type=\"radio\" name=\"ib_summary\" value=\"no\" %s> %s <br />"
- "</td><td>"
- "<img src=\"static/summscreen_48x.gif\" alt=\" \">"
- "</td><td>"
- "<b>%s</b><br />"
- "%s"
- "</td></tr>\n",
- (bar ? "even" : "odd"),
- (val ? "CHECKED" : ""),_("Yes"),
- (!val ? "CHECKED" : ""),_("No"),
- _("Summary"),
- _("Your summary page")
- );
-
- bar = 1 - bar;
- val = IconbarIsEnabled("ib_inbox", 1);
- wprintf("<tr class=\"%s\"><td>"
- "<input type=\"radio\" name=\"ib_inbox\" value=\"yes\" %s> %s "
- "<input type=\"radio\" name=\"ib_inbox\" value=\"no\" %s> %s <br />"
- "</td><td>"
- "<img src=\"static/privatemess_48x.gif\" alt=\" \">"
- "</td><td>"
- "<b>%s</b><br />"
- "%s"
- "</td></tr>\n",
- (bar ? "even" : "odd"),
- (val ? "CHECKED" : ""),_("Yes"),
- (!val ? "CHECKED" : ""),_("No"),
- _("Mail (inbox)"),
- _("A shortcut to your email Inbox")
- );
-
- bar = 1 - bar;
- val = IconbarIsEnabled("ib_contacts", 1);
- wprintf("<tr class=\"%s\"><td>"
- "<input type=\"radio\" name=\"ib_contacts\" value=\"yes\" %s> %s "
- "<input type=\"radio\" name=\"ib_contacts\" value=\"no\" %s> %s <br />"
- "</td><td>"
- "<img src=\"static/viewcontacts_48x.gif\" alt=\" \">"
- "</td><td>"
- "<b>%s</b><br />"
- "%s"
- "</td></tr>\n",
- (bar ? "even" : "odd"),
- (val ? "CHECKED" : ""),_("Yes"),
- (!val ? "CHECKED" : ""),_("No"),
- _("Contacts"),
- _("Your personal address book")
- );
-
- bar = 1 - bar;
- val = IconbarIsEnabled("ib_notes", 1);
- wprintf("<tr class=\"%s\"><td>"
- "<input type=\"radio\" name=\"ib_notes\" value=\"yes\" %s> %s "
- "<input type=\"radio\" name=\"ib_notes\" value=\"no\" %s> %s <br />"
- "</td><td>"
- "<img src=\"static/storenotes_48x.gif\" alt=\" \">"
- "</td><td>"
- "<b>%s</b><br />"
- "%s"
- "</td></tr>\n",
- (bar ? "even" : "odd"),
- (val ? "CHECKED" : ""),_("Yes"),
- (!val ? "CHECKED" : ""),_("No"),
- _("Notes"),
- _("Your personal notes")
- );
-
- bar = 1 - bar;
- val = IconbarIsEnabled("ib_calendar", 1);
- wprintf("<tr class=\"%s\"><td>"
- "<input type=\"radio\" name=\"ib_calendar\" value=\"yes\" %s> %s "
- "<input type=\"radio\" name=\"ib_calendar\" value=\"no\" %s> %s <br />"
- "</td><td>"
- "<img src=\"static/calarea_48x.gif\" alt=\" \">"
- "</td><td>"
- "<b>%s</b><br />"
- "%s"
- "</td></tr>\n",
- (bar ? "even" : "odd"),
- (val ? "CHECKED" : ""),_("Yes"),
- (!val ? "CHECKED" : ""),_("No"),
- _("Calendar"),
- _("A shortcut to your personal calendar")
- );
-
- bar = 1 - bar;
- val = IconbarIsEnabled("ib_tasks", 1);
- wprintf("<tr class=\"%s\"><td>"
- "<input type=\"radio\" name=\"ib_tasks\" value=\"yes\" %s> %s "
- "<input type=\"radio\" name=\"ib_tasks\" value=\"no\" %s> %s <br />"
- "</td><td>"
- "<img src=\"static/taskmanag_48x.gif\" alt=\" \">"
- "</td><td>"
- "<b>%s</b><br />"
- "%s"
- "</td></tr>\n",
- (bar ? "even" : "odd"),
- (val ? "CHECKED" : ""),_("Yes"),
- (!val ? "CHECKED" : ""),_("No"),
- _("Tasks"),
- _("A shortcut to your personal task list")
- );
-
- bar = 1 - bar;
- val = IconbarIsEnabled("ib_rooms", 1);
- wprintf("<tr class=\"%s\"><td>"
- "<input type=\"radio\" name=\"ib_rooms\" value=\"yes\" %s> %s "
- "<input type=\"radio\" name=\"ib_rooms\" value=\"no\" %s> %s <br />"
- "</td><td>"
- "<img src=\"static/chatrooms_48x.gif\" alt=\" \">"
- "</td><td>"
- "<b>%s</b><br />"
- "%s"
- "</td></tr>\n",
- (bar ? "even" : "odd"),
- (val ? "CHECKED" : ""),_("Yes"),
- (!val ? "CHECKED" : ""),_("No"),
- _("Rooms"),
- _("Clicking this icon displays a list of all accessible "
- "rooms (or folders) available.")
- );
-
- bar = 1 - bar;
- val = IconbarIsEnabled("ib_users", 1);
- wprintf("<tr class=\"%s\"><td>"
- "<input type=\"radio\" name=\"ib_users\" value=\"yes\" %s> %s "
- "<input type=\"radio\" name=\"ib_users\" value=\"no\" %s> %s <br />"
- "<input type=\"radio\" name=\"ib_users\" value=\"yeslist\" %s> %s"
- "</td><td>"
- "<img src=\"static/usermanag_48x.gif\" alt=\" \">"
- "</td><td>"
- "<b>%s</b>"
- "<br />%s"
- "</td></tr>\n",
- (bar ? "even" : "odd"),
- (val ? "CHECKED" : ""),_("Yes"),
- (!val ? "CHECKED" : ""),_("No"),
- ((val > 1) ? "CHECKED" : ""),_("Yes with users list"),
- _("Who is online?"),
- _("Clicking this icon displays a list of all users "
- "currently logged in.")
- );
-
- bar = 1 - bar;
- val = IconbarIsEnabled("ib_chat", 1);
- wprintf("<tr class=\"%s\"><td>"
- "<input type=\"radio\" name=\"ib_chat\" value=\"yes\" %s> %s "
- "<input type=\"radio\" name=\"ib_chat\" value=\"no\" %s> %s <br />"
- "</td><td>"
- "<img src=\"static/citadelchat_48x.gif\" alt=\" \">"
- "</td><td>"
- "<b>%s</b><br />"
- "%s"
- "</td></tr>\n",
- (bar ? "even" : "odd"),
- (val ? "CHECKED" : ""),_("Yes"),
- (!val ? "CHECKED" : ""),_("No"),
- _("Chat"),
- _("Clicking this icon enters real-time chat mode "
- "with other users in the same room.")
-
- );
-
- bar = 1 - bar;
- val = IconbarIsEnabled("ib_advanced", 1);
- wprintf("<tr class=\"%s\"><td>"
- "<input type=\"radio\" name=\"ib_advanced\" value=\"yes\" %s> %s "
- "<input type=\"radio\" name=\"ib_advanced\" value=\"no\" %s> %s <br />"
- "</td><td>"
- "<img src=\"static/advanpage2_48x.gif\" alt=\" \">"
- "</td><td>"
- "<b>%s</b><br />"
- "%s"
- "</td></tr>\n",
- (bar ? "even" : "odd"),
- (val ? "CHECKED" : ""),_("Yes"),
- (!val ? "CHECKED" : ""),_("No"),
- _("Advanced options"),
- _("Access to the complete menu of Citadel functions.")
-
- );
-
- bar = 1 - bar;
- val = IconbarIsEnabled("ib_citadel", 1);
- wprintf("<tr class=\"%s\"><td>"
- "<input type=\"radio\" name=\"ib_citadel\" value=\"yes\" %s> %s "
- "<input type=\"radio\" name=\"ib_citadel\" value=\"no\" %s> %s <br />"
- "</td><td>"
- "<img border=\"0\" width=\"48\" height=\"48\" "
- "src=\"static/citadel-logo.gif\" alt=\" \">"
- "</td><td>"
- "<b>%s</b><br />"
- "%s"
- "</td></tr>\n",
- (bar ? "even" : "odd"),
- (val ? "CHECKED" : ""),_("Yes"),
- (!val ? "CHECKED" : ""),_("No"),
- _("Citadel logo"),
- _("Displays the 'Powered by Citadel' icon")
- );
-
- wprintf("</table><br />\n"
- "<center>"
- "<input type=\"submit\" name=\"ok_button\" value=\"%s\">"
- " "
- "<input type=\"submit\" name=\"cancel_button\" value=\"%s\">"
- "</center>\n",
- _("Save changes"),
- _("Cancel")
- );
-
- wprintf("</form></div>\n");
- wDumpContent(2);
-}
/*
* save changes to iconbar settings
*/
void commit_iconbar(void) {
+ const StrBuf *MimeType;
StrBuf *iconbar;
StrBuf *buf;
int i;
FreeStrBuf(&buf);
set_preference("iconbar", iconbar, 1);
- output_headers(1, 1, 2, 0, 0, 0);
- /* TODO: TEMPLATE */
- wprintf("<div id=\"banner\">\n");
- wprintf("<h1>");
- wprintf(_("Customize the icon bar"));
- wprintf("</h1></div>\n");
- wprintf("<div id=\"content\" class=\"service\">\n");
- wprintf(
- "<center><table border=1 bgcolor=\"#ffffff\"><tr><td>"
- "<img src=\"static/advanpage2_48x.gif\">"
- " ");
- wprintf(_("Your icon bar has been updated. Please select any of its "
- "choices to continue.<br/><span style=\"font-weight: bold;\">You may need to force refresh (SHIFT-F5) in order for changes to take effect</span>"));
- wprintf("</td></tr></table>\n");
- wDumpContent(2);
+ begin_burst();
+ MimeType = DoTemplate(HKEY("iconbar_save"), NULL, &NoCtx);
+ http_transmit_thing(ChrPtr(MimeType), 0);
#ifdef DBG_ICONBAR_HASH
dbg_PrintHash(WC->IconBarSetttings, PrintInt, NULL);
#endif
WebcitAddUrlHandler(HKEY("user_iconbar"), doUserIconStylesheet, 0);
WebcitAddUrlHandler(HKEY("commit_iconbar"), commit_iconbar, 0);
RegisterConditional(HKEY("COND:ICONBAR:ACTIVE"), 3, ConditionalIsActiveStylesheet, CTX_NONE);
- WebcitAddUrlHandler(HKEY("display_customize_iconbar"), display_customize_iconbar, 0);
RegisterNamespace("ICONBAR", 0, 0, tmplput_iconbar, 0);
RegisterPreference("iconbar", _("Iconbar Setting"), PRF_STRING, LoadIconSettings);
--- /dev/null
+<?=("head")>
+<?=("important_msg")>
+<div id="banner">
+<h1>
+<?_("Customize the icon bar")>
+</h1></div>
+<div id="content" class="service">
+<div class="fix_scrollbar_bug">
+<form method="post" action="commit_iconbar">
+<input type="hidden" name="nonce" value="<?NONCE>">
+<table class="altern" >
+<tr><td></td><td colspan="2"><b><?_("Display icons as:")></b>
+
+<input type="radio" name="ib_displayas" value="0", "<?%("COND:ICONBAR:ACTIVE", 1 , "ib_displayas", 0, "CHECKED", "")>"><?_("pictures and text")></input>
+<input type="radio" name="ib_displayas" value="1", "<?%("COND:ICONBAR:ACTIVE", 1 , "ib_displayas", 1, "CHECKED", "")>"><?_("pictures only")></input>
+<input type="radio" name="ib_displayas" value="2", "<?%("COND:ICONBAR:ACTIVE", 1 , "ib_displayas", 2, "CHECKED", "")>"><?_("text only")></input>
+<br />
+<?_("Select the icons you would like to see displayed in the 'icon bar' menu on the left side of the screen.")>
+</td></tr>
+
+<tr class="even"><td>
+<input type="radio" name="ib_logo" value="yes" <?%("COND:ICONBAR:ACTIVE", 1 , "ib_logo", 1, "CHECKED", "")>> <?_("Yes")>
+<input type="radio" name="ib_logo" value="no" <?%("COND:ICONBAR:ACTIVE", 1 , "ib_logo", 0, "CHECKED", "")>> <?_("No")> <br />
+</td><td><img src="image&name=hello" width="48" alt=" ">
+</td><td><b><?_("Site logo")></b><br /><?_("An icon describing this site")></td></tr>
+
+<tr class="odd"><td>
+<input type="radio" name="ib_summary" value="yes" <?%("COND:ICONBAR:ACTIVE", 1 , "ib_summary", 1, "CHECKED", "")>> <?_("Yes")>
+<input type="radio" name="ib_summary" value="no" <?%("COND:ICONBAR:ACTIVE", 1 , "ib_summary", 0, "CHECKED", "")>> <?_("No")> <br />
+</td><td><img src="static/summscreen_48x.gif" alt=" ">
+</td><td><b><?_("Summary")></b><br /><?_("Your summary page")></td></tr>
+
+<tr class="even"><td>
+<input type="radio" name="ib_inbox" value="yes" <?%("COND:ICONBAR:ACTIVE", 1 , "ib_inbox", 1, "CHECKED", "")>> <?_("Yes")>
+<input type="radio" name="ib_inbox" value="no" <?%("COND:ICONBAR:ACTIVE", 1 , "ib_inbox", 0, "CHECKED", "")>> <?_("No")> <br />
+</td><td><img src="static/privatemess_48x.gif" alt=" ">
+</td><td><b><?_("Mail (inbox)")></b><br /><?_("A shortcut to your email Inbox")></td></tr>
+
+<tr class="odd"><td>
+<input type="radio" name="ib_contacts" value="yes" <?%("COND:ICONBAR:ACTIVE", 1 , "ib_contacts", 1, "CHECKED", "")>> <?_("Yes")>
+<input type="radio" name="ib_contacts" value="no" <?%("COND:ICONBAR:ACTIVE", 1 , "ib_contacts", 0, "CHECKED", "")>> <?_("No")> <br />
+</td><td><img src="static/viewcontacts_48x.gif" alt=" ">
+</td><td><b><?_("Contacts")></b><br /><?_("Your personal address book")></td></tr>
+
+<tr class="even"><td>
+<input type="radio" name="ib_notes" value="yes" <?%("COND:ICONBAR:ACTIVE", 1 , "ib_notes", 1, "CHECKED", "")>> <?_("Yes")>
+<input type="radio" name="ib_notes" value="no" <?%("COND:ICONBAR:ACTIVE", 1 , "ib_notes", 0, "CHECKED", "")>> <?_("No")> <br />
+</td><td><img src="static/storenotes_48x.gif" alt=" ">
+</td><td><b><?_("Notes")></b><br /><?_("Your personal notes")></td></tr>
+
+<tr class="odd"><td>
+<input type="radio" name="ib_calendar" value="yes" <?%("COND:ICONBAR:ACTIVE", 1 , "ib_calendar", 1, "CHECKED", "")>> <?_("Yes")>
+<input type="radio" name="ib_calendar" value="no" <?%("COND:ICONBAR:ACTIVE", 1 , "ib_calendar", 0, "CHECKED", "")>> <?_("No")> <br />
+</td><td><img src="static/calarea_48x.gif" alt=" ">
+</td><td><b><?_("Calendar")></b><br /><?_("A shortcut to your personal calendar")></td></tr>
+
+<tr class="even"><td>
+<input type="radio" name="ib_tasks" value="yes" <?%("COND:ICONBAR:ACTIVE", 1 , "ib_tasks", 1, "CHECKED", "")>> <?_("Yes")>
+<input type="radio" name="ib_tasks" value="no" <?%("COND:ICONBAR:ACTIVE", 1 , "ib_tasks", 0, "CHECKED", "")>> <?_("No")> <br />
+</td><td><img src="static/taskmanag_48x.gif" alt=" ">
+</td><td><b><?_("Tasks")></b><br /><?_("A shortcut to your personal task list")></td></tr>
+
+<tr class="odd"><td>
+<input type="radio" name="ib_rooms" value="yes" <?%("COND:ICONBAR:ACTIVE", 1 , "ib_rooms", 1, "CHECKED", "")>> <?_("Yes")>
+<input type="radio" name="ib_rooms" value="no" <?%("COND:ICONBAR:ACTIVE", 1 , "ib_rooms", 0, "CHECKED", "")>> <?_("No")> <br />
+</td><td><img src="static/chatrooms_48x.gif" alt=" ">
+</td><td><b><?_("Rooms")></b><br /><?_("Clicking this icon displays a list of all accessible rooms (or folders) available.")></td></tr>
+
+<tr class="even"><td>
+<input type="radio" name="ib_users" value="yes" <?%("COND:ICONBAR:ACTIVE", 1 , "ib_users", 1, "CHECKED", "")>> <?_("Yes")>
+<input type="radio" name="ib_users" value="no" <?%("COND:ICONBAR:ACTIVE", 1 , "ib_users", 0, "CHECKED", "")>> <?_("No")> <br />
+<input type="radio" name="ib_users" value="yeslist" <?%("COND:ICONBAR:ACTIVE", 1 , "ib_users", 2, "CHECKED", "")>> <?_("Yes with users list")></td><td>
+<img src="static/usermanag_48x.gif" alt=" ">
+</td><td><b><?_("Who is online?")></b><br /><?_("Clicking this icon displays a list of all users currently logged in.")></td></tr>
+
+<tr class="odd"><td>
+<input type="radio" name="ib_chat" value="yes" <?%("COND:ICONBAR:ACTIVE", 1 , "ib_chat", 1, "CHECKED", "")>> <?_("Yes")>
+<input type="radio" name="ib_chat" value="no" <?%("COND:ICONBAR:ACTIVE", 1 , "ib_chat", 0, "CHECKED", "")>> <?_("No")> <br />
+</td><td><img src="static/citadelchat_48x.gif" alt=" ">
+</td><td><b><?_("Chat")></b><br /><?_("Clicking this icon enters real-time chat mode with other users in the same room.")></td></tr>
+
+<tr class="even"><td>
+<input type="radio" name="ib_advanced" value="yes" <?%("COND:ICONBAR:ACTIVE", 1 , "ib_advanced", 1, "CHECKED", "")>> <?_("Yes")>
+<input type="radio" name="ib_advanced" value="no" <?%("COND:ICONBAR:ACTIVE", 1 , "ib_advanced", 0, "CHECKED", "")>> <?_("No")> <br />
+</td><td><img src="static/advanpage2_48x.gif" alt=" ">
+</td><td><b><?_("Advanced options")></b><br /><?_("Access to the complete menu of Citadel functions.")></td></tr>
+
+<tr class="odd"><td>
+<input type="radio" name="ib_citadel" value="yes" <?%("COND:ICONBAR:ACTIVE", 1 , "ib_citadel", 1, "CHECKED", "")>> <?_("Yes")>
+<input type="radio" name="ib_citadel" value="no" <?%("COND:ICONBAR:ACTIVE", 1 , "ib_citadel", 0, "CHECKED", "")>> <?_("No")> <br />
+</td><td><img border="0" width="48" height="48" src="static/citadel-logo.gif" alt=" ">
+</td><td><b><?_("Citadel logo")></b><br /><?_("Displays the 'Powered by Citadel' icon")></td></tr>
+
+</table><br />
+
+<center><input type="submit" name="ok_button" value="<?_("Save changes")>"> <input type="submit" name="cancel_button" value="<?_("Cancel")>"></center>
+
+</form></div>
+<?=("trailing")>