diff --git a/workflow/engine/methods/cases/cases_SaveData.php b/workflow/engine/methods/cases/cases_SaveData.php index 847cee7b3..3708c4e45 100755 --- a/workflow/engine/methods/cases/cases_SaveData.php +++ b/workflow/engine/methods/cases/cases_SaveData.php @@ -23,231 +23,248 @@ * */ //validate the data post -$oForm = new Form ( $_SESSION ['PROCESS'] . '/' . $_GET ['UID'], PATH_DYNAFORM ); -$oForm->validatePost (); -/* Includes */ -G::LoadClass ( 'case' ); +try { -//load the variables -$oCase = new Cases ( ); -$oCase->thisIsTheCurrentUser ( $_SESSION ['APPLICATION'], $_SESSION ['INDEX'], $_SESSION ['USER_LOGGED'], 'REDIRECT', 'cases_List' ); -$Fields = $oCase->loadCase ( $_SESSION ['APPLICATION'] ); -$Fields ['APP_DATA'] = array_merge ( $Fields ['APP_DATA'], G::getSystemConstants () ); -$Fields ['APP_DATA'] = array_merge ( $Fields ['APP_DATA'], ( array ) $_POST ['form'] ); + if ($_GET['APP_UID'] !== $_SESSION ['APPLICATION']) { + throw new Exception(G::LoadTranslation('ID_INVALID_APPLICATION_ID_MSG', array('{1}', G::LoadTranslation('ID_REOPEN')))); + } -#here we must verify if is a debug session -$trigger_debug_session = $_SESSION ['TRIGGER_DEBUG'] ['ISSET']; #here we must verify if is a debugg session + $oForm = new Form ( $_SESSION ['PROCESS'] . '/' . $_GET ['UID'], PATH_DYNAFORM ); + $oForm->validatePost (); + + /* Includes */ + G::LoadClass ( 'case' ); + + //load the variables + $oCase = new Cases ( ); + $oCase->thisIsTheCurrentUser ( $_SESSION ['APPLICATION'], $_SESSION ['INDEX'], $_SESSION ['USER_LOGGED'], 'REDIRECT', 'cases_List' ); + $Fields = $oCase->loadCase ( $_SESSION ['APPLICATION'] ); + $Fields ['APP_DATA'] = array_merge ( $Fields ['APP_DATA'], G::getSystemConstants () ); + $Fields ['APP_DATA'] = array_merge ( $Fields ['APP_DATA'], ( array ) $_POST ['form'] ); + + #here we must verify if is a debug session + $trigger_debug_session = $_SESSION ['TRIGGER_DEBUG'] ['ISSET']; #here we must verify if is a debugg session -#trigger debug routines... + #trigger debug routines... -//cleaning debug variables -$_SESSION ['TRIGGER_DEBUG'] ['ERRORS'] = Array (); -$_SESSION ['TRIGGER_DEBUG'] ['DATA'] = Array (); -$_SESSION ['TRIGGER_DEBUG'] ['TRIGGERS_NAMES'] = Array (); -$_SESSION ['TRIGGER_DEBUG'] ['TRIGGERS_VALUES'] = Array (); + //cleaning debug variables + $_SESSION ['TRIGGER_DEBUG'] ['ERRORS'] = Array (); + $_SESSION ['TRIGGER_DEBUG'] ['DATA'] = Array (); + $_SESSION ['TRIGGER_DEBUG'] ['TRIGGERS_NAMES'] = Array (); + $_SESSION ['TRIGGER_DEBUG'] ['TRIGGERS_VALUES'] = Array (); -$triggers = $oCase->loadTriggers ( $_SESSION ['TASK'], 'DYNAFORM', $_GET ['UID'], 'AFTER' ); + $triggers = $oCase->loadTriggers ( $_SESSION ['TASK'], 'DYNAFORM', $_GET ['UID'], 'AFTER' ); -$_SESSION ['TRIGGER_DEBUG'] ['NUM_TRIGGERS'] = count ( $triggers ); -$_SESSION ['TRIGGER_DEBUG'] ['TIME'] = 'AFTER'; -if ($_SESSION ['TRIGGER_DEBUG'] ['NUM_TRIGGERS'] != 0) { - $_SESSION ['TRIGGER_DEBUG'] ['TRIGGERS_NAMES'] = $oCase->getTriggerNames ( $triggers ); - $_SESSION ['TRIGGER_DEBUG'] ['TRIGGERS_VALUES'] = $triggers; -} + $_SESSION ['TRIGGER_DEBUG'] ['NUM_TRIGGERS'] = count ( $triggers ); + $_SESSION ['TRIGGER_DEBUG'] ['TIME'] = 'AFTER'; + if ($_SESSION ['TRIGGER_DEBUG'] ['NUM_TRIGGERS'] != 0) { + $_SESSION ['TRIGGER_DEBUG'] ['TRIGGERS_NAMES'] = $oCase->getTriggerNames ( $triggers ); + $_SESSION ['TRIGGER_DEBUG'] ['TRIGGERS_VALUES'] = $triggers; + } -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 -} + 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 + } -//save data in PM Tables if necessary -$newValues = array (); -foreach ( $_POST ['form'] as $sField => $sAux ) { - if (isset ( $oForm->fields [$sField]->pmconnection ) && isset ( $oForm->fields [$sField]->pmfield )) { - if (($oForm->fields [$sField]->pmconnection != '') && ($oForm->fields [$sField]->pmfield != '')) { - if (isset ( $oForm->fields [$oForm->fields [$sField]->pmconnection] )) { - require_once PATH_CORE . 'classes' . PATH_SEP . 'model' . PATH_SEP . 'AdditionalTables.php'; - $oAdditionalTables = new AdditionalTables ( ); - try { - $aData = $oAdditionalTables->load ( $oForm->fields [$oForm->fields [$sField]->pmconnection]->pmtable, true ); - } catch ( Exception $oError ) { - $aData = array ('FIELDS' => array () ); - } - $aKeys = array (); - $aAux = explode ( '|', $oForm->fields [$oForm->fields [$sField]->pmconnection]->keys ); - $i = 0; - $aValues = array (); - foreach ( $aData ['FIELDS'] as $aField ) { - if ($aField ['FLD_KEY'] == '1') { - $aKeys [$aField ['FLD_NAME']] = (isset ( $aAux [$i] ) ? G::replaceDataField ( $aAux [$i], $Fields ['APP_DATA'] ) : ''); - $i ++; - } - if ($aField ['FLD_NAME'] == $oForm->fields [$sField]->pmfield) { - $aValues [$aField ['FLD_NAME']] = $Fields ['APP_DATA'] [$sField]; - } else { - $aValues [$aField ['FLD_NAME']] = ''; - } - } - try { - $aRow = $oAdditionalTables->getDataTable ( $oForm->fields [$oForm->fields [$sField]->pmconnection]->pmtable, $aKeys ); - } catch ( Exception $oError ) { - $aRow = false; - } - if ($aRow) { - foreach ( $aValues as $sKey => $sValue ) { - if ($sKey != $oForm->fields [$sField]->pmfield) { - $aValues [$sKey] = $aRow [$sKey]; - } - } - try { - $oAdditionalTables->updateDataInTable ( $oForm->fields [$oForm->fields [$sField]->pmconnection]->pmtable, $aValues ); - } catch ( Exception $oError ) { - //Nothing - } - } else { - try { - // assembling the field list in order to save the data ina new record of a pm table - if (empty($newValues)){ - $newValues = $aValues; - } else { - foreach ($aValues as $aValueKey=>$aValueCont) { - if (trim($newValues[$aValueKey])==''){ - $newValues[$aValueKey] = $aValueCont; - } - } - } - //$oAdditionalTables->saveDataInTable ( $oForm->fields [$oForm->fields [$sField]->pmconnection]->pmtable, $aValues ); - - } catch ( Exception $oError ) { - //Nothing - } - } - } - } - } -} -// saving the data ina pm table in case that is a new record -if (!empty($newValues)){ - if(!$oAdditionalTables->saveDataInTable ( $oForm->fields [$oForm->fields [$sField]->pmconnection]->pmtable, $newValues)) - $oAdditionalTables->updateDataInTable( $oForm->fields [$oForm->fields [$sField]->pmconnection]->pmtable, $newValues); -} -//save data -$aData = array (); -$aData ['APP_NUMBER'] = $Fields ['APP_NUMBER']; -$aData ['APP_PROC_STATUS'] = $Fields ['APP_PROC_STATUS']; -$aData ['APP_DATA'] = $Fields ['APP_DATA']; -$aData ['DEL_INDEX'] = $_SESSION ['INDEX']; -$aData ['TAS_UID'] = $_SESSION ['TASK']; -$aData ['CURRENT_DYNAFORM'] = $_GET ['UID']; -$aData ['USER_UID'] = $_SESSION ['USER_LOGGED']; -$aData ['APP_STATUS'] = $Fields ['APP_STATUS']; -$aData ['PRO_UID'] = $_SESSION ['PROCESS']; + //save data in PM Tables if necessary + $newValues = array (); + foreach ( $_POST ['form'] as $sField => $sAux ) { + if (isset ( $oForm->fields [$sField]->pmconnection ) && isset ( $oForm->fields [$sField]->pmfield )) { + if (($oForm->fields [$sField]->pmconnection != '') && ($oForm->fields [$sField]->pmfield != '')) { + if (isset ( $oForm->fields [$oForm->fields [$sField]->pmconnection] )) { + require_once PATH_CORE . 'classes' . PATH_SEP . 'model' . PATH_SEP . 'AdditionalTables.php'; + $oAdditionalTables = new AdditionalTables ( ); + try { + $aData = $oAdditionalTables->load ( $oForm->fields [$oForm->fields [$sField]->pmconnection]->pmtable, true ); + } catch ( Exception $oError ) { + $aData = array ('FIELDS' => array () ); + } + $aKeys = array (); + $aAux = explode ( '|', $oForm->fields [$oForm->fields [$sField]->pmconnection]->keys ); + $i = 0; + $aValues = array (); + foreach ( $aData ['FIELDS'] as $aField ) { + if ($aField ['FLD_KEY'] == '1') { + $aKeys [$aField ['FLD_NAME']] = (isset ( $aAux [$i] ) ? G::replaceDataField ( $aAux [$i], $Fields ['APP_DATA'] ) : ''); + $i ++; + } + if ($aField ['FLD_NAME'] == $oForm->fields [$sField]->pmfield) { + $aValues [$aField ['FLD_NAME']] = $Fields ['APP_DATA'] [$sField]; + } else { + $aValues [$aField ['FLD_NAME']] = ''; + } + } + try { + $aRow = $oAdditionalTables->getDataTable ( $oForm->fields [$oForm->fields [$sField]->pmconnection]->pmtable, $aKeys ); + } catch ( Exception $oError ) { + $aRow = false; + } + if ($aRow) { + foreach ( $aValues as $sKey => $sValue ) { + if ($sKey != $oForm->fields [$sField]->pmfield) { + $aValues [$sKey] = $aRow [$sKey]; + } + } + try { + $oAdditionalTables->updateDataInTable ( $oForm->fields [$oForm->fields [$sField]->pmconnection]->pmtable, $aValues ); + } catch ( Exception $oError ) { + //Nothing + } + } + else { + try { + // assembling the field list in order to save the data ina new record of a pm table + if (empty($newValues)){ + $newValues = $aValues; + } + else { + foreach ($aValues as $aValueKey=>$aValueCont) { + if (trim($newValues[$aValueKey])==''){ + $newValues[$aValueKey] = $aValueCont; + } + } + } + //$oAdditionalTables->saveDataInTable ( $oForm->fields [$oForm->fields [$sField]->pmconnection]->pmtable, $aValues ); + } catch ( Exception $oError ) { + //Nothing + } + } + } + } + } + } + // saving the data ina pm table in case that is a new record + if (!empty($newValues)){ + if(!$oAdditionalTables->saveDataInTable ( $oForm->fields [$oForm->fields [$sField]->pmconnection]->pmtable, $newValues)) + $oAdditionalTables->updateDataInTable( $oForm->fields [$oForm->fields [$sField]->pmconnection]->pmtable, $newValues); + } + //save data + $aData = array (); + $aData ['APP_NUMBER'] = $Fields ['APP_NUMBER']; + $aData ['APP_PROC_STATUS'] = $Fields ['APP_PROC_STATUS']; + $aData ['APP_DATA'] = $Fields ['APP_DATA']; + $aData ['DEL_INDEX'] = $_SESSION ['INDEX']; + $aData ['TAS_UID'] = $_SESSION ['TASK']; + $aData ['CURRENT_DYNAFORM'] = $_GET ['UID']; + $aData ['USER_UID'] = $_SESSION ['USER_LOGGED']; + $aData ['APP_STATUS'] = $Fields ['APP_STATUS']; + $aData ['PRO_UID'] = $_SESSION ['PROCESS']; -$oCase->updateCase ( $_SESSION ['APPLICATION'], $aData ); -//save files -require_once 'classes/model/AppDocument.php'; -if (isset ( $_FILES ['form'] )) { - foreach ( $_FILES ['form'] ['name'] as $sFieldName => $vValue ) { - if ($_FILES ['form'] ['error'] [$sFieldName] == 0) { - $oAppDocument = new AppDocument ( ); - - - - if ( isset ( $_POST ['INPUTS'] [$sFieldName] ) && $_POST ['INPUTS'] [$sFieldName] != '' ) { - require_once ('classes/model/AppFolder.php'); + $oCase->updateCase ( $_SESSION ['APPLICATION'], $aData ); + //save files + require_once 'classes/model/AppDocument.php'; + if (isset ( $_FILES ['form'] )) { + foreach ( $_FILES ['form'] ['name'] as $sFieldName => $vValue ) { + if ($_FILES ['form'] ['error'] [$sFieldName] == 0) { + $oAppDocument = new AppDocument ( ); + + if ( isset ( $_POST ['INPUTS'] [$sFieldName] ) && $_POST ['INPUTS'] [$sFieldName] != '' ) { + require_once ('classes/model/AppFolder.php'); require_once ('classes/model/InputDocument.php'); - $oInputDocument = new InputDocument(); + $oInputDocument = new InputDocument(); $aID = $oInputDocument->load($_POST ['INPUTS'] [$sFieldName]); - - //Get the Custom Folder ID (create if necessary) + + //Get the Custom Folder ID (create if necessary) $oFolder=new AppFolder(); $folderId=$oFolder->createFromPath($aID['INP_DOC_DESTINATION_PATH']); //Tags $fileTags=$oFolder->parseTags($aID['INP_DOC_TAGS']); - - $aFields = array ( - 'APP_UID' => $_SESSION ['APPLICATION'], - 'DEL_INDEX' => $_SESSION ['INDEX'], - 'USR_UID' => $_SESSION ['USER_LOGGED'], - 'DOC_UID' => $_POST ['INPUTS'] [$sFieldName], - 'APP_DOC_TYPE' => 'INPUT', - 'APP_DOC_CREATE_DATE' => date ( 'Y-m-d H:i:s' ), - 'APP_DOC_COMMENT' => '', - 'APP_DOC_TITLE' => '', - 'APP_DOC_FILENAME' => $_FILES ['form'] ['name'] [$sFieldName], - 'FOLDER_UID' => $folderId, + + $aFields = array ( + 'APP_UID' => $_SESSION ['APPLICATION'], + 'DEL_INDEX' => $_SESSION ['INDEX'], + 'USR_UID' => $_SESSION ['USER_LOGGED'], + 'DOC_UID' => $_POST ['INPUTS'] [$sFieldName], + 'APP_DOC_TYPE' => 'INPUT', + 'APP_DOC_CREATE_DATE' => date ( 'Y-m-d H:i:s' ), + 'APP_DOC_COMMENT' => '', + 'APP_DOC_TITLE' => '', + 'APP_DOC_FILENAME' => $_FILES ['form'] ['name'] [$sFieldName], + 'FOLDER_UID' => $folderId, 'APP_DOC_TAGS' => $fileTags - ); - } else { - $aFields = array ( - 'APP_UID' => $_SESSION ['APPLICATION'], - 'DEL_INDEX' => $_SESSION ['INDEX'], - 'USR_UID' => $_SESSION ['USER_LOGGED'], - 'DOC_UID' => - 1, - 'APP_DOC_TYPE' => 'ATTACHED', - 'APP_DOC_CREATE_DATE' => date ( 'Y-m-d H:i:s' ), - 'APP_DOC_COMMENT' => '', - 'APP_DOC_TITLE' => '', - 'APP_DOC_FILENAME' => $_FILES ['form'] ['name'] [$sFieldName] - ); - } - - $oAppDocument->create ( $aFields ); - $iDocVersion = $oAppDocument->getDocVersion(); - $sAppDocUid = $oAppDocument->getAppDocUid (); - $aInfo = pathinfo ( $oAppDocument->getAppDocFilename () ); - $sExtension = (isset ( $aInfo ['extension'] ) ? $aInfo ['extension'] : ''); - $sPathName = PATH_DOCUMENT . $_SESSION ['APPLICATION'] . PATH_SEP; - $sFileName = $sAppDocUid . '_'.$iDocVersion.'.' . $sExtension; - G::uploadFile ( $_FILES ['form'] ['tmp_name'] [$sFieldName], $sPathName, $sFileName ); - //Plugin Hook PM_UPLOAD_DOCUMENT for upload document - $oPluginRegistry = & PMPluginRegistry::getSingleton (); - if ($oPluginRegistry->existsTrigger ( PM_UPLOAD_DOCUMENT ) && class_exists ( 'uploadDocumentData' )) { - $documentData = new uploadDocumentData ( $_SESSION ['APPLICATION'], $_SESSION ['USER_LOGGED'], $sPathName . $sFileName, $aFields ['APP_DOC_FILENAME'], $sAppDocUid ); - $uploadReturn=$oPluginRegistry->executeTriggers ( PM_UPLOAD_DOCUMENT, $documentData ); - if($uploadReturn){ - $aFields['APP_DOC_PLUGIN']=$triggerDetail->sNamespace; - $oAppDocument1 = new AppDocument(); - $oAppDocument1->update($aFields); - unlink ( $sPathName . $sFileName ); - } - } - } - } + ); + } + else { + $aFields = array ( + 'APP_UID' => $_SESSION ['APPLICATION'], + 'DEL_INDEX' => $_SESSION ['INDEX'], + 'USR_UID' => $_SESSION ['USER_LOGGED'], + 'DOC_UID' => - 1, + 'APP_DOC_TYPE' => 'ATTACHED', + 'APP_DOC_CREATE_DATE' => date ( 'Y-m-d H:i:s' ), + 'APP_DOC_COMMENT' => '', + 'APP_DOC_TITLE' => '', + 'APP_DOC_FILENAME' => $_FILES ['form'] ['name'] [$sFieldName] + ); + } + + $oAppDocument->create ( $aFields ); + $iDocVersion = $oAppDocument->getDocVersion(); + $sAppDocUid = $oAppDocument->getAppDocUid (); + $aInfo = pathinfo ( $oAppDocument->getAppDocFilename () ); + $sExtension = (isset ( $aInfo ['extension'] ) ? $aInfo ['extension'] : ''); + $sPathName = PATH_DOCUMENT . $_SESSION ['APPLICATION'] . PATH_SEP; + $sFileName = $sAppDocUid . '_'.$iDocVersion.'.' . $sExtension; + G::uploadFile ( $_FILES ['form'] ['tmp_name'] [$sFieldName], $sPathName, $sFileName ); + //Plugin Hook PM_UPLOAD_DOCUMENT for upload document + $oPluginRegistry = & PMPluginRegistry::getSingleton (); + if ($oPluginRegistry->existsTrigger ( PM_UPLOAD_DOCUMENT ) && class_exists ( 'uploadDocumentData' )) { + $documentData = new uploadDocumentData ( $_SESSION ['APPLICATION'], $_SESSION ['USER_LOGGED'], $sPathName . $sFileName, $aFields ['APP_DOC_FILENAME'], $sAppDocUid ); + $uploadReturn=$oPluginRegistry->executeTriggers ( PM_UPLOAD_DOCUMENT, $documentData ); + if($uploadReturn){ + $aFields['APP_DOC_PLUGIN']=$triggerDetail->sNamespace; + $oAppDocument1 = new AppDocument(); + $oAppDocument1->update($aFields); + unlink ( $sPathName . $sFileName ); + } + } + } + } + } + //go to the next step + $aNextStep = $oCase->getNextStep ( $_SESSION ['PROCESS'], $_SESSION ['APPLICATION'], $_SESSION ['INDEX'], $_SESSION ['STEP_POSITION'] ); + if (isset ( $_GET ['_REFRESH_'] )) { + G::header ( 'location: ' . $_SERVER ['HTTP_REFERER'] ); + die (); + } + $_SESSION ['STEP_POSITION'] = $aNextStep ['POSITION']; + + $_SESSION['BREAKSTEP']['NEXT_STEP'] = $aNextStep ['PAGE']; + + if ($trigger_debug_session) { + $_SESSION ['TRIGGER_DEBUG'] ['BREAKPAGE'] = $aNextStep ['PAGE']; + $aNextStep ['PAGE'] = $aNextStep ['PAGE'] . '&breakpoint=triggerdebug'; + } + + $oForm->validatePost (); + $oJSON = new Services_JSON ( ); + $_POST ['__notValidateThisFields__'] = (isset($_POST ['__notValidateThisFields__']) && $_POST ['__notValidateThisFields__']!='')?$_POST ['__notValidateThisFields__']:$_POST ['DynaformRequiredFields']; + if ($missing_req_values = $oForm->validateRequiredFields ( $_POST ['form'], $oJSON->decode ( stripslashes ( $_POST ['__notValidateThisFields__'] ) ) )) { + $_POST ['next_step'] = $aNextStep; + $_POST ['previous_step'] = $oCase->getPreviousStep ( $_SESSION ['PROCESS'], $_SESSION ['APPLICATION'], $_SESSION ['INDEX'], $_SESSION ['STEP_POSITION'] ); + $_POST ['req_val'] = $missing_req_values; + $G_PUBLISH = new Publisher ( ); + $G_PUBLISH->AddContent ( 'view', 'cases/missRequiredFields' ); + G::RenderPage ( 'publish', 'blank' ); + exit ( 0 ); + } + + G::header ( 'location: ' . $aNextStep ['PAGE'] ); + } -//go to the next step -$aNextStep = $oCase->getNextStep ( $_SESSION ['PROCESS'], $_SESSION ['APPLICATION'], $_SESSION ['INDEX'], $_SESSION ['STEP_POSITION'] ); -if (isset ( $_GET ['_REFRESH_'] )) { - G::header ( 'location: ' . $_SERVER ['HTTP_REFERER'] ); - die (); -} -$_SESSION ['STEP_POSITION'] = $aNextStep ['POSITION']; - -$_SESSION['BREAKSTEP']['NEXT_STEP'] = $aNextStep ['PAGE']; - -if ($trigger_debug_session) { - $_SESSION ['TRIGGER_DEBUG'] ['BREAKPAGE'] = $aNextStep ['PAGE']; - $aNextStep ['PAGE'] = $aNextStep ['PAGE'] . '&breakpoint=triggerdebug'; -} - -$oForm->validatePost (); -$oJSON = new Services_JSON ( ); -$_POST ['__notValidateThisFields__'] = (isset($_POST ['__notValidateThisFields__']) && $_POST ['__notValidateThisFields__']!='')?$_POST ['__notValidateThisFields__']:$_POST ['DynaformRequiredFields']; -if ($missing_req_values = $oForm->validateRequiredFields ( $_POST ['form'], $oJSON->decode ( stripslashes ( $_POST ['__notValidateThisFields__'] ) ) )) { - $_POST ['next_step'] = $aNextStep; - $_POST ['previous_step'] = $oCase->getPreviousStep ( $_SESSION ['PROCESS'], $_SESSION ['APPLICATION'], $_SESSION ['INDEX'], $_SESSION ['STEP_POSITION'] ); - $_POST ['req_val'] = $missing_req_values; - $G_PUBLISH = new Publisher ( ); - $G_PUBLISH->AddContent ( 'view', 'cases/missRequiredFields' ); - G::RenderPage ( 'publish', 'blank' ); - exit ( 0 ); -} - -G::header ( 'location: ' . $aNextStep ['PAGE'] ); +catch(Exception $e) { + $G_PUBLISH = new Publisher; + $aMessage = array(); + $aMessage['MESSAGE'] = $e->getMessage(); + $G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/showMessage', '', $aMessage ); + G::RenderPage( 'publish', 'blank' ); + die; +} \ No newline at end of file diff --git a/workflow/engine/methods/cases/cases_Step.php b/workflow/engine/methods/cases/cases_Step.php index b6f2b744a..cd1544399 100755 --- a/workflow/engine/methods/cases/cases_Step.php +++ b/workflow/engine/methods/cases/cases_Step.php @@ -218,7 +218,7 @@ $uidf=$_GET['UID']; $oDbConnections->loadAdditionalConnections(); $_SESSION['CURRENT_DYN_UID'] = $_GET['UID']; - $G_PUBLISH->AddContent('dynaform', 'xmlform', $_SESSION['PROCESS']. '/' . $_GET['UID'], '', $Fields['APP_DATA'], 'cases_SaveData?UID=' . $_GET['UID'], '', (strtolower($oStep->getStepMode()) != 'edit' ? strtolower($oStep->getStepMode()) : '')); + $G_PUBLISH->AddContent('dynaform', 'xmlform', $_SESSION['PROCESS']. '/' . $_GET['UID'], '', $Fields['APP_DATA'], 'cases_SaveData?UID=' . $_GET['UID'] . '&APP_UID=' . $_SESSION['APPLICATION'], '', (strtolower($oStep->getStepMode()) != 'edit' ? strtolower($oStep->getStepMode()) : '')); break; case 'INPUT_DOCUMENT':