* fix select-o-matic
authorWilfried Göesgens <willi@citadel.org>
Mon, 9 Aug 2010 20:45:16 +0000 (20:45 +0000)
committerWilfried Göesgens <willi@citadel.org>
Mon, 9 Aug 2010 20:45:16 +0000 (20:45 +0000)
webcit/roomops.c
webcit/static/t/viewomatic.html

index f1488411e1745c5c48c6e9b6a9acff626d972d71..eaf928e9e07a93d3caede1cd84191139ef65193b 100644 (file)
@@ -1132,6 +1132,25 @@ void tmplput_CurrentRoomViewString(StrBuf *Target, WCTemplputParams *TP)
        FreeStrBuf(&Buf);
 }
 
+void tmplput_RoomViewString(StrBuf *Target, WCTemplputParams *TP) 
+{
+       long CheckThis;
+       StrBuf *Buf;
+
+       CheckThis = GetTemplateTokenNumber(Target, TP, 0, 0);
+       if ((CheckThis >= VIEW_MAX) || (CheckThis < VIEW_BBS))
+       {
+               LogTemplateError(Target, "Token", ERR_PARM2, TP,
+                                "Roomview [%ld] not valid\n", 
+                                CheckThis);
+               return;
+       }
+
+       Buf = NewStrBufPlain(_(viewdefs[CheckThis]), -1);
+       StrBufAppendTemplate(Target, TP, Buf, 0);
+       FreeStrBuf(&Buf);
+}
+
 
 /*
  * goto next room
@@ -3571,7 +3590,8 @@ InitModule_ROOMOPS
        RegisterNamespace("THISROOM:ORDER", 0, 0, tmplput_CurrentRoomOrder, NULL, CTX_NONE);
        RegisterNamespace("THISROOM:DEFAULT_VIEW", 0, 0, tmplput_CurrentRoomDefView, NULL, CTX_NONE);
        RegisterConditional(HKEY("COND:THISROOM:HAVE_VIEW"), 0, ConditionalThisRoomHaveView, CTX_NONE);
-       RegisterNamespace("THISROOM:VIEW_STRING", 0, 0, tmplput_CurrentRoomViewString, NULL, CTX_NONE);
+       RegisterNamespace("THISROOM:VIEW_STRING", 0, 1, tmplput_CurrentRoomViewString, NULL, CTX_NONE);
+       RegisterNamespace("ROOM:VIEW_STRING", 1, 2, tmplput_RoomViewString, NULL, CTX_NONE);
 
        RegisterNamespace("THISROOM:INFOTEXT", 1, 2, tmplput_CurrentRoomInfoText, NULL, CTX_NONE);
        RegisterConditional(HKEY("COND:THISROOM:ORDER"), 0, ConditionalThisRoomOrder, CTX_NONE);
index 5d0521ad65fdbed81699315d9f4a1fc7c65b5931..f67ece53965e1c04c735faa1389119b265bf0c63 100644 (file)
@@ -3,7 +3,27 @@
                <input type="hidden" name="nonce" value="<?NONCE>">
                        <label for="view_name"><?_("View as:")></label>
                        <select name="newview" size="1" id="view_name" class="selectbox" OnChange="location.href=viewomatic.newview.options[selectedIndex].value">
-                               <?ITERATE("ITERATE:THISROOM:HAS_VIEW", ="viewomatic_options", 0, 0, -1, #"something meaningful goes here")>                     
+
+
+<?!("COND:THISROOM:HAVE_VIEW", 1, #"VIEW_BBS")><option value="changeview?view=<?DEF:VAL(#"VIEW_BBS")>" <?%("COND:THISROOM:DEFAULT_VIEW", 2, #"VIEW_BBS", 0, "selected", "")>><?ROOM:VIEW_STRING(#"VIEW_BBS", "X")></option><??("X", 1)>
+
+<?!("COND:THISROOM:HAVE_VIEW", 1, #"VIEW_MAILBOX")><option value="changeview?view=<?DEF:VAL(#"VIEW_MAILBOX")>" <?%("COND:THISROOM:DEFAULT_VIEW", 2, #"VIEW_MAILBOX", 0, "selected", "")>><?ROOM:VIEW_STRING(#"VIEW_MAILBOX", "X")></option><??("X", 1)>
+
+<?!("COND:THISROOM:HAVE_VIEW", 1, #"VIEW_ADDRESSBOOK")><option value="changeview?view=<?DEF:VAL(#"VIEW_ADDRESSBOOK")>" <?%("COND:THISROOM:DEFAULT_VIEW", 2, #"VIEW_ADDRESSBOOK", 0, "selected", "")>><?ROOM:VIEW_STRING(#"VIEW_ADDRESSBOOK", "X")></option><??("X", 1)>
+
+<?!("COND:THISROOM:HAVE_VIEW", 1, #"VIEW_CALENDAR")><option value="changeview?view=<?DEF:VAL(#"VIEW_CALENDAR")>" <?%("COND:THISROOM:DEFAULT_VIEW", 2, #"VIEW_CALENDAR", 0, "selected", "")>><?ROOM:VIEW_STRING(#"VIEW_CALENDAR", "X")></option><??("X", 1)>
+
+<?!("COND:THISROOM:HAVE_VIEW", 1, #"VIEW_TASKS")><option value="changeview?view=<?DEF:VAL(#"VIEW_TASKS")>" <?%("COND:THISROOM:DEFAULT_VIEW", 2, #"VIEW_TASKS", 0, "selected", "")>><?ROOM:VIEW_STRING(#"VIEW_TASKS", "X")></option><??("X", 1)>
+
+<?!("COND:THISROOM:HAVE_VIEW", 1, #"VIEW_NOTES")><option value="changeview?view=<?DEF:VAL(#"VIEW_NOTES")>" <?%("COND:THISROOM:DEFAULT_VIEW", 2, #"VIEW_NOTES", 0, "selected", "")>><?ROOM:VIEW_STRING(#"VIEW_NOTES", "X")></option><??("X", 1)>
+
+<?!("COND:THISROOM:HAVE_VIEW", 1, #"VIEW_WIKI")><option value="changeview?view=<?DEF:VAL(#"VIEW_WIKI")>" <?%("COND:THISROOM:DEFAULT_VIEW", 2, #"VIEW_WIKI", 0, "selected", "")>><?ROOM:VIEW_STRING(#"VIEW_WIKI", "X")></option><??("X", 1)>
+
+<!-- <?!("COND:THISROOM:HAVE_VIEW", 1, #"VIEW_CALBRIEF")><option value="changeview?view=<?DEF:VAL(#"VIEW_CALBRIEF")>" <?%("COND:THISROOM:DEFAULT_VIEW", 2, #"VIEW_CALBRIEF", 0, "selected", "")>><?ROOM:VIEW_STRING(#"VIEW_CALBRIEF", "X")></option><??("X", 1)> -->
+
+<?!("COND:THISROOM:HAVE_VIEW", 1, #"VIEW_JOURNAL")><option value="changeview?view=<?DEF:VAL(#"VIEW_JOURNAL")>" <?%("COND:THISROOM:DEFAULT_VIEW", 2, #"VIEW_JOURNAL", 0, "selected", "")>><?ROOM:VIEW_STRING(#"VIEW_JOURNAL", "X")></option><??("X", 1)>
+
+<?!("COND:THISROOM:HAVE_VIEW", 1, #"VIEW_BLOG")><option value="changeview?view=<?DEF:VAL(#"VIEW_BLOG")>" <?%("COND:THISROOM:DEFAULT_VIEW", 2, #"VIEW_BLOG", 0, "selected", "")>><?ROOM:VIEW_STRING(#"VIEW_BLOG", "X")></option><??("X", 1)>
                        </select>
        </div>
 </form>