Art Cancro [Fri, 3 Oct 2008 04:25:18 +0000 (04:25 +0000)]
Added a StrBuf that will eventually contain all of the
miscellaneous javascript that any page needs. Callers should be appending
script code to the trailing_javascript strbuf instead of embedding it in the middle
of the page. This will cause it all to be executed at once, which is
the recommended practice. I haven't moved anything to this yet because
I think the script still isn't executing.
Art Cancro [Wed, 1 Oct 2008 04:07:06 +0000 (04:07 +0000)]
Debugged some javascript that ought to work but
breaks on Internet Exploder. There's still a showstopping bug in there somewhere
but evidently Microsoft doesn't know that there's this wonderful thing called line
numbers, and instead just displays the helpful error message 'Content cannot be
displayed due to error 80004004'. Still need to work on this. Still need to put
every last Microsoft employee feet-first into a wood chipper. Die Microsoft Die.
Art Cancro [Wed, 1 Oct 2008 02:06:13 +0000 (02:06 +0000)]
Recurrence editor: honor weekstart user preference
when selecting what days to recur on.
Calendar month view: when displaying bubble tooltips containing
long text that doesn't wrap (for example, long ugly URL's from
Google Calendar), clip the excess on the right side instead of
overflowing the bubble (Firefox) or scrambling the bubble parts
all over the screen (Internet Exploder).
Art Cancro [Tue, 30 Sep 2008 16:00:01 +0000 (16:00 +0000)]
Maximum length of a date input field is now 10 characters.
I also noticed that the datepicker.js seems to have been discontinued
by its author. Due to this plus some shortcomings we may want to
consider forking it and integrating it more tightly into the WebCit
framework.
Art Cancro [Mon, 29 Sep 2008 16:44:10 +0000 (16:44 +0000)]
Date picker is now localized to the currently selected
language. I'd appreciate it if some of you in the community of
international Citadel developers could test this a bit.
Art Cancro [Mon, 29 Sep 2008 16:23:07 +0000 (16:23 +0000)]
Calendar date format is now yyyy-mm-dd because that is the
most 'international' format I can think of. If someone wants to
go through the trouble of figuring out the date format for every
locale and passing it through, go ahead, otherwise we'll leave it
this way. We still need to pass the language through to the
datepicker.
* templatize user editing
* swap order of DoTemplate to be more intuitive
* add missing break on error to EvaluateConditional
* add date printing functions (unfinishded)
Art Cancro [Fri, 26 Sep 2008 16:02:27 +0000 (16:02 +0000)]
Updated the MIME Parser API to include Content-ID in
the callback functions. This effects the entire Citadel system, so
you will have to update all three components now.
Art Cancro [Thu, 25 Sep 2008 16:29:49 +0000 (16:29 +0000)]
Completed HEADERS_FAST mode, which fetches only the top
level headers. HEADERS_ONLY loads the message body in order to
retrieve the second level headers. IMAP is using HEADERS_FAST and
Sieve is using HEADERS_ONLY.
* add the mimeheader length to the number of bytes to read from the client; client_read decreases bytes to read by the size already present in the buffer. Thanks to samjam for working this patch out.
* add contexttype, so the subst can precheck the context pointer for us, and bad templates don't make us see funny things in pointers
* templatized vnote display
Art Cancro [Mon, 22 Sep 2008 14:06:54 +0000 (14:06 +0000)]
/static/webcit.css was being grabbed by the code
that checks for '/webcit' and therefore this file was failing
to load. Fixed it by checking for '/webcit/' instead.
* fix setup
* print errormessages also in quiet mode
* wrap ACT_AS_MTA arround the whole MTA checking functionality, so the debs can skip them alltogether.
* fix path to sendcommand
* hide and analyze the output of CREU
Art Cancro [Sat, 20 Sep 2008 06:08:44 +0000 (06:08 +0000)]
Fixed a bug in CtdlSetSeen() where if the target room
was not the currently selected room, the list of seen/unseen
or answered/unanswered messages could become corrupted.
* move stuff in header and subst.c arround to be better grouped
* harmonize callback function types
* add pre-eval shortcut; if we know the handler while evaluating the template, store a pointer to it, so we save hash lookups at runtime.
* Some nice selenium tests. They use 'testuser' and 'testpass' and mess arround with the citadel you open in the browser window. Testuser should be alowed to send internet mail.
* shutdown webcit if we panic out while creating certificates
* free the openssl errors
* add commented out version with reason for remaining free memory so we remember it.
Art Cancro [Thu, 11 Sep 2008 02:47:10 +0000 (02:47 +0000)]
Set icalerror_errors_are_fatal to 0.
This will cause libical to return an error when it sees bad icalendar
data instead of aborting the entire program, which is, y'know, bad.
* print errormessages into templates if possible in <pre>
* rework several error messages to be more clear
* put the hashkey in ITERATE:KEY while iterating
* put ITERATE parameters through to callbacks, so they can find custom things there.
* adjust old uses of the iterate api
* migrate inetconfig to templates.
* fix COND:PREFS
* add NONCE replacer to contextloop; please re-bootstrap so that the initializer does its job
* added selectboxes to the config dialog templates
* added COND:SERVCFG:SUBST for the TZ dropdown
* HAIL MELD!
* reduce log noise while running from the console with debug binaries; output_static will be as quiet as sslg too.
* add Filename and a copy of the whole token so we can output it in case of errors
* adjusted all error lprintfs in subst.c to deliver file, line, and a matching snippet of the token analyzed so the logfile helps finding bugs in templates.
* templated siteconfig allmost finished.
* add new conditional type '%' switching between printing parameter #6 & #7
* fix bug in tabbed dialog logic
* some more fixes o the siteconfig templates
* made *bstr things const
* add DOTABBED api to the template stuff
* add sysconfig detemplater
* create a list of config settings, for hashing and reading from the query params.
* print empty lin with serv_puts to remove warnings.
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.