From 1383a6259484fdbdb69f6ba1483737d9b348d005 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Wilfried=20G=C3=B6esgens?= Date: Thu, 25 Feb 2010 23:27:38 +0000 Subject: [PATCH] * add conditionals for the QR2 flagset --- webcit/roomops.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/webcit/roomops.c b/webcit/roomops.c index 06a758d47..5d1aa8ecc 100644 --- a/webcit/roomops.c +++ b/webcit/roomops.c @@ -3155,6 +3155,33 @@ int ConditionalRoomHas_QRFlag(StrBuf *Target, WCTemplputParams *TP) } +int ConditionalCurrentRoomHas_QRFlag2(StrBuf *Target, WCTemplputParams *TP) +{ + long QR2_CheckFlag; + wcsession *WCC = WC; + + QR2_CheckFlag = GetTemplateTokenNumber(Target, TP, 2, 0); + if (QR2_CheckFlag == 0) + LogTemplateError(Target, "Conditional", ERR_PARM1, TP, + "requires one of the #\"QR2*\"- defines or an integer flag 0 is invalid!"); + + return ((WCC!=NULL) && + ((WCC->CurRoom.QRFlags2 & QR2_CheckFlag) != 0)); +} + +int ConditionalRoomHas_QRFlag2(StrBuf *Target, WCTemplputParams *TP) +{ + long QR2_CheckFlag; + folder *Folder = (folder *)(TP->Context); + + QR2_CheckFlag = GetTemplateTokenNumber(Target, TP, 2, 0); + if (QR2_CheckFlag == 0) + LogTemplateError(Target, "Conditional", ERR_PARM1, TP, + "requires one of the #\"QR2*\"- defines or an integer flag 0 is invalid!"); + return ((Folder->QRFlags2 & QR2_CheckFlag) != 0); +} + + int ConditionalHaveRoomeditRights(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; @@ -3236,6 +3263,9 @@ InitModule_ROOMOPS RegisterConditional(HKEY("COND:THISROOM:FLAG:QR"), 0, ConditionalCurrentRoomHas_QRFlag, CTX_NONE); RegisterConditional(HKEY("COND:ROOM:FLAG:QR"), 0, ConditionalRoomHas_QRFlag, CTX_ROOMS); + RegisterConditional(HKEY("COND:THISROOM:FLAG:QR2"), 0, ConditionalCurrentRoomHas_QRFlag2, CTX_NONE); + RegisterConditional(HKEY("COND:ROOM:FLAG:QR2"), 0, ConditionalRoomHas_QRFlag2, CTX_ROOMS); + REGISTERTokenParamDefine(QR_PERMANENT); REGISTERTokenParamDefine(QR_INUSE); REGISTERTokenParamDefine(QR_PRIVATE); -- 2.39.2