mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-04-06 22:08:51 +00:00
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:
12
ChangeLog
12
ChangeLog
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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"];
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
*
|
||||
|
||||
@@ -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>
|
||||
*
|
||||
|
||||
14
UI/README
14
UI/README
@@ -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.
|
||||
@@ -1,7 +0,0 @@
|
||||
Defaults
|
||||
========
|
||||
|
||||
|
||||
Name Value Synopsis
|
||||
------------------------------------------------------------------------------
|
||||
SOGoUIxDebugEnabled BOOL Trigger display of debug UI. Default is NO.
|
||||
@@ -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];
|
||||
|
||||
@@ -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];
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user