/*
* $Id$
- *
- * Displays and customizes the iconbar.
*/
-
+/**
+ * \defgroup IconBar Displays and customizes the iconbar.
+ * \ingroup MenuInfrastructure
+ */
+/*@{*/
#include "webcit.h"
-/* Values for ib_displayas */
-#define IB_PICTEXT 0
-#define IB_PICONLY 1
-#define IB_TEXTONLY 2
+/** Values for ib_displayas */
+#define IB_PICTEXT 0 /**< picture and text */
+#define IB_PICONLY 1 /**< just a picture */
+#define IB_TEXTONLY 2 /**< just text */
+
+
+/**
+ * \brief draw the icon bar?????
+ */
+void do_selected_iconbar(void) {
+ if (WC->current_iconbar == current_iconbar_roomlist) {
+ do_iconbar_roomlist();
+ }
+ else {
+ do_iconbar();
+ }
+}
+/**
+ * \brief draw the icon bar???
+ */
void do_iconbar(void) {
char iconbar[SIZ];
char buf[SIZ];
char key[SIZ], value[SIZ];
int i;
- /* The initialized values of these variables also happen to
+ WC->current_iconbar = current_iconbar_menu;
+
+ /**
+ * The initialized values of these variables also happen to
* specify the default values for users who haven't customized
* their iconbars. These should probably be set in a master
* configuration somewhere.
*/
- int ib_displayas = 0; /* pictures and text, pictures, text */
- int ib_logo = 0; /* Site logo */
- int ib_summary = 1; /* Summary page icon */
- int ib_inbox = 1; /* Inbox icon */
- int ib_calendar = 1; /* Calendar icon */
- int ib_contacts = 1; /* Contacts icon */
- int ib_notes = 1; /* Notes icon */
- int ib_tasks = 1; /* Tasks icon */
- int ib_rooms = 1; /* Rooms icon */
- int ib_users = 1; /* Users icon */
- int ib_chat = 1; /* Chat icon */
- int ib_advanced = 1; /* Advanced Options icon */
- int ib_citadel = 1; /* 'Powered by Citadel' logo */
+ int ib_displayas = 0; /**< pictures and text, pictures, text */
+ int ib_logo = 0; /**< Site logo */
+ int ib_summary = 1; /**< Summary page icon */
+ int ib_inbox = 1; /**< Inbox icon */
+ int ib_calendar = 1; /**< Calendar icon */
+ int ib_contacts = 1; /**< Contacts icon */
+ int ib_notes = 1; /**< Notes icon */
+ int ib_tasks = 1; /**< Tasks icon */
+ int ib_rooms = 1; /**< Rooms icon */
+ int ib_users = 1; /**< Users icon */
+ int ib_chat = 1; /**< Chat icon */
+ int ib_advanced = 1; /**< Advanced Options icon */
+ int ib_citadel = 1; /**< 'Powered by Citadel' logo */
/*
*/
wprintf("<li>");
if (ib_displayas != IB_TEXTONLY) {
wprintf("<IMG BORDER=\"0\" WIDTH=\"32\" "
- "HEIGHT=\"32\" SRC=\"/image&name=hello\" ALT=\" \">\n"
+ "HEIGHT=\"32\" src=\"image&name=hello\" ALT=\" \">\n"
);
}
wprintf("</li>\n");
if (ib_citadel) if (ib_displayas != IB_TEXTONLY) wprintf(
"<li><div align=\"center\">"
- "<A HREF=\"http://www.citadel.org\" "
+ "<a href=\"http://www.citadel.org\" "
"title=\"%s\" target=\"aboutcit\">"
"<img border=\"0\" "
- "SRC=\"/static/citadel-logo.gif\" ALT=\"%s\"></a>"
+ "src=\"static/citadel-logo.gif\" ALT=\"%s\"></a>"
"</div></li>\n",
_("Find out more about Citadel"),
_("CITADEL")
);
+ wprintf("<li><div align=\"center\"><a href=\"javascript:switch_to_room_list()\">");
+ wprintf(_("switch to room list"));
+ wprintf("</a></div>");
if (ib_summary) {
- wprintf("<li><A HREF=\"/summary\" "
+ wprintf("<li><a href=\"summary\" "
"TITLE=\"%s\" "
">", _("Your summary page")
);
if (ib_displayas != IB_TEXTONLY) {
wprintf("<IMG BORDER=\"0\" WIDTH=\"32\" HEIGHT=\"32\" "
- "SRC=\"/static/summscreen_32x.gif\">");
+ "src=\"static/summscreen_32x.gif\">");
}
if (ib_displayas != IB_PICONLY) {
wprintf(_("Summary"));
if (ib_inbox) {
wprintf("<li>"
- "<A HREF=\"/dotgoto?room=_MAIL_\" "
+ "<a href=\"dotgoto?room=_MAIL_\" "
"TITLE=\"%s\" "
">",
_("Go to your email inbox")
);
if (ib_displayas != IB_TEXTONLY) {
wprintf("<IMG BORDER=\"0\" WIDTH=\"32\" HEIGHT=\"32\" "
- "SRC=\"/static/privatemess_32x.gif\">");
+ "src=\"static/privatemess_32x.gif\">");
}
if (ib_displayas != IB_PICONLY) {
wprintf(_("Mail"));
if (WC->new_mail != WC->remember_new_mail) {
- wprintf(" <b>(%d)</b>", WC->new_mail);
+/*
+ if (WC->new_mail > 0) {
+ wprintf(" <b>(%d)</b>", WC->new_mail);
+ }
+*/
WC->remember_new_mail = WC->new_mail;
}
}
if (ib_calendar) {
wprintf("<li>"
- "<A HREF=\"/dotgoto?room=_CALENDAR_\" "
+ "<a href=\"dotgoto?room=_CALENDAR_\" "
"TITLE=\"%s\" "
">",
_("Go to your personal calendar")
);
if (ib_displayas != IB_TEXTONLY) {
wprintf("<IMG BORDER=\"0\" WIDTH=\"32\" HEIGHT=\"32\" "
- "SRC=\"/static/calarea_32x.gif\">");
+ "src=\"static/calarea_32x.gif\">");
}
if (ib_displayas != IB_PICONLY) {
wprintf(_("Calendar"));
if (ib_contacts) {
wprintf("<li>"
- "<A HREF=\"/dotgoto?room=_CONTACTS_\" "
+ "<a href=\"dotgoto?room=_CONTACTS_\" "
"TITLE=\"%s\" "
">",
_("Go to your personal address book")
);
if (ib_displayas != IB_TEXTONLY) {
wprintf("<IMG BORDER=\"0\" WIDTH=\"32\" HEIGHT=\"32\" "
- "SRC=\"/static/viewcontacts_32x.gif\">");
+ "src=\"static/viewcontacts_32x.gif\">");
}
if (ib_displayas != IB_PICONLY) {
wprintf(_("Contacts"));
if (ib_notes) {
wprintf("<li>"
- "<A HREF=\"/dotgoto?room=_NOTES_\" "
+ "<a href=\"dotgoto?room=_NOTES_\" "
"TITLE=\"%s\" "
">",
_("Go to your personal notes")
);
if (ib_displayas != IB_TEXTONLY) {
wprintf("<IMG BORDER=\"0\" WIDTH=\"32\" HEIGHT=\"32\" "
- "SRC=\"/static/storenotes_32x.gif\">");
+ "src=\"static/storenotes_32x.gif\">");
}
if (ib_displayas != IB_PICONLY) {
wprintf(_("Notes"));
if (ib_tasks) {
wprintf("<li>"
- "<A HREF=\"/dotgoto?room=_TASKS_\" "
+ "<a href=\"dotgoto?room=_TASKS_\" "
"TITLE=\"%s\" "
">",
_("Go to your personal task list")
);
if (ib_displayas != IB_TEXTONLY) {
wprintf("<IMG BORDER=\"0\" WIDTH=\"32\" HEIGHT=\"32\" "
- "SRC=\"/static/taskmanag_32x.gif\">");
+ "src=\"static/taskmanag_32x.gif\">");
}
if (ib_displayas != IB_PICONLY) {
wprintf(_("Tasks"));
if (ib_rooms) {
wprintf("<li>"
- "<A HREF=\"/knrooms\" TITLE=\"%s\" >",
+ "<a href=\"knrooms\" TITLE=\"%s\" >",
_("List all of your accessible rooms")
);
if (ib_displayas != IB_TEXTONLY) {
wprintf("<IMG BORDER=\"0\" WIDTH=\"32\" HEIGHT=\"32\" "
- "SRC=\"/static/chatrooms_32x.gif\">");
+ "src=\"static/chatrooms_32x.gif\">");
}
if (ib_displayas != IB_PICONLY) {
wprintf(_("Rooms"));
if (ib_users) {
wprintf("<li>"
- "<A HREF=\"/who\" TITLE=\"%s\" "
+ "<a href=\"who\" TITLE=\"%s\" "
">",
_("See who is online right now")
);
if (ib_displayas != IB_TEXTONLY) {
wprintf("<IMG BORDER=\"0\" WIDTH=\"32\" HEIGHT=\"32\" "
- "SRC=\"/static/usermanag_32x.gif\">");
+ "src=\"static/usermanag_32x.gif\">");
}
if (ib_displayas != IB_PICONLY) {
wprintf(_("Who is online?"));
if (ib_chat) {
wprintf("<li>"
- "<A HREF=\"#\" onClick=\"window.open('/chat', "
+ "<a href=\"#\" onClick=\"window.open('chat', "
"'ctdl_chat_window', "
"'toolbar=no,location=no,directories=no,copyhistory=no,"
"status=no,scrollbars=yes,resizable=yes');\""
);
if (ib_displayas != IB_TEXTONLY) {
wprintf("<IMG BORDER=\"0\" WIDTH=\"32\" HEIGHT=\"32\" "
- "SRC=\"/static/citadelchat_32x.gif\">");
+ "src=\"static/citadelchat_32x.gif\">");
}
if (ib_displayas != IB_PICONLY) {
wprintf(_("Chat"));
if (ib_advanced) {
wprintf("<li>"
- "<A HREF=\"/display_main_menu\" "
+ "<a href=\"display_main_menu\" "
"TITLE=\"%s\" "
">",
_("Advanced Options Menu: Advanced Room commands, Account Info, and Chat")
);
if (ib_displayas != IB_TEXTONLY) {
wprintf("<IMG BORDER=\"0\" WIDTH=\"32\" HEIGHT=\"32\" "
- "SRC=\"/static/advanpage2_32x.gif\">");
+ "src=\"static/advanpage2_32x.gif\">");
}
if (ib_displayas != IB_PICONLY) {
wprintf(_("Advanced"));
if ((WC->axlevel >= 6) || (WC->is_room_aide)) {
wprintf("<li>"
- "<A HREF=\"/display_aide_menu\" "
+ "<a href=\"display_aide_menu\" "
"TITLE=\"%s\" "
">",
_("Room and system administration functions")
);
if (ib_displayas != IB_TEXTONLY) {
wprintf("<IMG BORDER=\"0\" WIDTH=\"32\" HEIGHT=\"32\" "
- "SRC=\"/static/advanpage2_32x.gif\">");
+ "src=\"static/advanpage2_32x.gif\">");
}
if (ib_displayas != IB_PICONLY) {
wprintf(_("Administration"));
wprintf("</A></li>\n");
}
- if (1) {
- wprintf("<li>"
- "<A HREF=\"/termquit\" TITLE=\"%s\" "
- "onClick=\"return confirm('%s');\">",
- _("Log off"),
- _("Log off now?")
-
- );
- if (ib_displayas != IB_TEXTONLY) {
- wprintf("<IMG BORDER=\"0\" WIDTH=\"32\" HEIGHT=\"32\" "
- "SRC=\"/static/logoff_32x.gif\">");
- }
- if (ib_displayas != IB_PICONLY) {
- wprintf(_("Log off"));
- }
- wprintf("</A></li>\n");
+ wprintf("<li>"
+ "<a href=\"termquit\" TITLE=\"%s\" "
+ "onClick=\"return confirm('%s');\">",
+ _("Log off"),
+ _("Log off now?")
+
+ );
+ if (ib_displayas != IB_TEXTONLY) {
+ wprintf("<IMG BORDER=\"0\" WIDTH=\"32\" HEIGHT=\"32\" "
+ "src=\"static/logoff_32x.gif\">");
}
+ if (ib_displayas != IB_PICONLY) {
+ wprintf(_("Log off"));
+ }
+ wprintf("</A></li>\n");
wprintf(
"<li><div align=\"center\">"
- "<A HREF=\"/display_customize_iconbar\" "
+ "<a href=\"display_customize_iconbar\" "
"TITLE=\"%s\" "
">%s"
"</A></div></li>\n",
_("customize this menu")
);
- wprintf("</ul>\n"
- "</div>\n");
+ wprintf("</ul></div>\n");
}
+/**
+ * \brief roomtree view of the iconbar
+ * If the user has toggled the icon bar over to a room list, here's where
+ * we generate its innerHTML...
+ */
+void do_iconbar_roomlist(void) {
+ char iconbar[SIZ];
+ char buf[SIZ];
+ char key[SIZ], value[SIZ];
+ int i;
+
+ WC->current_iconbar = current_iconbar_roomlist;
+
+ /**
+ * The initialized values of these variables also happen to
+ * specify the default values for users who haven't customized
+ * their iconbars. These should probably be set in a master
+ * configuration somewhere.
+ */
+ int ib_displayas = 0; /* pictures and text, pictures, text */
+ int ib_logo = 0; /* Site logo */
+ int ib_citadel = 1; /* 'Powered by Citadel' logo */
+ /*
+ */
+
+ get_preference("iconbar", iconbar, sizeof iconbar);
+ for (i=0; i<num_tokens(iconbar, ','); ++i) {
+ extract_token(buf, iconbar, i, ',', sizeof buf);
+ extract_token(key, buf, 0, '=', sizeof key);
+ extract_token(value, buf, 1, '=', sizeof value);
+
+ if (!strcasecmp(key, "ib_displayas")) ib_displayas = atoi(value);
+ if (!strcasecmp(key, "ib_logo")) ib_logo = atoi(value);
+ if (!strcasecmp(key, "ib_citadel")) ib_citadel = atoi(value);
+ }
+
+ wprintf("<div id=\"button\">\n"
+ "<ul>\n"
+ );
+
+ if (ib_logo) {
+ wprintf("<li>");
+ if (ib_displayas != IB_TEXTONLY) {
+ wprintf("<IMG BORDER=\"0\" WIDTH=\"32\" "
+ "HEIGHT=\"32\" src=\"image&name=hello\" ALT=\" \">\n"
+ );
+ }
+ wprintf("</li>\n");
+ }
+
+ if (ib_citadel) if (ib_displayas != IB_TEXTONLY) wprintf(
+ "<li><div align=\"center\">"
+ "<a href=\"http://www.citadel.org\" "
+ "title=\"%s\" target=\"aboutcit\">"
+ "<img border=\"0\" "
+ "src=\"static/citadel-logo.gif\" ALT=\"%s\"></a>"
+ "</div></li>\n",
+ _("Find out more about Citadel"),
+ _("CITADEL")
+ );
+
+ wprintf("<li><div align=\"center\"><a href=\"javascript:switch_to_menu_buttons()\">");
+ wprintf(_("switch to menu"));
+ wprintf("</a></div>");
+
+ wprintf("<li>"
+ "<a href=\"termquit\" TITLE=\"%s\" "
+ "onClick=\"return confirm('%s');\">",
+ _("Log off"),
+ _("Log off now?")
+
+ );
+ if (ib_displayas != IB_TEXTONLY) {
+ wprintf("<IMG BORDER=\"0\" WIDTH=\"32\" HEIGHT=\"32\" "
+ "src=\"static/logoff_32x.gif\">");
+ }
+ if (ib_displayas != IB_PICONLY) {
+ wprintf(_("Log off"));
+ }
+ wprintf("</A></li>\n");
+
+ wprintf("</ul></div>\n");
+
+ /** embed the room list */
+ list_all_rooms_by_floor("iconbar");
+ wprintf("</div>\n");
+}
+
+
+/**
+ * \brief display a customized version of the iconbar
+ */
void display_customize_iconbar(void) {
char iconbar[SIZ];
char buf[SIZ];
int i;
int bar = 0;
- /* The initialized values of these variables also happen to
+ /**
+ * The initialized values of these variables also happen to
* specify the default values for users who haven't customized
* their iconbars. These should probably be set in a master
* configuration somewhere.
*/
- int ib_displayas = IB_PICTEXT; /* pictures and text, pictures, text */
- int ib_logo = 0; /* Site logo */
- int ib_summary = 1; /* Summary page icon */
- int ib_inbox = 1; /* Inbox icon */
- int ib_calendar = 1; /* Calendar icon */
- int ib_contacts = 1; /* Contacts icon */
- int ib_notes = 1; /* Notes icon */
- int ib_tasks = 1; /* Tasks icon */
- int ib_rooms = 1; /* Rooms icon */
- int ib_users = 1; /* Users icon */
- int ib_chat = 1; /* Chat icon */
- int ib_advanced = 1; /* Advanced Options icon */
- int ib_citadel = 1; /* 'Powered by Citadel' logo */
+ int ib_displayas = IB_PICTEXT; /**< pictures and text, pictures, text */
+ int ib_logo = 0; /**< Site logo */
+ int ib_summary = 1; /**< Summary page icon */
+ int ib_inbox = 1; /**< Inbox icon */
+ int ib_calendar = 1; /**< Calendar icon */
+ int ib_contacts = 1; /**< Contacts icon */
+ int ib_notes = 1; /**< Notes icon */
+ int ib_tasks = 1; /**< Tasks icon */
+ int ib_rooms = 1; /**< Rooms icon */
+ int ib_users = 1; /**< Users icon */
+ int ib_chat = 1; /**< Chat icon */
+ int ib_advanced = 1; /**< Advanced Options icon */
+ int ib_citadel = 1; /**< 'Powered by Citadel' logo */
/*
*/
"</div>\n<div id=\"content\">\n"
);
- wprintf("<div id=\"fix_scrollbar_bug\">"
+ wprintf("<div class=\"fix_scrollbar_bug\">"
"<table border=0 width=100%% bgcolor=\"#ffffff\"><tr><td>");
- wprintf("<FORM METHOD=\"POST\" ACTION=\"/commit_iconbar\">\n");
+ wprintf("<FORM METHOD=\"POST\" action=\"commit_iconbar\">\n");
wprintf("<CENTER>");
wprintf(_("Display icons as:"));
"<INPUT TYPE=\"checkbox\" NAME=\"ib_logo\" VALUE=\"yes\" %s>"
"</TD><TD>"
"<IMG BORDER=\"0\" WIDTH=\"48\" HEIGHT=\"48\" "
- "SRC=\"/image&name=hello\" ALT=\" \">"
+ "src=\"image&name=hello\" ALT=\" \">"
"</TD><TD>"
"<B>%s</B><br />"
"%s"
"<INPUT TYPE=\"checkbox\" NAME=\"ib_summary\" VALUE=\"yes\" %s>"
"</TD><TD>"
"<IMG BORDER=\"0\" WIDTH=\"48\" HEIGHT=\"48\" "
- "SRC=\"/static/summscreen_48x.gif\" ALT=\" \">"
+ "src=\"static/summscreen_48x.gif\" ALT=\" \">"
"</TD><TD>"
"<B>%s</B><br />"
"%s"
"<INPUT TYPE=\"checkbox\" NAME=\"ib_inbox\" VALUE=\"yes\" %s>"
"</TD><TD>"
"<IMG BORDER=\"0\" WIDTH=\"48\" HEIGHT=\"48\" "
- "SRC=\"/static/privatemess_48x.gif\" ALT=\" \">"
+ "src=\"static/privatemess_48x.gif\" ALT=\" \">"
"</TD><TD>"
"<B>%s</B><br />"
"%s"
"VALUE=\"yes\" %s>"
"</TD><TD>"
"<IMG BORDER=\"0\" WIDTH=\"48\" HEIGHT=\"48\" "
- "SRC=\"/static/viewcontacts_48x.gif\" ALT=\" \">"
+ "src=\"static/viewcontacts_48x.gif\" ALT=\" \">"
"</TD><TD>"
"<B>%s</B><br />"
"%s"
"VALUE=\"yes\" %s>"
"</TD><TD>"
"<IMG BORDER=\"0\" WIDTH=\"48\" HEIGHT=\"48\" "
- "SRC=\"/static/storenotes_48x.gif\" ALT=\" \">"
+ "src=\"static/storenotes_48x.gif\" ALT=\" \">"
"</TD><TD>"
"<B>%s</B><br />"
"%s"
"VALUE=\"yes\" %s>"
"</TD><TD>"
"<IMG BORDER=\"0\" WIDTH=\"48\" HEIGHT=\"48\" "
- "SRC=\"/static/calarea_48x.gif\" ALT=\" \">"
+ "src=\"static/calarea_48x.gif\" ALT=\" \">"
"</TD><TD>"
"<B>%s</B><br />"
"%s"
"<INPUT TYPE=\"checkbox\" NAME=\"ib_tasks\" VALUE=\"yes\" %s>"
"</TD><TD>"
"<IMG BORDER=\"0\" WIDTH=\"48\" HEIGHT=\"48\" "
- "SRC=\"/static/taskmanag_48x.gif\" ALT=\" \">"
+ "src=\"static/taskmanag_48x.gif\" ALT=\" \">"
"</TD><TD>"
"<B>%s</B><br />"
"%s"
"<INPUT TYPE=\"checkbox\" NAME=\"ib_rooms\" VALUE=\"yes\" %s>"
"</TD><TD>"
"<IMG BORDER=\"0\" WIDTH=\"48\" HEIGHT=\"48\" "
- "SRC=\"/static/chatrooms_48x.gif\" ALT=\" \">"
+ "src=\"static/chatrooms_48x.gif\" ALT=\" \">"
"</TD><TD>"
"<B>%s</B><br />"
"%s"
((bar = 1 - bar), (bar ? "\"#CCCCCC\"" : "\"#FFFFFF\"")),
(ib_rooms ? "CHECKED" : ""),
_("Rooms"),
- _("Clicking this icon displays a list of all accesible "
+ _("Clicking this icon displays a list of all accessible "
"rooms (or folders) available.")
);
"<INPUT TYPE=\"checkbox\" NAME=\"ib_users\" VALUE=\"yes\" %s>"
"</TD><TD>"
"<IMG BORDER=\"0\" WIDTH=\"48\" HEIGHT=\"48\" "
- "SRC=\"/static/usermanag_48x.gif\" ALT=\" \">"
+ "src=\"static/usermanag_48x.gif\" ALT=\" \">"
"</TD><TD>"
"<B>%s</B><br />"
"%s"
"<INPUT TYPE=\"checkbox\" NAME=\"ib_chat\" VALUE=\"yes\" %s>"
"</TD><TD>"
"<IMG BORDER=\"0\" WIDTH=\"48\" HEIGHT=\"48\" "
- "SRC=\"/static/citadelchat_48x.gif\" ALT=\" \">"
+ "src=\"static/citadelchat_48x.gif\" ALT=\" \">"
"</TD><TD>"
"<B>%s</B><br />"
"%s"
"VALUE=\"yes\" %s>"
"</TD><TD>"
"<IMG BORDER=\"0\" WIDTH=\"48\" HEIGHT=\"48\" "
- "SRC=\"/static/advanpage2_48x.gif\" ALT=\" \">"
+ "src=\"static/advanpage2_48x.gif\" ALT=\" \">"
"</TD><TD>"
"<B>%s</B><br />"
"%s"
"VALUE=\"yes\" %s>"
"</TD><TD>"
"<IMG BORDER=\"0\" WIDTH=\"48\" HEIGHT=\"48\" "
- "SRC=\"/static/citadel-logo.gif\" ALT=\" \">"
+ "src=\"static/citadel-logo.gif\" ALT=\" \">"
"</TD><TD>"
"<B>%s</B><br />"
"%s"
wDumpContent(2);
}
-
+/**
+ * \brief commit the changes of an edited iconbar ????
+ */
void commit_iconbar(void) {
char iconbar[SIZ];
int i;
output_headers(1, 1, 0, 0, 0, 0);
wprintf(
"<center><table border=1 bgcolor=\"#ffffff\"><tr><td>"
- "<IMG SRC=\"/static/advanpage2_48x.gif\">"
+ "<img src=\"static/advanpage2_48x.gif\">"
" ");
wprintf(_("Your icon bar has been updated. Please select any of its "
"choices to continue."));
wprintf("</td></tr></table>\n");
wDumpContent(2);
}
+
+
+
+/*@}*/