int ConditionalHavewikiType(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; const char *pch; long len; GetTemplateTokenString(Target, TP, 2, &pch, &len); return bmstrcasestr((char *)ChrPtr(WCC->Hdr->HR.ReqLine), pch) != NULL; }
int ConditionalHaveWikiPage(StrBuf *Target, WCTemplputParams *TP) { const char *page; const char *pch; long len; page = BSTR("page"); GetTemplateTokenString(Target, TP, 2, &pch, &len); return strcasecmp(page, pch) == 0; }
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; }
void tmplput_ROOM_LEVEL_N_TIMES(StrBuf *Target, WCTemplputParams *TP) { folder *room = (folder *)CTX(CTX_ROOMS); 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); } }