X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Froomops.h;h=7d9cd89e3792281e9e51ac22bb9796fa76a276cd;hb=08c16cd4d6d989d6511d187f41113040cfeda14b;hp=e5ab76ab6f6cc8b5ecf1ffa96fda245e620d5abb;hpb=664ad44c0db310f12916c797a5bc5d33532aa5f2;p=citadel.git diff --git a/webcit/roomops.h b/webcit/roomops.h index e5ab76ab6..7d9cd89e3 100644 --- a/webcit/roomops.h +++ b/webcit/roomops.h @@ -56,13 +56,8 @@ struct __ofolder { */ typedef struct _folder { /* Data citserver tells us about the room */ - StrBuf *name; /* the full name of the room we're talking about */ long QRFlags; /* roomflags */ - int floorid; /* which floor is it on */ - - long listorder; /* todo */ long QRFlags2; /* Bitbucket NO2 */ - long RAFlags; int view; /* whats its default view? inbox/calendar.... */ @@ -70,9 +65,11 @@ typedef struct _folder { long lastchange; /* todo... */ /* later evaluated data from the serverdata */ + StrBuf *name; /* the full name of the room we're talking about */ long nRoomNameParts; StrBuf **RoomNameParts; + int floorid; /* which floor is it on */ const Floor *Floor; /* point to the floor we're on.. */ int hasnewmsgs; /* are there unread messages inside */ @@ -81,15 +78,15 @@ typedef struct _folder { int RoomAideLoaded; StrBuf *RoomAide; +/* only available if GNET contains this */ + const StrBuf* RoomAlias; /* by what mail will this room send mail? */ + +/* only available if GETR was run */ int XALoaded; StrBuf *XAPass; StrBuf *Directory; long Order; - int selectable; /* can we select it ??? */ - long num_rooms; /* If this is a floor, how many rooms does it have */ - - /* Only available from the GOTO context... */ long nNewMessages; long nTotalMessages; @@ -98,7 +95,7 @@ typedef struct _folder { int ShowInfo; int UsersNewMAilboxMessages; /* should we notify the user about new messages? */ int IsTrash; - +/* Only available if certain other commands ran */ int XHaveRoomPic; int XHaveRoomPicLoaded; @@ -107,15 +104,39 @@ typedef struct _folder { int XHaveDownloadCount; int XDownloadCount; + + int BumpUsers; /* if SETR set to 1 to make all users who knew this room to forget about it. */ - HashList *IgnetCfgs[maxRoomNetCfg]; - + HashList *IgnetCfgs[maxRoomNetCfg + 1]; }folder; HashList *GetFloorListHash(StrBuf *Target, WCTemplputParams *TP); void vDeleteFolder(void *vFolder); void FlushFolder(folder *room); +void FlushIgnetCfgs(folder *room); void ParseGoto(folder *proom, StrBuf *Line); +void FlushRoomlist(void); /* release our caches, so a deleted / zapped room disapears */ +void ReloadCurrentRoom(void); /* Flush cache; reload current state */ + +HashList *GetFloorListHash(StrBuf *Target, WCTemplputParams *TP); +HashList *GetRoomListHash(StrBuf *Target, WCTemplputParams *TP); +int SortRoomsByListOrder(const void *room1, const void *room2); +void tmplput_roombanner(StrBuf *Target, WCTemplputParams *TP); + + +void LoadRoomAide(void); +void LoadRoomXA (void); +void LoadXRoomPic(void); +void LoadXRoomInfoText(void); +void LoadXRoomXCountFiles(void); + +long gotoroom(const StrBuf *gname); + +void slrp_highest(void); +void remove_march(const StrBuf *aaa); +void dotskip(void); +void smart_goto(const StrBuf *next_room); +void free_march_list(wcsession *wcf); /* * wrapper around usual sort-comparator; private rooms will allways be prefered, -1 if one of them NULL @@ -131,3 +152,6 @@ int CompareRooms(const folder *room1, const folder *room2); #define REST_GOT_LOCAL_PART (1<<4) #define REST_NONEXIST (1<<5) + +extern CtxType CTX_ROOMS; +extern CtxType CTX_FLOORS;