X-Git-Url: https://code.citadel.org/?p=citadel.git;a=blobdiff_plain;f=webcit%2Froomviews.c;h=18563000db4ebc8062d6d7c76d42627c2d4319d2;hp=6d2544ba852d6f8ac2584f0fdbb0276650f58461;hb=c73091a2ae896b6be5aa94b911c1c89d76a85688;hpb=9d4b5d1bf7a6e7101099871c5d293722f0225fc6 diff --git a/webcit/roomviews.c b/webcit/roomviews.c index 6d2544ba8..18563000d 100644 --- a/webcit/roomviews.c +++ b/webcit/roomviews.c @@ -11,7 +11,7 @@ char *viewdefs[VIEW_MAX]; * This table defines which views may be selected as the * default view for a room at the time of its creation. */ -ROOM_VIEWS allowed_default_views[VIEW_MAX] = { +int allowed_default_views[VIEW_MAX] = { 1, /* VIEW_BBS Bulletin board */ 1, /* VIEW_MAILBOX Mailbox summary */ 1, /* VIEW_ADDRESSBOOK Address book */ @@ -22,7 +22,8 @@ ROOM_VIEWS allowed_default_views[VIEW_MAX] = { 0, /* VIEW_CALBRIEF Brief Calendar */ 0, /* VIEW_JOURNAL Journal */ 0, /* VIEW_DRAFTS Drafts */ - 0 /* VIEW_BLOG Blog */ + 1, /* VIEW_BLOG Blog */ + 0 /* VIEW_QUEUE Mail Queue */ }; /* @@ -30,17 +31,17 @@ ROOM_VIEWS allowed_default_views[VIEW_MAX] = { * which alternate views may be selected by the user. */ ROOM_VIEWS exchangeable_views[VIEW_MAX][VIEW_MAX] = { - { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, /* bulletin board */ - { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, /* mailbox summary */ - { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 }, /* address book */ - { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, /* calendar */ - { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, /* tasks */ - { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 }, /* notes */ - { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, /* wiki */ - { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 }, /* brief calendar */ - { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 }, /* journal */ - { 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1 }, /* drafts */ - { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 } /* blog */ + { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 }, /* bulletin board */ + { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 }, /* mailbox summary */ + { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* address book */ + { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 }, /* calendar */ + { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, /* tasks */ + { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, /* notes */ + { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 }, /* wiki */ + { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0 }, /* brief calendar */ + { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 }, /* journal */ + { 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0 }, /* drafts */ + { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 }, /* blog */ }; /* @@ -63,7 +64,7 @@ void initialize_viewdefs(void) { void tmplput_ROOM_COLLECTIONTYPE(StrBuf *Target, WCTemplputParams *TP) { - folder *Folder = (folder *)CTX; + folder *Folder = (folder *)CTX(CTX_ROOMS); switch(Folder->view) { case VIEW_CALENDAR: @@ -91,9 +92,9 @@ void tmplput_ROOM_COLLECTIONTYPE(StrBuf *Target, WCTemplputParams *TP) int ConditionalRoomHasGroupdavContent(StrBuf *Target, WCTemplputParams *TP) { - folder *Folder = (folder *)CTX; + folder *Folder = (folder *)CTX(CTX_ROOMS); - lprintf(0, "-> %s: %ld\n", ChrPtr(Folder->name), Folder->view); + syslog(LOG_DEBUG, "-> %s: %d\n", ChrPtr(Folder->name), Folder->view); return ((Folder->view == VIEW_CALENDAR) || (Folder->view == VIEW_TASKS) || @@ -228,12 +229,12 @@ int ConditionalThisRoomHaveView(StrBuf *Target, WCTemplputParams *TP) void tmplput_ROOM_VIEW(StrBuf *Target, WCTemplputParams *TP) { - folder *Folder = (folder *)CTX; + folder *Folder = (folder *)CTX(CTX_ROOMS); StrBufAppendPrintf(Target, "%d", Folder->view); } void tmplput_ROOM_DEFVIEW(StrBuf *Target, WCTemplputParams *TP) { - folder *Folder = (folder *)CTX; + folder *Folder = (folder *)CTX(CTX_ROOMS); StrBufAppendPrintf(Target, "%d", Folder->defview); } @@ -249,22 +250,26 @@ void InitModule_ROOMVIEWS (void) { + /* we duplicate this, just to be shure its already done. */ + RegisterCTX(CTX_ROOMS); + RegisterCTX(CTX_FLOORS); + initialize_viewdefs(); RegisterNamespace("THISROOM:VIEW_STRING", 0, 1, tmplput_CurrentRoomViewString, NULL, CTX_NONE); RegisterNamespace("ROOM:VIEW_STRING", 1, 2, tmplput_RoomViewString, NULL, CTX_NONE); - RegisterConditional(HKEY("COND:ALLOWED_DEFAULT_VIEW"), 0, ConditionalIsAllowedDefaultView, CTX_NONE); - RegisterConditional(HKEY("COND:THISROOM:DEFAULT_VIEW"), 0, ConditionalThisRoomDefView, CTX_NONE); + RegisterConditional("COND:ALLOWED_DEFAULT_VIEW", 0, ConditionalIsAllowedDefaultView, CTX_NONE); + RegisterConditional("COND:THISROOM:DEFAULT_VIEW", 0, ConditionalThisRoomDefView, CTX_NONE); RegisterNamespace("THISROOM:DEFAULT_VIEW", 0, 0, tmplput_CurrentRoomDefView, NULL, CTX_NONE); RegisterNamespace("ROOM:INFO:DEFVIEW", 0, 1, tmplput_ROOM_DEFVIEW, NULL, CTX_ROOMS); - RegisterConditional(HKEY("COND:ROOM:TYPE_IS"), 0, ConditionalIsRoomtype, CTX_NONE); + RegisterConditional("COND:ROOM:TYPE_IS", 0, ConditionalIsRoomtype, CTX_NONE); - RegisterConditional(HKEY("COND:THISROOM:HAVE_VIEW"), 0, ConditionalThisRoomHaveView, CTX_NONE); - RegisterConditional(HKEY("COND:ROOM:GROUPDAV_CONTENT"), 0, ConditionalRoomHasGroupdavContent, CTX_ROOMS); + RegisterConditional("COND:THISROOM:HAVE_VIEW", 0, ConditionalThisRoomHaveView, CTX_NONE); + RegisterConditional("COND:ROOM:DAV_CONTENT", 0, ConditionalRoomHasGroupdavContent, CTX_ROOMS); - RegisterConditional(HKEY("COND:THISROOM:CURR_VIEW"), 0, ConditionalThisRoomCurrView, CTX_NONE); + RegisterConditional("COND:THISROOM:CURR_VIEW", 0, ConditionalThisRoomCurrView, CTX_NONE); RegisterNamespace("ROOM:INFO:VIEW", 0, 1, tmplput_ROOM_VIEW, NULL, CTX_ROOMS); RegisterNamespace("ROOM:INFO:COLLECTIONTYPE", 0, 1, tmplput_ROOM_COLLECTIONTYPE, NULL, CTX_ROOMS);