Esempio n. 1
0
 /**
  * Put SubProcess in Process
  * @var string $pro_uid. Uid for Process
  * @var string $spr_uid. Uid for SubProcess
  * @var array $spr_data. Data for SubProcess
  *
  *
  * @author Brayan Pereyra (Cochalo) <*****@*****.**>
  * @copyright Colosa - Bolivia
  *
  * @return array
  */
 public function putSubprocesss($pro_uid, $tas_uid, $spr_data)
 {
     $pro_uid = $this->validateProUid($pro_uid);
     $tas_uid = $this->validateTasUid($tas_uid);
     if (empty($spr_data)) {
         throw new \Exception("The request data is empty.");
     }
     if (isset($spr_data['spr_pro'])) {
         $spr_data['spr_pro'] = $this->validateProUid($spr_data['spr_pro']);
     }
     if (isset($spr_data['spr_tas'])) {
         $spr_data['spr_tas'] = $this->validateTasUid($spr_data['spr_tas']);
     }
     $dataTemp = $this->getSubprocesss($pro_uid, $tas_uid);
     $spr_data = array_merge($dataTemp, $spr_data);
     $spr_data['spr_variables_in'] = isset($spr_data['spr_variables_in']) ? $spr_data['spr_variables_in'] : array();
     $oSubProcess = new \SubProcess();
     $aData = array('SP_UID' => $spr_data['spr_uid'], 'PRO_UID' => $spr_data['spr_pro'], 'TAS_UID' => $spr_data['spr_tas'], 'PRO_PARENT' => $pro_uid, 'TAS_PARENT' => $tas_uid, 'SP_TYPE' => 'SIMPLE', 'SP_SYNCHRONOUS' => (int) $spr_data['spr_synchronous'], 'SP_SYNCHRONOUS_TYPE' => 'ALL', 'SP_SYNCHRONOUS_WAIT' => 0, 'SP_VARIABLES_OUT' => serialize($spr_data['spr_variables_out']), 'SP_VARIABLES_IN' => serialize($spr_data['spr_variables_in']), 'SP_GRID_IN' => '');
     $oSubProcess->update($aData);
     $lang = defined('SYS_LANG') ? SYS_LANG : 'en';
     \Content::addContent('TAS_TITLE', '', $tas_uid, $lang, $spr_data['spr_name']);
 }
$out = array();
for ($i = 1; $i <= count($_POST['form']['grid1']); $i++) {
    $out[$_POST['form']['grid1'][$i]['VAR_OUT1']] = $_POST['form']['grid1'][$i]['VAR_OUT2'];
}
$in = array();
for ($j = 1; $j <= count($_POST['form']['grid2']); $j++) {
    $in[$_POST['form']['grid2'][$j]['VAR_IN1']] = $_POST['form']['grid2'][$j]['VAR_IN2'];
}
require_once 'classes/model/Task.php';
$oTask = new Task();
//$aTask=$oTask->load($_POST['form']['TASKS']);
//$aTask=$oTask->load($_POST['form']['PRO_UID']);
$aTask = $_POST['form']['TASKS'] != 0 ? $oTask->load($_POST['form']['TASKS']) : 0;
//$aTask['PRO_UID']=0;
if (isset($_POST['form']['SP_SYNCHRONOUS']) && $_POST['form']['SP_SYNCHRONOUS'] == '') {
    $_POST['form']['SP_SYNCHRONOUS'] = '0';
}
if (!isset($_POST['form']['SP_SYNCHRONOUS'])) {
    $_POST['form']['SP_SYNCHRONOUS'] = '0';
}
require_once 'classes/model/SubProcess.php';
$oOP = new SubProcess();
$aData = array('SP_UID' => $_POST['form']['SP_UID'], 'PRO_UID' => isset($aTask['PRO_UID']) ? $aTask['PRO_UID'] : '', 'TAS_UID' => $_POST['form']['TASKS'], 'PRO_PARENT' => $_POST['form']['PRO_PARENT'], 'TAS_PARENT' => $_POST['form']['TAS_PARENT'], 'SP_TYPE' => 'SIMPLE', 'SP_SYNCHRONOUS' => $_POST['form']['SP_SYNCHRONOUS'], 'SP_SYNCHRONOUS_TYPE' => 'ALL', 'SP_SYNCHRONOUS_WAIT' => 0, 'SP_VARIABLES_OUT' => serialize($out), 'SP_VARIABLES_IN' => serialize($in), 'SP_GRID_IN' => '');
$oOP->update($aData);
require_once 'classes/model/Content.php';
$lang = defined('SYS_LANG') ? SYS_LANG : 'en';
//$cont = Content::addContent( 'SP_TITLE', '', $_POST['form']['SP_UID'], $lang, $_POST['form']['SPROCESS_NAME'] );
$cont = Content::addContent('TAS_TITLE', '', $_POST['form']['TAS_PARENT'], $lang, $_POST['form']['SPROCESS_NAME']);
//$cont = Content::addContent( 'TAS_TITLE', '', $_POST['form']['SP_UID'], $lang, $_POST['form']['SPROCESS_NAME'] );
//G::header('location: processes_Map?PRO_UID='. $_POST['form']['PRO_UID']);
die;