* switch menubar to template
authorWilfried Göesgens <willi@citadel.org>
Sun, 31 Aug 2008 23:47:20 +0000 (23:47 +0000)
committerWilfried Göesgens <willi@citadel.org>
Sun, 31 Aug 2008 23:47:20 +0000 (23:47 +0000)
webcit/iconbar.c
webcit/roomops.c
webcit/static/t/display_main_menu.html [new file with mode: 0644]
webcit/static/t/menu_advanced_roomcommands.html [new file with mode: 0644]
webcit/static/t/menu_basic_commands.html [new file with mode: 0644]
webcit/static/t/menu_your_info.html [new file with mode: 0644]
webcit/static/t/subj_advanced_roomcommands.html [new file with mode: 0644]
webcit/static/t/subj_basic_commands.html [new file with mode: 0644]
webcit/static/t/subj_your_info.html [new file with mode: 0644]

index 6276030e2e79fc2db8864d3e94f60b9c864caec3..3469bc08beb50477ac4072796ad9a10a6d2805e7 100644 (file)
@@ -304,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")
index ec43959a851936db870f4053be666ddde95f5cdf..e88f2db1acc4551a2b01aee6323f9ec686dd5b42 100644 (file)
@@ -3668,6 +3668,43 @@ void tmplput_roombanner(StrBuf *Target, int nArgs, WCTemplateToken *Tokens, void
 }
 
 
+void tmplput_ungoto(StrBuf *Target, int nArgs, WCTemplateToken *Tokens, void *Context)
+{
+       struct wcsession *WCC = WC;
+
+       if ((WCC!=NULL) && 
+           (!IsEmptyStr(WCC->ugname)))
+               StrBufAppendBufPlain(Target, WCC->ugname, -1, 0);
+}
+
+
+int ConditionalHaveUngoto(WCTemplateToken *Tokens, void *Context)
+{
+       struct wcsession *WCC = WC;
+       
+       return ((WCC!=NULL) && 
+               (!IsEmptyStr(WCC->ugname)) && 
+               (strcasecmp(WCC->ugname, WCC->wc_roomname) == 0));
+}
+
+int ConditinalRoomHasQRVisidir(WCTemplateToken *Tokens, void *Context)
+{
+       struct wcsession *WCC = WC;
+       
+       return ((WCC!=NULL) &&
+               ((WCC->room_flags & QR_VISDIR) != 0));
+}
+
+int ConditionalHaveRoomeditRights(WCTemplateToken *Tokens, void *Context)
+{
+       struct wcsession *WCC = WC;
+
+       return ( (WCC!= NULL) && 
+                ((WCC->axlevel >= 6) || 
+                 (WCC->is_room_aide) || 
+                 (WCC->is_mailbox) ));
+}
+
 void 
 InitModule_ROOMOPS
 (void)
@@ -3697,7 +3734,11 @@ InitModule_ROOMOPS
        WebcitAddUrlHandler(HKEY("set_floordiv_expanded"), set_floordiv_expanded, NEED_URL|AJAX);
        WebcitAddUrlHandler(HKEY("changeview"), change_view, 0);
        RegisterNamespace("ROOMBANNER", 0, 0, tmplput_roombanner);
+       RegisterConditional(HKEY("COND:ROOM:FLAGS:QR_VISIDIR"), 0, ConditinalRoomHasQRVisidir);
+       RegisterConditional(HKEY("COND:UNGOTO"), 0, ConditionalHaveUngoto);
+       RegisterConditional(HKEY("COND:ROOM:EDITACCESS"), 0, ConditionalHaveRoomeditRights);
 
+       RegisterNamespace("ROOM:UNGOTO", 0, 0, tmplput_ungoto);
 }
 
 /*@}*/
