merge of 'bc27fcec7009f89be6225808b581d3967066dfac'

and 'e41ab0579999c2bec5931b07e24575fdd3352c01'

Monotone-Parent: bc27fcec7009f89be6225808b581d3967066dfac
Monotone-Parent: e41ab0579999c2bec5931b07e24575fdd3352c01
Monotone-Revision: 132b2ba750acac2321a05f595c90612251cc2660

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2009-11-10T20:58:11
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Wolfgang Sourdeau
2009-11-10 20:58:11 +00:00
11 changed files with 36 additions and 45 deletions

View File

@@ -1,3 +1,15 @@
2009-11-07 Ludovic Marcotte <lmarcotte@inverse.ca>
* SoObjects/SOGo/SOGoCache.m - if we get a JSON
error when trying to convert our string coming
from memcached, we don't store it to the cache
and we log the error.
* Modified the code so we always use lower-case
headers prior to sending mails. This is to avoid
an uber-lameness in SOPE. Also added warnings
around that code so we can get rid of SOPE-mime,
we'll do things cleanly.
2009-11-06 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* UI/WebServerResources/UIxPreferences.js (_setupEvents): we check

View File

@@ -1,6 +1,6 @@
/*
Copyright (C) 2000-2005 SKYRIX Software AG
Copyright (C) 2006-2008 Inverse inc.
Copyright (C) 2006-2009 Inverse inc.
This file is part of OpenGroupware.org.

View File

@@ -673,10 +673,6 @@ static inline BOOL _occurenceHasID (iCalRepeatableEntityObject *occurence, NSStr
subject = [p getSubject];
text = [p getBody];
NSLog(@"Template: %@", pageName);
NSLog(@"Sender: %@", senderEmail);
NSLog(@"Recipient: %@", recipient);
NSLog(@"Subject: %@", subject);
/* construct message */
headerMap = [NGMutableHashMap hashMapWithCapacity: 5];
@@ -686,6 +682,7 @@ static inline BOOL _occurenceHasID (iCalRepeatableEntityObject *occurence, NSStr
* at all. Mail.app shows the rich content alternative _only_
* so we'll stick with multipart/mixed for the time being.
*/
#warning SOPE is just plain stupid here - if you change the case of keys, it will break the encoding of fields
[headerMap setObject: @"multipart/mixed" forKey: @"content-type"];
[headerMap setObject: @"1.0" forKey: @"MIME-Version"];
[headerMap setObject: senderEmail forKey: @"from"];
@@ -778,6 +775,7 @@ static inline BOOL _occurenceHasID (iCalRepeatableEntityObject *occurence, NSStr
* at all. Mail.app shows the rich content alternative _only_
* so we'll stick with multipart/mixed for the time being.
*/
#warning SOPE is just plain stupid here - if you change the case of keys, it will break the encoding of fields
[headerMap setObject: [attendee mailAddress] forKey: @"from"];
[headerMap setObject: [recipient mailAddress] forKey: @"to"];
mailDate = [[NSCalendarDate date] rfc822DateString];
@@ -787,9 +785,6 @@ static inline BOOL _occurenceHasID (iCalRepeatableEntityObject *occurence, NSStr
[headerMap setObject: @"multipart/mixed" forKey: @"content-type"];
msg = [NGMimeMessage messageWithHeader: headerMap];
NSLog (@"sending 'REPLY' from %@ to %@",
[attendee mailAddress], [recipient mailAddress]);
/* multipart body */
body = [[NGMimeMultipartBody alloc] initWithPart: msg];
@@ -870,6 +865,7 @@ static inline BOOL _occurenceHasID (iCalRepeatableEntityObject *occurence, NSStr
identity = [currentUser primaryIdentity];
/* construct message */
#warning SOPE is just plain stupid here - if you change the case of keys, it will break the encoding of fields
headerMap = [NGMutableHashMap hashMapWithCapacity: 5];
fullSenderEmail = [identity keysWithFormat: @"%{fullName} <%{email}>"];
[headerMap setObject: fullSenderEmail forKey: @"from"];

View File

@@ -304,11 +304,13 @@ static NSLock *lock;
v = [NSString stringWithUTF8String: s];
d = [NSDictionary dictionaryWithJSONString: v];
//[self logWithFormat: @"read values (%@) for subtype %@ for user %@", [d description], theType, theLogin];
// Cache the value in our localCache
[localCache setObject: d forKey: k];
if (d)
[localCache setObject: d forKey: k];
else
[self errorWithFormat: @"Unable to convert (%@) to a JSON string for type: %@ and login: %@", v, theType, theLogin];
free(s);
}
}

View File

@@ -1,7 +1,7 @@
/* SOGoGCSFolder.m - this file is part of SOGo
*
* Copyright (C) 2004-2005 SKYRIX Software AG
* Copyright (C) 2006-2008 Inverse inc.
* Copyright (C) 2006-2009 Inverse inc.
*
* Author: Wolfgang Sourdeau <wsourdeau@inverse.ca>
*

View File

@@ -1,6 +1,6 @@
/* SOGoMailer.m - this file is part of SOGo
*
* Copyright (C) 2007-2008 Inverse inc.
* Copyright (C) 2007-2009 Inverse inc.
*
* Author: Wolfgang Sourdeau <wsourdeau@inverse.ca>
*

View File

@@ -1,14 +0,0 @@
# $Id: README 297 2004-09-07 19:51:33Z znek $
UI
==
The UI directory contains HTML view methods for the SOPE SoObjects.
Localization
============
Each bundle has its own set of localization files, contained in a language
project directory (i.e. English.lproj). Because of this fact it might be
possible that you have to localize a certain label more than once.

View File

@@ -1,7 +0,0 @@
Defaults
========
Name Value Synopsis
------------------------------------------------------------------------------
SOGoUIxDebugEnabled BOOL Trigger display of debug UI. Default is NO.

View File

@@ -206,13 +206,14 @@
recipient = [[SOGoUserManager sharedUserManager]
getFullEmailForUID: recipientUID];
#warning SOPE is just plain stupid here - if you change the case of keys, it will break the encoding of fields
headerMap = [NGMutableHashMap hashMapWithCapacity: 5];
[headerMap setObject: @"multipart/alternative" forKey: @"content-type"];
[headerMap setObject: fullMail forKey: @"From"];
[headerMap setObject: recipient forKey: @"To"];
[headerMap setObject: fullMail forKey: @"from"];
[headerMap setObject: recipient forKey: @"to"];
date = [[NSCalendarDate date] rfc822DateString];
[headerMap setObject: date forKey: @"Date"];
[headerMap setObject: [self subject] forKey: @"Subject"];
[headerMap setObject: date forKey: @"date"];
[headerMap setObject: [self subject] forKey: @"subject"];
message = [NGMimeMessage messageWithHeader: headerMap];
body = [[NGMimeMultipartBody alloc] initWithPart: message];

View File

@@ -185,13 +185,14 @@
recipient = [[SOGoUserManager sharedUserManager]
getFullEmailForUID: recipientUID];
#warning SOPE is just plain stupid here - if you change the case of keys, it will break the encoding of fields
headerMap = [NGMutableHashMap hashMapWithCapacity: 5];
[headerMap setObject: @"multipart/alternative" forKey: @"content-type"];
[headerMap setObject: fullMail forKey: @"From"];
[headerMap setObject: recipient forKey: @"To"];
[headerMap setObject: fullMail forKey: @"from"];
[headerMap setObject: recipient forKey: @"to"];
date = [[NSCalendarDate date] rfc822DateString];
[headerMap setObject: date forKey: @"Date"];
[headerMap setObject: [self subject] forKey: @"Subject"];
[headerMap setObject: date forKey: @"date"];
[headerMap setObject: [self subject] forKey: @"subject"];
message = [NGMimeMessage messageWithHeader: headerMap];
body = [[NGMimeMultipartBody alloc] initWithPart: message];

View File

@@ -18,12 +18,12 @@
<p class="browser"><a href="http://www.getfirefox.com/"><var:string label:value="Download"/> Firefox</a> <img const:alt="*" rsrc:src="browser_firefox.gif" /></p>
<var:if condition="isIE7Compatible">
<p><var:string label:value="alternativeBrowsers"/></p>
<p class="browser"><a href="http://www.microsoft.com/ie/download/"><var:string label:value="Download"/> Internet Explorer 7</a> <img const:alt="*" rsrc:src="browser_ie.gif" valign="middle" /></p>
<p class="browser"><a href="http://www.apple.com/safari/download/"><var:string label:value="Download"/> Safari 3</a> <img const:alt="*" rsrc:src="browser_safari.gif" valign="middle" /></p>
<p class="browser"><a href="http://www.microsoft.com/ie/download/"><var:string label:value="Download"/> Internet Explorer 8</a> <img const:alt="*" rsrc:src="browser_ie.gif" valign="middle" /></p>
<p class="browser"><a href="http://www.apple.com/safari/download/"><var:string label:value="Download"/> Safari 4</a> <img const:alt="*" rsrc:src="browser_safari.gif" valign="middle" /></p>
</var:if>
<var:if condition="isMac">
<p><var:string label:value="alternativeBrowserSafari"/></p>
<p class="browser"><a href="http://www.apple.com/safari/download/"><var:string label:value="Download"/> Safari 3</a> <img const:alt="*" rsrc:src="browser_safari.gif" valign="middle" /></p>
<p class="browser"><a href="http://www.apple.com/safari/download/"><var:string label:value="Download"/> Safari 4</a> <img const:alt="*" rsrc:src="browser_safari.gif" valign="middle" /></p>
</var:if>
</td>
</tr>