BUG 10087 "PM functions y Web Services de ProcessMaker no..." SOLVED
- Problem with the variable $_SESSION
- The variable $_SESSION should not lose the default values ..set
- Added functions to save and restore the values ..of the variable $_SESSION
- Revised class.pmFunctions.php functions and class.wsBase.php
- The QA team should test this functions (most of these functions running
triggers, try running triggers):
PMFAddInputDocument
PMFGenerateOutputDocument
PMFDerivateCase, WSDerivateCase, wsBase::derivateCase
PMFNewCase, WSNewCase, wsBase::newCase
PMFRedirectToStep
PMFDeleteCase, WSDeleteCase, wsBase::deleteCase
PMFCancelCase, WSCancelCase, wsBase::cancelCase
PMFPauseCase, WSPauseCase, wsBase::pauseCase
PMFUnpauseCase, WSUnpauseCase, wsBase::unpauseCase
wsBase::executeTrigger
wsBase::reassignCase
* Available from version 2.0.46
This commit is contained in:
@@ -30,6 +30,8 @@
|
|||||||
|
|
||||||
class G
|
class G
|
||||||
{
|
{
|
||||||
|
public $sessionVar = array(); //SESSION temporary array store.
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* is_https
|
* is_https
|
||||||
* @return void
|
* @return void
|
||||||
@@ -3130,7 +3132,7 @@ class G
|
|||||||
} else {
|
} else {
|
||||||
$setup['MESS_RAUTH'] = 1;
|
$setup['MESS_RAUTH'] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (count($setup) == 0 || !isset($setup['MESS_ENGINE']) || !isset($setup['MESS_SERVER'])
|
if (count($setup) == 0 || !isset($setup['MESS_ENGINE']) || !isset($setup['MESS_SERVER'])
|
||||||
|| !isset($setup['MESS_ENABLED']) || !isset($setup['MESS_RAUTH']) || $setup['MESS_SERVER'] == '') {
|
|| !isset($setup['MESS_ENABLED']) || !isset($setup['MESS_RAUTH']) || $setup['MESS_SERVER'] == '') {
|
||||||
return G::LoadTranslation('ID_EMAIL_ENGINE_IS_NOT_CONFIGURED');
|
return G::LoadTranslation('ID_EMAIL_ENGINE_IS_NOT_CONFIGURED');
|
||||||
@@ -4763,6 +4765,90 @@ class G
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Save the $_SESSION variables into $sessionVar array, to unset them temporary.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public function sessionVarSave()
|
||||||
|
{
|
||||||
|
//Unset any variable
|
||||||
|
$this->sessionVar = array();
|
||||||
|
|
||||||
|
if (isset($_SESSION["APPLICATION"])) {
|
||||||
|
$this->sessionVar["APPLICATION"] = $_SESSION["APPLICATION"];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($_SESSION["INDEX"])) {
|
||||||
|
$this->sessionVar["INDEX"] = $_SESSION["INDEX"];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($_SESSION["PROCESS"])) {
|
||||||
|
$this->sessionVar["PROCESS"] = $_SESSION["PROCESS"];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($_SESSION["TASK"])) {
|
||||||
|
$this->sessionVar["TASK"] = $_SESSION["TASK"];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($_SESSION["USER_LOGGED"])) {
|
||||||
|
$this->sessionVar["USER_LOGGED"] = $_SESSION["USER_LOGGED"];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($_SESSION["USR_USERNAME"])) {
|
||||||
|
$this->sessionVar["USR_USERNAME"] = $_SESSION["USR_USERNAME"];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($_SESSION["STEP_POSITION"])) {
|
||||||
|
$this->sessionVar["STEP_POSITION"] = $_SESSION["STEP_POSITION"];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Restore the session variables with values of $sessionVar array, if this is set.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public function sessionVarRestore()
|
||||||
|
{
|
||||||
|
if (count($this->sessionVar) > 0) {
|
||||||
|
//Restore original values
|
||||||
|
unset($_SESSION["APPLICATION"]);
|
||||||
|
unset($_SESSION["INDEX"]);
|
||||||
|
unset($_SESSION["PROCESS"]);
|
||||||
|
unset($_SESSION["TASK"]);
|
||||||
|
unset($_SESSION["USER_LOGGED"]);
|
||||||
|
unset($_SESSION["USR_USERNAME"]);
|
||||||
|
unset($_SESSION["STEP_POSITION"]);
|
||||||
|
|
||||||
|
if (isset($this->sessionVar["APPLICATION"])) {
|
||||||
|
$_SESSION["APPLICATION"] = $this->sessionVar["APPLICATION"];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($this->sessionVar["INDEX"])) {
|
||||||
|
$_SESSION["INDEX"] = $this->sessionVar["INDEX"];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($this->sessionVar["PROCESS"])) {
|
||||||
|
$_SESSION["PROCESS"] = $this->sessionVar["PROCESS"];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($this->sessionVar["TASK"])) {
|
||||||
|
$_SESSION["TASK"] = $this->sessionVar["TASK"];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($this->sessionVar["USER_LOGGED"])) {
|
||||||
|
$_SESSION["USER_LOGGED"] = $this->sessionVar["USER_LOGGED"];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($this->sessionVar["USR_USERNAME"])) {
|
||||||
|
$_SESSION["USR_USERNAME"] = $this->sessionVar["USR_USERNAME"];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($this->sessionVar["STEP_POSITION"])) {
|
||||||
|
$_SESSION["STEP_POSITION"] = $this->sessionVar["STEP_POSITION"];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1485,6 +1485,16 @@ function PMFAddInputDocument(
|
|||||||
$file = "path_to_file/myfile.txt"
|
$file = "path_to_file/myfile.txt"
|
||||||
) {
|
) {
|
||||||
G::LoadClass("case");
|
G::LoadClass("case");
|
||||||
|
|
||||||
|
$g = new G();
|
||||||
|
|
||||||
|
$g->sessionVarSave();
|
||||||
|
|
||||||
|
$_SESSION["APPLICATION"] = $caseUid;
|
||||||
|
$_SESSION["INDEX"] = $delIndex;
|
||||||
|
$_SESSION["TASK"] = $taskUid;
|
||||||
|
$_SESSION["USER_LOGGED"] = $userUid;
|
||||||
|
|
||||||
$case = new Cases();
|
$case = new Cases();
|
||||||
|
|
||||||
$appDocUid = $case->addInputDocument(
|
$appDocUid = $case->addInputDocument(
|
||||||
@@ -1502,6 +1512,8 @@ function PMFAddInputDocument(
|
|||||||
$file
|
$file
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $appDocUid;
|
return $appDocUid;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1518,14 +1530,26 @@ function PMFAddInputDocument(
|
|||||||
*/
|
*/
|
||||||
function PMFGenerateOutputDocument ($outputID, $sApplication = null, $index = null, $sUserLogged = null)
|
function PMFGenerateOutputDocument ($outputID, $sApplication = null, $index = null, $sUserLogged = null)
|
||||||
{
|
{
|
||||||
if (! $sApplication) {
|
$g = new G();
|
||||||
$sApplication = $_SESSION['APPLICATION'];
|
|
||||||
|
$g->sessionVarSave();
|
||||||
|
|
||||||
|
if ($sApplication) {
|
||||||
|
$_SESSION["APPLICATION"] = $sApplication;
|
||||||
|
} else {
|
||||||
|
$sApplication = $_SESSION["APPLICATION"];
|
||||||
}
|
}
|
||||||
if (! $index) {
|
|
||||||
$index = $_SESSION['INDEX'];
|
if ($index) {
|
||||||
|
$_SESSION["INDEX"] = $index;
|
||||||
|
} else {
|
||||||
|
$index = $_SESSION["INDEX"];
|
||||||
}
|
}
|
||||||
if (! $sUserLogged) {
|
|
||||||
$sUserLogged = $_SESSION['USER_LOGGED'];
|
if ($sUserLogged) {
|
||||||
|
$_SESSION["USER_LOGGED"] = $sUserLogged;
|
||||||
|
} else {
|
||||||
|
$sUserLogged = $_SESSION["USER_LOGGED"];
|
||||||
}
|
}
|
||||||
|
|
||||||
G::LoadClass( 'case' );
|
G::LoadClass( 'case' );
|
||||||
@@ -1688,6 +1712,8 @@ function PMFGenerateOutputDocument ($outputID, $sApplication = null, $index = nu
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -2157,7 +2183,15 @@ function PMFgetLabelOption ($PROCESS, $DYNAFORM_UID, $FIELD_NAME, $FIELD_SELECTE
|
|||||||
*/
|
*/
|
||||||
function PMFRedirectToStep ($sApplicationUID, $iDelegation, $sStepType, $sStepUid)
|
function PMFRedirectToStep ($sApplicationUID, $iDelegation, $sStepType, $sStepUid)
|
||||||
{
|
{
|
||||||
$iDelegation = intval( $iDelegation );
|
$g = new G();
|
||||||
|
|
||||||
|
$g->sessionVarSave();
|
||||||
|
|
||||||
|
$iDelegation = intval($iDelegation);
|
||||||
|
|
||||||
|
$_SESSION["APPLICATION"] = $sApplicationUID;
|
||||||
|
$_SESSION["INDEX"] = $iDelegation;
|
||||||
|
|
||||||
require_once 'classes/model/AppDelegation.php';
|
require_once 'classes/model/AppDelegation.php';
|
||||||
$oCriteria = new Criteria( 'workflow' );
|
$oCriteria = new Criteria( 'workflow' );
|
||||||
$oCriteria->addSelectColumn( AppDelegationPeer::TAS_UID );
|
$oCriteria->addSelectColumn( AppDelegationPeer::TAS_UID );
|
||||||
@@ -2206,10 +2240,15 @@ function PMFRedirectToStep ($sApplicationUID, $iDelegation, $sStepType, $sStepUi
|
|||||||
$aFields['APP_DATA'] = $oPMScript->aFields;
|
$aFields['APP_DATA'] = $oPMScript->aFields;
|
||||||
$oCase->updateCase( $sApplicationUID, $aFields );
|
$oCase->updateCase( $sApplicationUID, $aFields );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
G::header( 'Location: ' . 'cases_Step?TYPE=' . $sStepType . '&UID=' . $sStepUid . '&POSITION=' . $oTheStep->getStepPosition() . '&ACTION=' . $sAction );
|
G::header( 'Location: ' . 'cases_Step?TYPE=' . $sStepType . '&UID=' . $sStepUid . '&POSITION=' . $oTheStep->getStepPosition() . '&ACTION=' . $sAction );
|
||||||
die();
|
die();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -77,7 +77,6 @@ class wsBase
|
|||||||
{
|
{
|
||||||
public $stored_system_variables; //boolean
|
public $stored_system_variables; //boolean
|
||||||
public $wsSessionId; //web service session id, if the wsbase function is used from a WS request
|
public $wsSessionId; //web service session id, if the wsbase function is used from a WS request
|
||||||
private $originalValues = array (); // SESSION temporary array store.
|
|
||||||
|
|
||||||
public function __construct ($params = null)
|
public function __construct ($params = null)
|
||||||
{
|
{
|
||||||
@@ -1685,92 +1684,6 @@ class wsBase
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* save the $_SESSION variables into $originalValues array, to unset them temporary.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
private function saveTemporarySessionVars()
|
|
||||||
{
|
|
||||||
//Unset any variable, because we are starting a new case
|
|
||||||
if (isset( $_SESSION['APPLICATION'] )) {
|
|
||||||
$this->originalValues['APPLICATION'] = $_SESSION['APPLICATION'];
|
|
||||||
unset( $_SESSION['APPLICATION'] );
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset( $_SESSION['PROCESS'] )) {
|
|
||||||
$this->originalValues['PROCESS'] = $_SESSION['PROCESS'];
|
|
||||||
unset( $_SESSION['PROCESS'] );
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset( $_SESSION['TASK'] )) {
|
|
||||||
$this->originalValues['TASK'] = $_SESSION['TASK'];
|
|
||||||
unset( $_SESSION['TASK'] );
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset( $_SESSION['INDEX'] )) {
|
|
||||||
$this->originalValues['INDEX'] = $_SESSION['INDEX'];
|
|
||||||
unset( $_SESSION['INDEX'] );
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset( $_SESSION['USER_LOGGED'] )) {
|
|
||||||
$this->originalValues['USER_LOGGED'] = $_SESSION['USER_LOGGED'];
|
|
||||||
unset( $_SESSION['USER_LOGGED'] );
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset( $_SESSION['USR_USERNAME'] )) {
|
|
||||||
$this->originalValues['USR_USERNAME'] = $_SESSION['USR_USERNAME'];
|
|
||||||
unset( $_SESSION['USR_USERNAME'] );
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset( $_SESSION['STEP_POSITION'] )) {
|
|
||||||
$this->originalValues['STEP_POSITION'] = $_SESSION['STEP_POSITION'];
|
|
||||||
unset( $_SESSION['STEP_POSITION'] );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* restore the Session variables with values of $originalValues array, if this is set.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
private function restoreSessionVars()
|
|
||||||
{
|
|
||||||
//Restore original values
|
|
||||||
if (isset( $this->originalValues['APPLICATION'] )) {
|
|
||||||
$_SESSION['APPLICATION'] = $this->originalValues['APPLICATION'];
|
|
||||||
unset( $this->originalValues['APPLICATION']);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset( $this->originalValues['PROCESS'] )) {
|
|
||||||
$_SESSION['PROCESS'] = $this->originalValues['PROCESS'];
|
|
||||||
unset( $this->originalValues['PROCESS']);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset( $this->originalValues['TASK'] )) {
|
|
||||||
$_SESSION['TASK'] = $this->originalValues['TASK'];
|
|
||||||
unset( $this->originalValues['TASK']);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset( $this->originalValues['INDEX'] )) {
|
|
||||||
$_SESSION['INDEX'] = $this->originalValues['INDEX'];
|
|
||||||
unset( $this->originalValues['INDEX']);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset( $this->originalValues['USR_USERNAME'] )) {
|
|
||||||
$_SESSION['USR_USERNAME'] = $this->originalValues['USR_USERNAME'];
|
|
||||||
unset( $this->originalValues['USR_USERNAME']);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset( $this->originalValues['USER_LOGGED'] )) {
|
|
||||||
$_SESSION['USER_LOGGED'] = $this->originalValues['USER_LOGGED'];
|
|
||||||
unset( $this->originalValues['USER_LOGGED']);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset( $this->originalValues['STEP_POSITION'] )) {
|
|
||||||
$_SESSION['STEP_POSITION'] = $this->originalValues['STEP_POSITION'];
|
|
||||||
unset( $this->originalValues['STEP_POSITION']);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* new Case begins a new case under the name of the logged-in user.
|
* new Case begins a new case under the name of the logged-in user.
|
||||||
*
|
*
|
||||||
@@ -1782,9 +1695,14 @@ class wsBase
|
|||||||
*/
|
*/
|
||||||
public function newCase ($processId, $userId, $taskId, $variables)
|
public function newCase ($processId, $userId, $taskId, $variables)
|
||||||
{
|
{
|
||||||
try {
|
$g = new G();
|
||||||
|
|
||||||
$this->saveTemporarySessionVars();
|
try {
|
||||||
|
$g->sessionVarSave();
|
||||||
|
|
||||||
|
$_SESSION["PROCESS"] = $processId;
|
||||||
|
$_SESSION["TASK"] = $taskId;
|
||||||
|
$_SESSION["USER_LOGGED"] = $userId;
|
||||||
|
|
||||||
$Fields = array ();
|
$Fields = array ();
|
||||||
|
|
||||||
@@ -1797,7 +1715,9 @@ class wsBase
|
|||||||
|
|
||||||
if (! $pro) {
|
if (! $pro) {
|
||||||
$result = new wsResponse( 11, G::loadTranslation( 'ID_INVALID_PROCESS' ) . " " . $processId );
|
$result = new wsResponse( 11, G::loadTranslation( 'ID_INVALID_PROCESS' ) . " " . $processId );
|
||||||
$this->restoreSessionVars();
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1828,14 +1748,18 @@ class wsBase
|
|||||||
|
|
||||||
if ($tasksInThisProcess > 1) {
|
if ($tasksInThisProcess > 1) {
|
||||||
$result = new wsResponse( 13, G::loadTranslation( 'ID_MULTIPLE_STARTING_TASKS' ) );
|
$result = new wsResponse( 13, G::loadTranslation( 'ID_MULTIPLE_STARTING_TASKS' ) );
|
||||||
$this->restoreSessionVars();
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($founded == '') {
|
if ($founded == '') {
|
||||||
$result = new wsResponse( 14, G::loadTranslation( 'ID_TASK_INVALID_USER_NOT_ASSIGNED_TASK' ) );
|
$result = new wsResponse( 14, G::loadTranslation( 'ID_TASK_INVALID_USER_NOT_ASSIGNED_TASK' ) );
|
||||||
$this->restoreSessionVars();
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1858,16 +1782,18 @@ class wsBase
|
|||||||
|
|
||||||
$up_case = $oCase->updateCase( $caseId, $oldFields );
|
$up_case = $oCase->updateCase( $caseId, $oldFields );
|
||||||
|
|
||||||
$this->restoreSessionVars();
|
|
||||||
|
|
||||||
$result = new wsResponse( 0, G::loadTranslation( 'ID_STARTED_SUCCESSFULLY' ) );
|
$result = new wsResponse( 0, G::loadTranslation( 'ID_STARTED_SUCCESSFULLY' ) );
|
||||||
$result->caseId = $caseId;
|
$result->caseId = $caseId;
|
||||||
$result->caseNumber = $caseNr;
|
$result->caseNumber = $caseNr;
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
$result = new wsResponse( 100, $e->getMessage() );
|
$result = new wsResponse( 100, $e->getMessage() );
|
||||||
$this->restoreSessionVars();
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1969,7 +1895,15 @@ class wsBase
|
|||||||
*/
|
*/
|
||||||
public function derivateCase ($userId, $caseId, $delIndex, $bExecuteTriggersBeforeAssignment = false)
|
public function derivateCase ($userId, $caseId, $delIndex, $bExecuteTriggersBeforeAssignment = false)
|
||||||
{
|
{
|
||||||
|
$g = new G();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
$g->sessionVarSave();
|
||||||
|
|
||||||
|
$_SESSION["APPLICATION"] = $caseId;
|
||||||
|
$_SESSION["INDEX"] = $delIndex;
|
||||||
|
$_SESSION["USER_LOGGED"] = $userId;
|
||||||
|
|
||||||
$sStatus = 'TO_DO';
|
$sStatus = 'TO_DO';
|
||||||
|
|
||||||
$varResponse = '';
|
$varResponse = '';
|
||||||
@@ -2357,10 +2291,14 @@ class wsBase
|
|||||||
|
|
||||||
$res['routing'] = $aCurrentUsers;
|
$res['routing'] = $aCurrentUsers;
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $res;
|
return $res;
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
$result = new wsResponse( 100, $e->getMessage() );
|
$result = new wsResponse( 100, $e->getMessage() );
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2377,19 +2315,31 @@ class wsBase
|
|||||||
*/
|
*/
|
||||||
public function executeTrigger ($userId, $caseId, $triggerIndex, $delIndex)
|
public function executeTrigger ($userId, $caseId, $triggerIndex, $delIndex)
|
||||||
{
|
{
|
||||||
|
$g = new G();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
$g->sessionVarSave();
|
||||||
|
|
||||||
|
$_SESSION["APPLICATION"] = $caseId;
|
||||||
|
$_SESSION["INDEX"] = $delIndex;
|
||||||
|
$_SESSION["USER_LOGGED"] = $userId;
|
||||||
|
|
||||||
$oAppDel = new AppDelegation();
|
$oAppDel = new AppDelegation();
|
||||||
$appdel = $oAppDel->Load( $caseId, $delIndex );
|
$appdel = $oAppDel->Load( $caseId, $delIndex );
|
||||||
|
|
||||||
if ($userId != $appdel['USR_UID']) {
|
if ($userId != $appdel['USR_UID']) {
|
||||||
$result = new wsResponse( 17, G::loadTranslation( 'ID_CASE_ASSIGNED_ANOTHER_USER' ) );
|
$result = new wsResponse( 17, G::loadTranslation( 'ID_CASE_ASSIGNED_ANOTHER_USER' ) );
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($appdel['DEL_FINISH_DATE'] != null) {
|
if ($appdel['DEL_FINISH_DATE'] != null) {
|
||||||
$result = new wsResponse( 18, G::loadTranslation( 'ID_CASE_DELEGATION_ALREADY_CLOSED' ) );
|
$result = new wsResponse( 18, G::loadTranslation( 'ID_CASE_DELEGATION_ALREADY_CLOSED' ) );
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2408,6 +2358,8 @@ class wsBase
|
|||||||
if ($aRow['APP_DISABLE_ACTION_USER'] != 0 && $aRow['APP_DISABLE_ACTION_DATE'] != '') {
|
if ($aRow['APP_DISABLE_ACTION_USER'] != 0 && $aRow['APP_DISABLE_ACTION_DATE'] != '') {
|
||||||
$result = new wsResponse( 19, G::loadTranslation( 'ID_CASE_IN_STATUS' ) . " " . $aRow['APP_TYPE'] );
|
$result = new wsResponse( 19, G::loadTranslation( 'ID_CASE_IN_STATUS' ) . " " . $aRow['APP_TYPE'] );
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2448,17 +2400,22 @@ class wsBase
|
|||||||
$data['TRIGGER_INDEX'] = $triggerIndex;
|
$data['TRIGGER_INDEX'] = $triggerIndex;
|
||||||
$result = new wsResponse( 100, G::loadTranslation( 'ID_INVALID_TRIGGER', SYS_LANG, $data ) );
|
$result = new wsResponse( 100, G::loadTranslation( 'ID_INVALID_TRIGGER', SYS_LANG, $data ) );
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
$result = new wsResponse( 0, G::loadTranslation( 'ID_EXECUTED' ) . ": " . trim( $row['TRI_WEBBOT'] ) );
|
$result = new wsResponse( 0, G::loadTranslation( 'ID_EXECUTED' ) . ": " . trim( $row['TRI_WEBBOT'] ) );
|
||||||
//$result = new wsResponse(0, 'executed: ' . print_r($oPMScript, 1));
|
//$result = new wsResponse(0, 'executed: ' . print_r($oPMScript, 1));
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
$result = new wsResponse( 100, $e->getMessage() );
|
$result = new wsResponse( 100, $e->getMessage() );
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2555,10 +2512,20 @@ class wsBase
|
|||||||
*/
|
*/
|
||||||
public function reassignCase ($sessionId, $caseId, $delIndex, $userIdSource, $userIdTarget)
|
public function reassignCase ($sessionId, $caseId, $delIndex, $userIdSource, $userIdTarget)
|
||||||
{
|
{
|
||||||
|
$g = new G();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
$g->sessionVarSave();
|
||||||
|
|
||||||
|
$_SESSION["APPLICATION"] = $caseId;
|
||||||
|
$_SESSION["INDEX"] = $delIndex;
|
||||||
|
$_SESSION["USER_LOGGED"] = $userIdSource;
|
||||||
|
|
||||||
if ($userIdTarget == $userIdSource) {
|
if ($userIdTarget == $userIdSource) {
|
||||||
$result = new wsResponse( 30, G::loadTranslation( 'ID_TARGET_ORIGIN_USER_SAME' ) );
|
$result = new wsResponse( 30, G::loadTranslation( 'ID_TARGET_ORIGIN_USER_SAME' ) );
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2576,6 +2543,8 @@ class wsBase
|
|||||||
if (! is_array( $aRow )) {
|
if (! is_array( $aRow )) {
|
||||||
$result = new wsResponse( 31, G::loadTranslation( 'ID_INVALID_ORIGIN_USER' ) );
|
$result = new wsResponse( 31, G::loadTranslation( 'ID_INVALID_ORIGIN_USER' ) );
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2588,6 +2557,8 @@ class wsBase
|
|||||||
if (! is_array( $aRow )) {
|
if (! is_array( $aRow )) {
|
||||||
$result = new wsResponse( 32, G::loadTranslation( 'ID_CASE_NOT_OPEN' ) );
|
$result = new wsResponse( 32, G::loadTranslation( 'ID_CASE_NOT_OPEN' ) );
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2612,6 +2583,8 @@ class wsBase
|
|||||||
if (! is_array( $aRow )) {
|
if (! is_array( $aRow )) {
|
||||||
$result = new wsResponse( 33, G::loadTranslation( 'ID_INVALID_CASE_DELEGATION_INDEX' ) );
|
$result = new wsResponse( 33, G::loadTranslation( 'ID_INVALID_CASE_DELEGATION_INDEX' ) );
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2622,6 +2595,8 @@ class wsBase
|
|||||||
if (! in_array( $userIdTarget, $userList )) {
|
if (! in_array( $userIdTarget, $userList )) {
|
||||||
$result = new wsResponse( 34, G::loadTranslation( 'ID_TARGET_USER_DOES_NOT_HAVE_RIGHTS' ) );
|
$result = new wsResponse( 34, G::loadTranslation( 'ID_TARGET_USER_DOES_NOT_HAVE_RIGHTS' ) );
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2639,6 +2614,8 @@ class wsBase
|
|||||||
if (! is_array( $aRow )) {
|
if (! is_array( $aRow )) {
|
||||||
$result = new wsResponse( 35, G::loadTranslation( 'ID_TARGET_USER_DESTINATION_INVALID' ) );
|
$result = new wsResponse( 35, G::loadTranslation( 'ID_TARGET_USER_DESTINATION_INVALID' ) );
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2650,16 +2627,22 @@ class wsBase
|
|||||||
if (! $var) {
|
if (! $var) {
|
||||||
$result = new wsResponse( 36, G::loadTranslation( 'ID_CASE_COULD_NOT_REASSIGNED' ) );
|
$result = new wsResponse( 36, G::loadTranslation( 'ID_CASE_COULD_NOT_REASSIGNED' ) );
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
$result = new wsResponse( 0, G::loadTranslation( 'ID_COMMAND_EXECUTED_SUCCESSFULLY' ) );
|
$result = new wsResponse( 0, G::loadTranslation( 'ID_COMMAND_EXECUTED_SUCCESSFULLY' ) );
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
$result[] = array ('guid' => $e->getMessage(),'name' => $e->getMessage()
|
$result[] = array ('guid' => $e->getMessage(),'name' => $e->getMessage()
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2884,10 +2867,18 @@ class wsBase
|
|||||||
*/
|
*/
|
||||||
public function deleteCase ($caseUid)
|
public function deleteCase ($caseUid)
|
||||||
{
|
{
|
||||||
|
$g = new G();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
$g->sessionVarSave();
|
||||||
|
|
||||||
|
$_SESSION["APPLICATION"] = $caseUid;
|
||||||
|
|
||||||
if (empty( $caseUid )) {
|
if (empty( $caseUid )) {
|
||||||
$result = new wsResponse( 100, G::LoadTranslation( "ID_REQUIRED_FIELD" ) . " caseUid" );
|
$result = new wsResponse( 100, G::LoadTranslation( "ID_REQUIRED_FIELD" ) . " caseUid" );
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2900,10 +2891,14 @@ class wsBase
|
|||||||
$result = array ("status_code" => $res->status_code,"message" => $res->message,"timestamp" => $res->timestamp
|
$result = array ("status_code" => $res->status_code,"message" => $res->message,"timestamp" => $res->timestamp
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
$result = new wsResponse(100, $e->getMessage());
|
$result = new wsResponse(100, $e->getMessage());
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2918,22 +2913,36 @@ class wsBase
|
|||||||
*/
|
*/
|
||||||
public function cancelCase ($caseUid, $delIndex, $userUid)
|
public function cancelCase ($caseUid, $delIndex, $userUid)
|
||||||
{
|
{
|
||||||
|
$g = new G();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
$g->sessionVarSave();
|
||||||
|
|
||||||
|
$_SESSION["APPLICATION"] = $caseUid;
|
||||||
|
$_SESSION["INDEX"] = $delIndex;
|
||||||
|
$_SESSION["USER_LOGGED"] = $userUid;
|
||||||
|
|
||||||
if (empty( $caseUid )) {
|
if (empty( $caseUid )) {
|
||||||
$result = new wsResponse( 100, G::LoadTranslation( "ID_REQUIRED_FIELD" ) . " caseUid" );
|
$result = new wsResponse( 100, G::LoadTranslation( "ID_REQUIRED_FIELD" ) . " caseUid" );
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty( $delIndex )) {
|
if (empty( $delIndex )) {
|
||||||
$result = new wsResponse( 100, G::LoadTranslation( "ID_REQUIRED_FIELD" ) . " delIndex" );
|
$result = new wsResponse( 100, G::LoadTranslation( "ID_REQUIRED_FIELD" ) . " delIndex" );
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty( $userUid )) {
|
if (empty( $userUid )) {
|
||||||
$result = new wsResponse( 100, G::LoadTranslation( "ID_REQUIRED_FIELD" ) . " userUid" );
|
$result = new wsResponse( 100, G::LoadTranslation( "ID_REQUIRED_FIELD" ) . " userUid" );
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2946,10 +2955,14 @@ class wsBase
|
|||||||
$result = array ("status_code" => $res->status_code,"message" => $res->message,"timestamp" => $res->timestamp
|
$result = array ("status_code" => $res->status_code,"message" => $res->message,"timestamp" => $res->timestamp
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
$result = new wsResponse(100, $e->getMessage());
|
$result = new wsResponse(100, $e->getMessage());
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2966,22 +2979,36 @@ class wsBase
|
|||||||
*/
|
*/
|
||||||
public function pauseCase ($caseUid, $delIndex, $userUid, $unpauseDate = null)
|
public function pauseCase ($caseUid, $delIndex, $userUid, $unpauseDate = null)
|
||||||
{
|
{
|
||||||
|
$g = new G();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
$g->sessionVarSave();
|
||||||
|
|
||||||
|
$_SESSION["APPLICATION"] = $caseUid;
|
||||||
|
$_SESSION["INDEX"] = $delIndex;
|
||||||
|
$_SESSION["USER_LOGGED"] = $userUid;
|
||||||
|
|
||||||
if (empty( $caseUid )) {
|
if (empty( $caseUid )) {
|
||||||
$result = new wsResponse( 100, G::LoadTranslation( "ID_REQUIRED_FIELD" ) . " caseUid" );
|
$result = new wsResponse( 100, G::LoadTranslation( "ID_REQUIRED_FIELD" ) . " caseUid" );
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty( $delIndex )) {
|
if (empty( $delIndex )) {
|
||||||
$result = new wsResponse( 100, G::LoadTranslation( "ID_REQUIRED_FIELD" ) . " delIndex" );
|
$result = new wsResponse( 100, G::LoadTranslation( "ID_REQUIRED_FIELD" ) . " delIndex" );
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty( $userUid )) {
|
if (empty( $userUid )) {
|
||||||
$result = new wsResponse( 100, G::LoadTranslation( "ID_REQUIRED_FIELD" ) . " userUid" );
|
$result = new wsResponse( 100, G::LoadTranslation( "ID_REQUIRED_FIELD" ) . " userUid" );
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2989,6 +3016,8 @@ class wsBase
|
|||||||
if (! preg_match( "/^\d{4}-\d{2}-\d{2}$/", $unpauseDate )) {
|
if (! preg_match( "/^\d{4}-\d{2}-\d{2}$/", $unpauseDate )) {
|
||||||
$result = new wsResponse( 100, G::LoadTranslation( "ID_INVALID_DATA" ) . " $unpauseDate" );
|
$result = new wsResponse( 100, G::LoadTranslation( "ID_INVALID_DATA" ) . " $unpauseDate" );
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3002,10 +3031,14 @@ class wsBase
|
|||||||
$result = array ("status_code" => $res->status_code,"message" => $res->message,"timestamp" => $res->timestamp
|
$result = array ("status_code" => $res->status_code,"message" => $res->message,"timestamp" => $res->timestamp
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
$result = new wsResponse(100, $e->getMessage());
|
$result = new wsResponse(100, $e->getMessage());
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3020,22 +3053,36 @@ class wsBase
|
|||||||
*/
|
*/
|
||||||
public function unpauseCase ($caseUid, $delIndex, $userUid)
|
public function unpauseCase ($caseUid, $delIndex, $userUid)
|
||||||
{
|
{
|
||||||
|
$g = new G();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
$g->sessionVarSave();
|
||||||
|
|
||||||
|
$_SESSION["APPLICATION"] = $caseUid;
|
||||||
|
$_SESSION["INDEX"] = $delIndex;
|
||||||
|
$_SESSION["USER_LOGGED"] = $userUid;
|
||||||
|
|
||||||
if (empty( $caseUid )) {
|
if (empty( $caseUid )) {
|
||||||
$result = new wsResponse( 100, G::LoadTranslation( "ID_REQUIRED_FIELD" ) . " caseUid" );
|
$result = new wsResponse( 100, G::LoadTranslation( "ID_REQUIRED_FIELD" ) . " caseUid" );
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty( $delIndex )) {
|
if (empty( $delIndex )) {
|
||||||
$result = new wsResponse( 100, G::LoadTranslation( "ID_REQUIRED_FIELD" ) . " delIndex" );
|
$result = new wsResponse( 100, G::LoadTranslation( "ID_REQUIRED_FIELD" ) . " delIndex" );
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty( $userUid )) {
|
if (empty( $userUid )) {
|
||||||
$result = new wsResponse( 100, G::LoadTranslation( "ID_REQUIRED_FIELD" ) . " userUid" );
|
$result = new wsResponse( 100, G::LoadTranslation( "ID_REQUIRED_FIELD" ) . " userUid" );
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3048,10 +3095,14 @@ class wsBase
|
|||||||
$result = array ("status_code" => $res->status_code,"message" => $res->message,"timestamp" => $res->timestamp
|
$result = array ("status_code" => $res->status_code,"message" => $res->message,"timestamp" => $res->timestamp
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
$result = new wsResponse(100, $e->getMessage());
|
$result = new wsResponse(100, $e->getMessage());
|
||||||
|
|
||||||
|
$g->sessionVarRestore();
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user