* 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 0fdd3da429
commit 4873fd253e

View File

@ -596,6 +596,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']) &&
@ -664,7 +668,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);