24#include "../../sysdep.h"
38#include <libcitadel.h>
39#include "../../citadel.h"
40#include "../../server.h"
41#include "../../sysdep_decls.h"
42#include "../../citserver.h"
43#include "../../support.h"
44#include "../../config.h"
45#include "../../user_ops.h"
46#include "../../database.h"
47#include "../../msgbase.h"
48#include "../../internet_addressing.h"
53#include "../../genstamp.h"
54#include "../../ctdl_module.h"
69 int setting_user_value = 0;
71 int set_view = VIEW_BBS;
82 if (strcasecmp(Params[3].Key,
"/vendor/kolab/folder-type")) {
83 IReply(
"NO [METADATA TOOMANY] SETMETADATA failed");
87 if (!strcasecmp(Params[4].Key,
"(value.shared")) {
88 setting_user_value = 0;
90 else if (!strcasecmp(Params[4].Key,
"(value.priv")) {
91 setting_user_value = 1;
94 IReply(
"NO [METADATA TOOMANY] SETMETADATA failed");
102 extract_token(set_value, Params[5].Key, 0,
')',
sizeof set_value);
103 if (!strncasecmp(set_value,
"mail", 4)) {
104 set_view = VIEW_MAILBOX;
106 else if (!strncasecmp(set_value,
"event", 5)) {
107 set_view = VIEW_CALENDAR;
109 else if (!strncasecmp(set_value,
"contact", 7)) {
110 set_view = VIEW_ADDRESSBOOK;
112 else if (!strncasecmp(set_value,
"journal", 7)) {
113 set_view = VIEW_JOURNAL;
115 else if (!strncasecmp(set_value,
"note", 4)) {
116 set_view = VIEW_NOTES;
118 else if (!strncasecmp(set_value,
"task", 4)) {
119 set_view = VIEW_TASKS;
122 set_view = VIEW_MAILBOX;
127 IReply(
"NO Invalid mailbox name or access denied");
135 if (
IMAP->selected) {
136 strcpy(savedroom,
CC->room.QRname);
149 if (setting_user_value)
151 IReply(
"OK SETANNOTATION complete");
159 && (
CC->user.usernum == atol(
CC->room.QRname))
164 CC->room.QRdefaultview = set_view;
166 IReply(
"OK SETANNOTATION complete");
171 IReply(
"NO [METADATA TOOMANY] SETMETADATA failed");
177 if ( (
IMAP->selected) && (strcasecmp(roomname, savedroom)) ) {
206 IReply(
"NO Invalid mailbox name or access denied");
214 if (
IMAP->selected) {
215 strcpy(savedroom,
CC->room.QRname);
221 IAPuts(
" \"/vendor/kolab/folder-type\" (\"value.shared\" \"");
225 if (
CC->room.QRname[10] ==
'.')
227 if (!strcasecmp(&
CC->room.QRname[11],
MAILROOM)) {
231 else if (!strcasecmp(&
CC->room.QRname[11],
SENTITEMS)) {
245 IAPuts(
"contact.default");
265 if (
CC->room.QRdefaultview == VIEW_CALENDAR) {
268 else if (
CC->room.QRdefaultview == VIEW_ADDRESSBOOK) {
271 else if (
CC->room.QRdefaultview == VIEW_TASKS) {
274 else if (
CC->room.QRdefaultview == VIEW_NOTES) {
277 else if (
CC->room.QRdefaultview == VIEW_JOURNAL) {
294 if ( (
IMAP->selected) && (strcasecmp(roomname, savedroom)) ) {
298 IReply(
"OK GETMETADATA complete");
void CtdlGetRelationship(visit *vbuf, struct ctdluser *rel_user, struct ctdlroom *rel_room)
int CtdlGetRoomLock(struct ctdlroom *qrbuf, const char *room_name)
void CtdlSetRelationship(visit *newvisit, struct ctdluser *rel_user, struct ctdlroom *rel_room)
void CtdlUserGoto(char *where, int display_result, int transiently, int *msgs, int *new, long *oldest, long *newest)
void CtdlPutRoomLock(struct ctdlroom *qrbuf)
int imap_grabroom(char *returned_roomname, const char *foldername, int zapped_ok)