2006-07-11 Wolfgang Sourdeau * UI/WebServerResources/generic.js: added "sanitizeMailTo" which takes any chunk of text as param, detects the user email and the optional first and last names and return them in a well-formatted way. Renamed "getSelection" to "getSelectedNodes" to avoid a namespace conflict. Added "onMenuClick(node, event, menuId)" to handle popup menus through "onclick" element attributes (node = this, event = event and menuId = name of the menu DIV id to popup). * UI/Contacts/UIxContactEditorBase.m ([UIxContactEditorBase -snapshot]): add an entry for "email" into the snapshot dictionary if a "contactEmail" URL parameter was detected and if the entry for "email" is empty. * UI/Contacts/Toolbars/SOGoContactFolder.toolbar: the "new card" button now invokes the newContact() js function in ContactsUI.js instead of opening "new" directly. newContact() pops up a window stripped from its navigation bar. * UI/Contacts/ContactsUI.js: new module specific to the ContactsUI bundle (AddressBook). * UI/Templates/MailerUI/UIxMailView.wox: added a div of class "menu" and id "addressMenu" have the header email addresses display it with the new menu code in generic.js. * UI/Templates/MailerUI/UIxMailPanelFrame.wox: same as below + replaced the body tables with a div of class "pageContent" (standardization across the page templates). * UI/Templates/MailerUI/UIxMailMainFrame.wox: include productJavaScriptURL and pageJavaScriptURL (conditionnally) since those are now inherited from UIxPageFrame. * UI/MailerUI/UIxMailView.js: new file specific to UIxMailView. * UI/MailerUI/UIxMailToSelection.m ([UIxMailToSelection -to]): if a "mailto" URL parameter is detected and the "to" array is empty, initialize "to" with the value of "mailto" before returning it. * UI/MailerUI/UIxMailEditorAction.m ([UIxMailEditorAction -composeAction]): rewrote method in a cleaner way and with usage of the URL extensions to NSString and NSDictionary (see below). Also, if a "mailto" url parameter is detected, pass it to the redirected url. * UI/MailerUI/UIxMailMainFrame.m: subclassed from UIxPageFrame to reduce code. * UI/Common/NSDictionary+URL.m ([NSDictionary -asURLParameters]): returns a parameter string to add to a base URL. * UI/Common/NSString+URL.m ([NSString -composeURLWithAction:parameters:andHash:useHash]): new method to compose a complete URL from an object URL with parameters and an optional '#' character. * UI/Common/UIxPageFrame.h: separated interface from UIxPageFrame.m. 2006-07-07 Wsourdeau Sourdeau * UI/Scheduler/UIxAppointmentEditor.m: returns yes to "isPopup"; * UI/WebServerResources/generic.js: added code to manage selections within HTML containers. * UI/Common/UIxPageFrame.m ([UIxPageFrame -productJavaScriptURL]): added method to determine the possible URL for a product-specific javascript filename of the forme .js. ([UIxPageFrame -hasProductSpecificJavaScript]): new method. ([UIxPageFrame -isPopup]): new method to determine whether the application navigator bar should be displayed (main page) or not (popup page). * SoObjects/SOGo/SOGoAuthenticator.m ([SOGoAuthenticator -LDAPCheckLogin:_loginpassword:_pwd]): new method to authenticate the user through LDAP. 2006-07-06 Wolfgang Sourdeau * The toolbar code from the MailerUI product was taken, renamed as "UIxToolBar" and put into UI/Common. Toolbar plists were created for the Contacts and Scheduler products and put in their respectir Toolbars/ subdirectories. Finally, UI/Templates/{UIxToolbarButton,UIxToolbarSeparator}.wox, and UI/Common/{UIxToolbarButton,UIxToolbarSeparator}.m were removed and an invocation to the UIxToolbar component was put at the top of UI/Templaces/UIxPageFrame.wox. * UI/Common/UIxToolbar.m: new "isLastGroup" method to determine within the templates whether a separator should be displayed. * UI/Common/UIxToolbar.m ([UIxToolbar -hasButtons]): new method that returns NO if the toolbar is empty. 2006-07-05 Wolfgang Sourdeau * UI/Templates/UIxPageFrame.wox: replaced central table with a DIV. * UI/Common/UIxToolbarSeparator.m, UI/Common/UIxToolbarButton.m: new toolbar objects. * UI/Templates/UIxPageFrame.wox: use the exact html code as below. * UI/Templates/MailerUI/UIxMailMainFrame.wox: redone the linkbanner as a DIV instead of a TABLE. * UI/MailerUI/UIxMailMainFrame.m [UIxMailMainFrame showLinkBanner]: returns 'YES' to request the display of the navigation bar between applets. 2006-06-15 ludovic@inverse.ca * It's now possible to set the default domain using for email using the SOGoDefaultMailDomain preference key. 2006-06-15 ludovic@inverse.ca * Initial import of SOGo from trunk.