HOR-1443 "Add total trigger execution..."
HOR-1443 "Add total trigger execution..." HOR-1443 "Add total trigger execution..."
This commit is contained in:
@@ -73,6 +73,7 @@ class Cases
|
||||
private $appSolr = null;
|
||||
public $dir = 'ASC';
|
||||
public $sort = 'APP_MSG_DATE';
|
||||
public $arrayTriggerExecutionTime = [];
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
@@ -1319,6 +1320,10 @@ class Cases
|
||||
|
||||
$appAssignSelfServiceValue->remove($sAppUid, $iDelIndex);
|
||||
/*----------------------------------********---------------------------------*/
|
||||
//Delete record of the table LIST_UNASSIGNED
|
||||
$unassigned = new ListUnassigned();
|
||||
$unassigned->remove($sAppUid, $iDelIndex);
|
||||
|
||||
$aFields = $oAppDel->toArray(BasePeer::TYPE_FIELDNAME);
|
||||
$aFields['APP_STATUS'] = 'TO_DO';
|
||||
$inbox = new ListInbox();
|
||||
@@ -1541,6 +1546,10 @@ class Cases
|
||||
//If exist paused cases
|
||||
$closedTasks[] = $row;
|
||||
$aIndex[] = $row['DEL_INDEX'];
|
||||
$res = $this->GetAllOpenDelegation( array('APP_UID'=>$sAppUid, 'APP_THREAD_PARENT'=>$row['DEL_PREVIOUS']), 'NONE' );
|
||||
foreach ($res as $in) {
|
||||
$aIndex[] = $in['DEL_INDEX'];
|
||||
}
|
||||
$pausedTasks = $this->getReviewedTasksPaused($sAppUid,$aIndex);
|
||||
}
|
||||
}
|
||||
@@ -3547,10 +3556,8 @@ class Cases
|
||||
$oPMScript = new PMScript();
|
||||
$oPMScript->setFields($aFields);
|
||||
|
||||
$arraySystemConfiguration = System::getSystemConfiguration(PATH_CONFIG . "env.ini");
|
||||
|
||||
/*----------------------------------********---------------------------------*/
|
||||
$cs = new CodeScanner((isset($arraySystemConfiguration["enable_blacklist"]) && (int)($arraySystemConfiguration["enable_blacklist"]) == 1)? "DISABLED_CODE" : "");
|
||||
$cs = new CodeScanner(SYS_SYS);
|
||||
|
||||
$strFoundDisabledCode = "";
|
||||
/*----------------------------------********---------------------------------*/
|
||||
@@ -3585,6 +3592,8 @@ class Cases
|
||||
if ($bExecute) {
|
||||
$oPMScript->setScript($aTrigger['TRI_WEBBOT']);
|
||||
$oPMScript->execute();
|
||||
|
||||
$this->arrayTriggerExecutionTime[$aTrigger['TRI_UID']] = $oPMScript->scriptExecutionTime;
|
||||
}
|
||||
}
|
||||
/*----------------------------------********---------------------------------*/
|
||||
@@ -4396,6 +4405,132 @@ class Cases
|
||||
/*----------------------------------********---------------------------------*/
|
||||
}
|
||||
|
||||
/**
|
||||
* Un cancel case
|
||||
*
|
||||
* @param string $caseUID
|
||||
* @param string $userUID
|
||||
* @return int
|
||||
*/
|
||||
public function unCancelCase($appUID, $userUID)
|
||||
{
|
||||
try {
|
||||
global $RBAC;
|
||||
if ($RBAC->userCanAccess('PM_UNCANCELCASE') !== 1) {
|
||||
throw new Exception(G::LoadTranslation('ID_YOU_DO_NOT_HAVE_PERMISSION'));
|
||||
}
|
||||
|
||||
$application = new Application();
|
||||
$rowApplication = $application->load($appUID);
|
||||
if ($rowApplication["APP_STATUS"] !== "CANCELLED") {
|
||||
throw new Exception(G::LoadTranslation('ID_THE_APPLICATION_IS_NOT_CANCELED', [$appUID]));
|
||||
}
|
||||
|
||||
$criteriaAppDelay = new Criteria('workflow');
|
||||
$criteriaAppDelay->add(AppDelayPeer::APP_UID, $appUID);
|
||||
$criteriaAppDelay->add(AppDelayPeer::APP_STATUS, 'CANCELLED');
|
||||
$criteriaAppDelay->add(AppDelayPeer::PRO_UID, $rowApplication['PRO_UID']);
|
||||
$criteriaAppDelay->addDescendingOrderByColumn(AppDelayPeer::APP_ENABLE_ACTION_DATE);
|
||||
$resultSetAppDelay = AppDelayPeer::doSelectRS($criteriaAppDelay);
|
||||
$resultSetAppDelay->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$resultSetAppDelay->next();
|
||||
$rowAppDelay = $resultSetAppDelay->getRow();
|
||||
if (!isset($rowAppDelay['APP_STATUS'])) {
|
||||
throw new Exception(G::LoadTranslation('ID_THREAD_STATUS_DOES_NOT_EXIST_FOR_THE_APPLICATION.', [$appUID]));
|
||||
}
|
||||
|
||||
$users = new Users();
|
||||
$rowUsers = $users->load($userUID);
|
||||
|
||||
//Application
|
||||
$rowApplication['APP_STATUS'] = 'TO_DO';
|
||||
$rowApplication['APP_UPDATE_DATE'] = date('Y-m-d H:i:s');
|
||||
$application->update($rowApplication);
|
||||
|
||||
//AppDelegation
|
||||
$appDelegation = new AppDelegation();
|
||||
$rowAppDelegation = $appDelegation->Load($appUID, $rowAppDelay['APP_DEL_INDEX']);
|
||||
|
||||
$appDelegation = new AppDelegation();
|
||||
$delIndex = $appDelegation->createAppDelegation($rowAppDelegation['PRO_UID'], $rowAppDelegation['APP_UID'], $rowAppDelegation['TAS_UID'], $userUID, $rowAppDelay['APP_THREAD_INDEX']);
|
||||
|
||||
//AppThread
|
||||
$dataAppThread = [
|
||||
'APP_UID' => $rowApplication['APP_UID'],
|
||||
'APP_THREAD_INDEX' => $rowAppDelay['APP_THREAD_INDEX'],
|
||||
'APP_THREAD_STATUS' => 'OPEN',
|
||||
'DEL_INDEX' => $delIndex
|
||||
];
|
||||
$appThread = new AppThread();
|
||||
$appThread->update($dataAppThread);
|
||||
|
||||
//AppDelay
|
||||
$dataAppDelay = [
|
||||
'PRO_UID' => $rowApplication['PRO_UID'],
|
||||
'APP_UID' => $rowApplication['APP_UID'],
|
||||
'APP_THREAD_INDEX' => $rowAppDelay['APP_THREAD_INDEX'],
|
||||
'APP_DELINDEX' => $delIndex,
|
||||
'APP_TYPE' => 'UNCANCEL',
|
||||
'APP_STATUS' => $rowApplication['APP_STATUS'],
|
||||
'APP_NEXT_TASK' => 0,
|
||||
'APP_DELEGATION_USER' => $userUID,
|
||||
'APP_ENABLE_ACTION_USER' => $userUID,
|
||||
'APP_ENABLE_ACTION_DATE' => date('Y-m-d H:i:s'),
|
||||
'APP_DISABLE_ACTION_USER' => 0
|
||||
];
|
||||
$appDelay = new AppDelay();
|
||||
$appDelay->create($dataAppDelay);
|
||||
|
||||
//ListCanceled
|
||||
$criteriaListCanceled = new Criteria("workflow");
|
||||
$criteriaListCanceled->add(ListCanceledPeer::APP_UID, $appUID);
|
||||
$resultSetListCanceled = ListCanceledPeer::doSelectRS($criteriaListCanceled);
|
||||
$resultSetListCanceled->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$resultSetListCanceled->next();
|
||||
$rowListCanceled = $resultSetListCanceled->getRow();
|
||||
ListCanceledPeer::doDelete($criteriaListCanceled);
|
||||
$usrTotalCancelled = $rowUsers['USR_TOTAL_CANCELLED'] - 1;
|
||||
|
||||
//ListInbox
|
||||
$rowListCanceled['DEL_PREVIOUS_USR_USERNAME'] = $rowListCanceled['DEL_CURRENT_USR_USERNAME'];
|
||||
$rowListCanceled['DEL_PREVIOUS_USR_FIRSTNAME'] = $rowListCanceled['DEL_CURRENT_USR_FIRSTNAME'];
|
||||
$rowListCanceled['DEL_PREVIOUS_USR_LASTNAME'] = $rowListCanceled['DEL_CURRENT_USR_LASTNAME'];
|
||||
$rowListCanceled['APP_STATUS'] = 'TO_DO';
|
||||
$rowListCanceled['APP_UPDATE_DATE'] = date('Y-m-d H:i:s');
|
||||
$rowListCanceled['DEL_RISK_DATE'] = date('Y-m-d H:i:s');
|
||||
$rowListCanceled['DEL_INDEX'] = $delIndex;
|
||||
unset($rowListCanceled['DEL_CURRENT_USR_USERNAME']);
|
||||
unset($rowListCanceled['DEL_CURRENT_USR_FIRSTNAME']);
|
||||
unset($rowListCanceled['DEL_CURRENT_USR_LASTNAME']);
|
||||
unset($rowListCanceled['APP_CANCELED_DATE']);
|
||||
$listInbox = new ListInbox();
|
||||
$listInbox->create($rowListCanceled);
|
||||
$usrTotalInbox = $rowUsers['USR_TOTAL_INBOX'] + 1;
|
||||
|
||||
//Users
|
||||
$users->update([
|
||||
'USR_UID' => $userUID,
|
||||
'USR_TOTAL_INBOX' => $usrTotalInbox,
|
||||
'USR_TOTAL_CANCELLED' => $usrTotalCancelled
|
||||
]);
|
||||
|
||||
//ListParticipatedLast
|
||||
$criteriaListParticipatedLast = new Criteria("workflow");
|
||||
$criteriaListParticipatedLast->add(ListParticipatedLastPeer::APP_UID, $appUID);
|
||||
$resultSetListParticipatedLast = ListParticipatedLastPeer::doSelectRS($criteriaListParticipatedLast);
|
||||
$resultSetListParticipatedLast->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$resultSetListParticipatedLast->next();
|
||||
$rowListParticipatedLast = $resultSetListParticipatedLast->getRow();
|
||||
$rowListParticipatedLast['APP_STATUS'] = 'TO_DO';
|
||||
$rowListParticipatedLast['DEL_THREAD_STATUS'] = 'OPEN';
|
||||
$rowListParticipatedLast['DEL_INIT_DATE'] = null;
|
||||
$listParticipatedLast = new ListParticipatedLast();
|
||||
$listParticipatedLast->update($rowListParticipatedLast);
|
||||
} catch (Exception $oException) {
|
||||
throw $oException;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* reactive a case
|
||||
*
|
||||
@@ -5376,7 +5511,8 @@ class Cases
|
||||
|
||||
$sBody2 = G::replaceDataGridField($sBody, $arrayData2, false);
|
||||
|
||||
$respTo = $this->getTo($aTask["TAS_ASSIGN_TYPE"], $aTask["TAS_UID"], $aTask["USR_UID"], $arrayData);
|
||||
$respTo = $this->getTo($aTask['TAS_UID'], $aTask['USR_UID'], $arrayData);
|
||||
|
||||
$sTo = $respTo['to'];
|
||||
$sCc = $respTo['cc'];
|
||||
|
||||
@@ -5427,67 +5563,104 @@ class Cases
|
||||
throw $oException;
|
||||
}
|
||||
}
|
||||
|
||||
public function getTo($taskType, $taskUid, $taskUsrUid, $arrayData)
|
||||
|
||||
public function getTo($taskUid, $userUid, $arrayData)
|
||||
{
|
||||
$sTo = null;
|
||||
$sCc = null;
|
||||
$arrayResp = array ();
|
||||
$task = new Tasks ();
|
||||
$tasks = new Tasks();
|
||||
$group = new Groups ();
|
||||
$oUser = new Users ();
|
||||
|
||||
switch ($taskType) {
|
||||
case "SELF_SERVICE" :
|
||||
if (isset ( $taskUid ) && ! empty ( $taskUid )) {
|
||||
$arrayTaskUser = array ();
|
||||
|
||||
$arrayAux1 = $task->getGroupsOfTask ( $taskUid, 1 );
|
||||
|
||||
foreach ( $arrayAux1 as $arrayGroup ) {
|
||||
$arrayAux2 = $group->getUsersOfGroup ( $arrayGroup ["GRP_UID"] );
|
||||
|
||||
foreach ( $arrayAux2 as $arrayUser ) {
|
||||
$arrayTaskUser [] = $arrayUser ["USR_UID"];
|
||||
|
||||
$task = TaskPeer::retrieveByPK($taskUid);
|
||||
|
||||
switch ($task->getTasAssignType()) {
|
||||
case 'SELF_SERVICE':
|
||||
$to = '';
|
||||
$cc = '';
|
||||
|
||||
//Query
|
||||
$criteria = new Criteria('workflow');
|
||||
|
||||
$criteria->addSelectColumn(UsersPeer::USR_UID);
|
||||
$criteria->addSelectColumn(UsersPeer::USR_USERNAME);
|
||||
$criteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
|
||||
$criteria->addSelectColumn(UsersPeer::USR_LASTNAME);
|
||||
$criteria->addSelectColumn(UsersPeer::USR_EMAIL);
|
||||
|
||||
$criteria->add(UsersPeer::USR_STATUS, 'CLOSED', Criteria::NOT_EQUAL);
|
||||
|
||||
$rsCriteria = null;
|
||||
|
||||
if (trim($task->getTasGroupVariable()) != '') {
|
||||
//SELF_SERVICE_VALUE
|
||||
$variable = trim($task->getTasGroupVariable(), ' @#%?$=');
|
||||
|
||||
//Query
|
||||
if (isset($arrayData[$variable])) {
|
||||
$data = $arrayData[$variable];
|
||||
|
||||
switch (gettype($data)) {
|
||||
case 'string':
|
||||
$criteria->addJoin(GroupUserPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN);
|
||||
|
||||
$criteria->add(GroupUserPeer::GRP_UID, $data, Criteria::EQUAL);
|
||||
|
||||
$rsCriteria = GroupUserPeer::doSelectRS($criteria);
|
||||
break;
|
||||
case 'array':
|
||||
$criteria->add(UsersPeer::USR_UID, $data, Criteria::IN);
|
||||
|
||||
$rsCriteria = UsersPeer::doSelectRS($criteria);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$arrayAux1 = $task->getUsersOfTask ( $taskUid, 1 );
|
||||
|
||||
foreach ( $arrayAux1 as $arrayUser ) {
|
||||
$arrayTaskUser [] = $arrayUser ["USR_UID"];
|
||||
}
|
||||
|
||||
$criteria = new Criteria ( "workflow" );
|
||||
|
||||
$criteria->addSelectColumn ( UsersPeer::USR_UID );
|
||||
$criteria->addSelectColumn ( UsersPeer::USR_USERNAME );
|
||||
$criteria->addSelectColumn ( UsersPeer::USR_FIRSTNAME );
|
||||
$criteria->addSelectColumn ( UsersPeer::USR_LASTNAME );
|
||||
$criteria->addSelectColumn ( UsersPeer::USR_EMAIL );
|
||||
$criteria->add ( UsersPeer::USR_UID, $arrayTaskUser, Criteria::IN );
|
||||
$rsCriteria = UsersPeer::doSelectRs ( $criteria );
|
||||
$rsCriteria->setFetchmode ( ResultSet::FETCHMODE_ASSOC );
|
||||
|
||||
$to = null;
|
||||
$cc = null;
|
||||
$sw = 1;
|
||||
|
||||
while ( $rsCriteria->next () ) {
|
||||
$row = $rsCriteria->getRow ();
|
||||
|
||||
$toAux = ((($row ["USR_FIRSTNAME"] != "") || ($row ["USR_LASTNAME"] != "")) ? $row ["USR_FIRSTNAME"] . " " . $row ["USR_LASTNAME"] . " " : "") . "<" . $row ["USR_EMAIL"] . ">";
|
||||
|
||||
if ($sw == 1) {
|
||||
$to = $toAux;
|
||||
$sw = 0;
|
||||
} else {
|
||||
$cc = $cc . (($cc != null) ? "," : null) . $toAux;
|
||||
} else {
|
||||
//SELF_SERVICE
|
||||
$arrayTaskUser = [];
|
||||
|
||||
$arrayAux1 = $tasks->getGroupsOfTask($taskUid, 1);
|
||||
|
||||
foreach ($arrayAux1 as $arrayGroup) {
|
||||
$arrayAux2 = $group->getUsersOfGroup($arrayGroup['GRP_UID']);
|
||||
|
||||
foreach ($arrayAux2 as $arrayUser) {
|
||||
$arrayTaskUser [] = $arrayUser ['USR_UID'];
|
||||
}
|
||||
}
|
||||
$arrayResp ['to'] = $to;
|
||||
$arrayResp ['cc'] = $cc;
|
||||
|
||||
$arrayAux1 = $tasks->getUsersOfTask($taskUid, 1);
|
||||
|
||||
foreach ($arrayAux1 as $arrayUser) {
|
||||
$arrayTaskUser[] = $arrayUser['USR_UID'];
|
||||
}
|
||||
|
||||
|
||||
//Query
|
||||
$criteria->add(UsersPeer::USR_UID, $arrayTaskUser, Criteria::IN);
|
||||
|
||||
$rsCriteria = UsersPeer::doSelectRS($criteria);
|
||||
}
|
||||
|
||||
if (!is_null($rsCriteria)) {
|
||||
$rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
|
||||
while ($rsCriteria->next()) {
|
||||
$record = $rsCriteria->getRow();
|
||||
|
||||
$toAux = (($record['USR_FIRSTNAME'] != '' || $record['USR_LASTNAME'] != '')? $record['USR_FIRSTNAME'] . ' ' . $record['USR_LASTNAME'] . ' ' : '') . '<' . $record['USR_EMAIL'] . '>';
|
||||
|
||||
if ($to == '') {
|
||||
$to = $toAux;
|
||||
} else {
|
||||
$cc .= (($cc != '')? ',' : '') . $toAux;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$arrayResp['to'] = $to;
|
||||
$arrayResp['cc'] = $cc;
|
||||
break;
|
||||
case "MULTIPLE_INSTANCE" :
|
||||
$to = null;
|
||||
@@ -5520,7 +5693,7 @@ class Cases
|
||||
$arrayUsers = $arrayData [$nextTaskAssignVariable];
|
||||
$oDerivation = new Derivation ();
|
||||
$userFields = $oDerivation->getUsersFullNameFromArray ( $arrayUsers );
|
||||
|
||||
|
||||
foreach ( $userFields as $row ) {
|
||||
$toAux = ((($row ["USR_FIRSTNAME"] != "") || ($row ["USR_LASTNAME"] != "")) ? $row ["USR_FIRSTNAME"] . " " . $row ["USR_LASTNAME"] . " " : "") . "<" . $row ["USR_EMAIL"] . ">";
|
||||
if ($sw == 1) {
|
||||
@@ -5535,8 +5708,9 @@ class Cases
|
||||
}
|
||||
break;
|
||||
default :
|
||||
if (isset ( $taskUsrUid ) && ! empty ( $taskUsrUid )) {
|
||||
$aUser = $oUser->load ( $taskUsrUid );
|
||||
if (isset($userUid) && !empty($userUid)) {
|
||||
$aUser = $oUser->load($userUid);
|
||||
|
||||
$sTo = ((($aUser ["USR_FIRSTNAME"] != "") || ($aUser ["USR_LASTNAME"] != "")) ? $aUser ["USR_FIRSTNAME"] . " " . $aUser ["USR_LASTNAME"] . " " : "") . "<" . $aUser ["USR_EMAIL"] . ">";
|
||||
}
|
||||
$arrayResp ['to'] = $sTo;
|
||||
@@ -6929,14 +7103,16 @@ class Cases
|
||||
* @return $aThreads
|
||||
*/
|
||||
|
||||
public function GetAllOpenDelegation($aData)
|
||||
public function GetAllOpenDelegation($aData, $status = 'OPEN')
|
||||
{
|
||||
try {
|
||||
$aThreads = array();
|
||||
$c = new Criteria();
|
||||
$c->add(AppDelegationPeer::APP_UID, $aData['APP_UID']);
|
||||
$c->add(AppDelegationPeer::DEL_PREVIOUS, $aData['APP_THREAD_PARENT']);
|
||||
$c->add(AppDelegationPeer::DEL_THREAD_STATUS, 'OPEN');
|
||||
if($status === 'OPEN'){
|
||||
$c->add(AppDelegationPeer::DEL_THREAD_STATUS, 'OPEN');
|
||||
}
|
||||
$rs = AppDelegationPeer::doSelectRs($c);
|
||||
$rs->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$rs->next();
|
||||
@@ -7090,7 +7266,7 @@ class Cases
|
||||
* @return array (criteria+array)
|
||||
*/
|
||||
|
||||
public function getUsersParticipatedInCase($sAppUid)
|
||||
public function getUsersParticipatedInCase($sAppUid, $usrStatus = '')
|
||||
{
|
||||
$c = new Criteria('workflow');
|
||||
$c->addSelectColumn(AppDelegationPeer::APP_UID);
|
||||
@@ -7098,6 +7274,10 @@ class Cases
|
||||
$c->addSelectColumn(UsersPeer::USR_USERNAME);
|
||||
$c->addSelectColumn(UsersPeer::USR_EMAIL);
|
||||
|
||||
if($usrStatus != '') {
|
||||
$c->add(UsersPeer::USR_STATUS, $usrStatus, CRITERIA::EQUAL);
|
||||
}
|
||||
|
||||
$c->add(AppDelegationPeer::APP_UID, $sAppUid, CRITERIA::EQUAL);
|
||||
$c->addJoin(AppDelegationPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN);
|
||||
$rs = AppDelegationPeer::doSelectRS($c);
|
||||
@@ -7377,4 +7557,3 @@ class Cases
|
||||
return $rows;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -119,6 +119,8 @@ class PMScript
|
||||
*/
|
||||
public $affected_fields;
|
||||
|
||||
public $scriptExecutionTime = 0;
|
||||
|
||||
/**
|
||||
* Constructor of the class PMScript
|
||||
*
|
||||
@@ -346,7 +348,15 @@ class PMScript
|
||||
$sScript .= substr( $this->sScript, $iAux );
|
||||
$sScript = "try {\n" . $sScript . "\n} catch (Exception \$oException) {\n " . " \$this->aFields['__ERROR__'] = utf8_encode(\$oException->getMessage());\n}";
|
||||
//echo '<pre>-->'; print_r($this->aFields); echo '<---</pre>';
|
||||
$this->executeAndCatchErrors( $sScript, $this->sScript );
|
||||
|
||||
$timeStart = microtime(true);
|
||||
|
||||
$this->executeAndCatchErrors($sScript, $this->sScript);
|
||||
|
||||
$timeEnd = microtime(true);
|
||||
|
||||
$this->scriptExecutionTime = round($timeEnd - $timeStart, 5);
|
||||
|
||||
$this->aFields["__VAR_CHANGED__"] = implode(",", $this->affected_fields);
|
||||
for ($i = 0; $i < count( $this->affected_fields ); $i ++) {
|
||||
$_SESSION['TRIGGER_DEBUG']['DATA'][] = Array ('key' => $this->affected_fields[$i],'value' => isset( $this->aFields[$this->affected_fields[$i]] ) ? $this->aFields[$this->affected_fields[$i]] : ''
|
||||
@@ -508,7 +518,7 @@ class PMScript
|
||||
}
|
||||
return $bResult;
|
||||
}
|
||||
|
||||
|
||||
Public function evaluateVariable ()
|
||||
{
|
||||
$process = new Process();
|
||||
@@ -530,7 +540,7 @@ class PMScript
|
||||
if(strpos($var, '_label') === false) {
|
||||
if(in_array($var,$processVariables)) {
|
||||
if(isset($this->aFields[$var]) && is_array($this->aFields[$var][1]) ) {
|
||||
$varLabel = $var.'_label';
|
||||
$varLabel = $var.'_label';
|
||||
$arrayValue = $this->aFields[$var];
|
||||
if(is_array($arrayValue) && sizeof($arrayValue)) {
|
||||
foreach($arrayValue as $val) {
|
||||
@@ -546,7 +556,7 @@ class PMScript
|
||||
$varType = $varInfo['VAR_FIELD_TYPE'];
|
||||
switch($varType) {
|
||||
case 'array':
|
||||
$arrayLabels = '["'.implode('","',$arrayLabels).'"]';
|
||||
$arrayLabels = '["'.implode('","',$arrayLabels).'"]';
|
||||
$newFields[$var] = $arrayValues;
|
||||
$newFields[$varLabel] = $arrayLabels;
|
||||
break;
|
||||
@@ -555,7 +565,7 @@ class PMScript
|
||||
$newFields[$varLabel] = $arrayLabels[0];
|
||||
break;
|
||||
}
|
||||
$this->affected_fields[] = $varLabel;
|
||||
$this->affected_fields[] = $varLabel;
|
||||
$this->aFields = array_merge($this->aFields,$newFields);
|
||||
unset($newFields);
|
||||
unset($arrayValues);
|
||||
@@ -586,13 +596,13 @@ class PMScript
|
||||
}
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,6 +54,8 @@ $_SESSION['TRIGGER_DEBUG']['ERRORS'] = Array ();
|
||||
$_SESSION['TRIGGER_DEBUG']['DATA'] = Array ();
|
||||
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_NAMES'] = Array ();
|
||||
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_VALUES'] = Array ();
|
||||
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_EXECUTION_TIME'] = [];
|
||||
|
||||
$triggers = $oCase->loadTriggers( $_SESSION['TASK'], 'DYNAFORM', $_GET['UID'], 'AFTER' );
|
||||
$_SESSION['TRIGGER_DEBUG']['NUM_TRIGGERS'] = count( $triggers );
|
||||
$_SESSION['TRIGGER_DEBUG']['TIME'] = G::toUpper(G::loadTranslation('ID_AFTER'));
|
||||
@@ -67,6 +69,8 @@ if ($_SESSION['TRIGGER_DEBUG']['NUM_TRIGGERS'] != 0) {
|
||||
//Execute after triggers - Start
|
||||
$Fields['APP_DATA'] = $oCase->ExecuteTriggers( $_SESSION['TASK'], 'DYNAFORM', $_GET['UID'], 'AFTER', $Fields['APP_DATA'] );
|
||||
//Execute after triggers - End
|
||||
|
||||
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_EXECUTION_TIME'] = $oCase->arrayTriggerExecutionTime;
|
||||
}
|
||||
|
||||
//go to the next step
|
||||
@@ -85,4 +89,3 @@ if ($trigger_debug_session) {
|
||||
}
|
||||
|
||||
G::header( 'location: ' . $aNextStep['PAGE'] );
|
||||
|
||||
|
||||
@@ -88,6 +88,7 @@ try {
|
||||
$_SESSION['TRIGGER_DEBUG']['DATA'] = Array ();
|
||||
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_NAMES'] = Array ();
|
||||
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_VALUES'] = Array ();
|
||||
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_EXECUTION_TIME'] = [];
|
||||
|
||||
$triggers = $oCase->loadTriggers( $_SESSION['TASK'], 'ASSIGN_TASK', - 2, 'BEFORE' );
|
||||
|
||||
@@ -101,6 +102,7 @@ try {
|
||||
$_SESSION['TRIGGER_DEBUG']['info'][0]['TIME'] = G::toUpper(G::loadTranslation('ID_BEFORE'));
|
||||
$_SESSION['TRIGGER_DEBUG']['info'][0]['TRIGGERS_NAMES'] = $oCase->getTriggerNames( $triggers );
|
||||
$_SESSION['TRIGGER_DEBUG']['info'][0]['TRIGGERS_VALUES'] = $triggers;
|
||||
$_SESSION['TRIGGER_DEBUG']['info'][0]['TRIGGERS_EXECUTION_TIME'] = $oCase->arrayTriggerExecutionTime;
|
||||
}
|
||||
|
||||
unset($appFields['APP_STATUS']);
|
||||
@@ -146,6 +148,7 @@ try {
|
||||
$_SESSION['TRIGGER_DEBUG']['info'][1]['TIME'] = G::toUpper(G::loadTranslation('ID_AFTER'));
|
||||
$_SESSION['TRIGGER_DEBUG']['info'][1]['TRIGGERS_NAMES'] = $oCase->getTriggerNames( $triggers );
|
||||
$_SESSION['TRIGGER_DEBUG']['info'][1]['TRIGGERS_VALUES'] = $triggers;
|
||||
$_SESSION['TRIGGER_DEBUG']['info'][1]['TRIGGERS_EXECUTION_TIME'] = $oCase->arrayTriggerExecutionTime;
|
||||
}
|
||||
unset($appFields['APP_STATUS']);
|
||||
unset($appFields['APP_PROC_STATUS']);
|
||||
@@ -173,10 +176,10 @@ try {
|
||||
$pmGoogle = new PMGoogleApi ();
|
||||
if ($pmGoogle->getServiceGmailStatus ()) {
|
||||
$flagGmail = true;
|
||||
|
||||
|
||||
$appDel = new AppDelegation ();
|
||||
$actualThread = $appDel->Load ( $_SESSION ['APPLICATION'], $_SESSION ['INDEX'] );
|
||||
|
||||
|
||||
$appDelPrev = $appDel->LoadParallel ( $_SESSION ['APPLICATION'] );
|
||||
$Pmgmail = new \ProcessMaker\BusinessModel\Pmgmail ();
|
||||
if (! $appDelPrev) {
|
||||
@@ -314,4 +317,3 @@ try {
|
||||
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'login/showMessage', '', $aMessage );
|
||||
G::RenderPage( 'publish', 'blank' );
|
||||
}
|
||||
|
||||
|
||||
@@ -61,21 +61,21 @@ if (!isset($_SESSION['USER_LOGGED'])) {
|
||||
}
|
||||
|
||||
/**
|
||||
* If you can, you may want to set post_max_size to a low value (say 1M) to make
|
||||
* testing easier. First test to see how your script behaves. Try uploading a file
|
||||
* that is larger than post_max_size. If you do you will get a message like this
|
||||
* If you can, you may want to set post_max_size to a low value (say 1M) to make
|
||||
* testing easier. First test to see how your script behaves. Try uploading a file
|
||||
* that is larger than post_max_size. If you do you will get a message like this
|
||||
* in your error log:
|
||||
*
|
||||
* [09-Jun-2010 19:28:01] PHP Warning: POST Content-Length of 30980857 bytes exceeds
|
||||
*
|
||||
* [09-Jun-2010 19:28:01] PHP Warning: POST Content-Length of 30980857 bytes exceeds
|
||||
* the limit of 2097152 bytes in Unknown on line 0
|
||||
*
|
||||
*
|
||||
* This makes the script is not completed.
|
||||
*
|
||||
*
|
||||
* Solving the problem:
|
||||
* The PHP documentation http://php.net/manual/en/ini.core.php#ini.post-max-size
|
||||
* provides a hack to solve this problem:
|
||||
*
|
||||
* If the size of post data is greater than post_max_size, the $_POST and $_FILES
|
||||
*
|
||||
* If the size of post data is greater than post_max_size, the $_POST and $_FILES
|
||||
* superglobals are empty.
|
||||
*/
|
||||
if ($_SERVER['REQUEST_METHOD'] == 'POST' && empty($_POST) && empty($_FILES) && $_SERVER['CONTENT_LENGTH'] > 0) {
|
||||
@@ -140,6 +140,7 @@ try {
|
||||
$_SESSION['TRIGGER_DEBUG']['DATA'] = Array ();
|
||||
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_NAMES'] = Array ();
|
||||
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_VALUES'] = Array ();
|
||||
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_EXECUTION_TIME'] = [];
|
||||
|
||||
$triggers = $oCase->loadTriggers( $_SESSION['TASK'], 'DYNAFORM', $_GET['UID'], 'AFTER' );
|
||||
|
||||
@@ -161,6 +162,8 @@ try {
|
||||
//Execute after triggers - Start
|
||||
$Fields['APP_DATA'] = $oCase->ExecuteTriggers( $_SESSION['TASK'], 'DYNAFORM', $_GET['UID'], 'AFTER', $Fields['APP_DATA'] );
|
||||
//Execute after triggers - End
|
||||
|
||||
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_EXECUTION_TIME'] = $oCase->arrayTriggerExecutionTime;
|
||||
}
|
||||
|
||||
//save data in PM Tables if necessary
|
||||
@@ -484,4 +487,3 @@ try {
|
||||
G::RenderPage( 'publish', 'blank' );
|
||||
die();
|
||||
}
|
||||
|
||||
|
||||
@@ -84,6 +84,7 @@ $_SESSION["TRIGGER_DEBUG"]["ERRORS"] = array();
|
||||
$_SESSION["TRIGGER_DEBUG"]["DATA"] = array();
|
||||
$_SESSION["TRIGGER_DEBUG"]["TRIGGERS_NAMES"] = array();
|
||||
$_SESSION["TRIGGER_DEBUG"]["TRIGGERS_VALUES"] = array();
|
||||
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_EXECUTION_TIME'] = [];
|
||||
|
||||
$_SESSION["TRIGGER_DEBUG"]["NUM_TRIGGERS"] = count($arrayTrigger);
|
||||
$_SESSION["TRIGGER_DEBUG"]["TIME"] = "AFTER";
|
||||
@@ -229,4 +230,3 @@ $_SESSION['BREAKSTEP']['NEXT_STEP'] = $aNextStep;
|
||||
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/showMessage', '', $aMessage );
|
||||
G::RenderPage( 'publish' );
|
||||
}*/
|
||||
|
||||
|
||||
@@ -181,6 +181,7 @@ if ($flagExecuteBeforeTriggers) {
|
||||
$_SESSION['TRIGGER_DEBUG']['DATA'] = Array ();
|
||||
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_NAMES'] = Array ();
|
||||
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_VALUES'] = Array ();
|
||||
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_EXECUTION_TIME'] = [];
|
||||
|
||||
$triggers = $oCase->loadTriggers( $_SESSION['TASK'], $_GET['TYPE'], $_GET['UID'], 'BEFORE' );
|
||||
|
||||
@@ -195,6 +196,8 @@ if ($flagExecuteBeforeTriggers) {
|
||||
//Execute before triggers - Start
|
||||
$Fields['APP_DATA'] = $oCase->ExecuteTriggers( $_SESSION['TASK'], $_GET['TYPE'], $_GET['UID'], 'BEFORE', $Fields['APP_DATA'] );
|
||||
//Execute before triggers - End
|
||||
|
||||
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_EXECUTION_TIME'] = $oCase->arrayTriggerExecutionTime;
|
||||
} else {
|
||||
unset( $_SESSION['_NO_EXECUTE_TRIGGERS_'] );
|
||||
}
|
||||
@@ -617,6 +620,8 @@ try {
|
||||
$Fields['TAS_UID'] = $_SESSION['TASK'];
|
||||
//Execute after triggers - End
|
||||
|
||||
$_SESSION['TRIGGER_DEBUG']['TRIGGERS_EXECUTION_TIME'] = $oCase->arrayTriggerExecutionTime;
|
||||
|
||||
//Save data - Start
|
||||
unset($Fields['APP_STATUS']);
|
||||
unset($Fields['APP_PROC_STATUS']);
|
||||
@@ -1169,4 +1174,3 @@ if ($_SESSION['TRIGGER_DEBUG']['ISSET'] && !$isIE) {
|
||||
showdebug();
|
||||
}' );
|
||||
}
|
||||
|
||||
|
||||
@@ -27,6 +27,10 @@ foreach ($aTriggers as $aTrigger) {
|
||||
$geshi->set_line_style( 'background: #f0f0f0;' );
|
||||
|
||||
$triggersList[$i]['code'] = $geshi->parse_code(); //$aTrigger['TRIGGERS_VALUES'][$index]['TRI_WEBBOT'];
|
||||
|
||||
$triggerUid = $aTrigger['TRIGGERS_VALUES'][$index]['TRI_UID'];
|
||||
$triggersList[$i]['script_execution_time'] = $aTrigger['TRIGGERS_EXECUTION_TIME'][$triggerUid];
|
||||
|
||||
$i ++;
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -337,7 +337,8 @@ Ext.onReady(function(){
|
||||
[
|
||||
{name: 'name'},
|
||||
{name: 'execution_time'},
|
||||
{name: 'code'}
|
||||
{name: 'code'},
|
||||
{name: "script_execution_time"}
|
||||
]
|
||||
);
|
||||
|
||||
@@ -362,7 +363,8 @@ Ext.onReady(function(){
|
||||
columns: [
|
||||
{id:'name',header: _('ID_NAME'), width: 60, sortable: true, dataIndex: 'name'},
|
||||
{header: _('ID_EXECUTION'), width: 30, sortable: true, dataIndex: 'execution_time'},
|
||||
{header: "Code", width: 30, sortable: false, dataIndex: 'code', hidden: true}
|
||||
{header: "Code", width: 30, sortable: false, dataIndex: 'code', hidden: true},
|
||||
{header: _("ID_EXECUTION_TIME") + " (" + _("ID_MILLISECONDS") + ")", dataIndex: "script_execution_time", width: 60, sortable: true, hidden: true}
|
||||
],
|
||||
|
||||
view: new Ext.grid.GroupingView({
|
||||
|
||||
Reference in New Issue
Block a user