* migrate all the UA_ conditionals into one that takes defines as parameters instead.
authorWilfried Göesgens <willi@citadel.org>
Thu, 29 Jul 2010 22:03:11 +0000 (22:03 +0000)
committerWilfried Göesgens <willi@citadel.org>
Thu, 29 Jul 2010 22:03:11 +0000 (22:03 +0000)
webcit/roomlist.c
webcit/roomops.c
webcit/static/t/knrooms_rooms.html

index 5710b54d019568c5300423667e86c9bbc81e060a..35e9f4ca125b1584471a1fef851ac826c8bdb121 100644 (file)
@@ -631,48 +631,6 @@ void tmplput_ROOM_FLOOR_NROOMS(StrBuf *Target, WCTemplputParams *TP)
 
 
 
-int ConditionalRoomHas_UA_KNOWN(StrBuf *Target, WCTemplputParams *TP)
-{
-       folder *Folder = (folder *)CTX;
-       return (Folder->RAFlags & UA_KNOWN) != 0;
-}
-
-int ConditionalRoomHas_UA_GOTOALLOWED(StrBuf *Target, WCTemplputParams *TP)
-{
-       folder *Folder = (folder *)CTX;
-       return (Folder->RAFlags & UA_GOTOALLOWED) != 0;
-}
-
-int ConditionalRoomHas_UA_HASNEWMSGS(StrBuf *Target, WCTemplputParams *TP)
-{
-       folder *Folder = (folder *)CTX;
-       return (Folder->RAFlags & UA_HASNEWMSGS) != 0;
-}
-
-int ConditionalRoomHas_UA_ZAPPED(StrBuf *Target, WCTemplputParams *TP)
-{
-       folder *Folder = (folder *)CTX;
-       return (Folder->RAFlags & UA_ZAPPED) != 0;
-}
-
-int ConditionalRoomHas_UA_POSTALLOWED(StrBuf *Target, WCTemplputParams *TP)
-{
-       folder *Folder = (folder *)CTX;
-       return (Folder->RAFlags & UA_POSTALLOWED) != 0;
-}
-
-int ConditionalRoomHas_UA_ADMINALLOWED(StrBuf *Target, WCTemplputParams *TP)
-{
-       folder *Folder = (folder *)CTX;
-       return (Folder->RAFlags & UA_ADMINALLOWED) != 0;
-}
-
-int ConditionalRoomHas_UA_DELETEALLOWED(StrBuf *Target, WCTemplputParams *TP)
-{
-       folder *Folder = (folder *)CTX;
-       return (Folder->RAFlags & UA_DELETEALLOWED) != 0;
-}
-
 
 int ConditionalRoomIsInbox(StrBuf *Target, WCTemplputParams *TP)
 {
@@ -905,13 +863,6 @@ InitModule_ROOMLIST
        RegisterConditional(HKEY("COND:ROOM:REST:ISSUBROOM"), 0, ConditionalRoomIsRESTSubRoom, CTX_ROOMS);
 
        RegisterConditional(HKEY("COND:ROOM:INFO:IS_INBOX"), 0, ConditionalRoomIsInbox, CTX_ROOMS);
-       RegisterConditional(HKEY("COND:ROOM:FLAGS:UA_KNOWN"), 0, ConditionalRoomHas_UA_KNOWN, CTX_ROOMS);
-       RegisterConditional(HKEY("COND:ROOM:FLAGS:UA_GOTOALLOWED"), 0, ConditionalRoomHas_UA_GOTOALLOWED, CTX_ROOMS);
-       RegisterConditional(HKEY("COND:ROOM:FLAGS:UA_HASNEWMSGS"), 0, ConditionalRoomHas_UA_HASNEWMSGS, CTX_ROOMS);
-       RegisterConditional(HKEY("COND:ROOM:FLAGS:UA_ZAPPED"), 0, ConditionalRoomHas_UA_ZAPPED, CTX_ROOMS);
-       RegisterConditional(HKEY("COND:ROOM:FLAGS:UA_POSTALLOWED"), 0, ConditionalRoomHas_UA_POSTALLOWED, CTX_ROOMS);
-       RegisterConditional(HKEY("COND:ROOM:FLAGS:UA_ADMINALLOWED"), 0, ConditionalRoomHas_UA_ADMINALLOWED, CTX_ROOMS);
-       RegisterConditional(HKEY("COND:ROOM:FLAGS:UA_DELETEALLOWED"), 0, ConditionalRoomHas_UA_DELETEALLOWED, CTX_ROOMS);
        RegisterConditional(HKEY("COND:ROOM:GROUPDAV_CONTENT"), 0, ConditionalRoomHasGroupdavContent, CTX_ROOMS);
 
 
index 4dbab03224fad5fecb02ca67e4858a6fb5b885c1..b29baad094a5ccf120a2291e644a9ae26e165bb9 100644 (file)
@@ -3289,6 +3289,22 @@ int ConditionalHaveUngoto(StrBuf *Target, WCTemplputParams *TP)
                (strcasecmp(WCC->ugname, ChrPtr(WCC->CurRoom.name)) == 0));
 }
 