diff --git a/webcit/static/t/display_main_menu.html b/webcit/static/t/display_main_menu.html
new file mode 100644 (file)
index 0000000..4cac1cd
--- /dev/null
@@ -0,0 +1,19 @@
+<?=head>
+<?=important_msg>
+<?ICONBAR>
+<?ROOMBANNER>
+<div id="content">
+<div class="fix_scrollbar_bug">
+<table width="100%%" cellspacing="10px" cellpadding="0">
+<tr><td colspan="2" class="advanced">
+  <?DOBOXED("menu_basic_commands", "subj_basic_commands")>
+</td></tr>
+<tr valign=top><td width=50%%>
+  <?DOBOXED("menu_your_info", "subj_your_info")>
+</td><td width=50%%>
+  <?DOBOXED("menu_advanced_roomcommands", "subj_advanced_roomcommands")>
+</td></tr>
+</table>
+</div>
+</div>
+<?=trailing>
diff --git a/webcit/static/t/menu_advanced_roomcommands.html b/webcit/static/t/menu_advanced_roomcommands.html
new file mode 100644 (file)
index 0000000..bc8bb78
--- /dev/null
@@ -0,0 +1,9 @@
+<ul class="adminitems">
+<?!("COND:ROOM:EDITACCESS", 1)>
+<li><a href="display_editroom"><?_("Edit or delete this room")></a></li>
+<?!("X", 1)>
+<li><a href="display_private"><?_("Go to a 'hidden' room")></a></li>
+<li><a href="display_entroom"><?_("Create a new room")></a></li>
+<li><a href="display_zap"><?_("Zap (forget) this room")></a></li>
+<li><a href="zapped_list"><?_("List all forgotten rooms")></a></li>
+</ul>
diff --git a/webcit/static/t/menu_basic_commands.html b/webcit/static/t/menu_basic_commands.html
new file mode 100644 (file)
index 0000000..79efe13
--- /dev/null
@@ -0,0 +1,20 @@
+<!-- start of first column -->
+<ul class="adminitems col1">
+<li><a href="knrooms"><?_("List known rooms")></a><span><?_("Where can I go from here?")></span></li>
+<li><a href="gotonext"><?_("Goto next room")></a><span><?_("...with <em>unread</em> messages")></span></li>
+<li><a href="skip"><?_("Skip to next room")></a><span><?_("(come back here later)")></span></li>
+<??("COND:UNGOTO", 1)><li><a href="ungoto"><?_("Ungoto")></a><span>(<?_("oops! Back to ")><?ROOM:UNGOTO>)</span></li><??("X", 1)>
+</ul>
+<!-- start of second column -->
+<ul class="adminitems col2">
+<li><a href="readnew"><?_("Read new messages")></a><span><?_("...in this room")></span></li>
+<li><a href="readfwd"><?_("Read all messages")></a><span><?_("...old <EM>and</EM> new")></span></li>
+<li><a href="display_enter"><?_("Enter a message")></a><span><?_("(post in this room)")></span></li>
+<??("COND:ROOM:FLAGS:QR_VISIDIR", 2)><li><a href="display_room_directory"><?_("File library")></a><span><?_("(List files available for download)")></span></li><??("X", 2)>
+</ul>
+<!-- start of third column -->
+<ul class="adminitems lastcol">
+<li><a href="summary"><?_("Summary page")></a><span><?_("Summary of my account")></span></li>
+<li><a href="userlist"><?_("User list")></a><span><?_("(all registered users)")></span></li>
+<li><a href="termquit" TARGET="_top"><?_("Log off")></a><span><?_("Bye!")></span></li>
+</ul>&nbsp;
diff --git a/webcit/static/t/menu_your_info.html b/webcit/static/t/menu_your_info.html
new file mode 100644 (file)
index 0000000..95b011e
--- /dev/null
@@ -0,0 +1,10 @@
+<ul class="adminitems">
+<li><a href="display_preferences"><?_("Change your preferences and settings")></a></li>
+<li><a href="display_reg"><?_("Update your contact information")></a></li>
+<li><a href="display_changepw"><?_("Change your password")></a></li>
+<li><a href="display_editbio"><?_("Enter your 'bio'")></a></li>
+<li><a href="display_editpic"><?_("Edit your online photo")></a></li>
+<li><a href="display_sieve"><?_("View/edit server-side mail filters")></a></li>
+<li><a href="display_pushemail"><?_("Edit your push email settings")></a></li>
+<li><a href="display_openids"><?_("Manage your OpenIDs")></a></li>
+</ul>
diff --git a/webcit/static/t/subj_advanced_roomcommands.html b/webcit/static/t/subj_advanced_roomcommands.html
new file mode 100644 (file)
index 0000000..7f5388e
--- /dev/null
@@ -0,0 +1 @@
+<?_("Advanced room commands")>
diff --git a/webcit/static/t/subj_basic_commands.html b/webcit/static/t/subj_basic_commands.html
new file mode 100644 (file)
index 0000000..ce6ae2b
--- /dev/null
@@ -0,0 +1 @@
+<?_("Basic commands")>
diff --git a/webcit/static/t/subj_your_info.html b/webcit/static/t/subj_your_info.html
new file mode 100644 (file)
index 0000000..9da9ca8
--- /dev/null
@@ -0,0 +1 @@
+<?_("Your info")>