2010-12-02 23:34:41 +00:00
|
|
|
<?php
|
|
|
|
|
/**
|
|
|
|
|
* triggers_Save.php
|
2012-10-18 14:32:01 -04:00
|
|
|
*
|
2010-12-02 23:34:41 +00:00
|
|
|
* ProcessMaker Open Source Edition
|
|
|
|
|
* Copyright (C) 2004 - 2008 Colosa Inc.23
|
2012-10-18 14:32:01 -04:00
|
|
|
*
|
2010-12-02 23:34:41 +00:00
|
|
|
* 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
|
2012-10-18 14:32:01 -04:00
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
2010-12-02 23:34:41 +00:00
|
|
|
* GNU Affero General Public License for more details.
|
2012-10-18 14:32:01 -04:00
|
|
|
*
|
2010-12-02 23:34:41 +00:00
|
|
|
* You should have received a copy of the GNU Affero General Public License
|
2012-10-18 14:32:01 -04:00
|
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
*
|
|
|
|
|
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
|
2010-12-02 23:34:41 +00:00
|
|
|
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
|
|
|
|
|
*/
|
2011-02-17 14:05:02 +00:00
|
|
|
|
2012-10-18 14:32:01 -04:00
|
|
|
if (($RBAC_Response = $RBAC->userCanAccess( "PM_FACTORY" )) != 1) {
|
|
|
|
|
return $RBAC_Response;
|
|
|
|
|
}
|
|
|
|
|
require_once ('classes/model/Triggers.php');
|
|
|
|
|
require_once ('classes/model/Content.php');
|
|
|
|
|
|
|
|
|
|
if (isset( $_POST['function'] )) {
|
|
|
|
|
$sfunction = $_POST['function']; //for old processmap
|
|
|
|
|
} elseif (isset( $_POST['functions'] )) {
|
|
|
|
|
$sfunction = $_POST['functions']; //for extjs
|
|
|
|
|
}
|
2011-02-17 14:05:02 +00:00
|
|
|
|
2012-10-18 14:32:01 -04:00
|
|
|
if (isset( $sfunction ) && $sfunction == 'lookforNameTrigger') {
|
|
|
|
|
$snameTrigger = urldecode( $_POST['NAMETRIGGER'] );
|
|
|
|
|
$sPRO_UID = urldecode( $_POST['proUid'] );
|
|
|
|
|
|
2016-12-01 09:32:35 -05:00
|
|
|
$oTrigger = new \ProcessMaker\BusinessModel\Trigger();
|
|
|
|
|
echo $oTrigger->verifyNameTrigger($sPRO_UID, $snameTrigger);
|
2012-10-18 14:32:01 -04:00
|
|
|
|
2011-02-18 08:47:31 +00:00
|
|
|
} else {
|
2014-11-19 16:47:22 -04:00
|
|
|
G::LoadClass("processMap");
|
2015-06-01 14:15:53 -04:00
|
|
|
|
2014-11-19 16:47:22 -04:00
|
|
|
$response = array();
|
|
|
|
|
|
2012-10-18 14:32:01 -04:00
|
|
|
try {
|
|
|
|
|
$oTrigger = new Triggers();
|
2011-02-18 08:47:31 +00:00
|
|
|
|
2012-10-18 14:32:01 -04:00
|
|
|
$oProcessMap = new processMap( new DBConnection() );
|
|
|
|
|
if (isset( $_POST['form'] )) {
|
|
|
|
|
$value = $_POST['form'];
|
|
|
|
|
} else {
|
|
|
|
|
$value = $_POST;
|
|
|
|
|
}
|
2011-02-18 08:47:31 +00:00
|
|
|
|
2015-06-01 14:15:53 -04:00
|
|
|
/*----------------------------------********---------------------------------*/
|
|
|
|
|
if (PMLicensedFeatures::getSingleton()->verifyfeature("B0oWlBLY3hHdWY0YUNpZEtFQm5CeTJhQlIwN3IxMEkwaG4=") &&
|
|
|
|
|
isset($value["TRI_WEBBOT"])
|
|
|
|
|
) {
|
2014-11-19 16:47:22 -04:00
|
|
|
//Check disabled code
|
2015-06-01 14:15:53 -04:00
|
|
|
G::LoadClass("codeScanner");
|
|
|
|
|
|
2016-07-18 17:54:28 -04:00
|
|
|
$cs = new CodeScanner(SYS_SYS);
|
2014-11-19 16:47:22 -04:00
|
|
|
|
|
|
|
|
$arrayFoundDisabledCode = $cs->checkDisabledCode("SOURCE", $value["TRI_WEBBOT"]);
|
|
|
|
|
|
2015-06-01 14:15:53 -04:00
|
|
|
if (!empty($arrayFoundDisabledCode)) {
|
2014-11-19 16:47:22 -04:00
|
|
|
$strCodeAndLine = "";
|
|
|
|
|
|
|
|
|
|
foreach ($arrayFoundDisabledCode["source"] as $key => $value) {
|
|
|
|
|
$strCodeAndLine .= (($strCodeAndLine != "")? ", " : "") . G::LoadTranslation("ID_DISABLED_CODE_CODE_AND_LINE", array($key, implode(", ", $value)));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
throw new Exception(G::LoadTranslation("ID_DISABLED_CODE_TRIGGER", array($strCodeAndLine)));
|
|
|
|
|
}
|
|
|
|
|
}
|
2015-06-01 14:15:53 -04:00
|
|
|
/*----------------------------------********---------------------------------*/
|
|
|
|
|
|
2015-02-18 15:35:50 -04:00
|
|
|
$swCreate = true;
|
2012-10-18 14:32:01 -04:00
|
|
|
if ($value['TRI_UID'] != '') {
|
|
|
|
|
$oTrigger->load( $value['TRI_UID'] );
|
|
|
|
|
} else {
|
|
|
|
|
$oTrigger->create( $value );
|
|
|
|
|
$value['TRI_UID'] = $oTrigger->getTriUid();
|
2015-02-18 15:35:50 -04:00
|
|
|
$swCreate = false;
|
2015-06-01 14:15:53 -04:00
|
|
|
}
|
2012-10-18 14:32:01 -04:00
|
|
|
$oTrigger->update( $value );
|
2015-02-18 15:35:50 -04:00
|
|
|
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]";
|
|
|
|
|
}
|
|
|
|
|
G::auditLog("UpdateTrigger", $description);
|
|
|
|
|
}
|
2012-10-18 14:32:01 -04:00
|
|
|
|
2014-11-19 16:47:22 -04:00
|
|
|
//if (! isset( $_POST['mode'] )) {
|
|
|
|
|
// $oProcessMap->triggersList( $value['PRO_UID'] );
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
$response["success"] = true;
|
|
|
|
|
$response["msg"] = G::LoadTranslation("ID_TRIGGERS_SAVED");
|
2012-10-18 14:32:01 -04:00
|
|
|
} catch (Exception $e) {
|
2014-11-19 16:47:22 -04:00
|
|
|
$response["success"] = false;
|
|
|
|
|
$response["msg"] = $e->getMessage();
|
2012-10-18 14:32:01 -04:00
|
|
|
}
|
2014-11-19 16:47:22 -04:00
|
|
|
|
|
|
|
|
echo G::json_encode($response);
|
2011-02-18 08:47:31 +00:00
|
|
|
}
|
2012-10-18 14:32:01 -04:00
|
|
|
|