#define CLIENT_ID 4
#define CLIENT_VERSION 735 /* This version of WebCit */
#define MINIMUM_CIT_VERSION 730 /* min required Citadel ver */
-#define LIBCITADEL_MIN 111 /* min required libcitadel ver */
+#define LIBCITADEL_MIN 113 /* min required libcitadel ver */
#define DEFAULT_HOST "localhost" /* Default Citadel server */
#define DEFAULT_PORT "504"
#define LB (1) /* Internal escape chars */
int num_rooms; /**< If this is a floor, how many rooms does it have */
};
+typedef struct _disp_cal {
+ icalcomponent *cal; /**< cal items for display */
+ long cal_msgnum; /**< cal msgids for display */
+ char *from; /**< owner of this component */
+ int unread; /**< already seen by the user? */
+
+ time_t event_start;
+ time_t event_end;
+
+ int multi_day_event;
+ int is_repeat;
+} disp_cal;
+
+
/**
* \brief One of these is kept for each active Citadel session.
* HTTP transactions are bound to on e at a time.
char this_page[512]; /**< URL of current page */
char http_host[512]; /**< HTTP Host: header */
HashList *hash_prefs; /**< WebCit preferences for this user */
- struct disp_cal {
- icalcomponent *cal; /**< cal items for display */
- long cal_msgnum; /**< cal msgids for display */
- char *from; /**< owner of this component */
- int unread; /**< already seen by the user? */
- } *disp_cal;
- int num_cal; /**< number of calendar items for display */
+ HashList *disp_cal_items; /**< sorted list of calendar items; startdate is the sort criteria. */
struct wc_attachment *first_attachment; /**< linked list of attachments for 'enter message' */
char last_chat_user[256]; /**< ??? todo */
char ImportantMessage[SIZ]; /**< ??? todo */
void locate_host(char *, int);
void become_logged_in(char *, char *, char *);
void do_login(void);
+void do_openid_login(void);
+void finalize_openid_login(void);
void display_login(char *mesg);
+void display_openid_login(char *mesg);
+void display_openids(void);
+void openid_attach(void);
void do_welcome(void);
void do_logout(void);
void display_main_menu(void);
void ajax_update_note(void);
void do_calendar_view(void);
void do_tasks_view(void);
-void free_calendar_buffer(void);
void calendar_summary_view(void);
int load_msg_ptrs(char *servcmd, int with_headers);
void free_attachments(struct wcsession *sess);
int get_time_format_cached (void);
int xtoi(char *in, size_t len);
void webcit_fmt_date(char *buf, time_t thetime, int brief);
+int fetch_http(char *url, char *target_buf, int maxbytes);
#ifdef HAVE_ICONV