#ifdef ENABLE_NLS
#include <libintl.h>
#include <locale.h>
+#ifdef HAVE_USELOCALE
extern locale_t wc_locales[];
+#endif
#define _(string) gettext(string)
#else
#define _(string) (string)
#define PORT_NUM 2000 /* port number to listen on */
#define DEVELOPER_ID 0
#define CLIENT_ID 4
-#define CLIENT_VERSION 730 /* This version of WebCit */
+#define CLIENT_VERSION 734 /* This version of WebCit */
#define MINIMUM_CIT_VERSION 730 /* min required Citadel ver */
-#define LIBCITADEL_MIN 105 /* min required libcitadel ver */
+#define LIBCITADEL_MIN 109 /* min required libcitadel ver */
#define DEFAULT_HOST "localhost" /* Default Citadel server */
#define DEFAULT_PORT "504"
#define LB (1) /* Internal escape chars */
char this_page[512]; /**< URL of current page */
char http_host[512]; /**< HTTP Host: header */
HashList *hash_prefs; /**< WebCit preferences for this user */
-#ifdef WEBCIT_WITH_CALENDAR_SERVICE
- /** \brief ical???? */
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 */
-#endif
struct wc_attachment *first_attachment; /**< linked list of attachments for 'enter message' */
char last_chat_user[256]; /**< ??? todo */
char ImportantMessage[SIZ]; /**< ??? todo */
void get_serv_info(char *, char *);
int uds_connectsock(char *);
int tcp_connectsock(char *, char *);
-void serv_getln(char *strbuf, int bufsize);
+int serv_getln(char *strbuf, int bufsize);
void serv_puts(char *string);
void who(void);
void who_inner_div(void);
void set_preference(char *key, char *value, int save_to_server);
void knrooms(void);
int is_msg_in_mset(char *mset, long msgnum);
-char *safestrncpy(char *dest, const char *src, size_t n);
void display_addressbook(long msgnum, char alpha);
void offer_start_page(void);
void convenience_page(char *titlebarcolor, char *titlebarmsg, char *messagetext);
void summary_inner_div(void);
ssize_t write(int fd, const void *buf, size_t count);
void cal_process_attachment(char *part_source, long msgnum, char *cal_partnum);
-void display_calendar(long msgnum);
-void display_task(long msgnum);
-void display_note(long msgnum);
+void display_calendar(long msgnum, int unread);
+void display_task(long msgnum, int unread);
+void display_note(long msgnum, int unread);
void updatenote(void);
void do_calendar_view(void);
void do_tasks_view(void);
void list_all_rooms_by_floor(char *viewpref);
void display_room_directory(void);
void display_picture(void);
+void display_pictureview(void);
void download_file(char *);
void upload_file(void);
-#ifdef WEBCIT_WITH_CALENDAR_SERVICE
void display_edit_task(void);
void save_task(void);
void display_edit_event(void);
void display_icaltimetype_as_webform(struct icaltimetype *, char *);
void icaltime_from_webform(struct icaltimetype *result, char *prefix);
void icaltime_from_webform_dateonly(struct icaltimetype *result, char *prefix);
-void display_edit_individual_event(icalcomponent *supplied_vtodo, long msgnum);
-void save_individual_event(icalcomponent *supplied_vtodo, long msgnum);
+void display_edit_individual_event(icalcomponent *supplied_vtodo, long msgnum, char *from, int unread);
+void save_individual_event(icalcomponent *supplied_vtodo, long msgnum, char *from, int unread);
void respond_to_request(void);
void handle_rsvp(void);
void ical_dezonify(icalcomponent *cal);
struct icaltimetype t2start,
struct icaltimetype t2end
);
-#endif
#ifdef ENABLE_NLS
void initialize_locales(void);
int xtoi(char *in, size_t len);
void webcit_fmt_date(char *buf, time_t thetime, int brief);
+
#ifdef HAVE_ICONV
iconv_t ctdl_iconv_open(const char *tocode, const char *fromcode);
#endif
const Bytef * source, uLong sourceLen, int level);
#endif
-#ifdef HAVE_ICONV
void utf8ify_rfc822_string(char *buf);
-#endif
void begin_burst(void);
void end_burst(void);