$Log$
+Revision 400.27 2002/09/27 17:15:44 ajc
+* Removed the gzip compression stuff due to bugs in Internet Explorer.
+
+Revision 400.26 2002/09/27 04:37:21 ajc
+* New, buggy versions of event editing screens
+
+Revision 400.25 2002/09/26 22:00:16 ajc
+* Fixed buggy month-selection algorithm (January is month 0 in 'struct tm' but
+ month 1 in libical functions)
+
+Revision 400.24 2002/09/25 21:57:13 ajc
+* Keep track of msgnums in the two-pass calendar loop, so we can hotlink to
+ individual items
+
+Revision 400.23 2002/09/24 04:12:34 ajc
+* Rough cut of the two-pass calendar display routines (first pass: go thru
+ messages gathering VEVENT items; second pass: render calendar with data)
+
+Revision 400.22 2002/09/23 04:01:33 ajc
+* Presentation changes to calendar month view
+
+Revision 400.21 2002/09/22 05:20:27 ajc
+* Began implementing month view
+
+Revision 400.20 2002/09/21 04:38:05 ajc
+* Added utility functions for displaying vcalendar timestamps in web forms
+ and translating form data back to timestamps.
+* Completed the "edit task" and "add new task" screens.
+
+Revision 400.19 2002/09/20 20:28:08 ajc
+* Smooth transition between "list tasks" & "edit task" screens
+
+Revision 400.18 2002/09/20 03:54:44 ajc
+* Display the "Tasks" view as a bulleted list with each task clickable
+* Clicking brings up an (unfinished) "edit task" screen
+
+Revision 400.17 2002/09/18 21:44:02 ajc
+* display VTODO parameters
+
+Revision 400.16 2002/09/17 04:21:00 ajc
+* Handler chains for VCALENDAR and VTODO types
+
+Revision 400.15 2002/09/17 03:37:10 ajc
+* Implemented a 'display handler' infrastructure for various groupware types
+
+Revision 400.14 2002/09/16 03:35:12 ajc
+* Just a bunch of glue code to iterate through the various types of ical
+ objects we could encounter
+
+Revision 400.13 2002/09/15 04:05:41 ajc
+* Process calendar object subcomponents
+
+Revision 400.12 2002/09/15 03:40:13 ajc
+* calendar.c: added
+* When a text/calendar MIME type is discovered in a message, send it to
+ the (currently skeleton) parser in calendar.c
+* calendar.c: skeleton parser for calendar objects which currently just
+ creates an icalcomponent object and frees it.
+
+Revision 400.11 2002/09/15 03:16:24 ajc
+* Changed decode_base64() to CtdlDecodeBase64() to avoid conflict with
+ function namespace in libical
+
+Revision 400.10 2002/09/15 02:50:55 ajc
+* Duh. I don't need to twiddle CFLAGS when autoconf provides -DHAVE_ZLIB_H
+
+Revision 400.9 2002/09/14 21:33:31 ajc
+* Backed out compression of inlines -- not all browsers appear to handle it
+
+Revision 400.8 2002/09/14 20:20:29 ajc
+* Attempting to push more stuff through compression. I've introduced some
+ sort of deadlock bug that I can't seem to find yet...
+
+Revision 400.7 2002/09/14 20:00:22 ajc
+* Compress output_image() graphics
+
+Revision 400.6 2002/09/14 16:26:35 ajc
+* output_image() now reads the entire image from Citadel into a buffer before
+ sending it to the browser (for performance reasons, and so it can compress)
+
+Revision 400.5 2002/09/14 04:52:59 ajc
+* Look for the "libical" calendaring library and link it in if present...
+
+Revision 400.4 2002/09/14 04:02:36 ajc
+* Finished gzip compression of dynamic pages (when browser supports it)
+
+Revision 400.3 2002/09/13 20:40:53 ajc
+* Detect when the client browser is capable of gzip encoding
+ (actual encoding is not implemented yet)
+
+Revision 400.2 2002/09/13 15:54:40 ajc
+* Reversed the above change because I broke it somehow
+
+Revision 400.1 2002/09/11 22:46:59 ajc
+* Started adding in compression and calendaring library detects (not finished)
+
+Revision 400.0 2002/09/09 03:56:11 ajc
+* This is version 4.00
+
+Revision 323.68 2002/09/09 03:51:01 ajc
+* In the HTML-to-HTML converter:
+ --> Open links in new window (as with text msgs)
+ --> Convert loose URL's to hot links (as with text msgs)
+
+Revision 323.67 2002/09/06 03:59:11 ajc
+* Added an "About this server" panel to the Summary page.
+ (Useless fluff, but better than an empty column.)
+
+Revision 323.66 2002/08/26 02:57:06 ajc
+* Rooms listed on the summary page are now clickable-gotoable
+
+Revision 323.65 2002/08/26 01:24:09 ajc
+* Added a "summary" page (rather sparse for now)
+
+Revision 323.64 2002/08/24 15:30:48 ajc
+* GET instead of POST for listsub. Also add a 'Back...' link.
+
+Revision 323.63 2002/08/24 05:59:24 ajc
+* Bugfixes and cosmetic changes to listsub system
+
+Revision 323.62 2002/08/23 03:37:19 ajc
+* Finished all of the subscribe/unsubscribe/confirm stuff! (I think)
+
+Revision 323.61 2002/08/22 03:55:47 ajc
+* 'unsubscribe' command (but not 'confirm unsubscribe')
+
+Revision 323.60 2002/08/21 21:58:37 ajc
+* Completed self-service list subscription via web.
+ (Still need to implement unsubscribe.)
+
+Revision 323.59 2002/08/16 22:06:51 ajc
+* self-service
+
+Revision 323.58 2002/08/16 03:51:12 ajc
+* I think I've finally nailed the 'no session' pages now...
+
+Revision 323.57 2002/08/15 03:49:47 ajc
+* Fleshed out the list subscription page a bit
+
+Revision 323.56 2002/08/13 19:55:12 ajc
+* Keep track of the HTTP "Host:" header being sent by the browser.
+ (We're going to need this in the near future)
+
+Revision 323.55 2002/08/05 16:07:30 ajc
+* Moved "edit floor label pic" to the floor editing screen
+
+Revision 323.54 2002/08/05 15:53:00 ajc
+* Commands to add, change, delete floors
+
+Revision 323.53 2002/07/26 03:20:04 ajc
+* Beautified the folder tabs in "edit room"
+
+Revision 323.52 2002/07/25 04:01:58 ajc
+* Final cleanup of changes (finally located and fixed the bug)
+
+Revision 323.51 2002/07/24 04:14:23 ajc
+* Minor code cleanup of last night's changes
+
+Revision 323.50 2002/07/23 15:40:54 ajc
+* Minor cleanup of previous changes
+
+Revision 323.49 2002/07/23 04:43:58 ajc
+* Updated message reading to use the new MSG4 command, so we can do output
+ of various types of richtext (mainly HTML).
+
+Revision 323.48 2002/07/16 03:37:24 ajc
+* Small change to above
+
+Revision 323.47 2002/07/16 03:23:37 ajc
+* Display HTML messages as HTML. (Wow!)
+
+Revision 323.46 2002/07/13 04:39:59 ajc
+* Handle multipart/alternative in a nicer way, giving us the opportunity to
+ output HTML instead of converting to text/plain and back. (Not finished.)
+
+Revision 323.45 2002/07/11 03:17:03 ajc
+* hacks to text_to_server() to transmit messages as HTML
+
+Revision 323.44 2002/07/09 04:21:12 ajc
+* 'idle' icon
+
+Revision 323.43 2002/07/06 03:10:26 ajc
+* Enable a "make this my start page" link that works in lots of places.
+ Configures a user's preference of where to go after login.
+
+Revision 323.42 2002/06/19 22:01:31 ajc
+* When editing another user's vCard, do a "transient goto" to their config
+ room so you don't automatically gain access to their config room.
+* When creating a user, go back to the "select user to edit" screen with the
+ new user's account name pre-selected.
+
+Revision 323.41 2002/06/17 03:48:44 ajc
+* Finished the thing to edit other users' vCards.
+
+Revision 323.40 2002/06/16 21:49:02 ajc
+* Administratively edit other users' vCards. Still needs a couple of lines
+ of glue code to make it work.
+
+Revision 323.39 2002/06/15 20:34:39 ajc
+* Use safestrncpy() instead of strncpy() where appropriate
+* Fixed a memory allocation bug in the vCard parser
+
+Revision 323.38 2002/05/23 03:40:05 ajc
+* Brought over a utility function I'll need later
+
+Revision 323.37 2002/05/22 02:34:56 ajc
+* Finished room/folder view selector. Pretty cool.
+
+Revision 323.36 2002/05/22 01:53:23 ajc
+* Room list or folder list? Give the user a choice. (Has bugs.)
+
+Revision 323.35 2002/05/12 15:21:43 error
+* do_template() now parses a .wml file for WAP clients, and a .html file
+ for everybody else
+
+Revision 323.34 2002/05/11 22:46:19 error
+* Track whether user-agent is a WAP gateway
+
+Revision 323.33 2002/05/11 15:35:07 error
+* webcit.c: add MIME types for WAP/WML
+
+Revision 323.32 2002/05/10 15:29:58 ajc
+* Hacked the address book view a little bit
+
+Revision 323.31 2002/05/09 03:53:56 ajc
+* Began working on address book view
+
+Revision 323.30 2002/05/08 03:38:58 ajc
+* Preferences framework
+
+Revision 323.29 2002/05/07 03:57:29 ajc
+* In message summary, replace 'Del' links with checkboxes
+
+Revision 323.28 2002/05/05 03:28:15 ajc
+* Shuffled around the room banner a bit
+
+Revision 323.27 2002/05/03 19:32:39 ajc
+* Finished "folder list" mode (still need to move it to a permanent location)
+
+Revision 323.26 2002/05/03 03:55:17 ajc
+* more folder display stuff
+
+Revision 323.25 2002/05/01 22:03:07 ajc
+* "folder list" view (not finished)
+
+Revision 323.24 2002/05/01 03:23:31 ajc
+* Added a drop-down box to change a user's view of a room.
+
+Revision 323.23 2002/04/28 03:56:47 ajc
+* Finished summary mode (for the most part, anyway)
+
+Revision 323.22 2002/04/26 21:13:21 ajc
+* Separated "summary mode" message listing into its own function
+* Go to summary mode automatically when the server says that view=1
+
+Revision 323.21 2002/04/20 04:14:29 ajc
+* Some work on email summary screen
+
+Revision 323.20 2002/03/31 05:02:39 ajc
+* Remove "Page another user" link from main menu
+* Add "edit my citadel config room" type link from edit user screen
+
+Revision 323.19 2002/03/29 22:30:45 ajc
+* Finished the "edit user" screen.
+
Revision 323.18 2002/03/29 15:18:09 ajc
* yep ... more user edit stuff