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