]> code.citadel.org Git - citadel.git/blobdiff - webcit/webcit.h
Finished the trailing_javascript API and moved a few things to it
[citadel.git] / webcit / webcit.h
index ebb565fc8cb91288dbd3b918e30a9ce95d553362..265e6f0254361b8bcdf756ad2863e6544cc79715 100644 (file)
@@ -107,9 +107,9 @@ extern locale_t wc_locales[];
 #define PORT_NUM               2000            /* port number to listen on */
 #define DEVELOPER_ID           0
 #define CLIENT_ID              4
-#define CLIENT_VERSION         737             /* This version of WebCit */
-#define MINIMUM_CIT_VERSION    737             /* min required Citadel ver */
-#define        LIBCITADEL_MIN          738             /* min required libcitadel ver */
+#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 DEFAULT_HOST           "localhost"     /* Default Citadel server */
 #define DEFAULT_PORT           "504"
 #define TARGET                 "webcit01"      /* Target for inline URL's */
@@ -282,7 +282,7 @@ typedef struct _TemplateToken {
        TemplateParam *Params[MAXPARAM];
 } WCTemplateToken;
 
-typedef void (*WCHandlerFunc)(StrBuf *Target, int nArgs, WCTemplateToken *Token, void *Context, int ContextType);
+typedef void (*WCHandlerFunc)();
 
 
 /**
@@ -305,7 +305,7 @@ typedef struct _wcsubst {
 #define CTX_WHO 5
 #define CTX_PREF 6
 #define CTX_NODECONF 7
-
+#define CTX_USERLIST 8
 
 void RegisterNS(const char *NSName, long len, 
                int nMinArgs, 
@@ -352,8 +352,8 @@ void SVCallback(char *keyname, size_t keylen,  WCHandlerFunc fcn_ptr);
 void SVPUTBuf(const char *keyname, int keylen, const StrBuf *Buf, int ref);
 #define SVPutBuf(a, b, c); SVPUTBuf(a, sizeof(a) - 1, b, c)
 
-void DoTemplate(const char *templatename, long len, void *Context, StrBuf *Target, int ContextType);
-#define do_template(a, b) DoTemplate(a, sizeof(a) -1, b, NULL, 0);
+void DoTemplate(const char *templatename, long len, StrBuf *Target, void *Context, int ContextType);
+#define do_template(a, b) DoTemplate(a, sizeof(a) -1, NULL, b, 0);
 void url_do_template(void);
 
 int CompareSubstToToken(TemplateParam *ParamToCompare, TemplateParam *ParamToLookup);
@@ -505,6 +505,8 @@ struct wcsession {
 
        HashList *ServCfg;                      /**< cache our server config for editing */
        HashList *InetCfg;                      /**< Our inet server config for editing */
+
+       StrBuf *trailing_javascript;            /**< extra javascript to be appended to page */
 };
 
 /** values for WC->current_iconbar */
@@ -742,7 +744,7 @@ int is_msg_in_mset(char *mset, long msgnum);
 void display_addressbook(long msgnum, char alpha);
 void offer_start_page(StrBuf *Target, int nArgs, WCTemplateToken *Token, void *Context, int ContextType);
 void convenience_page(char *titlebarcolor, char *titlebarmsg, char *messagetext);
-void output_html(char *, int);
+void output_html(char *, int, int);
 void do_listsub(void);
 void toggle_self_service(void);
 ssize_t write(int fd, const void *buf, size_t count);
@@ -772,7 +774,7 @@ void display_pictureview(void);
 void display_edit_task(void);
 void display_edit_event(void);
 icaltimezone *get_default_icaltimezone(void);
-void display_icaltimetype_as_webform(struct icaltimetype *, char *);
+void display_icaltimetype_as_webform(struct icaltimetype *, char *, int);
 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, char *from, int unread);
@@ -824,6 +826,7 @@ void end_tab(int tabnum, int num_tabs);
 void str_wiki_index(char *s);
 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);
 int fetch_http(char *url, char *target_buf, int maxbytes);