Art Cancro [Sat, 11 Oct 2008 04:33:43 +0000 (04:33 +0000)]
Slight improvement to previous commit. We're still storing
base calendar events in memory that are out of scope, but we're no longer
storing recurrences that are out of scope.
Art Cancro [Sat, 11 Oct 2008 04:20:03 +0000 (04:20 +0000)]
Big change to calendar view functions. We now declare
lower and upper bounds before loading calendar items into memory, so that the rendering code
doesn't have to go through thousands of recurrences that span way into the future. Right now
it only uses this data to know when to stop iterating recurrences, but it could be fine tuned
even more to totally not store calendar items that are out of scope.
Art Cancro [Fri, 10 Oct 2008 19:22:08 +0000 (19:22 +0000)]
Moved some calendar view javascript out to the trailing block.
Also noticed that the previous/next month buttons in the mini
calendar are now broken. We need to fix this.
* configure zlib too, since libcitadel will link it for strbuf
* shuffle library detection so we don't get into troubles
* add empty UI_SILENT to all setup switches, so that its clear we do nothing here
Art Cancro [Sun, 5 Oct 2008 05:23:52 +0000 (05:23 +0000)]
Cleaned up some templated HTML:
* Double percent (such as width=25%%) is a C format string escape.
Changed those to a single percent (such as width=25%).
* Removed 'px' from table cellpadding and cellspacing attributes.
Evidently this is illegal as it's always to be specified in pixels.
* Appended some </div> tags with comments denoting which div we think
we're closing. There may be a few mismatched ones.
Art Cancro [Fri, 3 Oct 2008 17:11:37 +0000 (17:11 +0000)]
configure.ac in citadel and webcit now looks
for icalcomponent_as_ical_string_r() instead of icalcomponent_new()
in order to force the detection of a libical with the new API
Art Cancro [Fri, 3 Oct 2008 17:04:44 +0000 (17:04 +0000)]
Changed all instances of
x = strdup(icalcomponent_as_ical_string(y))
to
x = icalcomponent_as_ical_string_r(y)
to eliminate the second buffer and move to the new API.
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.