* Mail: switching signatures in html mail failed after first time

we have to keep comments in compose to be able to switch signatures
This commit is contained in:
Ralf Becker 2017-02-10 13:13:24 +01:00
parent c4245111e5
commit 94e71aa6bf

View File

@ -604,6 +604,10 @@ class mail_compose
unset($_content['mail_plaintext']); unset($_content['mail_plaintext']);
$_currentMode = $_content['mimeType']; $_currentMode = $_content['mimeType'];
// we have to keep comments to be able to changing signatures
// signature is wraped in "<!-- HTMLSIGBEGIN -->$signature<!-- HTMLSIGEND -->"
Mail::$htmLawed_config['comment'] = 2;
// form was submitted either by clicking a button or by changing one of the triggering selectboxes // form was submitted either by clicking a button or by changing one of the triggering selectboxes
// identity and signatureid; this might trigger that the signature in mail body may have to be altered // identity and signatureid; this might trigger that the signature in mail body may have to be altered
if ( !empty($content['body']) && if ( !empty($content['body']) &&
@ -672,7 +676,6 @@ class mail_compose
//$sigText = Mail::merge($sigText,array($GLOBALS['egw']->accounts->id2name($GLOBALS['egw_info']['user']['account_id'],'person_id'))); //$sigText = Mail::merge($sigText,array($GLOBALS['egw']->accounts->id2name($GLOBALS['egw_info']['user']['account_id'],'person_id')));
//error_log(__METHOD__.'new+:'.$sigText.'#'); //error_log(__METHOD__.'new+:'.$sigText.'#');
$_htmlConfig = Mail::$htmLawed_config; $_htmlConfig = Mail::$htmLawed_config;
Mail::$htmLawed_config['comment'] = 2;
Mail::$htmLawed_config['transform_anchor'] = false; Mail::$htmLawed_config['transform_anchor'] = false;
$oldSigTextCleaned = str_replace(array("\r", "\t", "<br />\n", ": "), array("", "", "<br />", ":"), $oldSigTextCleaned = str_replace(array("\r", "\t", "<br />\n", ": "), array("", "", "<br />", ":"),
$_currentMode == 'html' ? Api\Html::purify($oldSigText, null, array(), true) : $oldSigText); $_currentMode == 'html' ? Api\Html::purify($oldSigText, null, array(), true) : $oldSigText);
@ -2252,7 +2255,6 @@ class mail_compose
//error_log(__METHOD__."(, formDate[filemode]=$_formData[filemode], _autosaving=".array2string($_autosaving).') '.function_backtrace()); //error_log(__METHOD__."(, formDate[filemode]=$_formData[filemode], _autosaving=".array2string($_autosaving).') '.function_backtrace());
$mail_bo = $this->mail_bo; $mail_bo = $this->mail_bo;
$activeMailProfile = Mail\Account::read($this->mail_bo->profileID); $activeMailProfile = Mail\Account::read($this->mail_bo->profileID);
$identity = $_identity['ident_email'] ? $_identity['ident_email'] : $activeMailProfile['ident_email'];
// you need to set the sender, if you work with different identities, since most smtp servers, dont allow // you need to set the sender, if you work with different identities, since most smtp servers, dont allow
// sending in the name of someone else // sending in the name of someone else