]> code.citadel.org Git - citadel.git/blobdiff - webcit/iconbar.c
* switch menubar to template
[citadel.git] / webcit / iconbar.c
index 9448e66b93c64435ca053e0c672f3448a2b3b11e..3469bc08beb50477ac4072796ad9a10a6d2805e7 100644 (file)
@@ -13,6 +13,9 @@
 #define IB_TEXTONLY    2 /**< just text */
 
 
+void do_iconbar(void);
+void do_iconbar_roomlist(void);
+
 /**
  * \brief draw the icon bar?????
  */
@@ -39,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)
 {
@@ -76,8 +81,10 @@ void LoadIconSettings(void)
                            (void*)val, DontDeleteThis);
                }
        }
-       printf("-----------icon-------------------\n");
+
+#ifdef DBG_ICONBAR_HASH
        dbg_PrintHash(WCC->IconBarSetttings, PrintInt, NULL);
+#endif
 
        FreeStrBuf(&key);
        FreeStrBuf(&buf);
@@ -88,10 +95,10 @@ void LoadIconSettings(void)
  * \brief draw the icon bar???
  */
 void do_iconbar(void) {
-       int ib_displayas = 0;   /**< pictures and text, pictures, text */
+       int ib_displayas = IB_PICTEXT;  /**< pictures and text, pictures, text */
 
        LoadIconSettings();
-       ib_displayas = IconbarIsEnabled("ib_displayas", 0);
+       ib_displayas = IconbarIsEnabled("ib_displayas", IB_PICTEXT);
 
 /** Site logo */
        if (IconbarIsEnabled("ib_logo", 0)) {
@@ -255,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")
                );
@@ -297,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")
@@ -360,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"
                        );
        }
@@ -386,7 +393,7 @@ void do_iconbar_roomlist(void) {
 
        LoadIconSettings();
 
-       ib_displayas = IconbarIsEnabled("ib_displayas", 0);     /* pictures and text, pictures, text */
+       ib_displayas = IconbarIsEnabled("ib_displayas", IB_PICTEXT);    /* pictures and text, pictures, text */
 
 /** Site logo */
        if (IconbarIsEnabled("ib_logo", 0)) {
@@ -790,10 +797,36 @@ void commit_iconbar(void) {
                "choices to continue."));
        wprintf("</td></tr></table>\n");
        wDumpContent(2);
-       printf("-----------icon-------------------\n");
+#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)
+{
+       WebcitAddUrlHandler(HKEY("iconbar_ajax_menu"), do_iconbar, AJAX);
+       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);
+
+}
+
 
 /*@}*/