userCanAccess( 'PM_FACTORY' )) { case - 2: G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' ); G::header( 'location: ../login/login' ); die(); break; case - 1: G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); G::header( 'location: ../login/login' ); die(); break; } //$oJSON = new Services_JSON(); $aData = get_object_vars( G::json_decode( $_POST['oData'] )); //$aData = get_object_vars( $oJSON->decode( $_POST['oData'] ) ); if (isset($aData["TAS_TITLE"])) { $aData["TAS_TITLE"] = str_replace("__ADD__", "+", $aData["TAS_TITLE"]); } if (isset($aData["TAS_DESCRIPTION"])) { $aData["TAS_DESCRIPTION"] = str_replace("__ADD__", "+", $aData["TAS_DESCRIPTION"]); } if (isset( $_POST['function'] )) { $sAction = $_POST['function']; } else { $sAction = $_POST['functions']; } switch ($sAction) { case "saveTaskData": $k = new Criteria('william'); $k->clearSelectColumns(); $k->addSelectColumn(ContentPeer::CON_VALUE); $k->add(ContentPeer::CON_CATEGORY, 'TAS_TITLE' ); $k->add(ContentPeer::CON_ID, $aData['TAS_UID'] ); $rs = ContentPeer::doSelectRS($k); $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); $rs->next(); $row = $rs->getRow(); $titleTask = $row['CON_VALUE']; G::auditLog("DerivationRule","STARTING PROCESS Task Name -> ".$titleTask); require_once ("classes/model/Task.php"); $response = array (); $oTask = new Task(); $aTaskInfo = $oTask->load($aData['TAS_UID']); /** * routine to replace @amp@ by & * that why the char "&" can't be passed by XmlHttpRequest directly * @autor erik */ foreach ($aData as $k => $v) { $aData[$k] = str_replace( '@amp@', '&', $v ); } if (isset( $aData['SEND_EMAIL'] )) { $aData['TAS_SEND_LAST_EMAIL'] = $aData['SEND_EMAIL'] == 'TRUE' ? 'TRUE' : 'FALSE'; } else { //$aTaskInfo = $oTask->load($aData['TAS_UID']); $aData['TAS_SEND_LAST_EMAIL'] = is_null($aTaskInfo['TAS_SEND_LAST_EMAIL']) ? 'FALSE' : $aTaskInfo['TAS_SEND_LAST_EMAIL']; } //Additional configuration if (isset( $aData['TAS_DEF_MESSAGE_TYPE'] ) && isset( $aData['TAS_DEF_MESSAGE_TEMPLATE'] )) { G::LoadClass( 'configuration' ); $oConf = new Configurations(); $oConf->aConfig = array ('TAS_DEF_MESSAGE_TYPE' => $aData['TAS_DEF_MESSAGE_TYPE'],'TAS_DEF_MESSAGE_TEMPLATE' => $aData['TAS_DEF_MESSAGE_TEMPLATE'] ); $oConf->saveConfig( 'TAS_EXTRA_PROPERTIES', $aData['TAS_UID'], '', '' ); unset( $aData['TAS_DEF_MESSAGE_TYPE'] ); unset( $aData['TAS_DEF_MESSAGE_TEMPLATE'] ); } //Validating TAS_ASSIGN_VARIABLE value $sw = false; if (!isset($aData['TAS_ASSIGN_TYPE'])) { $sw = true; if (isset($aTaskInfo['TAS_ASSIGN_TYPE'])) { switch($aTaskInfo['TAS_ASSIGN_TYPE']) { case 'SELF_SERVICE': case 'SELF_SERVICE_EVALUATE': $aData['TAS_ASSIGN_TYPE'] = ($aTaskInfo['TAS_GROUP_VARIABLE'] == '') ? 'SELF_SERVICE':'SELF_SERVICE_EVALUATE'; $aData['TAS_GROUP_VARIABLE'] = $aTaskInfo['TAS_GROUP_VARIABLE']; break; default: $aData['TAS_ASSIGN_TYPE'] = $aTaskInfo['TAS_ASSIGN_TYPE']; break; } } else { $derivateType = $oTask->kgetassigType($_SESSION['PROCESS'],$aData['TAS_UID']); if (is_null($derivateType)){ $aData['TAS_ASSIGN_TYPE'] = 'BALANCED'; } else { $aData['TAS_ASSIGN_TYPE'] = $derivateType['TAS_ASSIGN_TYPE']; } } } switch($aData['TAS_ASSIGN_TYPE']) { case 'SELF_SERVICE': case 'SELF_SERVICE_EVALUATE': if ($aData['TAS_ASSIGN_TYPE'] == 'SELF_SERVICE_EVALUATE') { $aData['TAS_ASSIGN_TYPE'] = 'SELF_SERVICE'; if(trim($aData['TAS_GROUP_VARIABLE']) == '') { $aData['TAS_GROUP_VARIABLE'] = '@@SYS_GROUP_TO_BE_ASSIGNED'; } } else { $aData['TAS_GROUP_VARIABLE'] = ''; } break; default: if (isset($aTaskInfo['TAS_ASSIGN_TYPE']) && $sw) { $aData['TAS_ASSIGN_TYPE'] = $aTaskInfo['TAS_ASSIGN_TYPE']; } $aData['TAS_GROUP_VARIABLE'] = ''; break; } $result = $oTask->update( $aData ); $response["status"] = "OK"; if ($result == 3) { $response["status"] = "CRONCL"; } echo G::json_encode( $response ); break; } } catch (Exception $oException) { die( $oException->getMessage() ); }