+2007-09-04 Wolfgang Sourdeau <wsourdeau@inverse.ca>
+
+ * UI/MainUI/SOGoUserHomePage.m ([SOGoUserHomePage -logoffAction]):
+ set the cookie path to "/".
+
+ * Main/SOGo.m ([SOGo -authenticatorInContext:_ctx]): choose the
+ authenticator based on the request handler key. "dav" returns the
+ SOGoDAVAuthenticator, anything else returns the Web authenticator.
+
+ * SoObjects/SOGo/SOGoDAVAuthenticator.m: renamed module from
+ "SOGoAuthenticator".
+
+ * SoObjects/SOGo/SOGoWebAuthenticator.m: new class module
+ implementing a subclass of SoCookieAuthenticator, designed for
+ web-based cookie authentication of users.m
+
+ * UI/MainUI/SOGoUserHomePage.m ([SOGoUserHomePage -logoffAction]):
+ new method that resets the authentification cookie.
+
+2007-08-29 Wolfgang Sourdeau <wsourdeau@inverse.ca>
+
+ * SoObjects/SOGo/LDAPSource.m ([LDAPSource
+ -checkLogin:loginToCheckandPassword:passwordToCheck]): initialize
+ didBind to NO to make sure no false authentication is returned if
+ the bind operation is not executed.
+
+2007-08-28 Wolfgang Sourdeau <wsourdeau@inverse.ca>
+
+ * SoObjects/Mailer/SOGoDraftObject.m: added support for the
+ "In-Reply-To" header field when replying.
+
+ * UI/MainUI/SOGoUserHomePage.m: add the "c_" prefix to the quick
+ table field names that are queried.
+
+ * SoObjects/Appointments/SOGoFreeBusyObject.m ([SOGoFreeBusyObject
+ -iCalStringForFreeBusyInfos:_infosfrom:_startDateto:_endDate]):
+ add the "c_" prefix to the quick table field names that are
+ queried.
+
+2007-08-24 Wolfgang Sourdeau <wsourdeau@inverse.ca>
+
+ * SoObjects/Appointments/SOGoAppointmentFolder.m
+ ([SOGoAppointmentFolder -lookupCalendarFolderForUID:uid]): add
+ "personal" to the ocs path of the appointment folder.
+
+ * UI/MailPartViewers/UIxMailPartViewer.m ([UIxMailPartViewer
+ -flatContentAsString]): use latin1 when the encoding is not
+ specified, and to reencode data chunk which were not correctly
+ decoded with the original charset.
+
+ * SoObjects/Appointments/SOGoAppointmentFolder.m ([SOGoAppointmentFolder -aclUsersForObjectAtPath:objectPathArray])
+ ([SOGoAppointmentFolder -aclsForUser:uidforObjectAtPath:objectPathArray])
+ ([SOGoAppointmentFolder -setRoles:rolesforUser:uidforObjectAtPath:objectPathArray])
+ ([SOGoAppointmentFolder
+ -removeAclsForUsers:usersforObjectAtPath:objectPathArray]):
+ override those methods to use the "personal" additional directory.
+
+ * SoObjects/SOGo/SOGoUserFolder.m ([-ocsPrivateCalendarPath]):
+ append "/personal" to the calendar path to simulate a single
+ calendar in a choice of many.
+
+ * SoObjects/Mailer/SOGoMailFolder.m ([SOGoMailFolder
+ -lookupName:_keyinContext:acquire:_acquire]): moved the lookup
+ methods back here. Moved the folder existence check here, and do
+ it on self only when the lookup happens for a non-folder object.
+ This permits to accept entries for folders with parents who
+ don't really exist.
+
+2007-08-23 Wolfgang Sourdeau <wsourdeau@inverse.ca>
+
+ * UI/Scheduler/UIxTaskEditor.m ([UIxTaskEditor
+ -shouldTakeValuesFromRequest:requestinContext:context]): same as
+ below.
+
+ * UI/Scheduler/UIxAppointmentEditor.m ([UIxAppointmentEditor
+ -shouldTakeValuesFromRequest:requestinContext:context]):
+ redesigned method since any method called can be received from a
+ POST or a GET. Instead we check the method call itself and we
+ accept only if it has the "save" prefix.
+
+ * SoObjects/Appointments/SOGoAptMailNotification.m
+ ([SOGoAptMailNotification -getSubject]): returns the subject an a
+ quoted-printable encoded string, if needed.
+
+ * SoObjects/Mailer/SOGoDraftObject.m ([NSString
+ -asQPSubjectString:encoding]): moved method into
+ NSString+Utilities.m.
+
+2007-08-22 Wolfgang Sourdeau <wsourdeau@inverse.ca>
+
+ * UI/PreferencesUI/UIxPreferences.m ([UIxPreferences
+ -messageForwardingList])
+ ([UIxPreferences -itemMessageForwardingText])D
+ ([UIxPreferences -userMessageForwarding])
+ ([UIxPreferences -setUserMessageForwarding:newMessageForwarding]):
+ new template methods for manage the user preference regarding
+ message forwarding.
+
+ * SoObjects/SOGo/SOGoUser.m ([SOGoUser -language]): change the
+ algorithm to return, in order, the user's defined language or the
+ first browser language or, finally, the default language.
+ ([SOGoUser -messageForwarding]): new method that returns the user
+ preference for message forwarding: "inline" or "attached",
+ defaulting to "attached".
+
+ * SoObjects/Mailer/SOGoMailObject+Draft.m ([SOGoMailObject
+ -contentForInlineForward]): new method that returns the content of
+ the message for inline forwarding based on the SOGoMailForward
+ templates.
+
+ * SoObjects/Mailer/SOGoDraftObject.m ([SOGoDraftObject
+ -fetchMailForForwarding:sourceMail]): check the user preference
+ for message forwarding and compose inline forwarded messages if required.
+
+ * SoObjects/Appointments/SOGoCalendarComponent.m
+ ([SOGoCalendarComponent
+ -sendEMailUsingTemplateNamed:_pageNameforOldObject:_oldObjectandNewObject:_newObjecttoAttendees:_attendees]):
+ now use a template based on the language returned from the
+ SOGoUser object.
+
+ * SoObjects/Mailer/SOGoMailEnglishForward.m: new module containing
+ a subclass of SOGoMailForward for English locale.
+
+ * SoObjects/Mailer/SOGoMailFrenchForward.m: new module containing
+ a subclass of SOGoMailForward for French locale.
+
+ * SoObjects/Mailer/SOGoMailForward.[hm]: new module class that
+ helps build template for inline forwarded messages.
+
2007-08-21 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* UI/SOGoElements/SOGoIEConditional.m: new extension module class