diff --git a/workflow/engine/classes/Applications.php b/workflow/engine/classes/Applications.php
index 6a83fc1a6..662120176 100644
--- a/workflow/engine/classes/Applications.php
+++ b/workflow/engine/classes/Applications.php
@@ -1185,7 +1185,7 @@ class Applications
$outputDoc = $appDocument->getObject($appUid, $index, $caseStep->getStepUidObj(), 'OUTPUT');
$stepItem['title'] = $oDocument->getOutDocTitle();
- if ($outputDoc['APP_DOC_UID']) {
+ if (!empty($outputDoc['APP_DOC_UID'])) {
$stepItem['url'] = "cases/cases_Step?UID=$stepUid&TYPE=$stepType&POSITION=$stepPosition&ACTION=VIEW&DOC={$outputDoc['APP_DOC_UID']}";
} else {
$stepItem['url'] = "cases/cases_Step?UID=$stepUid&TYPE=$stepType&POSITION=$stepPosition&ACTION=GENERATE";
diff --git a/workflow/engine/classes/ArrayBasePeer.php b/workflow/engine/classes/ArrayBasePeer.php
index 59711466f..63cd0bb2f 100644
--- a/workflow/engine/classes/ArrayBasePeer.php
+++ b/workflow/engine/classes/ArrayBasePeer.php
@@ -312,7 +312,7 @@ abstract class ArrayBasePeer
* @throws PropelException Any exceptions caught during processing will be
* rethrown wrapped into a PropelException.
*/
- private function createSelectSql($criteria, $tableName, &$params)
+ private static function createSelectSql($criteria, $tableName, &$params)
{
$db = Propel::getDB($criteria->getDbName());
diff --git a/workflow/engine/classes/Cases.php b/workflow/engine/classes/Cases.php
index 7831b4a84..0a1bd955a 100644
--- a/workflow/engine/classes/Cases.php
+++ b/workflow/engine/classes/Cases.php
@@ -2558,7 +2558,7 @@ class Cases
*
* @return object
*/
- public function getTransferHistoryCriteria($appNumber)
+ public static function getTransferHistoryCriteria($appNumber)
{
$c = new Criteria('workflow');
$c->addSelectColumn(UsersPeer::USR_FIRSTNAME);
diff --git a/workflow/engine/classes/Configurations.php b/workflow/engine/classes/Configurations.php
index 7a611f075..9a842b676 100644
--- a/workflow/engine/classes/Configurations.php
+++ b/workflow/engine/classes/Configurations.php
@@ -465,7 +465,7 @@ class Configurations // extends Configuration
}
}
- public function getDateFormats()
+ public static function getDateFormats()
{
$arrayFormat = array();
@@ -491,7 +491,7 @@ class Configurations // extends Configuration
return $arrayFormat;
}
- public function getUserNameFormats()
+ public static function getUserNameFormats()
{
$formats[] = array('id' => '@firstName @lastName', //the id , don't translate
'name' => G::loadTranslation('ID_USERNAME_FORMAT_1') //label displayed, can be translated
diff --git a/workflow/engine/classes/model/AdditionalTables.php b/workflow/engine/classes/model/AdditionalTables.php
index 5a4bb776a..01cc90ac6 100644
--- a/workflow/engine/classes/model/AdditionalTables.php
+++ b/workflow/engine/classes/model/AdditionalTables.php
@@ -1003,7 +1003,7 @@ class AdditionalTables extends BaseAdditionalTables
* @param array $process
* @return array
*/
- public function getAll($start = 0, $limit = 20, $filter = '', $process = null)
+ public static function getAll($start = 0, $limit = 20, $filter = '', $process = null)
{
$criteria = new Criteria('workflow');
$criteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_UID);
diff --git a/workflow/engine/classes/model/AddonsStore.php b/workflow/engine/classes/model/AddonsStore.php
index 377ad2bc8..38311c34f 100644
--- a/workflow/engine/classes/model/AddonsStore.php
+++ b/workflow/engine/classes/model/AddonsStore.php
@@ -566,7 +566,7 @@ class AddonsStore extends BaseAddonsStore
try {
//Add each item to this stores addons
- $addons = @get_object_vars($serverData->addons);
+ $addons = !is_array($serverData->addons) ? get_object_vars($serverData->addons) : $serverData->addons;
if (!empty($addons)) {
foreach (get_object_vars($serverData->addons) as $addonId => $addonInfo) {
diff --git a/workflow/engine/classes/model/AppDelegation.php b/workflow/engine/classes/model/AppDelegation.php
index f2d86947c..6ec4ea521 100644
--- a/workflow/engine/classes/model/AppDelegation.php
+++ b/workflow/engine/classes/model/AppDelegation.php
@@ -821,7 +821,7 @@ class AppDelegation extends BaseAppDelegation
return (int)$data['DEL_INDEX'];
}
- public function getCurrentTask($appUid)
+ public static function getCurrentTask($appUid)
{
$oCriteria = new Criteria();
$oCriteria->addSelectColumn(AppDelegationPeer::TAS_UID);
diff --git a/workflow/engine/classes/model/AppDocument.php b/workflow/engine/classes/model/AppDocument.php
index 35bc30d28..f134081eb 100644
--- a/workflow/engine/classes/model/AppDocument.php
+++ b/workflow/engine/classes/model/AppDocument.php
@@ -134,7 +134,7 @@ class AppDocument extends BaseAppDocument
try {
$oCriteria = new Criteria();
$oCriteria->add( AppDocumentPeer::APP_DOC_UID, $sAppDocUid );
- if ($appUID != 0) {
+ if (!empty($appUID)) {
$oCriteria->add( AppDocumentPeer::APP_UID, $appUID );
}
$oCriteria->addDescendingOrderByColumn( AppDocumentPeer::DOC_VERSION );
diff --git a/workflow/engine/methods/authSources/authSourcesSynchronizeAjax.php b/workflow/engine/methods/authSources/authSourcesSynchronizeAjax.php
index 900515491..e396a22a8 100644
--- a/workflow/engine/methods/authSources/authSourcesSynchronizeAjax.php
+++ b/workflow/engine/methods/authSources/authSourcesSynchronizeAjax.php
@@ -34,7 +34,6 @@ class treeNode extends stdclass
}
try {
- $json = new Services_JSON();
header("Content-Type: application/json;");
switch ($_REQUEST["m"]) {
@@ -51,7 +50,7 @@ try {
$departments = $ldapAdvanced->searchDepartments();
$terminatedOu = $ldapAdvanced->getTerminatedOu();
$nodes = lookForChildrenDeps("");
- die($json->encode($nodes));
+ die(json_encode($nodes));
break;
case "saveDepartments":
$depsToCheck = ($_REQUEST['departmentsDN'] != '') ? explode('|', $_REQUEST['departmentsDN']) : [];
@@ -87,7 +86,7 @@ try {
[$parentDn, $departmentTitle]
);
- echo $json->encode($response);
+ echo json_encode($response);
exit(0);
}
}
@@ -106,7 +105,7 @@ try {
$response->status = 'ERROR';
$response->message = G::LoadTranslation('ID_DEPARTMENT_ERROR_CREATE');
- echo $json->encode($response);
+ echo json_encode($response);
exit(0);
}
}
@@ -144,7 +143,7 @@ try {
$response = new stdclass();
$response->status = "OK";
- die($json->encode($response));
+ die(json_encode($response));
break;
case "loadGroups":
global $ldapAdvanced;
@@ -153,7 +152,7 @@ try {
$ldapAdvanced = getLDAPAdvanceInstance($_REQUEST["authUid"]);
$groups = $ldapAdvanced->searchGroups();
$nodes = lookForChildrenGroups();
- die($json->encode($nodes));
+ die(json_encode($nodes));
break;
case "saveGroups":
$groupsToCheck = explode("|", $_REQUEST["groupsDN"]);
@@ -216,7 +215,7 @@ try {
if ($ldapAdvanced->checkDuplicateTitles()) {
$response->warning = G::LoadTranslation("ID_IT_WAS_IDENTIFIED_DUPLICATED_GROUPS_PLEASE_REMOVE_THESE_GROUPS");
}
- die($json->encode($response));
+ die(json_encode($response));
break;
}
} catch (Exception $error) {
@@ -224,7 +223,7 @@ try {
$response->status = "ERROR";
$response->message = $error->getMessage();
- die($json->encode($response));
+ die(json_encode($response));
}
function getLDAPAdvanceInstance($authUid)
diff --git a/workflow/engine/methods/cases/cases_Step.php b/workflow/engine/methods/cases/cases_Step.php
index 709491a00..b77cd358d 100644
--- a/workflow/engine/methods/cases/cases_Step.php
+++ b/workflow/engine/methods/cases/cases_Step.php
@@ -765,6 +765,7 @@ try {
//Take the first derivation rule as the task derivation rule type.
$aFields['PROCESS']['ROU_TYPE'] = $aFields['TASK'][1]['ROU_TYPE'];
$aFields['PROCESS']['ROU_FINISH_FLAG'] = false;
+ $aFields['PROCESS']['ERROR'] = '';
foreach ($aFields['TASK'] as $sKey => &$aValues) {
$sPriority = ''; //set priority value
@@ -779,6 +780,8 @@ try {
$hiddenName = "form[TASKS][" . $sKey . "][TAS_UID]";
$hiddenField = '';
$aFields['TASK'][$sKey]['NEXT_TASK']['TAS_HIDDEN_FIELD'] = $hiddenField;
+ $aFields['TASK'][$sKey]['NEXT_TASK']['ROU_FINISH_FLAG'] = $aFields['TASK'][$sKey]['NEXT_TASK']['ROU_FINISH_FLAG'] ?? false;
+ $aFields['TASK'][$sKey]['NEXT_TASK']['TAS_NEXT'] = $aFields['TASK'][$sKey]['NEXT_TASK']['TAS_NEXT'] ?? '';
switch ($aValues['NEXT_TASK']['TAS_ASSIGN_TYPE']) {
case 'EVALUATE':
@@ -1007,6 +1010,8 @@ try {
$aFields['TASK'][$sKey]['NEXT_TASK']['SOURCE_UID'] = '';
}
}
+ $aFields['TASK'][$sKey]['NEXT_TASK']['ROU_PREVIOUS_TASK'] = $aFields['TASK'][$sKey]['NEXT_TASK']['ROU_PREVIOUS_TASK'] ?? '';
+ $aFields['TASK'][$sKey]['NEXT_TASK']['ROU_PREVIOUS_TYPE'] = $aFields['TASK'][$sKey]['NEXT_TASK']['ROU_PREVIOUS_TYPE'] ?? '';
}
$aFields['PROCESSING_MESSAGE'] = G::loadTranslation('ID_PROCESSING');
diff --git a/workflow/engine/methods/setup/environmentSettingsAjax.php b/workflow/engine/methods/setup/environmentSettingsAjax.php
index 8dd6c207b..3c85f7673 100644
--- a/workflow/engine/methods/setup/environmentSettingsAjax.php
+++ b/workflow/engine/methods/setup/environmentSettingsAjax.php
@@ -50,7 +50,7 @@ switch ($request) {
if (isset($_POST["casesListDateFormat"])) {
$config['casesListDateFormat'] = $_POST["casesListDateFormat"];
}
- if (isset($_POST["casesListDateFormat"])) {
+ if (isset($_POST["casesListRowNumber"])) {
$config['casesListRowNumber'] = intval( $_POST["casesListRowNumber"] );
}
if (isset($_POST["txtCasesRefreshTime"])) {
diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Task.php b/workflow/engine/src/ProcessMaker/BusinessModel/Task.php
index 612ced2b1..85528d548 100644
--- a/workflow/engine/src/ProcessMaker/BusinessModel/Task.php
+++ b/workflow/engine/src/ProcessMaker/BusinessModel/Task.php
@@ -264,7 +264,9 @@ class Task
}
foreach ($arrayProperty as $k => $v) {
- $arrayProperty[$k] = str_replace("@amp@", "&", $v);
+ if (!is_array($v)) {
+ $arrayProperty[$k] = str_replace("@amp@", "&", $v);
+ }
}
if (isset($arrayProperty["TAS_SEND_LAST_EMAIL"])) {
diff --git a/workflow/public_html/sysGeneric.php b/workflow/public_html/sysGeneric.php
index 20bc8c9b8..37770d33d 100644
--- a/workflow/public_html/sysGeneric.php
+++ b/workflow/public_html/sysGeneric.php
@@ -860,7 +860,7 @@ if (substr(SYS_COLLECTION, 0, 8) === 'gulliver') {
//if the method name is empty set default to index method
$controllerAction = SYS_TARGET != '' ? SYS_TARGET : 'index';
//if the method exists
- if (is_callable(array(new $controllerClass, $controllerAction))) {
+ if (method_exists($controllerClass, $controllerAction)) {
$isControllerCall = true;
}