X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Froomlist.c;h=b9f967ce6cd6fd988e9897130c2d931c9b1fdd81;hb=HEAD;hp=869a594fa8952f4543873e140ff7444746aa719e;hpb=08c16cd4d6d989d6511d187f41113040cfeda14b;p=citadel.git diff --git a/webcit/roomlist.c b/webcit/roomlist.c index 869a594fa..ccd54e074 100644 --- a/webcit/roomlist.c +++ b/webcit/roomlist.c @@ -3,7 +3,7 @@ */ #include "webcit.h" -#include "webserver.h" + typedef enum __eRoomParamType { eNotSet, @@ -427,6 +427,7 @@ HashList *GetThisRoomPossibleMAlias(StrBuf *Target, WCTemplputParams *TP) HashList *Domains; StrBuf *Line; StrBuf *Token; + StrBuf *RoomName; HashList *PossibleAliases = NULL; const char *pComma; @@ -439,14 +440,21 @@ HashList *GetThisRoomPossibleMAlias(StrBuf *Target, WCTemplputParams *TP) Domains = GetValidDomainNames(Target, TP); if (Domains == NULL) return NULL; + if (GetCount(Domains) == 0) { + DeleteHash(&Domains); + return NULL; + } PossibleAliases = NewHash(1, NULL); Line = NewStrBuf(); + RoomName = NewStrBufDup(WCC->CurRoom.name); + StrBufAsciify(RoomName, '_'); + StrBufReplaceChars(RoomName, ' ', '_'); AppendPossibleAliasWithDomain(PossibleAliases, &n, Domains, HKEY("room_"), - SKEY(WCC->CurRoom.name)); + SKEY(RoomName)); serv_puts("GNET "FILE_MAILALIAS); @@ -500,9 +508,9 @@ HashList *GetThisRoomPossibleMAlias(StrBuf *Target, WCTemplputParams *TP) } else if (State == 550) AppendImportantMessage(_("Higher access is required to access this function."), -1); - + DeleteHash(&Domains); FreeStrBuf(&Line); - + FreeStrBuf(&RoomName); return PossibleAliases; } @@ -869,13 +877,13 @@ int ConditionalRoomIsRESTSubRoom(StrBuf *Target, WCTemplputParams *TP) urlp = GetCount(WCC->Directory); delta = Folder->nRoomNameParts - urlp + 1; - syslog(0, "\n->%s: %d - %ld ", + syslog(LOG_DEBUG, "\n->%s: %d - %ld ", ChrPtr(Folder->name), urlp, Folder->nRoomNameParts); /* list only the floors which are in relation to the dav_depth header */ if (WCC->Hdr->HR.dav_depth != delta) { - syslog(0, "1\n"); + syslog(LOG_DEBUG, "1\n"); return 0; } @@ -895,7 +903,7 @@ int ConditionalRoomIsRESTSubRoom(StrBuf *Target, WCTemplputParams *TP) { DeleteHashPos(&it); - syslog(0, "3\n"); + syslog(LOG_DEBUG, "3\n"); return 0; } Dir = (StrBuf*) vDir; @@ -903,7 +911,7 @@ int ConditionalRoomIsRESTSubRoom(StrBuf *Target, WCTemplputParams *TP) ChrPtr(Dir)) != 0) { DeleteHashPos(&it); - syslog(0, "4\n"); + syslog(LOG_DEBUG, "4\n"); return 0; } } @@ -917,7 +925,7 @@ int ConditionalRoomIsRESTSubRoom(StrBuf *Target, WCTemplputParams *TP) { DeleteHashPos(&it); - syslog(0, "5\n"); + syslog(LOG_DEBUG, "5\n"); return WCC->Hdr->HR.dav_depth == 1; } DeleteHashPos(&it); @@ -943,8 +951,8 @@ InitModule_ROOMLIST 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); - RegisterIterator("ITERATE:THISROOM:MALIAS", 1, NULL, GetThisRoomMAlias, NULL, NULL, CTX_STRBUF, CTX_NONE, IT_NOFLAG); - RegisterIterator("ITERATE:THISROOM:POSSIBLE:MALIAS", 1, NULL, GetThisRoomPossibleMAlias, NULL, NULL, CTX_STRBUF, CTX_NONE, IT_NOFLAG); + RegisterIterator("ITERATE:THISROOM:MALIAS", 1, NULL, GetThisRoomMAlias, NULL, DeleteHash, CTX_STRBUF, CTX_NONE, IT_NOFLAG); + RegisterIterator("ITERATE:THISROOM:POSSIBLE:MALIAS", 1, NULL, GetThisRoomPossibleMAlias, NULL, DeleteHash, CTX_STRBUF, CTX_NONE, IT_NOFLAG); 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);