From: Wilfried Göesgens Date: Thu, 29 Jul 2010 22:03:11 +0000 (+0000) Subject: * migrate all the UA_ conditionals into one that takes defines as parameters instead. X-Git-Tag: v8.01~982 X-Git-Url: https://code.citadel.org/?p=citadel.git;a=commitdiff_plain;h=e318592405ae1dbe386b9e400a3bdceb0febb30b * migrate all the UA_ conditionals into one that takes defines as parameters instead. --- diff --git a/webcit/roomlist.c b/webcit/roomlist.c index 5710b54d0..35e9f4ca1 100644 --- a/webcit/roomlist.c +++ b/webcit/roomlist.c @@ -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); diff --git a/webcit/roomops.c b/webcit/roomops.c index 4dbab0322..b29baad09 100644 --- a/webcit/roomops.c +++ b/webcit/roomops.c @@ -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); diff --git a/webcit/static/t/knrooms_rooms.html b/webcit/static/t/knrooms_rooms.html index abab53d50..aeb08f109 100644 --- a/webcit/static/t/knrooms_rooms.html +++ b/webcit/static/t/knrooms_rooms.html @@ -1,5 +1,5 @@
">"> + ">">