PMC-82
This commit is contained in:
@@ -731,11 +731,13 @@ class ActionsByEmailCoreClass extends PMPlugin
|
||||
*/
|
||||
private function getBodyByResponse($fieldValue)
|
||||
{
|
||||
$abeRequest = $this->getAbeRequest();
|
||||
$bodyToCrypt = [
|
||||
'workspace' => $this->getWorkspace(),
|
||||
'appUid' => $this->getAppUid(),
|
||||
'delIndex' => $this->getIndex(),
|
||||
'fieldValue' => $fieldValue,
|
||||
'ABE_REQ_UID' => $abeRequest['ABE_REQ_UID']
|
||||
];
|
||||
$bodyToCrypt = G::json_encode($bodyToCrypt);
|
||||
|
||||
|
||||
@@ -406,13 +406,14 @@ class SpoolRun
|
||||
switch ($this->config['MESS_ENGINE']) {
|
||||
case 'MAIL':
|
||||
case 'PHPMAILER':
|
||||
|
||||
case 'IMAP':
|
||||
|
||||
switch ($this->config['MESS_ENGINE']) {
|
||||
case 'MAIL':
|
||||
$oPHPMailer = new PHPMailer();
|
||||
$oPHPMailer->Mailer = 'mail';
|
||||
break;
|
||||
case 'IMAP':
|
||||
case 'PHPMAILER':
|
||||
$oPHPMailer = new PHPMailer(true);
|
||||
$oPHPMailer->Mailer = 'smtp';
|
||||
@@ -424,6 +425,7 @@ class SpoolRun
|
||||
switch ($this->config['MESS_ENGINE']) {
|
||||
case 'MAIL':
|
||||
break;
|
||||
case 'IMAP':
|
||||
case 'PHPMAILER':
|
||||
//Posible Options for SMTPSecure are: "", "ssl" or "tls"
|
||||
if (isset($this->config['SMTPSecure']) && preg_match('/^(ssl|tls)$/', $this->config['SMTPSecure'])) {
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
namespace ProcessMaker\BusinessModel\ActionsByEmail;
|
||||
|
||||
use AbeConfigurationPeer;
|
||||
use AbeResponses;
|
||||
use ActionsByEmailCoreClass;
|
||||
use AppDelegation;
|
||||
use AppNotes;
|
||||
@@ -220,6 +221,27 @@ class ResponseReader
|
||||
$dataField[$actionBodyField] = $textPlain;
|
||||
$caseFieldsABE['APP_DATA'] = array_merge($caseFieldsABE['APP_DATA'], $dataField);
|
||||
|
||||
$dataResponses = [];
|
||||
$dataResponses['ABE_REQ_UID'] = $caseInfo['ABE_REQ_UID'];
|
||||
$dataResponses['ABE_RES_CLIENT_IP'] = 'localhost';
|
||||
$dataResponses['ABE_RES_DATA'] = serialize($dataField);
|
||||
$dataResponses['ABE_RES_STATUS'] = 'PENDING';
|
||||
$dataResponses['ABE_RES_MESSAGE'] = '';
|
||||
|
||||
try {
|
||||
$abeAbeResponsesInstance = new AbeResponses();
|
||||
$dataResponses['ABE_RES_UID'] = $abeAbeResponsesInstance->createOrUpdate($dataResponses);
|
||||
} catch (Exception $e) {
|
||||
Bootstrap::registerMonolog(
|
||||
$this->channel,
|
||||
300,
|
||||
$e->getMessage(),
|
||||
$this->case,
|
||||
config("system.workspace"),
|
||||
'processmaker.log'
|
||||
);
|
||||
}
|
||||
|
||||
ChangeLog::getChangeLog()
|
||||
->getUsrIdByUsrUid($caseFieldsABE['CURRENT_USER_UID'], true)
|
||||
->setSourceId(ChangeLog::FromABE);
|
||||
@@ -250,6 +272,24 @@ class ResponseReader
|
||||
throw (new Exception(G::LoadTranslation('ID_ABE_LOG_ROUTING_FAILED'), 400));
|
||||
}
|
||||
|
||||
//Update AbeResponses
|
||||
$dataResponses['ABE_RES_STATUS'] = ($code == 0)? 'SENT' : 'ERROR';
|
||||
$dataResponses['ABE_RES_MESSAGE'] = ($code == 0)? '-' : $result->message;
|
||||
|
||||
try {
|
||||
$abeAbeResponsesInstance = new AbeResponses();
|
||||
$abeAbeResponsesInstance->createOrUpdate($dataResponses);
|
||||
} catch (Exception $e) {
|
||||
Bootstrap::registerMonolog(
|
||||
$this->channel,
|
||||
300,
|
||||
$e->getMessage(),
|
||||
$this->case,
|
||||
config("system.workspace"),
|
||||
'processmaker.log'
|
||||
);
|
||||
}
|
||||
$dataAbeRequests = loadAbeRequest($caseInfo['ABE_REQ_UID']);
|
||||
//Save Cases Notes
|
||||
if ($dataAbe['ABE_CASE_NOTE_IN_RESPONSE'] == 1) {
|
||||
$customGrid = unserialize($dataAbe['ABE_CUSTOM_GRID']);
|
||||
@@ -267,6 +307,8 @@ class ResponseReader
|
||||
$noteContent = addslashes($noteText);
|
||||
$appNotes->postNewNote($caseInfo['appUid'], $caseFieldsABE['APP_DATA']['USER_LOGGED'], $noteContent, false);
|
||||
}
|
||||
$dataAbeRequests['ABE_REQ_ANSWERED'] = 1;
|
||||
$code == 0 ? uploadAbeRequest($dataAbeRequests) : '';
|
||||
} catch (Exception $e) {
|
||||
if ($e->getCode() == 400) {
|
||||
throw (new Exception($e->getMessage(), $e->getCode()));
|
||||
|
||||
Reference in New Issue
Block a user