StrBufTCP_read_line(Buf, &WC->serv_sock, 0, &Err); /* '100', we hope */
if (ChrPtr(Buf)[0] == '1') while(StrBufTCP_read_line(Buf, &WC->serv_sock, 0, &Err), strcmp(ChrPtr(Buf), "000")) {
int a;
- const char *floorNum;
+ const char *floorNum = NULL;
floor = NewHash(1, NULL);
for(a=0; a<FLOOR_PARAM_LEN; a++) {
Buf2 = NewStrBuf();
StrBufTCP_read_line(buf, &WC->serv_sock, 0, &Err);
if (ChrPtr(buf)[0] == '1') while(StrBufTCP_read_line(buf, &WC->serv_sock, 0, &Err), strcmp(ChrPtr(buf), "000")) {
int i;
- const char *rmName;
+ const char *rmName = NULL;
room = NewHash(1, NULL);
for(i=0; i<ROOM_PARAM_LEN; i++) {
buf2 = NewStrBuf();
(WCC->is_mailbox) ));
}
+int ConditionalIsRoomtype(StrBuf *Target, WCTemplputParams *TP)
+{
+ wcsession *WCC = WC;
+
+ if ((WCC == NULL) ||
+ (TP->Tokens->nParameters < 3) ||
+ (TP->Tokens->Params[2]->Type != TYPE_STR)||
+ (TP->Tokens->Params[2]->len < 7))
+ return 0;
+
+ switch(WCC->wc_view) {
+ case VIEW_BBS:
+ return TP->Tokens->Params[2]->Start[7]=='B';
+ case VIEW_MAILBOX:
+ return TP->Tokens->Params[2]->Start[7]=='M';
+ case VIEW_ADDRESSBOOK:
+ return TP->Tokens->Params[2]->Start[7]=='A';
+ case VIEW_TASKS:
+ return TP->Tokens->Params[2]->Start[7]=='T';
+ case VIEW_NOTES:
+ return TP->Tokens->Params[2]->Start[7]=='N';
+ case VIEW_WIKI:
+ return TP->Tokens->Params[2]->Start[7]=='W';
+ case VIEW_JOURNAL:
+ return TP->Tokens->Params[2]->Start[7]=='J';
+
+ case VIEW_CALENDAR:
+ if (TP->Tokens->Params[2]->len < 13)
+ return 0;
+ return TP->Tokens->Params[2]->Start[10]=='E';
+
+ case VIEW_CALBRIEF:
+ if (TP->Tokens->Params[3]->len < 13)
+ return 0;
+ return TP->Tokens->Params[2]->Start[10]=='B';
+
+ default:
+ return 0;
+ }
+}
+
void
InitModule_ROOMOPS
(void)
WebcitAddUrlHandler(HKEY("json_roomflr"), jsonRoomFlr, 0);
RegisterNamespace("ROOMBANNER", 0, 1, tmplput_roombanner, 0);
+ RegisterConditional(HKEY("COND:ROOM:TYPE_IS"), 0, ConditionalIsRoomtype, CTX_NONE);
RegisterConditional(HKEY("COND:ROOM:FLAGS:QR_PERMANENT"), 0, ConditionalRoomHas_QR_PERMANENT, CTX_NONE);
RegisterConditional(HKEY("COND:ROOM:FLAGS:QR_INUSE"), 0, ConditionalRoomHas_QR_INUSE, CTX_NONE);
RegisterConditional(HKEY("COND:ROOM:FLAGS:QR_PRIVATE"), 0, ConditionalRoomHas_QR_PRIVATE, CTX_NONE);