Revert "Remove ENABLE_NLS definition. Either we HAVE_USELOCALE or we don't translate...
[citadel.git] / webcit / webcit.h
index 5166d0e8605fb8da0ca278284fdb02076e9f29c0..e713e75bbfb4b0bc62db459339fd082678bdac01 100644 (file)
@@ -1,19 +1,13 @@
 /*
- * Copyright (c) 1987-2011 by the citadel.org team
+ * Copyright (c) 1987-2012 by the citadel.org team
  *
  * This program is open source software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
+ * modify it under the terms of the GNU General Public License version 3.
  *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  */
 
 #include "sysdep.h"
@@ -52,6 +46,7 @@
 #include <signal.h>
 #include <syslog.h>
 #include <sys/utsname.h>
+#include <expat.h>
 #include <libcitadel.h>
 
 #ifdef HAVE_ICONV
 #endif
 
 #define IsEmptyStr(a) ((a)[0] == '\0')
-/*
- * Uncomment to dump an HTTP trace to stderr
-#define HTTP_TRACING 1
- */
 
 #define DO_DBG_QR 0
 #define DBG_QR(x) if(DO_DBG_QR) _DBG_QR(x)
 #define DBG_QR2(x) if(DO_DBG_QR) _DBG_QR2(x)
 
-#ifdef HTTP_TRACING
-#undef HAVE_ZLIB_H
-#undef HAVE_ZLIB
-#endif
-
-#ifdef HAVE_ZLIB_H
 #include <zlib.h>
-#endif
 
 #include <libical/ical.h>
 
@@ -144,12 +128,12 @@ extern char *ssl_cipher_list;
 #define PORT_NUM               2000            /* port number to listen on */
 #define DEVELOPER_ID           0
 #define CLIENT_ID              4
-#define CLIENT_VERSION         802             /* This version of WebCit */
-#define MINIMUM_CIT_VERSION    802             /* min required Citadel ver */
-#define        LIBCITADEL_MIN          802             /* min required libcitadel ver */
+#define CLIENT_VERSION         810             /* This version of WebCit */
+#define MINIMUM_CIT_VERSION    810             /* Minimum required version of Citadel server */
+#define        LIBCITADEL_MIN          810             /* Minimum required version of libcitadel */
 #define DEFAULT_HOST           "localhost"     /* Default Citadel server */
 #define DEFAULT_PORT           "504"
-#define TARGET                 "webcit01"      /* Target for inline URL's */
+#define TARGET                 "webcit01"      /* Window target for inline URL's */
 #define HOUSEKEEPING           15              /* Housekeeping frequency */
 #define MAX_WORKER_THREADS     250
 #define LISTEN_QUEUE_LENGTH    100             /* listen() backlog queue */
@@ -281,11 +265,12 @@ extern char *ssl_cipher_list;
 #define EXPIRE_MANUAL           1       /* Don't expire messages at all */
 #define EXPIRE_NUMMSGS          2       /* Keep only latest n messages  */
 #define EXPIRE_AGE              3       /* Expire messages after n days */
+
 typedef struct __ExpirePolicy {
        int loaded; /* has this been loaded from the server? */
         int expire_mode;
         int expire_value;
-}ExpirePolicy;
+} ExpirePolicy;
 void LoadExpirePolicy(GPEXWhichPolicy which);
 void SaveExpirePolicyFromHTTP(GPEXWhichPolicy which);
 
@@ -420,6 +405,7 @@ enum {
        eHEAD,
        eMOVE,
        eCOPY,
+       eREPORT,
        eNONE
 };
 extern const char *ReqStrs[eNONE];
@@ -501,7 +487,6 @@ struct wcsession {
        time_t lastreq;                         /* Timestamp of most recent HTTP */
        time_t last_pager_check;                /* last time we polled for instant msgs */
        ServInfo *serv_info;                    /* Information about the citserver we're connected to */
-       int is_ajax;                            /* are we doing an ajax request? */
        StrBuf *PushedDestination;              /* Where to go after login, registration, etc. */
 
 /* Request local Members */
@@ -581,7 +566,7 @@ struct wcsession {
        StrBuf *ConvertBuf1;
        StrBuf *ConvertBuf2;
 
-/* cache stuff for templates. TODO: find a smartrer way */
+/* cache stuff for templates. TODO: find a smarter way */
        HashList *ServCfg;                      /* cache our server config for editing */
        HashList *InetCfg;                      /* Our inet server config for editing */
        ExpirePolicy Policy[maxpolicy];
@@ -753,13 +738,10 @@ void output_html(const char *, int, int, StrBuf *, StrBuf *);
 ssize_t write(int fd, const void *buf, size_t count);
 void cal_process_attachment(wc_mime_attachment *Mime);
 
-void generate_uuid(char *);
-
 void address_book_popup(void);
 void begin_ajax_response(void);
 void end_ajax_response(void);
 
-
 extern char *months[];
 extern char *days[];
 long locate_user_vcard_in_this_room(message_summary **VCMsg,
@@ -774,7 +756,6 @@ void tabbed_dialog(int num_tabs, char *tabnames[]);
 void begin_tab(int tabnum, int num_tabs);
 void end_tab(int tabnum, int num_tabs);
 
-
 int get_time_format_cached (void);
 void display_wiki_pagelist(void);
 HashList *GetRoomListHashLKRA(StrBuf *Target, WCTemplputParams *TP);
@@ -814,6 +795,7 @@ void http_datestring(char *buf, size_t n, time_t xtime);
 #define WC_TIMEFORMAT_24 2
 
 extern int time_to_die;                        /* Nonzero if server is shutting down */
+extern int DisableGzip;
 
 /* 
  * Array type for a blog post.  The first message is the post; the rest are comments