. * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. * */ G::LoadInclude('ajax'); $oJSON = new Services_JSON(); if(isset($_POST['mode']) && $_POST['mode'] != '') { $aData = $_POST; $aData['TASK'] = $oJSON->decode($_POST['TASK']); $aData['ROU_NEXT_TASK'] = $oJSON->decode($_POST['ROU_NEXT_TASK']); } G::LoadClass('tasks'); $oTasks = new Tasks(); $rou_id = 0; switch ($aData['action']) { case 'savePattern': //if ($aData['ROU_TYPE'] != $aData['ROU_TYPE_OLD']) //{ foreach ($aData['TASK'] as $iKey => $aRow) { $oTasks->deleteAllRoutesOfTask($aData['PROCESS'], $aRow); } //} require_once 'classes/model/Route.php'; $oRoute = new Route(); switch ($aData['ROU_TYPE']) { case 'SEQUENTIAL': case 'SEC-JOIN': /*if ($aData['ROU_UID'] != '') { $aFields['ROU_UID'] = $aData['ROU_UID']; }*/ $aFields['PRO_UID'] = $aData['PROCESS']; $aFields['TAS_UID'] = $aData['TASK'][0]; $aFields['ROU_NEXT_TASK'] = $aData['ROU_NEXT_TASK'][0]; $aFields['ROU_TYPE'] = $aData['ROU_TYPE']; if(isset($aData['ROU_EVN_UID'])) $aFields['ROU_EVN_UID'] = $aData['ROU_EVN_UID']; if(isset($aData['PORT_NUMBER_IP'])) $aFields['ROU_TO_PORT'] = $aData['PORT_NUMBER_IP']; if(isset($aData['PORT_NUMBER_OP'])) $aFields['ROU_FROM_PORT'] = $aData['PORT_NUMBER_OP']; //$aFields['ROU_TO_LAST_USER'] = $aData['ROU_TO_LAST_USER']; $rou_id = $oRoute->create($aFields); break; case 'SELECT': foreach ($aData['GRID_SELECT_TYPE'] as $iKey => $aRow) { /*if ($aRow['ROU_UID'] != '') { $aFields['ROU_UID'] = $aRow['ROU_UID']; }*/ $aFields['PRO_UID'] = $aData['PROCESS']; $aFields['TAS_UID'] = $aData['TASK']; $aFields['ROU_NEXT_TASK'] = $aRow; $aFields['ROU_CASE'] = $iKey; $aFields['ROU_TYPE'] = $aData['ROU_TYPE']; if(isset($aData['PORT_NUMBER_IP'])) $aFields['ROU_TO_PORT'] = $aData['PORT_NUMBER_IP']; if(isset($aData['PORT_NUMBER_OP'])) $aFields['ROU_FROM_PORT'] = $aData['PORT_NUMBER_OP']; // $aFields['ROU_CONDITION'] = $aRow['ROU_CONDITION']; //$aFields['ROU_TO_LAST_USER'] = $aRow['ROU_TO_LAST_USER']; $rou_id = $oRoute->create($aFields); unset($aFields); } break; case 'EVALUATE': foreach ($aData['ROU_NEXT_TASK'] as $iKey => $aRow) { $aFields['PRO_UID'] = $aData['PROCESS']; $aFields['TAS_UID'] = $aData['TASK']; $aFields['ROU_NEXT_TASK'] = $aRow; $aFields['ROU_CASE'] = $iKey; $aFields['ROU_TYPE'] = $aData['ROU_TYPE']; $aFields['ROU_CONDITION'] = $aRow['ROU_CONDITION']; if(isset($aData['PORT_NUMBER_IP'])) $aFields['ROU_TO_PORT'] = $aData['PORT_NUMBER_IP']; if(isset($aData['PORT_NUMBER_OP'])) $aFields['ROU_FROM_PORT'] = $aData['PORT_NUMBER_OP']; //$aFields['ROU_TO_LAST_USER'] = $aRow['ROU_TO_LAST_USER']; $rou_id = $oRoute->create($aFields); unset($aFields); } break; case 'PARALLEL': foreach ($aData['ROU_NEXT_TASK'] as $iKey => $aRow) { /*if ($aRow['ROU_UID'] != '') { $aFields['ROU_UID'] = $aRow['ROU_UID']; }*/ $aFields['PRO_UID'] = $aData['PROCESS']; $aFields['TAS_UID'] = $aData['TASK'][0]; $aFields['ROU_NEXT_TASK'] = $aRow; $aFields['ROU_CASE'] = $iKey; $aFields['ROU_TYPE'] = $aData['ROU_TYPE']; if(isset($aData['PORT_NUMBER_IP'])) $aFields['ROU_TO_PORT'] = $aData['PORT_NUMBER_IP']; if(isset($aData['PORT_NUMBER_OP'])) $aFields['ROU_FROM_PORT']= $aData['PORT_NUMBER_OP']; $rou_id = $oRoute->create($aFields); unset($aFields); } break; case 'PARALLEL-BY-EVALUATION': foreach ($aData['ROU_NEXT_TASK'] as $iKey => $aRow) { /*if ($aRow['ROU_UID'] != '') { $aFields['ROU_UID'] = $aRow['ROU_UID']; }*/ $aFields['PRO_UID'] = $aData['PROCESS']; $aFields['TAS_UID'] = $aData['TASK'][0]; $aFields['ROU_NEXT_TASK'] = $aRow; $aFields['ROU_CASE'] = $iKey; $aFields['ROU_TYPE'] = $aData['ROU_TYPE']; if(isset($aData['PORT_NUMBER_IP'])) $aFields['ROU_TO_PORT'] = $aData['PORT_NUMBER_IP']; if(isset($aData['PORT_NUMBER_OP'])) $aFields['ROU_FROM_PORT']= $aData['PORT_NUMBER_OP']; // $aFields['ROU_CONDITION'] = $aRow['ROU_CONDITION']; // $aFields['ROU_OPTIONAL'] = $aRow['ROU_OPTIONAL']; $rou_id = $oRoute->create($aFields); unset($aFields); } break; case 'DISCRIMINATOR': //Girish ->Added to save changes, while editing the route foreach ($aData['TASK'] as $iKey => $aRow) { $aFields['PRO_UID'] = $aData['PROCESS']; $aFields['TAS_UID'] = $aRow; $aFields['ROU_NEXT_TASK'] = $aData['ROU_NEXT_TASK'][0]; $aFields['ROU_CASE'] = $iKey; $aFields['ROU_TYPE'] = $aData['ROU_TYPE']; if(isset($aData['PORT_NUMBER_IP'])) $aFields['ROU_TO_PORT'] = $aData['PORT_NUMBER_IP']; if(isset($aData['PORT_NUMBER_OP'])) $aFields['ROU_FROM_PORT'] = $aData['PORT_NUMBER_OP']; // $aFields['ROU_CONDITION'] = $aRow['ROU_CONDITION']; // $aFields['ROU_OPTIONAL'] = $aRow['ROU_OPTIONAL']; $routeData = $oTasks->getRouteByType($aData['PROCESS'], $aData['ROU_NEXT_TASK'][0], $aData['ROU_TYPE']); foreach($routeData as $route) { $sFields['ROU_UID'] = $route['ROU_UID']; // $sFields['ROU_CONDITION'] = $aRow['ROU_CONDITION']; // $sFields['ROU_OPTIONAL'] = $aRow['ROU_OPTIONAL']; $rou_id = $oRoute->update($sFields); } $rou_id =$oRoute->create($aFields); unset($aFields); } break; } echo $rou_id; } ?>