]> code.citadel.org Git - citadel.git/blobdiff - webcit/iconbar.c
* switch menubar to template
[citadel.git] / webcit / iconbar.c
index bbc0b9f3115c4ca44051169eed806db258cb28b8..3469bc08beb50477ac4072796ad9a10a6d2805e7 100644 (file)
@@ -42,12 +42,14 @@ long IconbarIsENABLED(const char *key, size_t keylen, long defval)
                return defval;
 }
 
+#ifdef DBG_ICONBAR_HASH
 static char nbuf[32];
 inline const char *PrintInt(void *Prefstr)
 {
        snprintf(nbuf, sizeof(nbuf), "%ld", (long)Prefstr);
        return nbuf;
 }
+#endif
 
 void LoadIconSettings(void)
 {
@@ -79,7 +81,10 @@ void LoadIconSettings(void)
                            (void*)val, DontDeleteThis);
                }
        }
+
+#ifdef DBG_ICONBAR_HASH
        dbg_PrintHash(WCC->IconBarSetttings, PrintInt, NULL);
+#endif
 
        FreeStrBuf(&key);
        FreeStrBuf(&buf);
@@ -257,7 +262,7 @@ void do_iconbar(void) {
 /** Users icon */
        if (IconbarIsEnabled("ib_users", 1)) {
                wprintf("<li>"
-                       "<a href=\"who\" title=\"%s\" "
+                       "<a href=\"do_template?template=who\" title=\"%s\" "
                        ">",
                        _("See who is online right now")
                );
@@ -299,7 +304,7 @@ void do_iconbar(void) {
 /** Advanced Options icon */
        if (IconbarIsEnabled("ib_advanced", 1)) {
                wprintf("<li>"
-                       "<a href=\"display_main_menu\" "
+                       "<a href=\"do_template?template=display_main_menu\" "
                        "title=\"%s\" "
                        ">",
                        _("Advanced Options Menu: Advanced Room commands, Account Info, and Chat")
@@ -362,7 +367,7 @@ void do_iconbar(void) {
        if (IconbarIsEnabled("ib_users", 0)) {
                wprintf(
                        "<script type=\"text/javascript\"> "
-                       " new Ajax.PeriodicalUpdater('wholist', 'wholist_section', { method: 'get', frequency: 30 } );"
+                       " new Ajax.PeriodicalUpdater('wholist', 'do_template?template=wholist_section', { method: 'get', frequency: 30 } );"
                        "</script> \n"
                        );
        }
@@ -792,10 +797,25 @@ void commit_iconbar(void) {
                "choices to continue."));
        wprintf("</td></tr></table>\n");
        wDumpContent(2);
+#ifdef DBG_ICONBAR_HASH
        dbg_PrintHash(WC->IconBarSetttings, PrintInt, NULL);
+#endif
 }
 
 
+void tmplput_iconbar(StrBuf *Target, int nArgs, WCTemplateToken *Tokens, void *Context)
+{
+       struct wcsession *WCC = WC;
+       
+       if ((WCC != NULL) && (WCC->logged_in)) {
+               wprintf("<div id=\"iconbar\">");
+               do_selected_iconbar();
+               /** check for instant messages (these display in a new window) */
+               page_popup();
+               wprintf("</div>");
+       }
+}
+
 void 
 InitModule_ICONBAR
 (void)
@@ -804,6 +824,8 @@ InitModule_ICONBAR
        WebcitAddUrlHandler(HKEY("iconbar_ajax_rooms"), do_iconbar_roomlist, AJAX);
        WebcitAddUrlHandler(HKEY("display_customize_iconbar"), display_customize_iconbar, 0);
        WebcitAddUrlHandler(HKEY("commit_iconbar"), commit_iconbar, 0);
+       RegisterNamespace("ICONBAR", 0, 0, tmplput_iconbar);
+
 }