. * * 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 ($_REQUEST['data']) ) { $oData = $oJSON->decode(stripslashes($_REQUEST['data'])); $sOutput = ''; } else { if (!isset($_POST['form'])) { $aData = urldecode_values($_POST); } else { $aData = urldecode_values($_POST['form']); } } G::LoadClass('processMap'); $oProcessMap = new processMap(new DBConnection); require_once 'classes/model/Task.php'; require_once 'classes/model/Event.php'; $oEvent = new Event(); $oTask = new Task(); if ( isset ($_REQUEST['action']) ) { switch($_REQUEST['action']) { case 'load': $sOutput = $oProcessMap->load($oData->uid); echo $sOutput; break; case 'addTask': $sOutput = $oProcessMap->addTask($oData->uid, $oData->position->x, $oData->position->y); echo $sOutput; break; case 'saveTaskPosition': $sOutput = $oProcessMap->saveTaskPosition($oData->uid, $oData->position->x, $oData->position->y); echo $sOutput; break; case 'saveTaskCordinates': $sOutput = $oProcessMap->saveTaskCordinates($oData->uid, $oData->position->x, $oData->position->y); echo $sOutput; break; case 'saveAnnotationCordinates': $sOutput = $oProcessMap->saveAnnotationCordinates($oData->uid, $oData->position->x, $oData->position->y); echo $sOutput; break; case 'deleteTask': $sOutput = $oProcessMap->deleteTask($oData->tas_uid); echo $sOutput; break; case 'updateTaskName': $aTask['TAS_UID'] = $oData->uid; $aTask['TAS_TITLE'] = $oData->label; $oTask->update($aTask); break; case 'updateTask': $aTask['TAS_UID'] = $oData->uid; $aTask['TAS_BOUNDARY'] = $oData->boundary; $oTask->update($aTask); $sOutput = $oJSON->encode($oData); echo $sOutput; break; case 'addSubProcess': $sOutput = $oProcessMap->addSubProcess($oData->uid, $oData->position->x, $oData->position->y); echo $sOutput; break; case 'deleteSubProcess': $sOutput = $oProcessMap->deleteSubProcess($oData->pro_uid, $oData->tas_uid); break; case 'addText': $sOutput = $oProcessMap->addText($oData->uid, $oData->label, $oData->position->x, $oData->position->y); //echo $sOutput; break; case 'updateText': $sOutput = $oProcessMap->updateText($oData->uid, $oData->label); echo $sOutput; break; case 'saveTextPosition': $sOutput = $oProcessMap->saveTextPosition($oData->uid, $oData->position->x, $oData->position->y); break; case 'deleteText': $sOutput = $oProcessMap->deleteText($oData->uid); echo $sOutput; break; case 'getProcesses': $sOutput = $oProcessMap->getAllProcesses(); echo $sOutput; break; case 'dynaforms': $sOutput = $oProcessMap->getDynaformList($oData->uid); $sOutput = $oJSON->encode($sOutput); echo $sOutput; break; case 'webEntry_validate': include(PATH_METHODS . 'processes/processes_webEntryValidate.php'); break; case 'webEntry_generate': include(PATH_METHODS . 'processes/processes_webEntryGenerate.php'); break; case 'webEntry': $sOutput = $oProcessMap->listNewWebEntry($oData->uid,$oData->evn_uid); echo $sOutput; break; case 'loadTask': $oOutput = $oTask->load($oData->uid); $sOutput = $oJSON->encode($oOutput); echo $sOutput; break; case 'assignProcessUser': $oProcessMap->assignProcessUser($oData->PRO_UID, $oData->USR_UID); break; case 'removeProcessUser': $oProcessMap->removeProcessUser($oData->PU_UID); break; case 'saveInterMessageEvent': $aData['TAS_UID'] = $oData->uid; $aData['TAS_SEND_LAST_EMAIL'] = strtoupper($oData->tas_send); $aData['TAS_DEF_MESSAGE'] = $oData->data; if(isset($aData['TAS_SEND_LAST_EMAIL']) && $aData['TAS_SEND_LAST_EMAIL'] == 'FALSE') { $aData['TAS_DEF_MESSAGE'] = ''; } else { $aData['TAS_DEF_MESSAGE'] = str_replace('@amp@', '&', $aData['TAS_DEF_MESSAGE']); } $sOutput = $oTask->update($aData); echo $sOutput; break; case 'triggersList': $sOutput = $oProcessMap->getTriggers($oData->pro_uid); $sOutput = $oJSON->encode($sOutput); echo $sOutput; break; case 'process_Edit': $sOutput = $oProcessMap->editProcessNew($oData->pro_uid); $sOutput = $oJSON->encode($sOutput); echo $sOutput; break; case 'loadCategory': $sOutput = $oProcessMap->loadProcessCategory(); $sOutput = $oJSON->encode($sOutput); echo $sOutput; break; case 'saveProcess': $aData['PRO_UID'] = $oData->PRO_UID; $aData['PRO_CALENDAR'] = $oData->PRO_CALENDAR; $aData['PRO_CATEGORY'] = $oData->PRO_CATEGORY; $aData['PRO_DEBUG'] = $oData->PRO_DEBUG; $aData['PRO_DESCRIPTION'] = $oData->PRO_DESCRIPTION; $aData['PRO_TITLE'] = $oData->PRO_TITLE; $sOutput = $oProcessMap->updateProcess($aData); echo $sOutput; break; case 'saveStartEvent': $aData['TAS_UID'] = $oData->tas_uid; $aData['TAS_START'] = $oData->tas_start; $aData['TAS_EVN_UID'] = ''; $oTask->update($aData); break; case 'updateEvent': $aData['EVN_UID'] = $oData->evn_uid; $aData['EVN_TYPE'] = $oData->evn_type; $oEvent = EventPeer::retrieveByPK($aData['EVN_UID']); if (!is_null($oEvent)) $oEvent->update($aData); break; case 'addEvent': $aData['PRO_UID'] = $oData->uid; $aData['EVN_TYPE'] = $oData->tas_type; $aData['EVN_STATUS'] = 'ACTIVE'; $aData['EVN_WHEN'] = '1'; $aData['EVN_ACTION'] = ''; if(preg_match("/Inter/", $oData->tas_type)) { $aData['EVN_RELATED_TO'] = 'MULTIPLE'; $aData['EVN_TAS_UID_FROM'] = $oData->tas_from; $aData['EVN_TAS_UID_TO'] = $oData->tas_to; $sOutput = $oEvent->create($aData); echo $sOutput; } //Code for Start Events only if(preg_match("/Start/", $oData->tas_type)) { $aData['EVN_RELATED_TO'] = 'SINGLE'; $aTask['TAS_UID'] = $oData->tas_uid; $oTaskData = $oTask->load($aTask['TAS_UID']); if($oTaskData['TAS_EVN_UID'] == '') { $sOutput = $oEvent->create($aData); } else { $aData['EVN_UID'] = $oTaskData['TAS_EVN_UID']; $oEvn_uid = $aData['EVN_UID']; $oEvent->update($aData); } $aTask['TAS_UID'] = $oData->tas_uid; $aTask['TAS_EVN_UID'] = $oEvn_uid; $aTask['TAS_START'] = 'TRUE'; $oTask->update($aTask); } break; case 'deleteRoute': require_once 'classes/model/Route.php'; $oRoute = new Route(); $sOutput = $oRoute->remove($oData->uid); echo $sOutput; break; case 'deleteEvent': $sOutput = $oEvent->remove($oData->uid); echo $sOutput; break; case 'assign': G::LoadClass('tasks'); $oTasks = new Tasks(); switch ($oData->TU_RELATION) { case 1: echo $oTasks->assignUser($oData->TAS_UID, $oData->USR_UID, $oData->TU_TYPE); break; case 2: echo $oTasks->assignGroup($oData->TAS_UID, $oData->USR_UID, $oData->TU_TYPE); break; } break; case 'ofToAssign': G::LoadClass('tasks'); $oTasks = new Tasks(); switch ($oData->TU_RELATION) { case 1: echo $oTasks->ofToAssignUser($oData->TAS_UID, $oData->USR_UID, $oData->TU_TYPE); break; case 2: echo $oTasks->ofToAssignGroup($oData->TAS_UID, $oData->USR_UID, $oData->TU_TYPE); break; } break; case 'saveSubProcessDetails': //$aTask=$oTask->load($_POST['form']['TASKS']); //$aTask=$oTask->load($_POST['form']['PRO_UID']); if($_POST['VAR_OUT1'] != '') { $out = array(); $out[$_POST['VAR_OUT1']] = $_POST['VAR_OUT2']; } if($_POST['VAR_IN1'] != '') { $in = array(); $in[$_POST['VAR_IN1']] = $_POST['VAR_IN2']; } $aTask=($_POST['TASKS']!=0)?$oTask->load($_POST['TASKS']):0; //$aTask['PRO_UID']=0; if ( isset ( $_POST['SP_SYNCHRONOUS']) && $_POST['SP_SYNCHRONOUS'] == '' ) { $_POST['SP_SYNCHRONOUS'] = '0'; } if ( !isset ( $_POST['form']['SP_SYNCHRONOUS']) ) { $_POST['SP_SYNCHRONOUS'] = '0'; } require_once 'classes/model/SubProcess.php'; $oOP = new SubProcess(); $aData = array('SP_UID' => $_POST['SP_UID'],//G::generateUniqueID(), 'PRO_UID' => $aTask['PRO_UID'], 'TAS_UID' => $_POST['TASKS'], 'PRO_PARENT' => $_POST['PRO_PARENT'], 'TAS_PARENT' => $_POST['TAS_PARENT'], 'SP_TYPE' => 'SIMPLE', 'SP_SYNCHRONOUS' => $_POST['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); break; case 'subprocessProperties': 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['TAS_PARENT'], $lang, $_POST['SPROCESS_NAME'] ); break; } } ?>