]> code.citadel.org Git - citadel.git/blobdiff - webcit/roomlist.c
ICAL: some work on adding ical items into templates
[citadel.git] / webcit / roomlist.c
index 46600f9a8c2bf998a30d04e632cb34e07a7dd37a..3dad18a29dfc54d3f04fc687d9b62a654633769f 100644 (file)
@@ -5,6 +5,7 @@
 #include "webcit.h"
 #include "webserver.h"
 
+
 HashList *GetWhoKnowsHash(StrBuf *Target, WCTemplputParams *TP)
 {
        StrBuf *Line;
@@ -164,6 +165,12 @@ HashList *GetRoomListHashLKRA(StrBuf *Target, WCTemplputParams *TP)
        return WCC->Rooms;
 }
 
+HashList *GetRoomListHashLPRM(StrBuf *Target, WCTemplputParams *TP) 
+{
+       serv_puts("LPRM");
+       return GetRoomListHash(Target, TP);
+}
+
 
 void FlushIgnetCfgs(folder *room)
 {
@@ -387,6 +394,8 @@ HashList *GetNetConfigHash(StrBuf *Target, WCTemplputParams *TP)
        else if (State == 550)
                AppendImportantMessage(_("Higher access is required to access this function."), -1);
 
+       FreeStrBuf(&Line);
+       FreeStrBuf(&Token);
 
        return WCC->CurRoom.IgnetCfgs[WantThisOne];
 }
@@ -587,7 +596,7 @@ int CompareRooms(const folder *room1, const folder *room2)
 int ConditionalRoomIsRESTSubRoom(StrBuf *Target, WCTemplputParams *TP)
 {
        wcsession  *WCC = WC;
-       folder     *Folder = (folder *)CTX;
+       folder     *Folder = (folder *)CTX(CTX_ROOMS);
        HashPos    *it;
        StrBuf     * Dir;
        void       *vDir;
@@ -672,6 +681,9 @@ void
 InitModule_ROOMLIST
 (void)
 {
+       /* we duplicate this, just to be shure its already done. */
+       RegisterCTX(CTX_ROOMS);
+       RegisterCTX(CTX_FLOORS);
 
        RegisterIterator("ITERATE:THISROOM:WHO_KNOWS", 0, NULL, GetWhoKnowsHash, NULL, DeleteHash, CTX_STRBUF, CTX_NONE, IT_NOFLAG);
        RegisterIterator("ITERATE:THISROOM:GNET", 1, NULL, GetNetConfigHash, NULL, NULL, CTX_STRBUFARR, CTX_NONE, IT_NOFLAG);
@@ -679,6 +691,10 @@ InitModule_ROOMLIST
        RegisterIterator("LFLR", 0, NULL, GetFloorListHash, NULL, NULL, CTX_FLOORS, CTX_NONE, IT_FLAG_DETECT_GROUPCHANGE);
        RegisterIterator("LKRA", 0, NULL, GetRoomListHashLKRA, NULL, NULL, CTX_ROOMS, CTX_NONE, IT_FLAG_DETECT_GROUPCHANGE);
        RegisterIterator("LZRM", 0, NULL, GetZappedRoomListHash, NULL, DeleteHash, CTX_ROOMS, CTX_NONE, IT_FLAG_DETECT_GROUPCHANGE);
+       RegisterIterator("LPRM", 0, NULL, GetRoomListHashLPRM, NULL, DeleteHash, CTX_ROOMS, CTX_NONE, IT_FLAG_DETECT_GROUPCHANGE);
+
+
+
 
        RegisterConditional(HKEY("COND:ROOM:REST:ISSUBROOM"), 0, ConditionalRoomIsRESTSubRoom, CTX_ROOMS);