-
-
-
-
-void tmplput_ROOM_NAME(StrBuf *Target, WCTemplputParams *TP)
-{
- folder *Folder = (folder *)CTX;
-
- StrBufAppendTemplate(Target, TP, Folder->name, 0);
-}
-void tmplput_ROOM_BASENAME(StrBuf *Target, WCTemplputParams *TP)
-{
- folder *room = (folder *)CTX;
-
- if (room->nRoomNameParts > 1)
- StrBufAppendTemplate(Target, TP,
- room->RoomNameParts[room->nRoomNameParts - 1], 0);
- else
- StrBufAppendTemplate(Target, TP, room->name, 0);
-}
-void tmplput_ROOM_LEVEL_N_TIMES(StrBuf *Target, WCTemplputParams *TP)
-{
- folder *room = (folder *)CTX;
- int i;
- const char *AppendMe;
- long AppendMeLen;
-
-
- if (room->nRoomNameParts > 1)
- {
- GetTemplateTokenString(Target, TP, 0, &AppendMe, &AppendMeLen);
- for (i = 0; i < room->nRoomNameParts; i++)
- StrBufAppendBufPlain(Target, AppendMe, AppendMeLen, 0);
- }
-}
-
-void tmplput_ROOM_ACL(StrBuf *Target, WCTemplputParams *TP)
-{
- folder *Folder = (folder *)CTX;
-
- StrBufAppendPrintf(Target, "%ld", Folder->RAFlags, 0);
-}
-
-
-void tmplput_ROOM_QRFLAGS(StrBuf *Target, WCTemplputParams *TP)
-{
- folder *Folder = (folder *)CTX;
- StrBufAppendPrintf(Target, "%d", Folder->QRFlags);
-}
-
-void tmplput_ROOM_RAFLAGS(StrBuf *Target, WCTemplputParams *TP)
-{
- folder *Folder = (folder *)(TP->Context);
- StrBufAppendPrintf(Target, "%d", Folder->RAFlags);
-}
-
-
-void tmplput_ROOM_FLOORID(StrBuf *Target, WCTemplputParams *TP)
-{
- folder *Folder = (folder *)CTX;
- StrBufAppendPrintf(Target, "%d", Folder->floorid);
-}
-
-void tmplput_ROOM_LISTORDER(StrBuf *Target, WCTemplputParams *TP)
-{
- folder *Folder = (folder *)CTX;
- StrBufAppendPrintf(Target, "%d", Folder->listorder);
-}
-void tmplput_ROOM_VIEW(StrBuf *Target, WCTemplputParams *TP)
-{
- folder *Folder = (folder *)CTX;
- StrBufAppendPrintf(Target, "%d", Folder->view);
-}
-void tmplput_ROOM_DEFVIEW(StrBuf *Target, WCTemplputParams *TP)
-{
- folder *Folder = (folder *)CTX;
- StrBufAppendPrintf(Target, "%d", Folder->defview);
-}
-void tmplput_ROOM_LASTCHANGE(StrBuf *Target, WCTemplputParams *TP)
-{
- folder *Folder = (folder *)CTX;
- StrBufAppendPrintf(Target, "%d", Folder->lastchange);
-}
-void tmplput_ROOM_FLOOR_ID(StrBuf *Target, WCTemplputParams *TP)
-{
- folder *Folder = (folder *)CTX;
- const Floor *pFloor = Folder->Floor;
-
- if (pFloor == NULL)
- return;
-
- StrBufAppendPrintf(Target, "%d", pFloor->ID);
-}
-
-void tmplput_ROOM_FLOOR_NAME(StrBuf *Target, WCTemplputParams *TP)
-{
- folder *Folder = (folder *)CTX;
- const Floor *pFloor = Folder->Floor;
-
- if (pFloor == NULL)
- return;
-
- StrBufAppendTemplate(Target, TP, pFloor->Name, 0);
-}
-
-void tmplput_ROOM_FLOOR_NROOMS(StrBuf *Target, WCTemplputParams *TP)
-{
- folder *Folder = (folder *)CTX;
- const Floor *pFloor = Folder->Floor;
-
- if (pFloor == NULL)
- return;
- StrBufAppendPrintf(Target, "%d", pFloor->NRooms);
-}
-
-
-
-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)
-{
- folder *Folder = (folder *)CTX;
- return Folder->is_inbox;
-}
-
-void tmplput_ROOM_COLLECTIONTYPE(StrBuf *Target, WCTemplputParams *TP)
-{
- folder *Folder = (folder *)CTX;
-
- switch(Folder->view) {
- case VIEW_CALENDAR:
- StrBufAppendBufPlain(Target, HKEY("vevent"), 0);
- break;
- case VIEW_TASKS:
- StrBufAppendBufPlain(Target, HKEY("vtodo"), 0);
- break;
- case VIEW_ADDRESSBOOK:
- StrBufAppendBufPlain(Target, HKEY("vcard"), 0);
- break;
- case VIEW_NOTES:
- StrBufAppendBufPlain(Target, HKEY("vnotes"), 0);
- break;
- case VIEW_JOURNAL:
- StrBufAppendBufPlain(Target, HKEY("vjournal"), 0);
- break;
- case VIEW_WIKI:
- StrBufAppendBufPlain(Target, HKEY("wiki"), 0);
- break;
- }
-}
-
-
-
-
-int ConditionalRoomHasGroupdavContent(StrBuf *Target, WCTemplputParams *TP)
-{
- folder *Folder = (folder *)CTX;
-
- lprintf(0, "-> %s: %ld\n", ChrPtr(Folder->name), Folder->view);
-
- return ((Folder->view == VIEW_CALENDAR) ||
- (Folder->view == VIEW_TASKS) ||
- (Folder->view == VIEW_ADDRESSBOOK) ||
- (Folder->view == VIEW_NOTES) ||
- (Folder->view == VIEW_JOURNAL) );
-}
-
-
-
-int ConditionalFloorIsRESTSubFloor(StrBuf *Target, WCTemplputParams *TP)
-{
- wcsession *WCC = WC;
- Floor *MyFloor = (Floor *)CTX;
- /** if we have dav_depth the client just wants the subfloors */
- if ((WCC->Hdr->HR.dav_depth == 1) &&
- (GetCount(WCC->Directory) == 0))
- return 1;
- return WCC->CurrentFloor == MyFloor;
-}
-
-
-int ConditionalFloorIsSUBROOM(StrBuf *Target, WCTemplputParams *TP)