Merged in release/3.4.5 (pull request #7212)

Release/3.4.5

Approved-by: Paula Quispe <paula.quispe@processmaker.com>
Approved-by: Julio Cesar Laura Avendaño <contact@julio-laura.com>
This commit is contained in:
Paula Quispe
2020-01-16 14:20:04 +00:00
committed by Julio Cesar Laura Avendaño
84 changed files with 2949 additions and 1322 deletions

View File

@@ -1733,7 +1733,7 @@ class Cases
* @return array
* @throws Exception
*/
private function __getFieldsAndValuesByDynaFormAndAppData(array $form, array $appData, array $caseVariable)
private function getFieldsAndValuesByDynaFormAndAppData(array $form, array $appData, array $caseVariable)
{
try {
foreach ($form['items'] as $value) {
@@ -1754,7 +1754,7 @@ class Cases
}
}
} else {
$caseVariableAux = $this->__getFieldsAndValuesByDynaFormAndAppData($field, $appData,
$caseVariableAux = $this->getFieldsAndValuesByDynaFormAndAppData($field, $appData,
$caseVariable);
$caseVariable = array_merge($caseVariable, $caseVariableAux);
}
@@ -1827,7 +1827,7 @@ class Cases
$arrayAppData = $fields['APP_DATA'];
$arrayCaseVariable = $this->__getFieldsAndValuesByDynaFormAndAppData(
$arrayCaseVariable = $this->getFieldsAndValuesByDynaFormAndAppData(
$arrayDynContent['items'][0], $arrayAppData, $arrayCaseVariable
);
} else {
@@ -2406,7 +2406,7 @@ class Cases
* @return array
* @throws Exception
*/
private function __getStatusInfoDataByRsCriteria($rsCriteria)
private function getStatusInfoDataByRsCriteria($rsCriteria)
{
try {
$arrayData = [];
@@ -2489,7 +2489,7 @@ class Cases
$rsCriteria = AppDelayPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$arrayData = $this->__getStatusInfoDataByRsCriteria($rsCriteria);
$arrayData = $this->getStatusInfoDataByRsCriteria($rsCriteria);
if (!empty($arrayData)) {
return $arrayData;
@@ -2522,7 +2522,7 @@ class Cases
$rsCriteria = AppCacheViewPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$arrayData = $this->__getStatusInfoDataByRsCriteria($rsCriteria);
$arrayData = $this->getStatusInfoDataByRsCriteria($rsCriteria);
if (!empty($arrayData)) {
return $arrayData;
@@ -2565,7 +2565,7 @@ class Cases
$rsCriteria = ApplicationPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$arrayData = $this->__getStatusInfoDataByRsCriteria($rsCriteria);
$arrayData = $this->getStatusInfoDataByRsCriteria($rsCriteria);
if (!empty($arrayData)) {
return $arrayData;
@@ -2605,7 +2605,7 @@ class Cases
$rsCriteria2 = ApplicationPeer::doSelectRS($criteria2);
$rsCriteria2->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$arrayData = $this->__getStatusInfoDataByRsCriteria($rsCriteria2);
$arrayData = $this->getStatusInfoDataByRsCriteria($rsCriteria2);
if (!empty($arrayData)) {
return $arrayData;
@@ -3152,7 +3152,7 @@ class Cases
*
* @return array Returns array with Case data updated
*/
private function __applicationDataDeleteMultipleFile(
private function applicationDataDeleteMultipleFile(
array $arrayApplicationData,
$variable1,
$variable2,
@@ -3198,7 +3198,7 @@ class Cases
case 'GRID':
foreach ($arrayApplicationData[$variable1] as $key => $value) {
if (array_key_exists($variable2, $value)) {
$arrayApplicationData[$variable1][$key] = $this->__applicationDataDeleteMultipleFile(
$arrayApplicationData[$variable1][$key] = $this->applicationDataDeleteMultipleFile(
$value, $variable2, null, 'NORMAL', $arrayDocumentToDelete
);
}
@@ -3254,7 +3254,7 @@ class Cases
foreach ($arrayDocumentDelete as $value2) {
$appDocument->remove($value2['appDocUid'], (int)($value2['version']));
$arrayApplicationData['APP_DATA'] = $this->__applicationDataDeleteMultipleFile(
$arrayApplicationData['APP_DATA'] = $this->applicationDataDeleteMultipleFile(
$arrayApplicationData['APP_DATA'], $variable, null, $type, $value2
);
@@ -3272,7 +3272,7 @@ class Cases
foreach ($arrayDocumentDelete as $value4) {
$appDocument->remove($value4['appDocUid'], (int)($value4['version']));
$arrayApplicationData['APP_DATA'] = $this->__applicationDataDeleteMultipleFile(
$arrayApplicationData['APP_DATA'] = $this->applicationDataDeleteMultipleFile(
$arrayApplicationData['APP_DATA'], $grid, $variable, $type, $value4
);

View File

@@ -90,7 +90,7 @@ class Variable extends Attribute
* @return mixed Returns array with Application, AppDelegation and Variable record,
* ThrowTheException/FALSE otherwise
*/
private function __getApplicationAppDelegationAndVariableRecordByData(
private function getApplicationAppDelegationAndVariableRecordByData(
$applicationUid,
$delIndex,
$variableName,
@@ -144,7 +144,7 @@ class Variable extends Attribute
*
* @return array Returns an array with Fields of a Grid
*/
private function __getGridFieldDefinitions($projectUid, $gridName)
private function getGridFieldDefinitions($projectUid, $gridName)
{
try {
$arrayGridField = [];
@@ -202,7 +202,7 @@ class Variable extends Attribute
*
* @return bool Returns TRUE when array data is valid, ThrowTheException/FALSE otherwise
*/
private function __validateData(array $arrayData, array $arrayVariableData, $throwException = true)
private function validateData(array $arrayData, array $arrayVariableData, $throwException = true)
{
try {
if (empty($arrayData)) {
@@ -303,7 +303,7 @@ class Variable extends Attribute
{
try {
//Verify data and Set variables
$result = $this->__getApplicationAppDelegationAndVariableRecordByData(
$result = $this->getApplicationAppDelegationAndVariableRecordByData(
$applicationUid, $delIndex, $variableName, $throwException
);
@@ -329,12 +329,12 @@ class Variable extends Attribute
}
if ($arrayVariableData['VAR_FIELD_TYPE'] == 'grid') {
$arrayVariableData['arrayGridField'] = $this->__getGridFieldDefinitions(
$arrayVariableData['arrayGridField'] = $this->getGridFieldDefinitions(
$arrayVariableData['PRJ_UID'], $arrayVariableData['VAR_NAME']
);
}
$result = $this->__validateData($arrayData, $arrayVariableData, $throwException);
$result = $this->validateData($arrayData, $arrayVariableData, $throwException);
if ($result === false) {
return false;
@@ -396,7 +396,7 @@ class Variable extends Attribute
{
try {
//Verify data and Set variables
$result = $this->__getApplicationAppDelegationAndVariableRecordByData(
$result = $this->getApplicationAppDelegationAndVariableRecordByData(
$applicationUid, $delIndex, $variableName, $throwException
);
@@ -420,12 +420,12 @@ class Variable extends Attribute
}
if ($arrayVariableData['VAR_FIELD_TYPE'] == 'grid') {
$arrayVariableData['arrayGridField'] = $this->__getGridFieldDefinitions(
$arrayVariableData['arrayGridField'] = $this->getGridFieldDefinitions(
$arrayVariableData['PRJ_UID'], $arrayVariableData['VAR_NAME']
);
}
$result = $this->__validateData($arrayData, $arrayVariableData, $throwException);
$result = $this->validateData($arrayData, $arrayVariableData, $throwException);
if ($result === false) {
return false;
@@ -490,7 +490,7 @@ class Variable extends Attribute
{
try {
//Verify data and Set variables
$result = $this->__getApplicationAppDelegationAndVariableRecordByData(
$result = $this->getApplicationAppDelegationAndVariableRecordByData(
$applicationUid, $delIndex, $variableName, $throwException
);
@@ -605,7 +605,7 @@ class Variable extends Attribute
$arrayVariable = [];
//Verify data and Set variables
$result = $this->__getApplicationAppDelegationAndVariableRecordByData(
$result = $this->getApplicationAppDelegationAndVariableRecordByData(
$applicationUid, $delIndex, $variableName, $throwException
);
@@ -696,7 +696,7 @@ class Variable extends Attribute
}
}
$result = $this->__getApplicationAppDelegationAndVariableRecordByData(
$result = $this->getApplicationAppDelegationAndVariableRecordByData(
$applicationUid, $delIndex, $variableName, $throwException
);

View File

@@ -226,7 +226,7 @@ class Department
* @param array $record Record
* @return array Return an array with custom record
*/
private function __getUserCustomRecordFromRecord(array $record)
private function getUserCustomRecordFromRecord(array $record)
{
try {
$recordc = [
@@ -414,7 +414,7 @@ class Department
break;
}
$arrayUser[] = ($flagRecord)? $record : $this->__getUserCustomRecordFromRecord($record);
$arrayUser[] = ($flagRecord)? $record : $this->getUserCustomRecordFromRecord($record);
}
//Return

View File

@@ -18,7 +18,7 @@ class ReportTable
*
* @return object
*/
private function __getDefaultColumns($type = 'NORMAL')
private function getDefaultColumns($type = 'NORMAL')
{
$defaultColumns = [];
$application = new \stdClass(); //APPLICATION KEY
@@ -97,7 +97,7 @@ class ReportTable
*
* @return string
*/
private function __populateData(array $arrayTableData, array $tableNameMap)
private function populateData(array $arrayTableData, array $tableNameMap)
{
try {
$errors = '';
@@ -408,7 +408,7 @@ class ReportTable
//New report table
if ($flagIsReportTable && $flagAlterTable) {
//Setting default columns
$defaultColumns = $this->__getDefaultColumns($arrayData['REP_TAB_TYPE']);
$defaultColumns = $this->getDefaultColumns($arrayData['REP_TAB_TYPE']);
$columns = array_merge($defaultColumns, $columns);
}
@@ -835,7 +835,7 @@ class ReportTable
}
if (!empty($tableNameMap)) {
$errors = $this->__populateData($arrayTableData, $tableNameMap);
$errors = $this->populateData($arrayTableData, $tableNameMap);
}
//Return

View File

@@ -1230,7 +1230,7 @@ class TimerEvent
//Start Timer-Event (start new case) ///////////////////////////////////////////////////////////////////////
$common->frontEndShow("START");
$this->log("START-NEW-CASES", "Date \"$datetime (UTC +00:00)\": Start new cases");
$this->log("START-NEW-CASES", "Start new cases");
$aInfo = array(
'ip' => \G::getIpAddress()
,'action' => 'START-NEW-CASES'
@@ -1506,7 +1506,7 @@ class TimerEvent
//Intermediate Catch Timer-Event (continue the case) ///////////////////////////////////////////////////////
$action = "START-CONTINUE-CASES";
$this->log($action, "Date \"$datetime (UTC +00:00)\": Start continue the cases");
$this->log($action, "Start continue the cases");
$aInfo = array(
'ip' => \G::getIpAddress()
,'action' => $action

View File

@@ -640,7 +640,7 @@ class User
* @return array Return an array with custom record
* @throws Exception
*/
private function __getUserCustomRecordFromRecord(array $record)
private function getUserCustomRecordFromRecord(array $record)
{
try {
//Get Calendar
@@ -1084,7 +1084,7 @@ class User
$row = $rsCriteria->getRow();
//Return
return (!$flagGetRecord) ? $this->__getUserCustomRecordFromRecord($row) : $row;
return (!$flagGetRecord) ? $this->getUserCustomRecordFromRecord($row) : $row;
} catch (Exception $e) {
throw $e;
}
@@ -1494,7 +1494,7 @@ class User
while ($rsCriteria->next()) {
$record = $rsCriteria->getRow();
$arrayUser[] = ($flagRecord) ? $record : $this->__getUserCustomRecordFromRecord($record);
$arrayUser[] = ($flagRecord) ? $record : $this->getUserCustomRecordFromRecord($record);
}
//Return

View File

@@ -1502,6 +1502,7 @@ class PluginRegistry
return $oMenuFromPlugin[$strMenuName];
}
}
return [];
}
/**

View File

@@ -87,9 +87,9 @@ class WorkflowBpmn extends Project\Workflow
return parent::getList($start, $limit, $filter, $changeCaseTo);
}
public function remove()
public function remove($flagRemoveCases = true, $onlyDiagram = false)
{
parent::remove();
parent::remove($flagRemoveCases, $onlyDiagram);
$this->bp->remove();
}

View File

@@ -1169,12 +1169,13 @@ class Workflow extends Handler
//Getting DynaForms
foreach ($workflowData["dynaforms"] as $dynaform) {
$dynFile = PATH_DYNAFORM . $dynaform["DYN_FILENAME"] . ".xml";
$dynFile = PATH_DYNAFORM . $dynaform["PRO_UID"] . "/" . $dynaform["DYN_UID"] . ".xml";
$content = file_exists($dynFile) ? file_get_contents($dynFile) : '';
$workflowFile["DYNAFORMS"][] = array(
"filename" => $dynaform["DYN_TITLE"],
"filepath" => $dynaform["DYN_FILENAME"] . ".xml",
"file_content" => file_get_contents($dynFile)
"file_content" => $content
);
$htmlFile = PATH_DYNAFORM . $dynaform["DYN_FILENAME"] . ".html";

View File

@@ -0,0 +1,13 @@
<?php
namespace ProcessMaker\Services\OAuth2;
use OAuth2\Server;
/**
* Extended class where the properties are correctly initialized, compatibility with PHP 7.3.x
*/
class OAuth2Server extends Server
{
protected $responseTypes = [];
}

View File

@@ -54,7 +54,7 @@ class Server implements iAuthenticate
}
// Pass a storage object or array of storage objects to the OAuth2 server class
$this->server = new \OAuth2\Server($this->storage, array('allow_implicit' => true, 'access_lifetime' => 86400));
$this->server = new OAuth2Server($this->storage, array('allow_implicit' => true, 'access_lifetime' => 86400));
$this->server->setConfig('enforce_state', false);
@@ -182,7 +182,7 @@ class Server implements iAuthenticate
if (! isset($_SESSION['USER_LOGGED'])) {
$http = \G::is_https() ? 'https' : 'http';
$host = $http . '://' . $_SERVER['SERVER_NAME'] . ($_SERVER['SERVER_PORT'] != '80' ? ':' . $_SERVER['SERVER_PORT'] : '');
$redirect = urlencode($host.'/'.self::$workspace.$_SERVER['REQUEST_URI']);
$redirect = urlencode('/'.self::$workspace.$_SERVER['REQUEST_URI']);
$loginLink = sprintf('%s/sys%s/%s/%s/login/login?u=%s', $host, config("system.workspace"), SYS_LANG, SYS_SKIN, $redirect);
header('location: ' . $loginLink);