Monotone-Parent: 2946be96e24ef28355163488376def0341ef650f

Monotone-Revision: 41b11d3b1b18c4d1c7da8ba97062c553d70d8596

Monotone-Author: flachapelle@inverse.ca
Monotone-Date: 2008-08-26T17:16:16
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Francis Lachapelle
2008-08-26 17:16:16 +00:00
parent 335d43c92c
commit 674e436631
4 changed files with 39 additions and 17 deletions
+14 -4
View File
@@ -147,23 +147,33 @@
SOGoDraftObject *newDraftMessage;
NSString *urlBase, *url, *value, *signature;
NSArray *mailTo;
NSMutableDictionary *headers;
BOOL save;
drafts = [[self clientObject] draftsFolderInContext: context];
newDraftMessage = [drafts newDraft];
headers = [NSMutableDictionary dictionary];
save = NO;
value = [[self request] formValueForKey: @"mailto"];
if ([value length] > 0)
{
mailTo = [value componentsSeparatedByString: @","];
[newDraftMessage
setHeaders: [NSDictionary dictionaryWithObject: mailTo
forKey: @"to"]];
[headers setObject: mailTo forKey: @"to"];
save = YES;
}
value = [[self request] formValueForKey: @"subject"];
if ([value length] > 0)
{
[headers setObject: value forKey: @"subject"];
save = YES;
}
if (save)
[newDraftMessage setHeaders: headers];
signature = [[context activeUser] signature];
if ([signature length])
{
+1 -1
View File
@@ -1055,7 +1055,7 @@ function newContactFromEmail(event) {
function onEmailTo(event) {
openMailTo(this.innerHTML.strip());
preventDefault(event);
Event.stop(event);
return false;
}
+4 -6
View File
@@ -571,8 +571,8 @@ function onWindowResize(event) {
// headerarea)[0];
// $("attachments").setStyle({ height: (headerarea.getHeight() - fromfield.getHeight() - 10) + 'px' });
}
var subjectfield = headerarea.select("div#subjectRow span.headerField").first();
var subjectinput = headerarea.select("div#subjectRow input.textField").first();
var subjectfield = headerarea.down("div#subjectRow span.headerField");
var subjectinput = headerarea.down("div#subjectRow input.textField");
// Resize subject field
subjectinput.setStyle({ width: (window.width()
@@ -585,12 +585,10 @@ function onWindowResize(event) {
addresslist.setStyle({ width: ($(this).width() - attachmentswidth - 10) + 'px' });
// Set textarea position
textarea.setStyle({ 'top': (headerarea.getHeight() + headerarea.offsetTop) + 'px' });
var textareaoffset = textarea.offsetTop;
textarea.setStyle({ 'top': headerarea.select("hr").first().offsetTop + 'px' });
// Resize the textarea (message content)
textarea.rows = Math.round((window.height() - textareaoffset) / rowheight);
textarea.rows = Math.round((window.height() - textarea.offsetTop) / rowheight);
}
function onMailEditorClose(event) {
+20 -6
View File
@@ -140,7 +140,7 @@ function extractEmailAddress(mailTo) {
var email = "";
var emailre
= /(([a-zA-Z0-9\._-]+)*[a-zA-Z0-9_-]+@([a-zA-Z0-9\._-]+)*[a-zA-Z0-9_-]+)/g;
= /(([a-zA-Z0-9\._-]+)*[a-zA-Z0-9_-]+@([a-zA-Z0-9\._-]+)*[a-zA-Z0-9_-]+)/;
if (emailre.test(mailTo)) {
emailre.exec(mailTo);
email = RegExp.$1;
@@ -155,18 +155,30 @@ function extractEmailName(mailTo) {
var tmpMailTo = mailTo.replace("&lt;", "<");
tmpMailTo = tmpMailTo.replace("&gt;", ">");
var emailNamere = /([ ]+)?(.+)\ </;
var emailNamere = /([^ ]+)\ </;
if (emailNamere.test(tmpMailTo)) {
emailNamere.exec(tmpMailTo);
emailName = RegExp.$2;
emailName = RegExp.$1;
}
return emailName;
}
function extractSubject(mailTo) {
var subject = "";
var subjectre = /\?subject=([^&]+)/;
if (subjectre.test(mailTo)) {
subjectre.exec(mailTo);
subject = RegExp.$1;
}
return subject;
}
function sanitizeMailTo(dirtyMailTo) {
var emailName = extractEmailName(dirtyMailTo);
var email = "" + extractEmailAddress(dirtyMailTo);
var email = extractEmailAddress(dirtyMailTo);
var mailto = "";
if (emailName && emailName.length > 0)
@@ -234,6 +246,7 @@ function openMailComposeWindow(url, wId) {
function openMailTo(senderMailTo) {
var addresses = senderMailTo.split(",");
var sanitizedAddresses = new Array();
var subject = extractSubject(senderMailTo);
for (var i = 0; i < addresses.length; i++) {
var sanitizedAddress = sanitizeMailTo(addresses[i]);
if (sanitizedAddress.length > 0)
@@ -241,10 +254,11 @@ function openMailTo(senderMailTo) {
}
var mailto = sanitizedAddresses.join(",");
if (mailto.length > 0)
openMailComposeWindow(ApplicationBaseURL
+ "../Mail/compose?mailto=" + mailto);
+ "../Mail/compose?mailto=" + mailto
+ ((subject.length > 0)?"?subject="+subject:""));
return false; /* stop following the link */
}