+int ConditionalRoomIsType(StrBuf *Target, WCTemplputParams *TP)
+{
+ folder *Folder = (folder *)CTX(CTX_ROOMS);
+
+ if (Folder == NULL)
+ return 0;
+
+ if ((TP->Tokens->nParameters < 3))
+ {
+ return ((Folder->view < VIEW_BBS) ||
+ (Folder->view > VIEW_MAX));
+ }
+
+ return Folder->view == GetTemplateTokenNumber(Target, TP, 2, VIEW_BBS);
+}
+
+
/****** Properties ******/
int ConditionalRoom_MayEdit(StrBuf *Target, WCTemplputParams *TP)
/****** Properties ******/
int ConditionalRoom_MayEdit(StrBuf *Target, WCTemplputParams *TP)
+int ConditionalRoomIsName(StrBuf *Target, WCTemplputParams *TP)
+{
+ folder *Folder = (folder *)CTX(CTX_ROOMS);
+ const char *CheckRoomName = NULL;
+ long CheckRoomNameLen;
+
+ GetTemplateTokenString(Target, TP, 3, &CheckRoomName, &CheckRoomNameLen);
+ if (CheckRoomName == NULL)
+ return 0;
+ return strcmp(ChrPtr(Folder->name), CheckRoomName) == 0;
+}
+
RegisterNamespace("ROOM:INFO:BASENAME", 0, 1, tmplput_ROOM_BASENAME, NULL, CTX_ROOMS);
RegisterNamespace("ROOM:INFO:LEVELNTIMES", 1, 2, tmplput_ROOM_LEVEL_N_TIMES, NULL, CTX_ROOMS);
RegisterConditional(HKEY("COND:ROOM:INFO:IS_INBOX"), 0, ConditionalRoomIsInbox, CTX_ROOMS);
RegisterNamespace("ROOM:INFO:BASENAME", 0, 1, tmplput_ROOM_BASENAME, NULL, CTX_ROOMS);
RegisterNamespace("ROOM:INFO:LEVELNTIMES", 1, 2, tmplput_ROOM_LEVEL_N_TIMES, NULL, CTX_ROOMS);
RegisterConditional(HKEY("COND:ROOM:INFO:IS_INBOX"), 0, ConditionalRoomIsInbox, CTX_ROOMS);
+ RegisterConditional(HKEY("COND:ROOM:INFO:TYPE_IS"), 0, ConditionalRoomIsType, CTX_ROOMS);
+ RegisterConditional(HKEY("COND:ROOM:INFO:NAME_IS"), 1, ConditionalRoomIsName, CTX_ROOMS);
/****** Properties ******/
RegisterNamespace("ROOM:INFO:QRFLAGS", 0, 1, tmplput_ROOM_QRFLAGS, NULL, CTX_ROOMS);
/****** Properties ******/
RegisterNamespace("ROOM:INFO:QRFLAGS", 0, 1, tmplput_ROOM_QRFLAGS, NULL, CTX_ROOMS);