diff --git a/gulliver/js/ext/pmos-common.js b/gulliver/js/ext/pmos-common.js index 2b582eaa5..1cffe1f4f 100755 --- a/gulliver/js/ext/pmos-common.js +++ b/gulliver/js/ext/pmos-common.js @@ -354,8 +354,22 @@ function _() */ function _FNF(USER_NAME, FIRST_NAME, LAST_NAME, FN_FORMAT) { + if (USER_NAME == null) { + USER_NAME = ''; + } + if (FIRST_NAME == null) { + FIRST_NAME = ''; + } + if (LAST_NAME == null) { + LAST_NAME = ''; + } if (typeof FORMATS != 'undefined') { - FN_FORMAT = FORMATS.format; + if (USER_NAME != '' || FIRST_NAME != '' || LAST_NAME != '') { + FN_FORMAT = FORMATS.format; + } + else { + FN_FORMAT = ''; + } } else { FN_FORMAT = '(@lastName, @firstName) @userName'; diff --git a/workflow/engine/classes/class.case.php b/workflow/engine/classes/class.case.php index a678d4d02..2dfa55a0b 100755 --- a/workflow/engine/classes/class.case.php +++ b/workflow/engine/classes/class.case.php @@ -4529,25 +4529,29 @@ class Cases } if ($sFrom == '') { - $sFrom = '"ProcessMaker"'; + $sFrom = '"ProcessMaker"'; } - if (($aConfiguration['MESS_ENGINE'] != 'MAIL') && ($aConfiguration['MESS_ACCOUNT'] != '')) { + $hasEmailFrom = preg_match('/(.+)@(.+)\.(.+)/', $sFrom, $match); + + if (!$hasEmailFrom || strpos($sFrom, $aConfiguration['MESS_ACCOUNT']) === false) { + if (($aConfiguration['MESS_ENGINE'] != 'MAIL') && ($aConfiguration['MESS_ACCOUNT'] != '')) { $sFrom .= ' <' . $aConfiguration['MESS_ACCOUNT'] . '>'; - } else { + } else { if (($aConfiguration['MESS_ENGINE'] == 'MAIL')) { - $sFrom .= ' '; + $sFrom .= ' '; } else { - if ($aConfiguration['MESS_SERVER'] != '') { - if (($sAux = @gethostbyaddr($aConfiguration['MESS_SERVER']))) { - $sFrom .= ' '; - } else { - $sFrom .= ' '; - } + if ($aConfiguration['MESS_SERVER'] != '') { + if (($sAux = @gethostbyaddr($aConfiguration['MESS_SERVER']))) { + $sFrom .= ' '; } else { - $sFrom .= ' '; + $sFrom .= ' '; } + } else { + $sFrom .= ' '; + } } + } } if (isset($aTaskInfo['TAS_DEF_SUBJECT_MESSAGE']) && $aTaskInfo['TAS_DEF_SUBJECT_MESSAGE'] != '') { diff --git a/workflow/engine/classes/class.wsBase.php b/workflow/engine/classes/class.wsBase.php index f66d60170..cded46d1c 100755 --- a/workflow/engine/classes/class.wsBase.php +++ b/workflow/engine/classes/class.wsBase.php @@ -791,7 +791,7 @@ class wsBase $sBody = G::replaceDataField( $templateContents, $Fields); $hasEmailFrom = preg_match('/(.+)@(.+)\.(.+)/', $sFrom, $match); - if (!$hasEmailFrom || strtolower($sFrom) != strtolower($aSetup['MESS_ACCOUNT'])) { + if (!$hasEmailFrom || strpos($sFrom, $aSetup['MESS_ACCOUNT']) === false) { $sFrom = '"' . stripslashes($sFrom) . '" <' . $aSetup['MESS_ACCOUNT'] . ">"; } diff --git a/workflow/engine/classes/model/AppNotes.php b/workflow/engine/classes/model/AppNotes.php index e81f6f6c3..2341f0081 100755 --- a/workflow/engine/classes/model/AppNotes.php +++ b/workflow/engine/classes/model/AppNotes.php @@ -182,25 +182,29 @@ class AppNotes extends BaseAppNotes { $sFrom = '"ProcessMaker"'; } - if (($aConfiguration['MESS_ENGINE'] != 'MAIL') && ($aConfiguration['MESS_ACCOUNT'] != '')) { - $sFrom .= ' <' . $aConfiguration['MESS_ACCOUNT'] . '>'; - } else { - if (($aConfiguration['MESS_ENGINE'] == 'MAIL')) { - $sFrom .= ' '; + $hasEmailFrom = preg_match('/(.+)@(.+)\.(.+)/', $sFrom, $match); + + if (!$hasEmailFrom || strpos($sFrom, $aConfiguration['MESS_ACCOUNT']) === false) { + if (($aConfiguration['MESS_ENGINE'] != 'MAIL') && ($aConfiguration['MESS_ACCOUNT'] != '')) { + $sFrom .= ' <' . $aConfiguration['MESS_ACCOUNT'] . '>'; } else { - if ($aConfiguration['MESS_SERVER'] != '') { - if (($sAux = @gethostbyaddr($aConfiguration['MESS_SERVER']))) { - $sFrom .= ' '; - } else { - $sFrom .= ' '; - } + if (($aConfiguration['MESS_ENGINE'] == 'MAIL')) { + $sFrom .= ' '; } else { - $sFrom .= ' '; + if ($aConfiguration['MESS_SERVER'] != '') { + if (($sAux = @gethostbyaddr($aConfiguration['MESS_SERVER']))) { + $sFrom .= ' '; + } else { + $sFrom .= ' '; + } + } else { + $sFrom .= ' '; + } } } } - $sSubject = G::replaceDataField($configNoteNotification['subject'], $aFields); + $sSubject = G::replaceDataField($configNoteNotification['subject'], $aFields); //erik: new behaviour for messages