Merge remote branch 'upstream/master'
This commit is contained in:
@@ -41,6 +41,20 @@ if (!defined('PATH_HOME')) {
|
||||
require_once (PATH_HOME . 'engine' . PATH_SEP . 'config' . PATH_SEP . 'paths.php');
|
||||
require_once PATH_TRUNK . "framework/src/Maveriks/Util/ClassLoader.php";
|
||||
|
||||
//Class Loader - /ProcessMaker/BusinessModel
|
||||
$classLoader = \Maveriks\Util\ClassLoader::getInstance();
|
||||
$classLoader->add(PATH_TRUNK . "framework" . PATH_SEP . "src" . PATH_SEP, "Maveriks");
|
||||
$classLoader->add(PATH_TRUNK . "workflow" . PATH_SEP . "engine" . PATH_SEP . "src" . PATH_SEP, "ProcessMaker");
|
||||
$classLoader->add(PATH_TRUNK . "workflow" . PATH_SEP . "engine" . PATH_SEP . "src" . PATH_SEP);
|
||||
|
||||
//Add vendors to autoloader
|
||||
//$classLoader->add(PATH_TRUNK . "vendor" . PATH_SEP . "luracast" . PATH_SEP . "restler" . PATH_SEP . "vendor", "Luracast");
|
||||
//$classLoader->add(PATH_TRUNK . "vendor" . PATH_SEP . "bshaffer" . PATH_SEP . "oauth2-server-php" . PATH_SEP . "src" . PATH_SEP, "OAuth2");
|
||||
$classLoader->addClass("Bootstrap", PATH_TRUNK . "gulliver" . PATH_SEP . "system" . PATH_SEP . "class.bootstrap.php");
|
||||
|
||||
//$classLoader->addModelClassPath(PATH_TRUNK . "workflow" . PATH_SEP . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP);
|
||||
|
||||
//Load classes
|
||||
G::LoadThirdParty('pear/json','class.json');
|
||||
G::LoadThirdParty('smarty/libs','Smarty.class');
|
||||
G::LoadSystem('error');
|
||||
@@ -87,7 +101,7 @@ if (!defined('PATH_HOME')) {
|
||||
define ('TIME_ZONE', $config['time_zone']);
|
||||
}
|
||||
|
||||
require_once (PATH_GULLIVER . PATH_SEP . 'class.bootstrap.php');
|
||||
//require_once (PATH_GULLIVER . PATH_SEP . 'class.bootstrap.php');
|
||||
//define( 'PATH_GULLIVER_HOME', PATH_TRUNK . 'gulliver' . PATH_SEP );
|
||||
|
||||
spl_autoload_register(array('Bootstrap', 'autoloadClass'));
|
||||
@@ -339,7 +353,13 @@ Bootstrap::registerClass('wsResponse', PATH_HOME . "engine/classes/clas
|
||||
Bootstrap::registerClass('PMLicensedFeatures', PATH_HOME . "engine/classes/class.LicensedFeatures.php");
|
||||
Bootstrap::registerClass('AddonsManagerPeer', PATH_HOME . "engine/classes/model/AddonsManagerPeer.php");
|
||||
|
||||
G::LoadClass("dates");
|
||||
Bootstrap::registerClass("BaseEmailServer", PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "om" . PATH_SEP . "BaseEmailServer.php");
|
||||
Bootstrap::registerClass("EmailServer", PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "EmailServer.php");
|
||||
Bootstrap::registerClass("BaseEmailServerPeer", PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "om" . PATH_SEP . "BaseEmailServerPeer.php");
|
||||
Bootstrap::registerClass("EmailServerPeer", PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "EmailServerPeer.php");
|
||||
|
||||
G::LoadClass("serverConfiguration");
|
||||
G::LoadClass("dates"); //Load Criteria
|
||||
|
||||
if (!defined('SYS_SYS')) {
|
||||
$sObject = $argv[1];
|
||||
@@ -382,25 +402,28 @@ if (!defined('SYS_SYS')) {
|
||||
eprintln("WARNING! No server info found!", 'red');
|
||||
}
|
||||
|
||||
$sContent = file_get_contents(PATH_DB . $sObject . PATH_SEP . 'db.php');
|
||||
//DB
|
||||
$phpCode = "";
|
||||
|
||||
$sContent = str_replace('<?php', '', $sContent);
|
||||
$sContent = str_replace('<?', '', $sContent);
|
||||
$sContent = str_replace('?>', '', $sContent);
|
||||
$sContent = str_replace('define', '', $sContent);
|
||||
$sContent = str_replace("('", "$", $sContent);
|
||||
$sContent = str_replace("',", '=', $sContent);
|
||||
$sContent = str_replace(");", ';', $sContent);
|
||||
$fileDb = fopen(PATH_DB . $sObject . PATH_SEP . "db.php", "r");
|
||||
|
||||
eval($sContent);
|
||||
if ($fileDb) {
|
||||
while (!feof($fileDb)) {
|
||||
$buffer = fgets($fileDb, 4096); //Read a line
|
||||
|
||||
$dsn = $DB_ADAPTER . '://' . $DB_USER . ':' . $DB_PASS . '@' . $DB_HOST . '/' . $DB_NAME;
|
||||
$phpCode .= preg_replace("/define\s*\(\s*[\x22\x27](.*)[\x22\x27]\s*,\s*(\x22.*\x22|\x27.*\x27)\s*\)\s*;/i", "\$$1 = $2;", $buffer);
|
||||
}
|
||||
|
||||
$dsnRbac = $DB_ADAPTER . '://' . $DB_RBAC_USER . ':' . $DB_RBAC_PASS . '@' . $DB_RBAC_HOST . '/';
|
||||
$dsnRbac = $dsnRbac . $DB_RBAC_NAME;
|
||||
fclose($fileDb);
|
||||
}
|
||||
|
||||
$dsnRp = $DB_ADAPTER . '://' . $DB_REPORT_USER . ':' . $DB_REPORT_PASS . '@' . $DB_REPORT_HOST . '/';
|
||||
$dsnRp = $dsnRp . $DB_REPORT_NAME;
|
||||
$phpCode = str_replace(array("<?php", "<?", "?>"), array("", "", ""), $phpCode);
|
||||
|
||||
eval($phpCode);
|
||||
|
||||
$dsn = $DB_ADAPTER . "://" . $DB_USER . ":" . $DB_PASS . "@" . $DB_HOST . "/" . $DB_NAME;
|
||||
$dsnRbac = $DB_ADAPTER . "://" . $DB_RBAC_USER . ":" . $DB_RBAC_PASS . "@" . $DB_RBAC_HOST . "/" . $DB_RBAC_NAME;
|
||||
$dsnRp = $DB_ADAPTER . "://" . $DB_REPORT_USER . ":" . $DB_REPORT_PASS . "@" . $DB_REPORT_HOST . "/" . $DB_REPORT_NAME;
|
||||
|
||||
switch ($DB_ADAPTER) {
|
||||
case 'mysql':
|
||||
@@ -547,7 +570,7 @@ function resendEmails()
|
||||
setExecutionResultMessage("WITH ERRORS", "error");
|
||||
eprintln(" '-" . $e->getMessage(), "red");
|
||||
}
|
||||
|
||||
|
||||
saveLog("resendEmails", "error", "Error Resending Emails: " . $e->getMessage());
|
||||
}
|
||||
}
|
||||
@@ -1003,7 +1026,7 @@ function setExecutionResultMessage($m, $t='')
|
||||
if ($t == 'info') {
|
||||
$c = 'yellow';
|
||||
}
|
||||
|
||||
|
||||
if ($t == 'warning') {
|
||||
$c = 'yellow';
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ try {
|
||||
require_once(PATH_HOME . "engine" . PATH_SEP . "config" . PATH_SEP . "paths.php");
|
||||
require_once(PATH_TRUNK . "framework" . PATH_SEP . "src" . PATH_SEP . "Maveriks" . PATH_SEP . "Util" . PATH_SEP . "ClassLoader.php");
|
||||
|
||||
//Class loader - /ProcessMaker/BusinessModel
|
||||
//Class Loader - /ProcessMaker/BusinessModel
|
||||
$classLoader = \Maveriks\Util\ClassLoader::getInstance();
|
||||
$classLoader->add(PATH_TRUNK . "framework" . PATH_SEP . "src" . PATH_SEP, "Maveriks");
|
||||
$classLoader->add(PATH_TRUNK . "workflow" . PATH_SEP . "engine" . PATH_SEP . "src" . PATH_SEP, "ProcessMaker");
|
||||
|
||||
@@ -21,7 +21,7 @@ EOT
|
||||
/*----------------------------------********---------------------------------*/
|
||||
CLI::taskName('change-password-hash-method');
|
||||
CLI::taskDescription(<<<EOT
|
||||
Create .po file for the plugin
|
||||
Change password hash method to md5 or sha256 for the specified workspace
|
||||
EOT
|
||||
);
|
||||
CLI::taskArg('workspace', false);
|
||||
|
||||
@@ -1235,7 +1235,7 @@ function WSInformationUser($userUid)
|
||||
*
|
||||
* @method
|
||||
*
|
||||
* Returns the unique ID for the current active session.
|
||||
* Returns the unique ID for the current login session.
|
||||
*
|
||||
* @name WSGetSession
|
||||
* @label WS Get Session
|
||||
@@ -1400,7 +1400,7 @@ function WSUnpauseCase ($caseUid, $delIndex, $userUid)
|
||||
*
|
||||
* @method
|
||||
*
|
||||
* Add case note.
|
||||
* Add a case note.
|
||||
*
|
||||
* @name WSAddCaseNote
|
||||
* @label WS Add case note
|
||||
@@ -1537,7 +1537,7 @@ function PMFUserList () //its test was successfull
|
||||
/**
|
||||
* @method
|
||||
*
|
||||
* Add a input document.
|
||||
* Add an Input Document.
|
||||
*
|
||||
* @name PMFAddInputDocument
|
||||
* @label PMF Add a input document
|
||||
@@ -1552,7 +1552,7 @@ function PMFUserList () //its test was successfull
|
||||
* @param string(32) | $caseUid | ID of the case | The unique ID of the case.
|
||||
* @param int | $delIndex | Delegation index of the case | The delegation index of the current task in the case.
|
||||
* @param string(32) | $taskUid | ID of the task | The unique ID of the task.
|
||||
* @param string(32) | $userUid | ID user | The unique ID of the user who will add a input document.
|
||||
* @param string(32) | $userUid | ID user | The unique ID of the user who will add an input document.
|
||||
* @param string | $option = "file" | Option | Option, value: "file".
|
||||
* @param string | $file = "path_to_file/myfile.txt" | File, path to file | File, path to file.
|
||||
* @return string | $appDocUid | ID of the application document | Returns ID if it has added the input document successfully; otherwise, returns null or empty if an error occurred.
|
||||
@@ -2061,7 +2061,7 @@ function PMFNewCase ($processId, $userId, $taskId, $variables)
|
||||
*
|
||||
* @method
|
||||
*
|
||||
* Assigns a user to a group.
|
||||
*
|
||||
*
|
||||
* Assigns a user to a group. Note that the logged-in user must have the PM_USERS permission in his/her role to be able to assign a user to a group.
|
||||
*
|
||||
@@ -2466,7 +2466,7 @@ function PMFGetNextAssignedUser ($application, $task, $delIndex = null, $userUid
|
||||
/**
|
||||
* @method
|
||||
*
|
||||
* Returns a list or user.
|
||||
* Returns the email address of the specified user.
|
||||
*
|
||||
* @name PMFGetUserEmailAddress
|
||||
* @label PMF Get User Email Address
|
||||
@@ -2845,7 +2845,7 @@ function PMFAddAttachmentToArray($arrayData, $index, $value, $suffix = " Copy({i
|
||||
/**
|
||||
*@method
|
||||
*
|
||||
* It delete the mask a field.
|
||||
* Removes the currency symbol and thousands separator inserted by a currency mask.
|
||||
*
|
||||
* @name PMFRemoveMask
|
||||
* @label PMF Remove Mask
|
||||
|
||||
@@ -53,8 +53,10 @@ class CaseScheduler extends BaseCaseScheduler
|
||||
throw ($e);
|
||||
}
|
||||
$con->commit();
|
||||
|
||||
|
||||
//Add Audit Log
|
||||
$perform = $aData["SCH_OPTION"];
|
||||
|
||||
switch ($aData['SCH_OPTION']) {
|
||||
case '1':
|
||||
$perform = 'Daily';
|
||||
@@ -71,10 +73,10 @@ class CaseScheduler extends BaseCaseScheduler
|
||||
case '5':
|
||||
$perform = 'Every';
|
||||
break;
|
||||
|
||||
|
||||
}
|
||||
G::auditLog("CreateCaseScheduler", "Scheduler Name: ".$aData['SCH_NAME'].", Task: ".$aData['TAS_UID'].", Perform this task: ".$perform.", Start Date: ".$aData['SCH_START_DATE'].", End Date: ".$aData['SCH_END_DATE'].", Execution time : ".$aData['SCH_START_TIME']);
|
||||
|
||||
|
||||
return $result;
|
||||
} catch (Exception $e) {
|
||||
$con->rollback();
|
||||
@@ -92,7 +94,7 @@ class CaseScheduler extends BaseCaseScheduler
|
||||
if ($this->validate()) {
|
||||
$result = $this->save();
|
||||
$con->commit();
|
||||
|
||||
|
||||
//Add Audit Log
|
||||
switch ($fields['SCH_OPTION']){
|
||||
case '1':
|
||||
@@ -112,7 +114,7 @@ class CaseScheduler extends BaseCaseScheduler
|
||||
break;
|
||||
}
|
||||
G::auditLog("UpdateCaseScheduler", "Scheduler Name: ".$fields['SCH_NAME'].", Task: ".$fields['TAS_UID'].", Perform this task: ".$perform.", Start Date: ".$fields['SCH_START_DATE'].", End Date: ".$fields['SCH_END_DATE'].", Execution time : ".$fields['SCH_START_TIME']);
|
||||
|
||||
|
||||
return $result;
|
||||
} else {
|
||||
$con->rollback();
|
||||
@@ -135,7 +137,7 @@ class CaseScheduler extends BaseCaseScheduler
|
||||
$con->commit();
|
||||
//Add Audit Log
|
||||
G::auditLog("DeleteCaseScheduler", "Scheduler Name: ".$fields['SCH_NAME'].", Task: ".$fields['TAS_UID']);
|
||||
|
||||
|
||||
return $iResult;
|
||||
} else {
|
||||
throw (new Exception( 'This row doesn\'t exist!' ));
|
||||
|
||||
@@ -1283,7 +1283,12 @@ class BpmnWorkflow extends Project\Bpmn
|
||||
|
||||
$activity = $bwp->getActivity($activityData["ACT_UID"]);
|
||||
|
||||
if ($activity["BOU_CONTAINER"] != $activityData["BOU_CONTAINER"]) {
|
||||
$activity = null;
|
||||
}
|
||||
|
||||
if ($forceInsert || is_null($activity)) {
|
||||
|
||||
if ($generateUid) {
|
||||
//Activity
|
||||
|
||||
@@ -1316,6 +1321,7 @@ class BpmnWorkflow extends Project\Bpmn
|
||||
|
||||
$diagram["activities"][$i] = $activityData;
|
||||
$whiteList[] = $activityData["ACT_UID"];
|
||||
|
||||
}
|
||||
|
||||
$activities = $bwp->getActivities();
|
||||
@@ -1337,6 +1343,10 @@ class BpmnWorkflow extends Project\Bpmn
|
||||
|
||||
$artifact = $bwp->getArtifact($artifactData["ART_UID"]);
|
||||
|
||||
if ($artifact["BOU_CONTAINER"] != $artifactData["BOU_CONTAINER"]) {
|
||||
$artifact = null;
|
||||
}
|
||||
|
||||
if ($forceInsert || is_null($artifact)) {
|
||||
if ($generateUid) {
|
||||
//Artifact
|
||||
@@ -1397,6 +1407,10 @@ class BpmnWorkflow extends Project\Bpmn
|
||||
|
||||
$gateway = $bwp->getGateway($gatewayData["GAT_UID"]);
|
||||
|
||||
if ($gateway["BOU_CONTAINER"] != $gatewayData["BOU_CONTAINER"]) {
|
||||
$gateway = null;
|
||||
}
|
||||
|
||||
if ($forceInsert || is_null($gateway)) {
|
||||
if ($generateUid) {
|
||||
//Gateway
|
||||
@@ -1471,6 +1485,10 @@ class BpmnWorkflow extends Project\Bpmn
|
||||
|
||||
$event = $bwp->getEvent($eventData["EVN_UID"]);
|
||||
|
||||
if ($event["BOU_CONTAINER"] != $eventData["BOU_CONTAINER"]) {
|
||||
$event = null;
|
||||
}
|
||||
|
||||
if ($forceInsert || is_null($event)) {
|
||||
if ($generateUid) {
|
||||
//Event
|
||||
@@ -1527,6 +1545,10 @@ class BpmnWorkflow extends Project\Bpmn
|
||||
|
||||
$dataObject = $bwp->getData($dataObjectData["DAT_UID"]);
|
||||
|
||||
if ($dataObject["BOU_CONTAINER"] != $dataObjectData["BOU_CONTAINER"]) {
|
||||
$dataObject = null;
|
||||
}
|
||||
|
||||
if ($forceInsert || is_null($dataObject)) {
|
||||
if ($generateUid) {
|
||||
//Data
|
||||
@@ -1581,9 +1603,13 @@ class BpmnWorkflow extends Project\Bpmn
|
||||
$participantData = array_change_key_case($participantData, CASE_UPPER);
|
||||
unset($participantData["_EXTENDED"]);
|
||||
|
||||
$dataObject = $bwp->getParticipant($participantData["PAR_UID"]);
|
||||
$participant = $bwp->getParticipant($participantData["PAR_UID"]);
|
||||
|
||||
if ($forceInsert || is_null($dataObject)) {
|
||||
if ($participant["BOU_CONTAINER"] != $participantData["BOU_CONTAINER"]) {
|
||||
$participant = null;
|
||||
}
|
||||
|
||||
if ($forceInsert || is_null($participant)) {
|
||||
if ($generateUid) {
|
||||
//Participant
|
||||
|
||||
@@ -1609,7 +1635,7 @@ class BpmnWorkflow extends Project\Bpmn
|
||||
}
|
||||
|
||||
$bwp->addParticipant($participantData);
|
||||
} elseif (! $bwp->isEquals($dataObject, $participantData)) {
|
||||
} elseif (! $bwp->isEquals($participant, $participantData)) {
|
||||
$bwp->updateParticipant($participantData["PAR_UID"], $participantData);
|
||||
} else {
|
||||
Util\Logger::log("Update Participant ({$participantData["PAR_UID"]}) Skipped - No changes required");
|
||||
|
||||
@@ -83,12 +83,13 @@
|
||||
<div class="head"></div>
|
||||
<nav>
|
||||
<ul>
|
||||
<li><a href="#" ><span class="mafe-button-close" ></span></a></li>
|
||||
<li><a href="#" class="mafe-button-save"></a></li>
|
||||
<li><a href="#" class="mafe-button-export-process"></a></li>
|
||||
<li><a class="mafe-button-export-bpmn-process"></a></li>
|
||||
<li><a href="#" class="mafe-button-undo"></a> <a href="#" class="mafe-button-redo"></a></li>
|
||||
<li></li>
|
||||
<li><a href="#" title="" class="mafe-button-fullscreen"></a></li>
|
||||
<li><a href="#" title="" class="mafe-button-fullscreen"></a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -32,6 +32,15 @@ new Ext.KeyMap(document, {
|
||||
}
|
||||
});
|
||||
|
||||
Ext.apply(Ext.form.VTypes, {
|
||||
textWithoutTags: function (value, field)
|
||||
{
|
||||
var strAux = "a|applet|b|body|br|button|code|div|em|embed|form|frame|frameset|head|header|html|iframe|img|input|noscript|object|script|select|style|table|textarea";
|
||||
|
||||
return !(eval("/^.*\\x3C[\\s\\x2F]*(?:" + strAux + ")\\s*.*\\x3E.*$/").test(value));
|
||||
},
|
||||
textWithoutTagsText: ""
|
||||
});
|
||||
|
||||
Ext.onReady(function(){
|
||||
Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
|
||||
@@ -520,7 +529,8 @@ function newProcess(params)
|
||||
xtype:'textfield',
|
||||
width: 260,
|
||||
maskRe: /^(?!^(PRN|AUX|CLOCK\$|NUL|CON|COM\d|LPT\d|\...*)(\..+)?$)[^\x00-\x1f\\?*\";|/]+$/i,
|
||||
allowBlank: false
|
||||
allowBlank: false,
|
||||
vtype: "textWithoutTags"
|
||||
}, {
|
||||
id: 'PRO_DESCRIPTION',
|
||||
fieldLabel: _('ID_DESCRIPTION'),
|
||||
|
||||
Reference in New Issue
Block a user