Art Cancro [Thu, 4 Sep 2008 01:59:23 +0000 (01:59 +0000)]
* Discovered that my system hasn't processed its refcount_adjustments queue in about six months, because a file called refcount_adjustments.dat2 was sitting around and keeping the link() command from succeeding. Fortunately, the code is robust enough to gracefully excuse itself from this situation without corrupting the database, but now I've got a six month backlog of refcount adjustments to process. Corrected this situation for anyone else who is having it, by putting a random number in the name of the temporary file.
* When displaying ref count deltas to the log, show +1 instead of just 1 for increments.
* Added a new command TDAP which can be used by an Aide to manually initiate a run of The Dreaded Auto-Purger.
Art Cancro [Tue, 2 Sep 2008 17:41:36 +0000 (17:41 +0000)]
Implemented RFC2919, the 'List-ID' field for mailing
lists. This is now a top-level Citadel header field (L), which makes
it parseable by the Sieve engine. Also added List-ID to the header
fields selectable in the mailbox filter rules editor. And of course,
we are generating this field when we send out traffic from a Citadel-hosted
mailing list. This also closes Bug #371.
Art Cancro [Sat, 30 Aug 2008 04:57:03 +0000 (04:57 +0000)]
We now look for libical/ical.h instead of ical.h, because
that's where libical's build is putting it now. If this breaks
your build, please update libical from svn.
Art Cancro [Thu, 21 Aug 2008 01:24:15 +0000 (01:24 +0000)]
Adjusted the tabcontent and tabcontent_submit styles
in order to present everything as a nice tabbed dialog with a rounded
rectangular bottom instead of the ugly 'bottom tab' look previously displayed
by the tabcontent_submit div. All three dialogs that use this API now conform
to the new spec - one extra 'tab' at the end which is actually the submit div.
Art Cancro [Wed, 20 Aug 2008 17:46:33 +0000 (17:46 +0000)]
Changed the tabbed dialog API to include an epilogue that
can be used to display data common to all tabs, such as submit buttons.
Removed recurring event support from TECH_PREVIEW and moved into the mainline
code. Event editor tabs for Event/Attendees/Recurrence are now working, even
though the Recurrence tab doesn't yet display an editor, for now it just
displays the raw RRULE data.
Art Cancro [Tue, 19 Aug 2008 02:58:48 +0000 (02:58 +0000)]
Split up the conflict checker again, this time into six different
functions. Right now it looks like excessive modularity, but over the next couple of commits I'll
be adding expansion of recurrences in both the proposed and existing events. Now this can be done
without making the code unreadable.
* migrate the WHO struct to strbuf
* add SVPUTBuf() which can handle strbuffers
* register the ITERATOR("WHO")
* provide tokens via the who iterator func: WHO:NAME, WHO:ROOM, WHO:HOST, WHO:REALROOM, WHO:REALHOST, WHO:LASTACTIVE, WHO:SESSION, WHO:IDLE, WHO:NSESSIONS
* some fixes to do_template, and the whole other stuff
* correct all GetNextHashPos() calls to have const chars
* new template callback: ITERATE("iterator", "subtemplate",...); its to iterate over registered hashlists
* new RegisterIterator() call; use this to register your hashlist with the ITERATE functionality
* add new 'Context' Parameter to the template call
* add PREF:VALUE("ConvigValueName") which will give you the value of a config
* add PREF:DESCR("ConfigValueName") which will give you the locale string describing that setting
* now template tokens can work as functions, you can add params to them after in ("sometext", 1337) so template hooks can be steered from the templates
* added implicit _("foo") function that will look up 'foo' with gettext and print its local representation
Matt [Thu, 14 Aug 2008 10:59:11 +0000 (10:59 +0000)]
Move the rest of the templates into 't' as with dothebart's previous commit.
If any should still be in static/ (i.e like nocookies) just move them back.
Art Cancro [Mon, 11 Aug 2008 21:03:26 +0000 (21:03 +0000)]
calendar server -- further split up the conflict checker
(was two functions, is now three) in order to prepare for handling
recurring events. I might split it up even further.
* first aproach to formalize preferences; modules can now register preferences and their string representation; fancy that this is doing well with gettext ;)
Art Cancro [Tue, 5 Aug 2008 16:55:58 +0000 (16:55 +0000)]
When determining the week start day for the rendering
of a monthly calendar, check to see if the weekstart value from
preferences is higher than 6. If so, use a value of 0 (Sunday)
instead of actively looping forever in a futile search for an
invalid wday.
* abstract setting per room preferences
* migrate mbox sortorder to the new abstraction
* add default addressbook selector, so the user gets the last selected addressbook again (html doesn't work yet)
Art Cancro [Wed, 30 Jul 2008 21:48:09 +0000 (21:48 +0000)]
* debug messages now show serialized recurrence rules
* Event editor dialog is now tabbed Event/Attendees/Recurrence when
running in TECH_PREVIEW mode. Attendees are *not* yet moved into
the Attendees tab. Recurrence rules are shown as serialized iCalendar
code rather than as an actual usable editor.
Art Cancro [Wed, 30 Jul 2008 18:03:17 +0000 (18:03 +0000)]
Recurring events are now displayed in WebCit. There is
still a lot to do, but the basic display is now there. I can
already see a huge sub-project emerging. Our practice of converting
everything to GMT causes recurring events to shift by an hour
when the recurrence crosses a DST boundary.
* make param const char *
* goto _BASEROOM_ if no pref is set
* store/load locales inn case of webcit tries to reauthenticate a user by cookie after a crash.