#include <zlib.h>
#endif
+#ifdef HAVE_ICAL_H
+#include <ical.h>
+#endif
+
#define SIZ 4096 /* generic buffer size */
#define TRACE fprintf(stderr, "Checkpoint: %s, %d\n", __FILE__, __LINE__)
char this_page[SIZ]; /* address of current page */
char http_host[SIZ]; /* HTTP Host: header */
char *preferences;
-#ifdef HAVE_ZLIB_H
- int gzcompressed; /* nonzero if compressed output */
- gzFile gzfd; /* stream to send compressed */
+#ifdef HAVE_ICAL_H
+ icalcomponent **disp_cal; /* store calendar items for display */
+ long *cal_msgnum; /* store calendar msgids for display */
+ int num_cal;
#endif
};
void embed_room_banner(char *);
void smart_goto(char *);
void worker_entry(void);
-void session_loop(struct httprequest *, int gzip);
+void session_loop(struct httprequest *);
void fmt_date(char *buf, time_t thetime);
void httpdate(char *buf, time_t thetime);
void end_webcit_session(void);
void summary(void);
ssize_t write(int fd, const void *buf, size_t count);
void cal_process_attachment(char *part_source);
+void display_calendar(long msgnum);
+void display_task(long msgnum);
+void do_calendar_view(void);
+
+#ifdef HAVE_ICAL_H
+void display_edit_task(void);
+void save_task(void);
+void display_edit_event(void);
+void save_event(void);
+void display_icaltimetype_as_webform(struct icaltimetype *, char *);
+struct icaltimetype icaltime_from_webform(char *prefix);
+void display_edit_individual_event(icalcomponent *supplied_vtodo, long msgnum);
+void save_individual_event(icalcomponent *supplied_vtodo, long msgnum);
+#endif
+
+extern char *months[];
+extern char *days[];