+
+int ConditionalRoomHas_UAFlag(StrBuf *Target, WCTemplputParams *TP)
+{
+       folder *Folder = (folder *)(TP->Context);
+       long UA_CheckFlag;
+               
+       UA_CheckFlag = GetTemplateTokenNumber(Target, TP, 2, 0);
+       if (UA_CheckFlag == 0)
+               LogTemplateError(Target, "Conditional", ERR_PARM1, TP,
+                                "requires one of the #\"UA_*\"- defines or an integer flag 0 is invalid!");
+
+       return ((Folder->RAFlags & UA_CheckFlag) != 0);
+}
+
+
+
 int ConditionalCurrentRoomHas_QRFlag(StrBuf *Target, WCTemplputParams *TP)
 {
        long QR_CheckFlag;
@@ -3402,6 +3418,7 @@ InitModule_ROOMOPS
 
        RegisterConditional(HKEY("COND:THISROOM:FLAG:QR2"), 0, ConditionalCurrentRoomHas_QRFlag2, CTX_NONE);
        RegisterConditional(HKEY("COND:ROOM:FLAG:QR2"), 0, ConditionalRoomHas_QRFlag2, CTX_ROOMS);
+       RegisterConditional(HKEY("COND:ROOM:FLAG:UA"), 0, ConditionalRoomHas_UAFlag, CTX_ROOMS);
 
        RegisterNamespace("THISROOM:AIDE", 0, 1, tmplput_CurrentRoomAide, NULL, CTX_NONE);
 
index abab53d5094b734b2719fb32b6bccef6e59e8f5b..aeb08f1094610b68a63fee5b15bda9c3abd85aab 100644 (file)
@@ -1,5 +1,5 @@
 <?!("COND:ITERATE:FIRSTN", 1)><tr><td valign=top><?=("beginbox_1")><?ROOM:INFO:FLOOR:NAME><?=("beginbox_2")><?!("X", 1)>
 <?!("COND:ITERATE:ISGROUPCHANGE", 2)><?=("endbox")><br><?!("COND:ITERATE:ISGROUPCHANGE", 3, 2)></td><td valign=top> <?!("X", 3)><?=("beginbox_1")><?ROOM:INFO:FLOOR:NAME><?=("beginbox_2")><?!("X", 2)>
-&nbsp;<a href="dotgoto?room=<?ROOM:INFO:NAME("U")>"><span class="<?%("COND:ROOM:FLAGS:UA_HASNEWMSGS", 4, 0, 0, "roomlist_new", "roomlist_old")>">
+&nbsp;<a href="dotgoto?room=<?ROOM:INFO:NAME("U")>"><span class="<?%("COND:ROOM:FLAGS:UA", 4, #"UA_HASNEWMSGS", 0, "roomlist_new", "roomlist_old")>">
 <?ROOM:INFO:LEVELNTIMES("&nbsp;&nbsp;&nbsp;")><?ROOM:INFO:BASENAME></span></a><?%("COND:ROOM:INFO:IS_INBOX", 5, 0, 0, _"(INBOX)", "")><br />
 <?!("COND:ITERATE:LASTN", 2)><?=("endbox")></td></tr><??("X", 3)>