mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-02-22 21:30:54 +01:00
improve of messageuid detection, when appending messages, as sometimes (when server only replies OK/True on appending Messages to a mailbox) you cannot trust the nextuid iformation by folderstatus (at least not with dbmail)
This commit is contained in:
parent
2105bb4d2d
commit
161e29bb0f
@ -282,6 +282,15 @@
|
||||
if (self::$debug) error_log("Could not append Message:".print_r($messageid->message,true));
|
||||
return false;
|
||||
}
|
||||
if ($messageid === true) // try to figure out the message uid
|
||||
{
|
||||
$list = $this->getHeaders($_folderName, $_startMessage=1, $_numberOfMessages=1, $_sort=0, $_reverse=true, $_filter=array());
|
||||
if ($list)
|
||||
{
|
||||
if (self::$debug) error_log(__METHOD__.__LINE__.' MessageUid:'.$messageid.' but found:'.array2string($list));
|
||||
$messageid = $list['header'][0]['uid'];
|
||||
}
|
||||
}
|
||||
return $messageid;
|
||||
}
|
||||
|
||||
@ -2475,13 +2484,13 @@
|
||||
static function getFileNameFromStructure(&$structure)
|
||||
{
|
||||
if(isset($structure->parameters['NAME'])) {
|
||||
return self::decode_header($structure->parameters['NAME']);
|
||||
return rawurldecode(self::decode_header($structure->parameters['NAME']));
|
||||
} elseif(isset($structure->dparameters['FILENAME'])) {
|
||||
return self::decode_header($structure->dparameters['FILENAME']);
|
||||
return rawurldecode(self::decode_header($structure->dparameters['FILENAME']));
|
||||
} elseif(isset($structure->dparameters['FILENAME*'])) {
|
||||
return self::decode_header($structure->dparameters['FILENAME*']);
|
||||
return rawurldecode(self::decode_header($structure->dparameters['FILENAME*']));
|
||||
} elseif ( isset($structure->filename) && !empty($structure->filename) && $structure->filename != 'NIL') {
|
||||
return self::decode_header($structure->filename);
|
||||
return rawurldecode(self::decode_header($structure->filename));
|
||||
} else {
|
||||
return lang("unknown").($structure->subType ? ".".$structure->subType : "");
|
||||
}
|
||||
|
@ -143,10 +143,13 @@
|
||||
unset($_GET['composeid']);
|
||||
$uicompose = CreateObject('felamimail.uicompose');
|
||||
$messageUid = ($messageUid===true ? $uidNext : $messageUid);
|
||||
//error_log(__METHOD__.__LINE__.' (re)open drafted message with new UID: '.$messageUid.' in folder:'.$folder);
|
||||
$uicompose->bocompose->getDraftData($uicompose->bofelamimail->icServer, $folder, $messageUid);
|
||||
$uicompose->compose();
|
||||
return;
|
||||
if ($this->bofelamimail->getMessageHeader($messageUid))
|
||||
{
|
||||
//error_log(__METHOD__.__LINE__.' (re)open drafted message with new UID: '.$messageUid.' in folder:'.$folder);
|
||||
$uicompose->bocompose->getDraftData($uicompose->bofelamimail->icServer, $folder, $messageUid);
|
||||
$uicompose->compose();
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
if(!$this->bocompose->send($formData)) {
|
||||
print "<script type=\"text/javascript\">alert('".lang("Error: Could not send Message.")." ".lang("Trying to recover from session data")."');</script>";
|
||||
|
Loading…
Reference in New Issue
Block a user