X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Fwebcit.h;h=21cc98451d6a77972d3635da317d9aa1a1ed75a9;hb=5821957809c4b695433dc097ccb9b7c59121c2f1;hp=5b2aa23ce95835f6d7640685a0332c8cff44b162;hpb=cc79f17812982e6e5a20ffec485bb6f6d88c2bb9;p=citadel.git diff --git a/webcit/webcit.h b/webcit/webcit.h index 5b2aa23ce..21cc98451 100644 --- a/webcit/webcit.h +++ b/webcit/webcit.h @@ -113,9 +113,9 @@ #define PORT_NUM 2000 /* port number to listen on */ #define DEVELOPER_ID 0 #define CLIENT_ID 4 -#define CLIENT_VERSION 739 /* This version of WebCit */ -#define MINIMUM_CIT_VERSION 739 /* min required Citadel ver */ -#define LIBCITADEL_MIN 739 /* min required libcitadel ver */ +#define CLIENT_VERSION 744 /* This version of WebCit */ +#define MINIMUM_CIT_VERSION 744 /* min required Citadel ver */ +#define LIBCITADEL_MIN 743 /* min required libcitadel ver */ #define DEFAULT_HOST "localhost" /* Default Citadel server */ #define DEFAULT_PORT "504" #define TARGET "webcit01" /* Target for inline URL's */ @@ -214,7 +214,7 @@ struct urlcontent { /* * \brief information about us ??? */ -struct serv_info { +typedef struct _serv_info { int serv_pid; /* Process ID of the Citadel server */ StrBuf *serv_nodename; /* Node name of the Citadel server */ StrBuf *serv_humannode; /* human readable node name of the Citadel server */ @@ -232,7 +232,7 @@ struct serv_info { int serv_fulltext_enabled; /* Does the server have the full text index enabled? */ StrBuf *serv_svn_revision; /* SVN revision of the server */ int serv_supports_openid; /* Does the server support authentication via OpenID? */ -}; +} ServInfo; @@ -292,7 +292,11 @@ typedef struct _disp_cal { int is_repeat; } disp_cal; - +typedef struct _ical_map { + const char *Name; + long NameLen; + long eenum; +} IcalEnumMap; /* * Address book entry (keep it short and sweet, it's just a quickie lookup @@ -340,14 +344,17 @@ struct wcsession { /* Session local Members */ int http_sock; /**< HTTP server socket */ int serv_sock; /**< Client socket to Citadel server */ + StrBuf *ReadBuf; int chat_sock; /**< Client socket to Citadel server - for chat */ time_t lastreq; /**< Timestamp of most recent HTTP */ time_t last_pager_check; /**< last time we polled for instant msgs */ + ServInfo *serv_info; /**< Iformation about the citserver we're connected to */ /* Request local Members */ StrBuf *CLineBuf; /**< linebuffering client stuff */ StrBuf *UrlFragment1; /**< first urlfragment, if NEED_URL is specified by the handler*/ StrBuf *UrlFragment2; /**< second urlfragment, if NEED_URL is specified by the handler*/ StrBuf *UrlFragment3; /**< third urlfragment, if NEED_URL is specified by the handler*/ + StrBuf *UrlFragment4; /**< fourth urlfragment, if NEED_URL is specified by the handler*/ StrBuf *WBuf; /**< Our output buffer */ StrBuf *HBuf; /**< Our HeaderBuffer */ StrBuf *this_page; /**< URL of current page */ @@ -488,7 +495,6 @@ extern char file_crpt_file_csr[PATH_MAX]; extern char file_crpt_file_cer[PATH_MAX]; #endif -struct serv_info serv_info; extern char floorlist[128][SIZ]; extern char *axdefs[]; extern char *ctdlhost, *ctdlport; @@ -526,11 +532,13 @@ void display_main_menu(void); void display_aide_menu(void); void display_advanced_menu(void); void slrp_highest(void); -void get_serv_info(StrBuf *, char *); +ServInfo *get_serv_info(StrBuf *, char *); +void DeleteServInfo(ServInfo **FreeMe); int uds_connectsock(char *); int tcp_connectsock(char *, char *); int serv_getln(char *strbuf, int bufsize); int StrBuf_ServGetln(StrBuf *buf); +int StrBuf_ServGetlnBuffered(StrBuf *buf); int GetServerStatus(StrBuf *Line, long* FullState); void serv_puts(const char *string); void who(void); @@ -576,15 +584,14 @@ void escputs1(const char *strbuf, int nbsp, int nolinebreaks); void msgesc(char *target, size_t tlen, char *strbuf); void msgescputs(char *strbuf); void msgescputs1(char *strbuf); -void stripout(char *str, char leftboundary, char rightboundary); void dump_vars(void); void embed_main_menu(void); void serv_read(char *buf, int bytes); void SetAccessCommand(long Oper); void do_addrbook_view(addrbookent *addrbook, int num_ab); -void fetch_ab_name(message_summary *Msg, char *namebuf); -void display_vcard(StrBuf *Target, const char *vcard_source, char alpha, int full, char *storename, long msgnum); +void fetch_ab_name(message_summary *Msg, char **namebuf); +void display_vcard(StrBuf *Target, const char *vcard_source, char alpha, int full, char **storename, long msgnum); void jsonMessageList(void); void new_summary_view(void); void getseen(void); @@ -602,10 +609,8 @@ void confirm_delete_room(void); void validate(void); void display_graphics_upload(char *, char *, char *); void do_graphics_upload(char *upl_cmd); -void serv_read(char *buf, int bytes); void serv_gets(char *strbuf); void serv_write(const char *buf, int nbytes); -void serv_puts(const char *string); void serv_putbuf(const StrBuf *string); void serv_printf(const char *format,...)__attribute__((__format__(__printf__,1,2))); void load_floorlist(void); @@ -720,7 +725,12 @@ long guess_calhourformat(void); int get_time_format_cached (void); int xtoi(const char *in, size_t len); const char *get_selected_language(void); -void webcit_fmt_date(char *buf, time_t thetime, int brief); + +#define DATEFMT_FULL 0 +#define DATEFMT_BRIEF 1 +#define DATEFMT_RAWDATE 2 +#define DATEFMT_LOCALEDATE 3 +void webcit_fmt_date(char *buf, time_t thetime, int Format); int fetch_http(char *url, char *target_buf, int maxbytes); void free_attachments(wcsession *sess); void summary(void);