From b96ac1ed55827953b6195feec49abf5accf8f11d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Wilfried=20G=C3=B6esgens?= Date: Sun, 31 Aug 2008 13:13:33 +0000 Subject: [PATCH] * make who is online view via templates --- webcit/iconbar.c | 17 ++++++++++++++++- webcit/roomops.c | 9 +++++++++ webcit/static/t/important_msg.html | 10 ++++++++++ webcit/static/t/who.html | 27 +++++++++++++++++++++++++++ webcit/static/t/wholiststatic.html | 12 ++++++++++++ webcit/webcit.c | 28 ++++++++++++++++++++++++++++ 6 files changed, 102 insertions(+), 1 deletion(-) create mode 100644 webcit/static/t/important_msg.html create mode 100644 webcit/static/t/who.html diff --git a/webcit/iconbar.c b/webcit/iconbar.c index 67216a054..6276030e2 100644 --- a/webcit/iconbar.c +++ b/webcit/iconbar.c @@ -262,7 +262,7 @@ void do_iconbar(void) { /** Users icon */ if (IconbarIsEnabled("ib_users", 1)) { wprintf("
  • " - "", _("See who is online right now") ); @@ -803,6 +803,19 @@ void commit_iconbar(void) { } +void tmplput_iconbar(StrBuf *Target, int nArgs, WCTemplateToken *Tokens, void *Context) +{ + struct wcsession *WCC = WC; + + if ((WCC != NULL) && (WCC->logged_in)) { + wprintf("
    "); + do_selected_iconbar(); + /** check for instant messages (these display in a new window) */ + page_popup(); + wprintf("
    "); + } +} + void InitModule_ICONBAR (void) @@ -811,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); + } diff --git a/webcit/roomops.c b/webcit/roomops.c index 400f7f64e..ec43959a8 100644 --- a/webcit/roomops.c +++ b/webcit/roomops.c @@ -3660,6 +3660,13 @@ void dotgoto(void) { smart_goto(bstr("room")); } +void tmplput_roombanner(StrBuf *Target, int nArgs, WCTemplateToken *Tokens, void *Context) +{ + wprintf("
    \n"); + embed_room_banner(NULL, navbar_default); + wprintf("
    \n"); +} + void InitModule_ROOMOPS @@ -3689,6 +3696,8 @@ InitModule_ROOMOPS WebcitAddUrlHandler(HKEY("set_room_policy"), set_room_policy, 0); WebcitAddUrlHandler(HKEY("set_floordiv_expanded"), set_floordiv_expanded, NEED_URL|AJAX); WebcitAddUrlHandler(HKEY("changeview"), change_view, 0); + RegisterNamespace("ROOMBANNER", 0, 0, tmplput_roombanner); + } /*@}*/ diff --git a/webcit/static/t/important_msg.html b/webcit/static/t/important_msg.html new file mode 100644 index 000000000..cf11c7ed9 --- /dev/null +++ b/webcit/static/t/important_msg.html @@ -0,0 +1,10 @@ + +
    + + +
    +
    + + diff --git a/webcit/static/t/who.html b/webcit/static/t/who.html new file mode 100644 index 000000000..3dcf42088 --- /dev/null +++ b/webcit/static/t/who.html @@ -0,0 +1,27 @@ + + + + + + + + +
    + +
    + + diff --git a/webcit/static/t/wholiststatic.html b/webcit/static/t/wholiststatic.html index 0fa142a35..a79eb07f2 100644 --- a/webcit/static/t/wholiststatic.html +++ b/webcit/static/t/wholiststatic.html @@ -1,3 +1,4 @@ +
    @@ -8,3 +9,14 @@
    +
    +
    + +(p) + +
    + + diff --git a/webcit/webcit.c b/webcit/webcit.c index ef9921f0a..a0cc93a60 100644 --- a/webcit/webcit.c +++ b/webcit/webcit.c @@ -1818,6 +1818,31 @@ void download_mimepart(void) { 1); } + +int ConditionalImportantMesage(WCTemplateToken *Tokens, void *Context) +{ + struct wcsession *WCC = WC; + if (WCC != NULL) + return (!IsEmptyStr(WCC->ImportantMessage)); + else + return 0; +} + +void tmplput_importantmessage(StrBuf *Target, int nArgs, WCTemplateToken *Tokens, void *Context) +{ + struct wcsession *WCC = WC; + + if (WCC != NULL) { + StrEscAppend(Target, NULL, WCC->ImportantMessage, 0, 0); + WCC->ImportantMessage[0] = '\0'; + } +} + +void tmplput_offer_start_page(StrBuf *Target, int nArgs, WCTemplateToken *Tokens, void *Context) +{ + offer_start_page(); +} + void InitModule_WEBCIT (void) @@ -1832,4 +1857,7 @@ InitModule_WEBCIT WebcitAddUrlHandler(HKEY("mimepart"), view_mimepart, NEED_URL); WebcitAddUrlHandler(HKEY("mimepart_download"), download_mimepart, NEED_URL); WebcitAddUrlHandler(HKEY("diagnostics"), diagnostics, NEED_URL); + RegisterConditional(HKEY("COND:IMPMSG"), 0, ConditionalImportantMesage); + RegisterNamespace("IMPORTANTMESSAGE", 0, 0, tmplput_importantmessage); + RegisterNamespace("OFFERSTARTPAGE", 0, 0, tmplput_offer_start_page); } -- 2.39.2