echo $flag; } else { G::LoadClass("processMap"); $response = array(); try { $oTrigger = new Triggers(); $oProcessMap = new processMap(new DBConnection()); if (isset($_POST['form'])) { $value = $_POST['form']; } else { $value = $_POST; } /*----------------------------------********---------------------------------*/ $swCreate = true; if ($value['TRI_UID'] != '') { $oTrigger->load($value['TRI_UID']); } else { $oTrigger->create($value); $value['TRI_UID'] = $oTrigger->getTriUid(); $swCreate = false; } $oTrigger->update($value); if ($swCreate) { //Add Audit Log $fields = $oTrigger->load($value['TRI_UID']); $description = "Trigger Name: " . $fields['TRI_TITLE'] . ", Trigger Uid: " . $value['TRI_UID']; if (isset($fields['TRI_DESCRIPTION'])) { $description .= ", Description: " . $fields['TRI_DESCRIPTION']; } if (isset($value["TRI_WEBBOT"])) { $description .= ", [EDIT CODE]";
* For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. */ if (($RBAC_Response = $RBAC->userCanAccess("PM_FACTORY")) != 1) { return $RBAC_Response; } require_once 'classes/model/Triggers.php'; if (isset($_GET['TRI_UID'])) { $oTrigger = new Triggers(); // check if its necessary bypass the wizard editor if (isset($_GET['BYPASS']) && $_GET['BYPASS'] == '1') { $editWizardSource = true; } else { $editWizardSource = false; } $aFields = $oTrigger->load($_GET['TRI_UID']); $aTriggerData = unserialize($aFields['TRI_PARAM']); // if trigger has been created with the wizard the TRI_PARAM field cant be empty if ($aFields['TRI_PARAM'] != '' && !$editWizardSource) { $aTriggerData = unserialize($aFields['TRI_PARAM']); // if the trigger has been modified manually, it cant be edited with the wizard. if (G::encryptOld($aFields['TRI_WEBBOT']) == $aTriggerData['hash']) { $triUid = $_GET['TRI_UID']; $STEP_UID = isset($_GET['STEP_UID']) ? $_GET['STEP_UID'] : ''; $ST_TYPE = isset($_GET['ST_TYPE']) ? $_GET['ST_TYPE'] : ''; $_GET = $aTriggerData['params']; $_GET['TRI_UID'] = $triUid; $_GET['PRO_UID'] = $aFields['PRO_UID']; $_GET['STEP_UID'] = $STEP_UID; $_GET['ST_TYPE'] = $ST_TYPE; require_once 'triggers_EditWizard.php';
// unescape the slashes $result = $tmpData; echo $result; break; case 'getTriggersList': $rows = $oProcessMap->getExtTriggersList($start, $limit, $_GET['pid']); $result['totalCount'] = $oProcessMap->getAllTriggersCount(); array_shift($rows); $result['data'] = $rows; print G::json_encode($result); break; case 'editTriggers': require_once 'classes/model/Triggers.php'; if (isset($_GET['TRI_UID'])) { $oTrigger = new Triggers(); $rows = $oTrigger->load($_GET['TRI_UID']); } $tmpData = G::json_encode($rows); $tmpData = str_replace("\\/", "/", '{success:true,data:' . $tmpData . '}'); // unescape the slashes $result = $tmpData; echo $result; break; case 'getCaseTracker': //$rows = $oProcessMap->caseTracker($_GET['pid']); $oCaseTracker = new CaseTracker(); $rows = $oCaseTracker->load($_GET['pid']); $tmpData = G::json_encode($rows); $tmpData = str_replace("\\/", "/", '{success:true,data:' . $tmpData . '}'); // unescape the slashes $result = $tmpData;
* ProcessMaker Open Source Edition * Copyright (C) 2004 - 2008 Colosa Inc.23 * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. */ if (($RBAC_Response = $RBAC->userCanAccess("PM_FACTORY")) != 1) { return $RBAC_Response; } require_once 'classes/model/Triggers.php'; $oTrigger = new Triggers(); if ($_POST['form']['TRI_UID'] != '') { $oTrigger->load($_POST['form']['TRI_UID']); } else { $oTrigger->create($_POST['form']); $_POST['form']['TRI_UID'] = $oTrigger->getTriUid(); } $oTrigger->update($_POST['form']);
* published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. */ if (($RBAC_Response = $RBAC->userCanAccess("PM_FACTORY")) != 1) { return $RBAC_Response; } require_once 'classes/model/Triggers.php'; $oTrigger = new Triggers(); if ($_POST['form']['TRI_UID'] != '') { $oTrigger->load($_POST['form']['TRI_UID']); } else { $oTrigger->create($_POST['form']); $_POST['form']['TRI_UID'] = $oTrigger->getTriUid(); } $oTrigger->update($_POST['form']); $triggerFields = $oTrigger->load($_POST['form']['TRI_UID']); $proUid = $triggerFields['PRO_UID']; $infoProcess = new Process(); $resultProcess = $infoProcess->load($proUid); G::auditLog('EditEvent', 'Save trigger from event (' . $_POST['form']['TRI_UID'] . ') in process "' . $resultProcess['PRO_TITLE'] . '"');
public function getExtTriggersList($start, $limit, $sProcessUID = '') { $sDelimiter = DBAdapter::getStringDelimiter(); $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(TriggersPeer::TRI_UID); $oCriteria->addSelectColumn(TriggersPeer::PRO_UID); $oCriteria->add(TriggersPeer::PRO_UID, $sProcessUID); $this->tmpCriteria = clone $oCriteria; $oCriteria->addAsColumn('TRI_TITLE', 'C1.CON_VALUE'); $oCriteria->addAsColumn('TRI_DESCRIPTION', 'C2.CON_VALUE'); $oCriteria->addAlias('C1', 'CONTENT'); $oCriteria->addAlias('C2', 'CONTENT'); $aConditions = array(); $aConditions[] = array(TriggersPeer::TRI_UID, 'C1.CON_ID'); $aConditions[] = array('C1.CON_CATEGORY', $sDelimiter . 'TRI_TITLE' . $sDelimiter); $aConditions[] = array('C1.CON_LANG', $sDelimiter . SYS_LANG . $sDelimiter); $oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN); $aConditions = array(); $aConditions[] = array(TriggersPeer::TRI_UID, 'C2.CON_ID'); $aConditions[] = array('C2.CON_CATEGORY', $sDelimiter . 'TRI_TITLE' . $sDelimiter); $aConditions[] = array('C2.CON_LANG', $sDelimiter . SYS_LANG . $sDelimiter); $oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN); $oCriteria->add(TriggersPeer::PRO_UID, $sProcessUID); $oCriteria->addAscendingOrderByColumn('TRI_TITLE'); if ($start != '') { $oCriteria->setOffset($start); } if ($limit != '') { $oCriteria->setLimit($limit); } $oDataset = TriggersPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $triggersArray = ""; $triggersArray[] = array('TRI_UID' => 'char', 'PRO_UID' => 'char', 'TRI_TITLE' => 'char', 'TRI_DESCRIPTION' => 'char'); while ($aRow = $oDataset->getRow()) { if ($aRow['TRI_TITLE'] == null || $aRow['TRI_TITLE'] == "") { // There is no translation for this Trigger name, try to get/regenerate the label $triggerO = new Triggers(); $triggerObj = $triggerO->load($aRow['TRI_UID']); $aRow['TRI_TITLE'] = $triggerObj['TRI_TITLE']; $aRow['TRI_DESCRIPTION'] = $triggerObj['TRI_DESCRIPTION']; } $triggersArray[] = $aRow; $oDataset->next(); } return $triggersArray; }
} } print $flag; //print'krlos';return ; } else { try { $oTrigger = new Triggers(); G::LoadClass('processMap'); $oProcessMap = new processMap(new DBConnection()); if (isset($_POST['form'])) { $value = $_POST['form']; } else { $value = $_POST; } if ($value['TRI_UID'] != '') { $oTrigger->load($value['TRI_UID']); } else { $oTrigger->create($value); $value['TRI_UID'] = $oTrigger->getTriUid(); } //print_r($_POST['form']);die; $oTrigger->update($value); if (!isset($_POST['mode'])) { $oProcessMap->triggersList($value['PRO_UID']); } $result->success = true; $result->msg = G::LoadTranslation('ID_TRIGGERS_SAVED'); } catch (Exception $e) { $result->success = false; $result->msg = $e->getMessage(); }
$cont = Content::addContent('TAS_TITLE', '', $_POST['TAS_PARENT'], $lang, $_POST['SPROCESS_NAME']); 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; case 'deleteTriggers': try { require_once 'classes/model/Triggers.php'; require_once 'classes/model/StepTrigger.php'; $TRI_UIDS = explode(',', $_POST['TRI_UID']); foreach ($TRI_UIDS as $i => $TRI_UID) { $oTrigger = new Triggers(); $triggerObj = $oTrigger->load($TRI_UID); $oTrigger->remove($TRI_UID); $oStepTrigger = new StepTrigger(); $oStepTrigger->removeTrigger($TRI_UID); } $result->success = true; $result->message = G::LoadTranslation('ID_TRIGGERS_REMOVED'); } catch (Exception $e) { $result->success = false; $result->message = $e->getMessage(); } print G::json_encode($result); break; case 'getOutputDocsTemplates': require_once 'classes/model/OutputDocument.php'; $ooutputDocument = new OutputDocument();
function LoadTrigger($data, $fields) { try { $Trigger = new Triggers(); $result = $Trigger->load($fields['TRI_UID']); return $result; } catch (Exception $e) { return array('Exception!! ' => $e->getMessage()); } }
/** * Save Data for Trigger * @var string $sProcessUID. Uid for Process * @var string $dataTrigger. Data for Trigger * @var string $create. Create o Update Trigger * @var string $sTriggerUid. Uid for Trigger * * @author Brayan Pereyra (Cochalo) <*****@*****.**> * @copyright Colosa - Bolivia * * @return array */ public function saveTrigger($sProcessUID = '', $dataTrigger = array(), $create = false, $sTriggerUid = '') { if ($sProcessUID == '' || count($dataTrigger) == 0) { return false; } $dataTrigger = array_change_key_case($dataTrigger, CASE_UPPER); if ($create && isset($dataTrigger['TRI_UID'])) { unset($dataTrigger['TRI_UID']); } $dataTrigger = (array) $dataTrigger; $dataTrigger['TRI_TYPE'] = 'SCRIPT'; if (isset($dataTrigger['TRI_TITLE'])) { if (!$this->verifyNameTrigger($sProcessUID, $dataTrigger['TRI_TITLE'], $sTriggerUid)) { throw new \Exception(\G::LoadTranslation("ID_CANT_SAVE_TRIGGER")); } } /*----------------------------------********---------------------------------*/ $dataTrigger['PRO_UID'] = $sProcessUID; $oTrigger = new \Triggers(); if ($create) { $oTrigger->create($dataTrigger); $dataTrigger['TRI_UID'] = $oTrigger->getTriUid(); } $oTrigger->update($dataTrigger); if ($create) { $dataResp = $oTrigger->load($dataTrigger['TRI_UID']); $dataResp = array_change_key_case($dataResp, CASE_LOWER); if (isset($dataResp['pro_uid'])) { unset($dataResp['pro_uid']); } return $dataResp; } return array(); }
$option = floatval($aDataTriggers[$sOptionTrigger]); break; default: $option = is_numeric($aDataTriggers[$sOptionTrigger]) || is_bool($aDataTriggers[$sOptionTrigger]) ? trim($aDataTriggers[$sOptionTrigger]) : strstr($aDataTriggers[$sOptionTrigger], "array") ? trim($aDataTriggers[$sOptionTrigger]) : '"' . trim($aDataTriggers[$sOptionTrigger]) . '"'; break; } } } else { $option = "' '"; } $methodParamsFinal[] = $option; } $i++; } $sPMfunction .= isset($aDataTriggers['TRI_ANSWER']) && $aDataTriggers['TRI_ANSWER'] != '' ? $aDataTriggers['TRI_ANSWER'] . " = " : ""; $sPMfunction .= $aDataTriggers['PMFUNTION_NAME'] . " (" . implode(",", $methodParamsFinal) . ");"; //Create Trigger $aDataTriggers['TRI_WEBBOT'] = $sPMfunction; $aDataTriggersParams = array(); $aDataTriggersParams['hash'] = G::encryptOld($sPMfunction); $aDataTriggersParams['params'] = $aDataTriggers; $aDataTriggers['TRI_PARAM'] = serialize($aDataTriggersParams); //$oTrigger->create ( $aDataTriggers ); $aDataTriggerLoaded = $oTrigger->load($triUid); //var_dump($aDataTriggerLoaded); //die; //Update Info $aDataTriggers['TRI_UID'] = $oTrigger->getTriUid(); $oTrigger->update($aDataTriggers); //Update Trigger Array $oProcessMap->triggersList($aDataTriggers['PRO_UID']);
<?php if (($RBAC_Response = $RBAC->userCanAccess("PM_FACTORY")) != 1) { return $RBAC_Response; } require_once "classes/model/Triggers.php"; $arrayField = array(); $arrayField["LANG"] = SYS_LANG; $arrayField["PRO_UID"] = $_GET["PRO_UID"]; $arrayField["TRI_TYPE"] = "SCRIPT"; if (isset($_GET["TRI_UID"]) && !empty($_GET["TRI_UID"])) { $oTrigger = new Triggers(); $arrayField = $oTrigger->load($_GET["TRI_UID"]); } $G_PUBLISH = new Publisher(); $G_PUBLISH->AddContent("xmlform", "xmlform", "triggers/triggerCopy", "", $arrayField, "../triggers/triggers_Save"); $oHeadPublisher =& headPublisher::getSingleton(); //$oHeadPublisher->addScriptFile('/js/codemirror/js/codemirror.js', 1); $oHeadPublisher->addScriptFile('/js/codemirror/lib/codemirror.js', 1); $oHeadPublisher->addScriptFile("/js/codemirror/addon/edit/matchbrackets.js", 1); $oHeadPublisher->addScriptFile("/js/codemirror/mode/htmlmixed/htmlmixed.js", 1); $oHeadPublisher->addScriptFile("/js/codemirror/mode/xml/xml.js", 1); $oHeadPublisher->addScriptFile("/js/codemirror/mode/javascript/javascript.js", 1); $oHeadPublisher->addScriptFile("/js/codemirror/mode/css/css.js", 1); $oHeadPublisher->addScriptFile("/js/codemirror/mode/clike/clike.js", 1); $oHeadPublisher->addScriptFile("/js/codemirror/mode/php/php.js", 1); G::RenderPage("publish", "raw");
* License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. */ if (($RBAC_Response = $RBAC->userCanAccess("PM_FACTORY")) != 1) { return $RBAC_Response; } try { require_once 'classes/model/Triggers.php'; $oTrigger = new Triggers(); $triggerObj = $oTrigger->load($_POST['TRI_UID']); $oTrigger->remove($_POST['TRI_UID']); require_once 'classes/model/StepTrigger.php'; $oStepTrigger = new StepTrigger(); $oStepTrigger->removeTrigger($_POST['TRI_UID']); $result->success = true; $result->msg = G::LoadTranslation('ID_TRIGGERS_REMOVED'); } catch (Exception $e) { $result->success = false; $result->msg = $e->getMessage(); } print G::json_encode($result);
function update($aData) { $oConnection = Propel::getConnection(EventPeer::DATABASE_NAME); try { $oEvent = EventPeer::retrieveByPK($aData['EVN_UID']); if (!is_null($oEvent)) { //$oEvent->setProUid( $aData['PRO_UID'] ); if (isset($aData['EVN_RELATED_TO'])) { $oEvent->setEvnRelatedTo($aData['EVN_RELATED_TO']); if ($aData['EVN_RELATED_TO'] == 'SINGLE') { if (isset($aData['TAS_UID']) && $aData['TAS_UID'] != '') { $oEvent->setTasUid($aData['TAS_UID']); } $oEvent->setEvnTasUidTo(''); $oEvent->setEvnTasUidFrom(''); } else { $oEvent->setTasUid(''); if (isset($aData['EVN_TAS_UID_TO'])) { $oEvent->setEvnTasUidTo($aData['EVN_TAS_UID_TO']); } if (isset($aData['EVN_TAS_UID_FROM'])) { $oEvent->setEvnTasUidFrom($aData['EVN_TAS_UID_FROM']); } } } if (isset($aData['EVN_POSX'])) { $oEvent->setEvnPosx($aData['EVN_POSX']); } if (isset($aData['EVN_POSY'])) { $oEvent->setEvnPosy($aData['EVN_POSY']); } if (isset($aData['EVN_TAS_ESTIMATED_DURATION'])) { $oEvent->setEvnTasEstimatedDuration($aData['EVN_TAS_ESTIMATED_DURATION']); } if (isset($aData['EVN_WHEN_OCCURS'])) { $oEvent->setEvnWhenOccurs($aData['EVN_WHEN_OCCURS']); } if (isset($aData['EVN_STATUS'])) { $oEvent->setEvnStatus($aData['EVN_STATUS']); } if (isset($aData['EVN_WHEN'])) { $oEvent->setEvnWhen($aData['EVN_WHEN']); } if (isset($aData['TRI_UID'])) { $oEvent->setTriUid($aData['TRI_UID']); } if (isset($aData['EVN_TYPE'])) { $oEvent->setEvnType($aData['EVN_TYPE']); } if (isset($aData['EVN_CONDITIONS'])) { $oEvent->setEvnConditions($aData['EVN_CONDITIONS']); } if (isset($aData['EVN_ACTION'])) { $oEvent->setEvnAction($aData['EVN_ACTION']); } //if ( isset ($aData['ENV_MAX_ATTEMPTS'] )) $oEvent->setEvnMaxAttempts( 3 ); if (isset($aData['EVN_ACTION_PARAMETERS']) && $aData['EVN_ACTION_PARAMETERS'] != 0) { $oTP = new TemplatePower(PATH_TPL . 'events' . PATH_SEP . 'sendMessage.tpl'); $oTP->prepare(); $oTP->assign('from', '*****@*****.**'); $oTP->assign('subject', addslashes($aData['EVN_ACTION_PARAMETERS']['SUBJECT'])); $oTP->assign('template', $aData['EVN_ACTION_PARAMETERS']['TEMPLATE']); $oTP->assign('timestamp', date("l jS \\of F Y h:i:s A")); $recipientTO = implode(',', $aData['EVN_ACTION_PARAMETERS']['TO']); $recipientCC = implode(',', $aData['EVN_ACTION_PARAMETERS']['CC']); $recipientBCC = implode(',', $aData['EVN_ACTION_PARAMETERS']['BCC']); $oTP->assign('TO', addslashes($recipientTO)); $oTP->assign('CC', addslashes($recipientCC)); $oTP->assign('BCC', addslashes($recipientBCC)); $sTrigger = $oTP->getOutputContent(); $oTrigger = new Triggers(); $aTrigger = $oTrigger->load($oEvent->getTriUid()); $aTrigger['TRI_WEBBOT'] = $sTrigger; $oTrigger->update($aTrigger); $oParameters = new StdClass(); $oParameters->hash = md5($sTrigger); $oParameters->SUBJECT = $aData['EVN_ACTION_PARAMETERS']['SUBJECT']; $oParameters->TO = $aData['EVN_ACTION_PARAMETERS']['TO']; $oParameters->CC = $aData['EVN_ACTION_PARAMETERS']['CC']; $oParameters->BCC = $aData['EVN_ACTION_PARAMETERS']['BCC']; $oParameters->TEMPLATE = $aData['EVN_ACTION_PARAMETERS']['TEMPLATE']; //$oParameters->TRI_UID = $sTrigger->getTriUid(); $oEvent->setEvnActionParameters(serialize($oParameters)); } if ($oEvent->validate()) { //start the transaction $oConnection->begin(); if (array_key_exists('EVN_DESCRIPTION', $aData)) { $oEvent->setEvnDescription($aData['EVN_DESCRIPTION']); } $iResult = $oEvent->save(); $oConnection->commit(); return $iResult; } else { $sMessage = ''; $aValidationFailures = $oEvent->getValidationFailures(); foreach ($aValidationFailures as $oValidationFailure) { $sMessage .= $oValidationFailure->getMessage() . '<br />'; } throw new Exception('The registry cannot be updated!<br />' . $sMessage); } } else { throw new Exception('This row doesn\'t exist!'); } } catch (Exception $oError) { $oConnection->rollback(); throw $oError; } }
die; } if (isset($_SESSION['EVN_UID'])) { $evnUid = $_SESSION['EVN_UID']; unset($_SESSION['EVN_UID']); } else { $evnUid = $_GET['EVN_UID']; } require_once 'classes/model/Event.php'; require_once 'classes/model/Triggers.php'; $oEvent = new Event(); $oTrigger = new Triggers(); $aFields = $oEvent->load($evnUid); $parameters = unserialize($oEvent->getEvnActionParameters()); //g::pr($parameters); die; $aTrigger = $oTrigger->load($aFields['TRI_UID']); $hash = md5($oTrigger->getTriWebbot()); //var_dump($hash,$parameters->hash);die; //if the hash is different, the script was edited , so we will show the trigger editor. if (isset($parameters->hash) && $hash != $parameters->hash || $aFields['EVN_ACTION'] == 'EXECUTE_TRIGGER' || $aFields['EVN_ACTION'] == 'EXECUTE_CONDITIONAL_TRIGGER') { $oTriggerParams = unserialize($aTrigger['TRI_PARAM']); // check again a hash, this time to check the trigger itself integrity if ($oTriggerParams['hash'] != $hash) { // if has changed edit manually G::LoadClass('xmlfield_InputPM'); $G_PUBLISH = new Publisher(); $G_PUBLISH->AddContent('xmlform', 'xmlform', 'triggers/triggersNarrowEdit', '', $aTrigger, '../events/triggersSave'); G::RenderPage('publish', 'raw'); die; } else { // if not launch the wizard view.
$aFields = array('STEP_UID' => $aData['STEP_UID'], 'TAS_UID' => $_SESSION['TASK'], 'TRI_UID' => $aData['TRI_UID'], 'ST_TYPE' => $aData['ST_TYPE']); $oStepTrigger = new StepTrigger(); $oStepTrigger->create($aFields); $aFields['ST_CONDITION'] = $aData['ST_CONDITION']; $aFields['ST_POSITION'] = $oStepTrigger->getNextPosition($aData['STEP_UID'], $aData['ST_TYPE']) - 1; $oStepTrigger->update($aFields); break; case 'editTriggerCondition': require_once 'classes/model/Step.php'; require_once 'classes/model/Triggers.php'; $oStep = new Step(); $aFields['STEP_UID'] = $aData['sStep']; $aFields['TRI_UID'] = $aData['sTrigger']; $aFields['ST_TYPE'] = $aData['sType']; $Trigger = new Triggers(); $aRow = $Trigger->load($aData['sTrigger']); $oStepTrigger = new StepTrigger(); $aFields = $oStepTrigger->load($aFields['STEP_UID'], $_SESSION['TASK'], $aFields['TRI_UID'], $aFields['ST_TYPE']); $aFields['action'] = 'saveTriggerCondition'; $aFields['PROCESS'] = $aRow['PRO_UID']; global $G_PUBLISH; G::LoadClass('xmlfield_InputPM'); $G_PUBLISH = new Publisher(); $G_PUBLISH->AddContent('xmlform', 'xmlform', 'steps/triggersCondition_Edit', '', $aFields, '../steps/steps_Ajax'); G::RenderPage('publish', 'raw'); break; case 'saveTriggerCondition': $oStepTrigger = new StepTrigger(); $oStepTrigger->update(array('STEP_UID' => $aData['STEP_UID'], 'TAS_UID' => $_SESSION['TASK'], 'TRI_UID' => $aData['TRI_UID'], 'ST_TYPE' => $aData['ST_TYPE'], 'ST_CONDITION' => $aData['ST_CONDITION'])); break; case 'upTrigger':
/** * Get data of a Trigger * * @param string $libraryName Library name * @param string $methodName Method name * @param string $triggerUid Unique id of Trigger * * return array Return an array with data of a Trigger */ public function getTrigger($libraryName, $methodName, $triggerUid) { try { //Verify data $this->throwExceptionIfLibraryAndMethodIsInvalidForTrigger($libraryName, $methodName, $triggerUid, $this->arrayFieldNameForException["libraryName"], $this->arrayFieldNameForException["methodName"], $this->arrayFieldNameForException["triggerUid"]); //Get data $trigger = new \Triggers(); $arrayTriggerData = $trigger->load($triggerUid); $arrayTriggerData["TRI_PARAM"] = unserialize($arrayTriggerData["TRI_PARAM"]); $arrayMethodInputParam = $this->methodGetInputParams($libraryName, $methodName); $arrayMethodOutputParam = $this->methodGetOutputParams($libraryName, $methodName); //Params $arrayMethodInputParamValue = array(); foreach ($arrayMethodInputParam as $key => $value) { $paramName = $value["name"]; $paramDefaultValue = isset($value["default_value"]) ? $value["default_value"] : ""; $arrayMethodInputParamValue[$paramName] = isset($arrayTriggerData["TRI_PARAM"]["params"][$paramName]) ? $arrayTriggerData["TRI_PARAM"]["params"][$paramName] : $paramDefaultValue; } $arrayMethodOutputParamValue = array(); foreach ($arrayMethodOutputParam as $key => $value) { $paramName = $value["name"]; $paramRequired = $value["required"]; if ($paramRequired) { if (isset($arrayTriggerData["TRI_PARAM"]["params"][strtolower($paramName)])) { $paramValue = trim($arrayTriggerData["TRI_PARAM"]["params"][strtolower($paramName)]); } else { if (isset($arrayTriggerData["TRI_PARAM"]["params"][strtoupper($paramName)])) { $paramValue = trim($arrayTriggerData["TRI_PARAM"]["params"][strtoupper($paramName)]); } else { $paramValue = ""; } } $arrayMethodOutputParamValue[$paramName] = $paramValue; } } if (count($arrayMethodInputParamValue) > 0) { $arrayTriggerData[$this->getFieldNameByFormatFieldName("TRI_PARAMS")][$this->getFieldNameByFormatFieldName("INPUT")] = $arrayMethodInputParamValue; } if (count($arrayMethodOutputParamValue) > 0) { $arrayTriggerData[$this->getFieldNameByFormatFieldName("TRI_PARAMS")][$this->getFieldNameByFormatFieldName("OUTPUT")] = $arrayMethodOutputParamValue; } //Return unset($arrayTriggerData["PRO_UID"]); unset($arrayTriggerData["TRI_WEBBOT"]); unset($arrayTriggerData["TRI_PARAM"]); if (!$this->formatFieldNameInUppercase) { $arrayTriggerData = array_change_key_case($arrayTriggerData, CASE_LOWER); } return $arrayTriggerData; } catch (\Exception $e) { throw $e; } }