]> code.citadel.org Git - citadel.git/blobdiff - webcit/roomlist.c
* remove the room infomatic, add templates
[citadel.git] / webcit / roomlist.c
index 5584928a0362a07f1357a0d1c991ca04e9b4c679..c692236f0619e363d06388912ad6e2947dcf0a45 100644 (file)
@@ -135,6 +135,11 @@ void FlushFolder(folder *room)
 {
        int i;
 
+       FreeStrBuf(&room->XAPass);
+       FreeStrBuf(&room->Directory);
+       FreeStrBuf(&room->RoomAide);
+       FreeStrBuf(&room->XInfoText);
+
        FreeStrBuf(&room->name);
        if (room->IgnetCfgs[0] == (HashList*) StrBufNOTNULL)
        {
@@ -509,7 +514,12 @@ int GroupchangeRoomListByFloorRoomPrivFirst(const void *room1, const void *room2
 }
 
 
-
+int CompareRooms(const folder *room1, const folder *room2) 
+{
+       if ((room1 == NULL) || (room2 == NULL))
+               return -1;
+       return CompareRoomListByFloorRoomPrivFirst(room1, room2);
+}
 
 
 
@@ -626,48 +636,6 @@ void tmplput_ROOM_FLOOR_NROOMS(StrBuf *Target, WCTemplputParams *TP)
 
 
 
-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)
 {
@@ -835,20 +803,24 @@ void jsonRoomFlr(void)
        end_burst(); 
 }
 
-
-void 
-SessionDetachModule_ROOMLIST
-(wcsession *sess)
-{
-       DeleteHash(&sess->Floors);
-       DeleteHash(&sess->Rooms);
-       DeleteHash(&sess->FloorsByName);
-}
+#define POP3_HOST 0
+#define POP3_USERNAME 1
+#define POP3_PASSWORD 2
+#define POP3_KEEP 3
+#define POP3_INTERVAL 4
 
 void 
 InitModule_ROOMLIST
 (void)
 {
+
+       REGISTERTokenParamDefine(POP3_HOST);
+       REGISTERTokenParamDefine(POP3_USERNAME);
+       REGISTERTokenParamDefine(POP3_PASSWORD);
+       REGISTERTokenParamDefine(POP3_KEEP);
+       REGISTERTokenParamDefine(POP3_INTERVAL);
+
+
        WebcitAddUrlHandler(HKEY("json_roomflr"), "", 0, jsonRoomFlr, 0);
 
 
@@ -885,13 +857,6 @@ InitModule_ROOMLIST
        RegisterConditional(HKEY("COND:ROOM:REST:ISSUBROOM"), 0, ConditionalRoomIsRESTSubRoom, CTX_ROOMS);
 
        RegisterConditional(HKEY("COND:ROOM:INFO:IS_INBOX"), 0, ConditionalRoomIsInbox, CTX_ROOMS);
-       RegisterConditional(HKEY("COND:ROOM:FLAGS:UA_KNOWN"), 0, ConditionalRoomHas_UA_KNOWN, CTX_ROOMS);
-       RegisterConditional(HKEY("COND:ROOM:FLAGS:UA_GOTOALLOWED"), 0, ConditionalRoomHas_UA_GOTOALLOWED, CTX_ROOMS);
-       RegisterConditional(HKEY("COND:ROOM:FLAGS:UA_HASNEWMSGS"), 0, ConditionalRoomHas_UA_HASNEWMSGS, CTX_ROOMS);
-       RegisterConditional(HKEY("COND:ROOM:FLAGS:UA_ZAPPED"), 0, ConditionalRoomHas_UA_ZAPPED, CTX_ROOMS);
-       RegisterConditional(HKEY("COND:ROOM:FLAGS:UA_POSTALLOWED"), 0, ConditionalRoomHas_UA_POSTALLOWED, CTX_ROOMS);
-       RegisterConditional(HKEY("COND:ROOM:FLAGS:UA_ADMINALLOWED"), 0, ConditionalRoomHas_UA_ADMINALLOWED, CTX_ROOMS);
-       RegisterConditional(HKEY("COND:ROOM:FLAGS:UA_DELETEALLOWED"), 0, ConditionalRoomHas_UA_DELETEALLOWED, CTX_ROOMS);
        RegisterConditional(HKEY("COND:ROOM:GROUPDAV_CONTENT"), 0, ConditionalRoomHasGroupdavContent, CTX_ROOMS);