diff --git a/workflow/engine/methods/cases/cases_Derivate.php b/workflow/engine/methods/cases/cases_Derivate.php index a60e632b4..f9ef18225 100755 --- a/workflow/engine/methods/cases/cases_Derivate.php +++ b/workflow/engine/methods/cases/cases_Derivate.php @@ -257,7 +257,7 @@ try { if (isset ( $_SESSION ['user_experience'] ) && $flagGmail === false) { $aNextStep ['PAGE'] = $casesRedirector . '?ux=' . $_SESSION ['user_experience']; $debuggerAvailable = false; - } else if ($flagGmail == true) { + } else if ($flagGmail === true) { $aNextStep ['PAGE'] = $casesRedirector . '?gmail=1'; } else { $aNextStep ['PAGE'] = $casesRedirector; diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Pmgmail.php b/workflow/engine/src/ProcessMaker/BusinessModel/Pmgmail.php index 52c4baeb5..f750b93a2 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Pmgmail.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Pmgmail.php @@ -82,6 +82,7 @@ class Pmgmail { */ public function sendEmail($app_uid, $mailToAddresses, $index, $arrayTask = null, $arrayData = null) { + require_once (PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "Application.php"); //getting the default email server $defaultEmail = $this->emailAccount(); @@ -160,20 +161,28 @@ class Pmgmail { while ( $rsCriteria->next () ) { $row = $rsCriteria->getRow (); } - $taskUsers = unserialize ( $row ['GRP_UID'] ); + $targetIds = unserialize ( $row ['GRP_UID'] ); $oUsers = new \Users (); - if ($taskUsers !== false){ - foreach ( $taskUsers as $user ) { - $usrData = $oUsers->loadDetails ( $user ); + + if (is_array($targetIds)) { + foreach ( $targetIds as $user ) { + $usrData = $oUsers->loadDetails ( $user ); + if ($usrData !== null) { + $isGroup = true; + } $nextMail = $usrData ['USR_EMAIL']; $mailToAddresses .= ($mailToAddresses == '') ? $nextMail : ',' . $nextMail; } } else { - $usrData = $oUsers->loadDetails ( $user ); - $mailToAddresses = $usrData ['USR_EMAIL']; + $group = new \Groups(); + $users = $group->getUsersOfGroup($targetIds); + foreach ($users as $user) { + $nextMail = $user['USR_EMAIL']; + $mailToAddresses .= ($mailToAddresses == '') ? $nextMail : ',' . $nextMail; + } } - - } + } + } } } else { diff --git a/workflow/public_html/pmGmail/sso.php b/workflow/public_html/pmGmail/sso.php index be1d3feff..2e5b7d278 100644 --- a/workflow/public_html/pmGmail/sso.php +++ b/workflow/public_html/pmGmail/sso.php @@ -27,7 +27,9 @@ curl_setopt( $gCurl, CURLOPT_CONNECTTIMEOUT, 0); curl_setopt($gCurl, CURLOPT_SSL_VERIFYHOST, false); if (curl_exec ( $gCurl ) === false) { - echo 'Curl error: ' . curl_error ( $gCurl ); + echo 'Curl error: ' . curl_error ( $gCurl ); + error_log(Bootstrap::LoadTranslation('ID_SERVER_COMMUNICATION_ERROR')); + die (); } else { $gCurl_response = curl_exec ( $gCurl ); curl_close ( $gCurl );