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; }