mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-01-11 16:38:52 +01:00
support Disposition-Notification-To, Return-Receipt-To and X-Confirm-Reading-To on preview
This commit is contained in:
parent
7ef65b30d6
commit
e36a7b17e3
@ -19,5 +19,4 @@
|
||||
*/
|
||||
class mail_bo extends emailadmin_imapbase
|
||||
{
|
||||
|
||||
}
|
||||
|
@ -3,7 +3,7 @@
|
||||
* EGroupware EMail - timed vacation
|
||||
*
|
||||
* @link http://www.stylite.de
|
||||
* @package felamimail
|
||||
* @package mail
|
||||
* @author Ralf Becker <rb@stylite.de>
|
||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||
* @version $Id$
|
||||
|
@ -1887,6 +1887,10 @@ unset($query['actions']);
|
||||
else $data["flags"][$flag] = $flag;
|
||||
}
|
||||
}
|
||||
$data['dispositionnotificationto'] = $header['DISPOSITION-NOTIFICATION-TO'];
|
||||
if (($header['mdnsent']||$header['mdnnotsent']|$header['seen'])&&isset($data['dispositionnotificationto'])) unset($data['dispositionnotificationto']);
|
||||
if ($header['mdnsent']) $data["flags"]['mdnsent'];
|
||||
if ($header['mdnnotsent']) $data["flags"]['mdnnotsent'];
|
||||
$data['attachmentsPresent'] = $imageTag;
|
||||
$data['attachmentsBlock'] = $imageHTMLBlock;
|
||||
$data['address'] = ($_folderType?$data["toaddress"]:$data["fromaddress"]);
|
||||
@ -4077,6 +4081,21 @@ $this->partID = $partID;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* sendMDN, ...
|
||||
*
|
||||
* @param array _messageList list of UID's
|
||||
*
|
||||
* @return nothing
|
||||
*/
|
||||
function ajax_sendMDN($_messageList)
|
||||
{
|
||||
if(mail_bo::$debug); error_log(__METHOD__."->".array2string($_messageList));
|
||||
$uidA = self::splitRowID($_messageList['msg'][0]);
|
||||
$folder = $uidA['folder']; // all messages in one set are supposed to be within the same folder
|
||||
$this->mail_bo->sendMDN($uidA['msgUID'],$folder);
|
||||
}
|
||||
|
||||
/**
|
||||
* flag messages as read, unread, flagged, ...
|
||||
*
|
||||
|
@ -650,6 +650,27 @@ app.classes.mail = AppJS.extend(
|
||||
this.mail_removeRowClass(messages,'unseen');
|
||||
// reduce counter without server roundtrip
|
||||
this.mail_reduceCounterWithoutServerRoundtrip();
|
||||
if (typeof dataElem.data.dispositionnotificationto != 'undefined' && typeof dataElem.data.flags.mdnsent == 'undefined' && typeof dataElem.data.flags.mdnnotsent == 'undefined')
|
||||
{
|
||||
var buttons = [
|
||||
{text: this.egw.lang("Yes"), id: "mdnsent"},
|
||||
{text: this.egw.lang("No"), id:"mdnnotsent"}
|
||||
];
|
||||
et2_dialog.show_dialog(function(_button_id, _value) {
|
||||
switch (_button_id)
|
||||
{
|
||||
case "mdnsent":
|
||||
egw.jsonq('mail.mail_ui.ajax_sendMDN',[messages]);
|
||||
egw.jsonq('mail.mail_ui.ajax_flagMessages',['mdnsent', messages, true]);
|
||||
return;
|
||||
case "mdnnotsent":
|
||||
egw.jsonq('mail.mail_ui.ajax_flagMessages',['mdnnotsent', messages, true]);
|
||||
}
|
||||
},
|
||||
this.egw.lang("The message sender has requested a response to indicate that you have read this message. Would you like to send a receipt?"),
|
||||
this.egw.lang("Confirm"),
|
||||
messages, buttons);
|
||||
}
|
||||
egw.jsonq('mail.mail_ui.ajax_flagMessages',['read', messages, false]);
|
||||
}
|
||||
// Pre-load next email already so user gets it faster
|
||||
|
Loading…
Reference in New Issue
Block a user