mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-28 01:29:05 +01:00
make sure preview/display/saveAttachments etc. is using the ImapServer whose Id is passed on with the ID of the mail to be processed
This commit is contained in:
parent
1d48bf67d5
commit
4f2219908f
@ -1914,6 +1914,13 @@ class mail_ui
|
|||||||
$hA = self::splitRowID($rowID);
|
$hA = self::splitRowID($rowID);
|
||||||
$uid = $hA['msgUID'];
|
$uid = $hA['msgUID'];
|
||||||
$mailbox = $hA['folder'];
|
$mailbox = $hA['folder'];
|
||||||
|
$icServerID = $hA['profileID'];
|
||||||
|
$rememberServerID = $this->mail_bo->profileID;
|
||||||
|
if ($icServerID && $icServerID != $this->mail_bo->profileID)
|
||||||
|
{
|
||||||
|
//error_log(__METHOD__.__LINE__.' change Profile to ->'.$icServerID);
|
||||||
|
$this->changeProfile($icServerID);
|
||||||
|
}
|
||||||
|
|
||||||
$this->mail_bo->reopen($mailbox);
|
$this->mail_bo->reopen($mailbox);
|
||||||
$rawheaders = $this->mail_bo->getMessageRawHeader($uid, $partID);
|
$rawheaders = $this->mail_bo->getMessageRawHeader($uid, $partID);
|
||||||
@ -1931,6 +1938,11 @@ class mail_ui
|
|||||||
}
|
}
|
||||||
|
|
||||||
$this->mail_bo->closeConnection();
|
$this->mail_bo->closeConnection();
|
||||||
|
if ($rememberServerID != $this->mail_bo->profileID)
|
||||||
|
{
|
||||||
|
//error_log(__METHOD__.__LINE__.' change Profile back to where we came from->'.$rememberServerID);
|
||||||
|
$this->changeProfile($rememberServerID);
|
||||||
|
}
|
||||||
|
|
||||||
header('Content-type: text/html; charset=iso-8859-1');
|
header('Content-type: text/html; charset=iso-8859-1');
|
||||||
print '<pre>'. htmlspecialchars($rawheaders, ENT_NOQUOTES, 'iso-8859-1') .'</pre>';
|
print '<pre>'. htmlspecialchars($rawheaders, ENT_NOQUOTES, 'iso-8859-1') .'</pre>';
|
||||||
@ -1950,13 +1962,21 @@ class mail_ui
|
|||||||
if(isset($_requesteddata['id'])) $rowID = $_requesteddata['id'];
|
if(isset($_requesteddata['id'])) $rowID = $_requesteddata['id'];
|
||||||
if(isset($_requesteddata['part'])) $partID = $_requesteddata['part'];
|
if(isset($_requesteddata['part'])) $partID = $_requesteddata['part'];
|
||||||
if(isset($_requesteddata['mode'])) $preventRedirect = (($_requesteddata['mode']=='display' || $_requesteddata['mode'] == 'print')?true:false);
|
if(isset($_requesteddata['mode'])) $preventRedirect = (($_requesteddata['mode']=='display' || $_requesteddata['mode'] == 'print')?true:false);
|
||||||
$htmlOptions = $this->mail_bo->htmlOptions;
|
|
||||||
if (!empty($_requesteddata['tryastext'])) $htmlOptions = "only_if_no_text";
|
|
||||||
if (!empty($_requesteddata['tryashtml'])) $htmlOptions = "always_display";
|
|
||||||
|
|
||||||
$hA = self::splitRowID($rowID);
|
$hA = self::splitRowID($rowID);
|
||||||
$uid = $hA['msgUID'];
|
$uid = $hA['msgUID'];
|
||||||
$mailbox = $hA['folder'];
|
$mailbox = $hA['folder'];
|
||||||
|
$icServerID = $hA['profileID'];
|
||||||
|
$rememberServerID = $this->mail_bo->profileID;
|
||||||
|
if ($icServerID && $icServerID != $this->mail_bo->profileID)
|
||||||
|
{
|
||||||
|
//error_log(__METHOD__.__LINE__.' change Profile to ->'.$icServerID);
|
||||||
|
$this->changeProfile($icServerID);
|
||||||
|
}
|
||||||
|
$htmlOptions = $this->mail_bo->htmlOptions;
|
||||||
|
if (!empty($_requesteddata['tryastext'])) $htmlOptions = "only_if_no_text";
|
||||||
|
if (!empty($_requesteddata['tryashtml'])) $htmlOptions = "always_display";
|
||||||
|
|
||||||
//error_log(__METHOD__.__LINE__.array2string($hA));
|
//error_log(__METHOD__.__LINE__.array2string($hA));
|
||||||
if (($this->mail_bo->isDraftFolder($mailbox)) && $_requesteddata['mode'] == 'print')
|
if (($this->mail_bo->isDraftFolder($mailbox)) && $_requesteddata['mode'] == 'print')
|
||||||
{
|
{
|
||||||
@ -2070,6 +2090,12 @@ class mail_ui
|
|||||||
)
|
)
|
||||||
));
|
));
|
||||||
$readonlys = $preserv = $content;
|
$readonlys = $preserv = $content;
|
||||||
|
if ($rememberServerID != $this->mail_bo->profileID)
|
||||||
|
{
|
||||||
|
//error_log(__METHOD__.__LINE__.' change Profile back to where we came from->'.$rememberServerID);
|
||||||
|
$this->changeProfile($rememberServerID);
|
||||||
|
}
|
||||||
|
|
||||||
$etpl->exec('mail.mail_ui.displayMessage',$content,$sel_options,$readonlys,$preserv,2);
|
$etpl->exec('mail.mail_ui.displayMessage',$content,$sel_options,$readonlys,$preserv,2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2385,12 +2411,24 @@ class mail_ui
|
|||||||
$hA = self::splitRowID($rowID);
|
$hA = self::splitRowID($rowID);
|
||||||
$uid = $hA['msgUID'];
|
$uid = $hA['msgUID'];
|
||||||
$mailbox = $hA['folder'];
|
$mailbox = $hA['folder'];
|
||||||
|
$icServerID = $hA['profileID'];
|
||||||
|
$rememberServerID = $this->mail_bo->profileID;
|
||||||
|
if ($icServerID && $icServerID != $this->mail_bo->profileID)
|
||||||
|
{
|
||||||
|
//error_log(__METHOD__.__LINE__.' change Profile to ->'.$icServerID);
|
||||||
|
$this->changeProfile($icServerID);
|
||||||
|
}
|
||||||
$part = $_GET['part'];
|
$part = $_GET['part'];
|
||||||
$is_winmail = $_GET['is_winmail'] ? $_GET['is_winmail'] : 0;
|
$is_winmail = $_GET['is_winmail'] ? $_GET['is_winmail'] : 0;
|
||||||
|
|
||||||
$this->mail_bo->reopen($mailbox);
|
$this->mail_bo->reopen($mailbox);
|
||||||
$attachment = $this->mail_bo->getAttachment($uid,$part,$is_winmail,false);
|
$attachment = $this->mail_bo->getAttachment($uid,$part,$is_winmail,false);
|
||||||
$this->mail_bo->closeConnection();
|
$this->mail_bo->closeConnection();
|
||||||
|
if ($rememberServerID != $this->mail_bo->profileID)
|
||||||
|
{
|
||||||
|
//error_log(__METHOD__.__LINE__.' change Profile back to where we came from->'.$rememberServerID);
|
||||||
|
$this->changeProfile($rememberServerID);
|
||||||
|
}
|
||||||
|
|
||||||
$GLOBALS['egw']->session->commit_session();
|
$GLOBALS['egw']->session->commit_session();
|
||||||
//error_log(__METHOD__.print_r($_GET,true));
|
//error_log(__METHOD__.print_r($_GET,true));
|
||||||
@ -2481,6 +2519,13 @@ class mail_ui
|
|||||||
$hA = self::splitRowID($rowID);
|
$hA = self::splitRowID($rowID);
|
||||||
$uid = $hA['msgUID'];
|
$uid = $hA['msgUID'];
|
||||||
$mailbox = $hA['folder'];
|
$mailbox = $hA['folder'];
|
||||||
|
$icServerID = $hA['profileID'];
|
||||||
|
$rememberServerID = $this->mail_bo->profileID;
|
||||||
|
if ($icServerID && $icServerID != $this->mail_bo->profileID)
|
||||||
|
{
|
||||||
|
//error_log(__METHOD__.__LINE__.' change Profile to ->'.$icServerID);
|
||||||
|
$this->changeProfile($icServerID);
|
||||||
|
}
|
||||||
|
|
||||||
$this->mail_bo->reopen($mailbox);
|
$this->mail_bo->reopen($mailbox);
|
||||||
|
|
||||||
@ -2488,6 +2533,11 @@ class mail_ui
|
|||||||
$headers = $this->mail_bo->getMessageHeader($uid, $partID, true,false, $mailbox);
|
$headers = $this->mail_bo->getMessageHeader($uid, $partID, true,false, $mailbox);
|
||||||
|
|
||||||
$this->mail_bo->closeConnection();
|
$this->mail_bo->closeConnection();
|
||||||
|
if ($rememberServerID != $this->mail_bo->profileID)
|
||||||
|
{
|
||||||
|
//error_log(__METHOD__.__LINE__.' change Profile back to where we came from ->'.$rememberServerID);
|
||||||
|
$this->changeProfile($rememberServerID);
|
||||||
|
}
|
||||||
|
|
||||||
$GLOBALS['egw']->session->commit_session();
|
$GLOBALS['egw']->session->commit_session();
|
||||||
if ($display==false)
|
if ($display==false)
|
||||||
@ -2524,11 +2574,18 @@ class mail_ui
|
|||||||
}
|
}
|
||||||
translation::add_app('mail');
|
translation::add_app('mail');
|
||||||
|
|
||||||
|
$rememberServerID = $this->mail_bo->profileID;
|
||||||
foreach((array)$ids as $id)
|
foreach((array)$ids as $id)
|
||||||
{
|
{
|
||||||
$hA = self::splitRowID($id);
|
$hA = self::splitRowID($id);
|
||||||
$uid = $hA['msgUID'];
|
$uid = $hA['msgUID'];
|
||||||
$mailbox = $hA['folder'];
|
$mailbox = $hA['folder'];
|
||||||
|
$icServerID = $hA['profileID'];
|
||||||
|
if ($icServerID && $icServerID != $this->mail_bo->profileID)
|
||||||
|
{
|
||||||
|
//error_log(__METHOD__.__LINE__.' change Profile to ->'.$icServerID);
|
||||||
|
$this->changeProfile($icServerID);
|
||||||
|
}
|
||||||
$message = $this->mail_bo->getMessageRawBody($uid, $partID='', $mailbox);
|
$message = $this->mail_bo->getMessageRawBody($uid, $partID='', $mailbox);
|
||||||
$err=null;
|
$err=null;
|
||||||
if(egw_vfs::is_dir($path))
|
if(egw_vfs::is_dir($path))
|
||||||
@ -2558,6 +2615,12 @@ class mail_ui
|
|||||||
egw_vfs::proppatch($file,$props);
|
egw_vfs::proppatch($file,$props);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if ($rememberServerID != $this->mail_bo->profileID)
|
||||||
|
{
|
||||||
|
//error_log(__METHOD__.__LINE__.' change Profile back to where we came from ->'.$rememberServerID);
|
||||||
|
$this->changeProfile($rememberServerID);
|
||||||
|
}
|
||||||
|
|
||||||
if($close)
|
if($close)
|
||||||
{
|
{
|
||||||
egw_framework::window_close(($err?$err:null));
|
egw_framework::window_close(($err?$err:null));
|
||||||
@ -2584,6 +2647,7 @@ class mail_ui
|
|||||||
return 'alert("'.addslashes(lang('%1 is NOT writable by you!',$path)).'"); window.close();';
|
return 'alert("'.addslashes(lang('%1 is NOT writable by you!',$path)).'"); window.close();';
|
||||||
}
|
}
|
||||||
$err=null;
|
$err=null;
|
||||||
|
$rememberServerID = $this->mail_bo->profileID;
|
||||||
foreach((array)$ids as $id)
|
foreach((array)$ids as $id)
|
||||||
{
|
{
|
||||||
list($app,$user,$serverID,$mailbox,$uid,$part,$is_winmail,$name) = explode('::',$id,8);
|
list($app,$user,$serverID,$mailbox,$uid,$part,$is_winmail,$name) = explode('::',$id,8);
|
||||||
@ -2591,6 +2655,12 @@ class mail_ui
|
|||||||
$hA = self::splitRowID($lId);
|
$hA = self::splitRowID($lId);
|
||||||
$uid = $hA['msgUID'];
|
$uid = $hA['msgUID'];
|
||||||
$mailbox = $hA['folder'];
|
$mailbox = $hA['folder'];
|
||||||
|
$icServerID = $hA['profileID'];
|
||||||
|
if ($icServerID && $icServerID != $this->mail_bo->profileID)
|
||||||
|
{
|
||||||
|
//error_log(__METHOD__.__LINE__.' change Profile to ->'.$icServerID);
|
||||||
|
$this->changeProfile($icServerID);
|
||||||
|
}
|
||||||
//error_log(__METHOD__.__LINE__.array2string($hA));
|
//error_log(__METHOD__.__LINE__.array2string($hA));
|
||||||
$this->mail_bo->reopen($mailbox);
|
$this->mail_bo->reopen($mailbox);
|
||||||
$attachment = $this->mail_bo->getAttachment($uid,$part,$is_winmail,false);
|
$attachment = $this->mail_bo->getAttachment($uid,$part,$is_winmail,false);
|
||||||
@ -2603,6 +2673,11 @@ class mail_ui
|
|||||||
if ($fp) fclose($fp);
|
if ($fp) fclose($fp);
|
||||||
}
|
}
|
||||||
$this->mail_bo->closeConnection();
|
$this->mail_bo->closeConnection();
|
||||||
|
if ($rememberServerID != $this->mail_bo->profileID)
|
||||||
|
{
|
||||||
|
//error_log(__METHOD__.__LINE__.' change Profile back to where we came from ->'.$rememberServerID);
|
||||||
|
$this->changeProfile($rememberServerID);
|
||||||
|
}
|
||||||
egw_framework::window_close(($err?$err:null));
|
egw_framework::window_close(($err?$err:null));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2616,11 +2691,18 @@ class mail_ui
|
|||||||
// First, get all attachment IDs
|
// First, get all attachment IDs
|
||||||
if(isset($_GET['id'])) $message_id = $_GET['id'];
|
if(isset($_GET['id'])) $message_id = $_GET['id'];
|
||||||
//error_log(__METHOD__.__LINE__.$message_id);
|
//error_log(__METHOD__.__LINE__.$message_id);
|
||||||
|
$rememberServerID = $this->mail_bo->profileID;
|
||||||
if(!is_numeric($message_id))
|
if(!is_numeric($message_id))
|
||||||
{
|
{
|
||||||
$hA = self::splitRowID($message_id);
|
$hA = self::splitRowID($message_id);
|
||||||
$message_id = $hA['msgUID'];
|
$message_id = $hA['msgUID'];
|
||||||
$mailbox = $hA['folder'];
|
$mailbox = $hA['folder'];
|
||||||
|
$icServerID = $hA['profileID'];
|
||||||
|
if ($icServerID && $icServerID != $this->mail_bo->profileID)
|
||||||
|
{
|
||||||
|
//error_log(__METHOD__.__LINE__.' change Profile to ->'.$icServerID);
|
||||||
|
$this->changeProfile($icServerID);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -2660,6 +2742,11 @@ class mail_ui
|
|||||||
if ($fp) fclose($fp);
|
if ($fp) fclose($fp);
|
||||||
}
|
}
|
||||||
$this->mail_bo->closeConnection();
|
$this->mail_bo->closeConnection();
|
||||||
|
if ($rememberServerID != $this->mail_bo->profileID)
|
||||||
|
{
|
||||||
|
//error_log(__METHOD__.__LINE__.' change Profile back to where we came from ->'.$rememberServerID);
|
||||||
|
$this->changeProfile($rememberServerID);
|
||||||
|
}
|
||||||
|
|
||||||
// Zip it up
|
// Zip it up
|
||||||
egw_vfs::download_zip($file_list);
|
egw_vfs::download_zip($file_list);
|
||||||
@ -3324,6 +3411,14 @@ class mail_ui
|
|||||||
$uidA = self::splitRowID($_messageID);
|
$uidA = self::splitRowID($_messageID);
|
||||||
$folder = $uidA['folder']; // all messages in one set are supposed to be within the same folder
|
$folder = $uidA['folder']; // all messages in one set are supposed to be within the same folder
|
||||||
$messageID = $uidA['msgUID'];
|
$messageID = $uidA['msgUID'];
|
||||||
|
$icServerID = $uidA['profileID'];
|
||||||
|
$rememberServerID = $this->mail_bo->profileID;
|
||||||
|
if ($icServerID && $icServerID != $this->mail_bo->profileID)
|
||||||
|
{
|
||||||
|
//error_log(__METHOD__.__LINE__.' change Profile to ->'.$icServerID);
|
||||||
|
$this->changeProfile($icServerID);
|
||||||
|
}
|
||||||
|
|
||||||
$bodyResponse = $this->get_load_email_data($messageID,$_partID,$folder,$_htmloptions);
|
$bodyResponse = $this->get_load_email_data($messageID,$_partID,$folder,$_htmloptions);
|
||||||
egw_session::cache_control(true);
|
egw_session::cache_control(true);
|
||||||
//error_log(array2string($bodyResponse));
|
//error_log(array2string($bodyResponse));
|
||||||
@ -4045,7 +4140,7 @@ class mail_ui
|
|||||||
}
|
}
|
||||||
if ($rememberServerID != $this->mail_bo->profileID)
|
if ($rememberServerID != $this->mail_bo->profileID)
|
||||||
{
|
{
|
||||||
//error_log(__METHOD__.__LINE__.' change Profile to ->'.$rememberServerID);
|
//error_log(__METHOD__.__LINE__.' change Profile back to where we came from ->'.$rememberServerID);
|
||||||
$this->changeProfile($rememberServerID);
|
$this->changeProfile($rememberServerID);
|
||||||
}
|
}
|
||||||
$response = egw_json_response::get();
|
$response = egw_json_response::get();
|
||||||
@ -4131,7 +4226,7 @@ class mail_ui
|
|||||||
}
|
}
|
||||||
if ($rememberServerID != $this->mail_bo->profileID)
|
if ($rememberServerID != $this->mail_bo->profileID)
|
||||||
{
|
{
|
||||||
//error_log(__METHOD__.__LINE__.' change Profile to ->'.$rememberServerID);
|
//error_log(__METHOD__.__LINE__.' change Profile back to where we came from ->'.$rememberServerID);
|
||||||
$this->changeProfile($rememberServerID);
|
$this->changeProfile($rememberServerID);
|
||||||
}
|
}
|
||||||
$response = egw_json_response::get();
|
$response = egw_json_response::get();
|
||||||
|
Loading…
Reference in New Issue
Block a user