PM-4147 "Problemas con cron" SOLVED
Issue:
Problemas con cron
Cause:
Problemas con cron
Solution:
Se actualizo el codigo de los crones: cron, ldapcron, messageeventcron, timereventcron
por una version mas actual
This commit is contained in:
@@ -1,177 +1,229 @@
|
|||||||
<?php
|
<?php
|
||||||
/**
|
try {
|
||||||
* cron.php
|
//Set variables
|
||||||
* @package workflow-engine-bin
|
$cronName = pathinfo($_SERVER['SCRIPT_FILENAME'], PATHINFO_FILENAME);
|
||||||
*/
|
$osIsLinux = strtoupper(substr(PHP_OS, 0, 3)) != 'WIN';
|
||||||
|
|
||||||
if ( !defined('PATH_SEP') ) {
|
$arrayCronConfig = [
|
||||||
define("PATH_SEP", (substr(PHP_OS, 0, 3) == "WIN")? "\\" : "/");
|
'cron' => ['title' => 'CRON'],
|
||||||
|
'ldapcron' => ['title' => 'LDAP Advanced CRON'],
|
||||||
|
'messageeventcron' => ['title' => 'Message-Event CRON'],
|
||||||
|
'timereventcron' => ['title' => 'Timer-Event CRON']
|
||||||
|
];
|
||||||
|
|
||||||
|
//Define constants
|
||||||
|
define('PATH_SEP', ($osIsLinux)? '/' : '\\');
|
||||||
|
|
||||||
|
$arrayPathToCron = [];
|
||||||
|
$flagPathToCron = false;
|
||||||
|
|
||||||
|
//Path to CRON by $_SERVER['SCRIPT_FILENAME']
|
||||||
|
$arrayAux = explode(PATH_SEP, str_replace('engine' . PATH_SEP . 'bin', '', realpath($_SERVER['SCRIPT_FILENAME'])));
|
||||||
|
|
||||||
|
array_pop($arrayAux);
|
||||||
|
array_pop($arrayAux);
|
||||||
|
|
||||||
|
if (!empty($arrayAux) && $arrayAux[count($arrayAux) - 1] == 'workflow') {
|
||||||
|
$arrayPathToCron = $arrayAux;
|
||||||
|
$flagPathToCron = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
$docuroot = explode(PATH_SEP, str_replace('engine' . PATH_SEP . 'methods' . PATH_SEP . 'services', '', dirname(__FILE__)));
|
if (!$flagPathToCron) {
|
||||||
array_pop($docuroot);
|
throw new Exception('Error: Unable to execute the ' . $arrayCronConfig[$cronName]['title'] . ', the path is incorrect');
|
||||||
array_pop($docuroot);
|
}
|
||||||
$pathhome = implode(PATH_SEP, $docuroot) . PATH_SEP;
|
|
||||||
//try to find automatically the trunk directory where are placed the RBAC and Gulliver directories
|
$pathHome = implode(PATH_SEP, $arrayPathToCron) . PATH_SEP;
|
||||||
//in a normal installation you don't need to change it.
|
|
||||||
array_pop($docuroot);
|
array_pop($arrayPathToCron);
|
||||||
$pathTrunk = implode(PATH_SEP, $docuroot) . PATH_SEP ;
|
|
||||||
array_pop($docuroot);
|
$pathTrunk = implode(PATH_SEP, $arrayPathToCron) . PATH_SEP;
|
||||||
$pathOutTrunk = implode( PATH_SEP, $docuroot) . PATH_SEP ;
|
|
||||||
// to do: check previous algorith for Windows $pathTrunk = "c:/home/";
|
array_pop($arrayPathToCron);
|
||||||
define('PATH_HOME', $pathhome);
|
|
||||||
|
$pathOutTrunk = implode(PATH_SEP, $arrayPathToCron) . PATH_SEP;
|
||||||
|
|
||||||
|
define('PATH_HOME', $pathHome);
|
||||||
define('PATH_TRUNK', $pathTrunk);
|
define('PATH_TRUNK', $pathTrunk);
|
||||||
define('PATH_OUTTRUNK', $pathOutTrunk);
|
define('PATH_OUTTRUNK', $pathOutTrunk);
|
||||||
|
|
||||||
require_once PATH_TRUNK . "framework/src/Maveriks/Util/ClassLoader.php";
|
//Check deprecated files
|
||||||
require_once (PATH_HOME . 'engine' . PATH_SEP . 'config' . PATH_SEP . 'paths.php');
|
switch ($cronName) {
|
||||||
require_once PATH_CORE . 'classes' . PATH_SEP . 'class.system.php';
|
case 'ldapcron':
|
||||||
|
$fileBinDeprecated = PATH_HOME . 'engine' . PATH_SEP . 'bin' . PATH_SEP . 'plugins' . PATH_SEP . 'ldapadvanced.php';
|
||||||
|
|
||||||
$config = System::getSystemConfiguration();
|
if (file_exists($fileBinDeprecated)) {
|
||||||
|
@unlink($fileBinDeprecated);
|
||||||
|
|
||||||
$e_all = defined('E_DEPRECATED') ? E_ALL & ~E_DEPRECATED : E_ALL;
|
if (file_exists($fileBinDeprecated)) {
|
||||||
$e_all = defined('E_STRICT') ? $e_all & ~E_STRICT : $e_all;
|
throw new Exception('Error: ' . $arrayCronConfig[$cronName]['title'] . ' requires that the "' . $fileBinDeprecated . '" file has been deleted.');
|
||||||
$e_all = $config['debug'] ? $e_all : $e_all & ~E_NOTICE;
|
}
|
||||||
|
}
|
||||||
G::LoadSystem('inputfilter');
|
|
||||||
$filter = new InputFilter();
|
|
||||||
$config['debug'] = $filter->validateInput($config['debug']);
|
|
||||||
$config['memory_limit'] = $filter->validateInput($config['memory_limit']);
|
|
||||||
$config['wsdl_cache'] = $filter->validateInput($config['wsdl_cache'],'int');
|
|
||||||
$config['time_zone'] = $filter->validateInput($config['time_zone']);
|
|
||||||
// Do not change any of these settings directly, use env.ini instead
|
|
||||||
ini_set('display_errors', $config['debug']);
|
|
||||||
ini_set('error_reporting', $e_all);
|
|
||||||
ini_set('short_open_tag', 'On');
|
|
||||||
ini_set('default_charset', "UTF-8");
|
|
||||||
ini_set('memory_limit', $config['memory_limit']);
|
|
||||||
ini_set('soap.wsdl_cache_enabled', $config['wsdl_cache']);
|
|
||||||
ini_set('date.timezone', $config['time_zone']);
|
|
||||||
|
|
||||||
define ('DEBUG_SQL_LOG', $config['debug_sql']);
|
|
||||||
define ('DEBUG_TIME_LOG', $config['debug_time']);
|
|
||||||
define ('DEBUG_CALENDAR_LOG', $config['debug_calendar']);
|
|
||||||
define ('MEMCACHED_ENABLED', $config['memcached']);
|
|
||||||
define ('MEMCACHED_SERVER', $config['memcached_server']);
|
|
||||||
define ('TIME_ZONE', $config['time_zone']);
|
|
||||||
|
|
||||||
//Cron status
|
|
||||||
$bCronIsRunning = false;
|
|
||||||
$sLastExecution = null;
|
|
||||||
$processcTimeProcess = 0;
|
|
||||||
$processcTimeStart = 0;
|
|
||||||
|
|
||||||
$force = false;
|
|
||||||
$osIsLinux = strtoupper(substr(PHP_OS, 0, 3)) != "WIN";
|
|
||||||
|
|
||||||
for ($i = 1; $i <= count($argv) - 1; $i++) {
|
|
||||||
if (strpos($argv[$i], "+force") !== false) {
|
|
||||||
$force = true;
|
|
||||||
unset($argv[$i]);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Include files
|
||||||
|
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
|
||||||
|
$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);
|
||||||
|
|
||||||
|
//Load classes
|
||||||
|
G::LoadClass('system');
|
||||||
|
|
||||||
|
$arraySystemConfiguration = System::getSystemConfiguration();
|
||||||
|
|
||||||
|
$e_all = (defined('E_DEPRECATED'))? E_ALL & ~E_DEPRECATED : E_ALL;
|
||||||
|
$e_all = (defined('E_STRICT'))? $e_all & ~E_STRICT : $e_all;
|
||||||
|
$e_all = ($arraySystemConfiguration['debug'])? $e_all : $e_all & ~E_NOTICE;
|
||||||
|
|
||||||
|
//Do not change any of these settings directly, use env.ini instead
|
||||||
|
ini_set('display_errors', $arraySystemConfiguration['debug']);
|
||||||
|
ini_set('error_reporting', $e_all);
|
||||||
|
ini_set('short_open_tag', 'On');
|
||||||
|
ini_set('default_charset', 'UTF-8');
|
||||||
|
ini_set('memory_limit', $arraySystemConfiguration['memory_limit']);
|
||||||
|
ini_set('soap.wsdl_cache_enabled', $arraySystemConfiguration['wsdl_cache']);
|
||||||
|
ini_set('date.timezone', $arraySystemConfiguration['time_zone']);
|
||||||
|
|
||||||
|
define('DEBUG_SQL_LOG', $arraySystemConfiguration['debug_sql']);
|
||||||
|
define('DEBUG_TIME_LOG', $arraySystemConfiguration['debug_time']);
|
||||||
|
define('DEBUG_CALENDAR_LOG', $arraySystemConfiguration['debug_calendar']);
|
||||||
|
define('MEMCACHED_ENABLED', $arraySystemConfiguration['memcached']);
|
||||||
|
define('MEMCACHED_SERVER', $arraySystemConfiguration['memcached_server']);
|
||||||
|
define('TIME_ZONE', ini_get('date.timezone'));
|
||||||
|
|
||||||
|
//CRON command options
|
||||||
|
$arrayCommandOption = [
|
||||||
|
'force' => '+force'
|
||||||
|
];
|
||||||
|
|
||||||
|
//CRON status
|
||||||
|
$flagIsRunning = false;
|
||||||
|
$lastExecution = '';
|
||||||
|
|
||||||
|
$force = false;
|
||||||
|
|
||||||
|
if (in_array($arrayCommandOption['force'], $argv)) {
|
||||||
|
unset($argv[array_search($arrayCommandOption['force'], $argv)]);
|
||||||
|
|
||||||
|
$force = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$force && file_exists(PATH_DATA . "cron")) {
|
if (!$force && file_exists(PATH_DATA . $cronName)) {
|
||||||
//Windows flag
|
//Windows flag
|
||||||
//Get data of cron file
|
//Get data of CRON file
|
||||||
$arrayCron = unserialize(trim(file_get_contents(PATH_DATA . "cron")));
|
$arrayCron = unserialize(trim(file_get_contents(PATH_DATA . $cronName)));
|
||||||
|
|
||||||
$bCronIsRunning = (boolean)($arrayCron["bCronIsRunning"]);
|
$flagIsRunning = (bool)((isset($arrayCron['flagIsRunning']))? $arrayCron['flagIsRunning'] : $arrayCron['bCronIsRunning']);
|
||||||
$sLastExecution = $arrayCron["sLastExecution"];
|
$lastExecution = (isset($arrayCron['lastExecution']))? $arrayCron['lastExecution'] : $arrayCron['sLastExecution'];
|
||||||
$processcTimeProcess = (isset($arrayCron["processcTimeProcess"]))? (int)($arrayCron["processcTimeProcess"]) : 10; //Minutes
|
|
||||||
$processcTimeStart = (isset($arrayCron["processcTimeStart"]))? $arrayCron["processcTimeStart"] : 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$force && $osIsLinux) {
|
if (!$force && $osIsLinux) {
|
||||||
//Linux flag
|
//Linux flag
|
||||||
//Check if cron it's running
|
//Check if CRON it's running
|
||||||
exec("ps -fea | grep cron.php | grep -v grep", $arrayOutput);
|
exec('ps -fea | grep ' . $cronName . '.php | grep -v grep', $arrayOutput);
|
||||||
|
|
||||||
if (count($arrayOutput) > 1) {
|
$counter = 0;
|
||||||
$bCronIsRunning = true;
|
|
||||||
|
foreach ($arrayOutput as $value) {
|
||||||
|
if (preg_match('/^.*\s' . $cronName . '\.php.*$/', $value) ||
|
||||||
|
preg_match('/^.*\s.+(?:\x2F|\x5C)' . $cronName . '\.php.*$/', $value)
|
||||||
|
) {
|
||||||
|
$counter++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//if (!$force && $bCronIsRunning && $processcTimeStart != 0) {
|
if ($counter > 1) {
|
||||||
// if ((time() - $processcTimeStart) > ($processcTimeProcess * 60)) {
|
$flagIsRunning = true;
|
||||||
// //Cron finished his execution for some reason
|
}
|
||||||
// $bCronIsRunning = false;
|
}
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
||||||
if ($force || !$bCronIsRunning) {
|
if ($force || !$flagIsRunning) {
|
||||||
//Start cron
|
//Start CRON
|
||||||
$arrayCron = array("bCronIsRunning" => "1", "sLastExecution" => date("Y-m-d H:i:s"));
|
$arrayCron = ['flagIsRunning' => '1', 'lastExecution' => date('Y-m-d H:i:s')];
|
||||||
@file_put_contents(PATH_DATA . "cron", serialize($arrayCron));
|
file_put_contents(PATH_DATA . $cronName, serialize($arrayCron));
|
||||||
|
|
||||||
try {
|
try {
|
||||||
//Data
|
$cronSinglePath = PATH_CORE . 'bin' . PATH_SEP . 'cron_single.php';
|
||||||
$ws = null;
|
|
||||||
$argsx = null;
|
$workspace = '';
|
||||||
$sDate = null;
|
$dateSystem = date('Y-m-d H:i:s');
|
||||||
$dateSystem = date("Y-m-d H:i:s");
|
$date = '';
|
||||||
|
$argvx = '';
|
||||||
|
|
||||||
for ($i = 1; $i <= count($argv) - 1; $i++) {
|
for ($i = 1; $i <= count($argv) - 1; $i++) {
|
||||||
if (!isset($argv[$i])) {
|
if (!isset($argv[$i])) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strpos($argv[$i], "+d") !== false) {
|
if (preg_match('/^\+w(.+)$/', $argv[$i], $arrayMatch)) {
|
||||||
$sDate = substr($argv[$i],2);
|
$workspace = trim($arrayMatch[1], '"');
|
||||||
} else {
|
} else {
|
||||||
if (strpos($argv[$i], "+w") !== false) {
|
$flagDate = false;
|
||||||
$ws = substr($argv[$i], 2);
|
|
||||||
|
if (preg_match('/^\+d(.+)$/', $argv[$i], $arrayMatch) && in_array($cronName, ['cron'])) {
|
||||||
|
$date = trim($arrayMatch[1], '"');
|
||||||
|
|
||||||
|
$flagDate = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$flagDate) {
|
||||||
|
$argvx = $argvx . (($argvx != '')? ' ' : '') . $argv[$i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($date) && preg_match('/^' . '[1-9]\d{3}\-(?:0[1-9]|1[0-2])\-(?:0[1-9]|[12][0-9]|3[01])' . '(?:\s' . '(?:[0-1]\d|2[0-3])\:[0-5]\d\:[0-5]\d' . ')?$/', $date)) {
|
||||||
|
eprintln('[Applying date filter: ' . $date . ']');
|
||||||
} else {
|
} else {
|
||||||
$argsx = $argsx . " " . $argv[$i];
|
$date = $dateSystem;
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//If $sDate is not set, so take the system time
|
$counterw = 0;
|
||||||
if (!empty($sDate) && preg_match("/^[1-9]\d{3}\-(?:0[1-9]|1[0-2])\-(?:0[1-9]|[12][0-9]|3[01])(?:\s(?:[0-1]\d|2[0-3])\:[0-5]\d\:[0-5]\d)?$/", $sDate)) {
|
|
||||||
eprintln("[Applying date filter: $sDate]");
|
|
||||||
} else {
|
|
||||||
$sDate = $dateSystem;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($ws == null) {
|
if ($workspace == '') {
|
||||||
$oDirectory = dir(PATH_DB);
|
$d = dir(PATH_DB);
|
||||||
$cws = 0;
|
|
||||||
|
|
||||||
while (($sObject = $oDirectory->read()) !== false) {
|
while (($entry = $d->read()) !== false) {
|
||||||
if (($sObject != ".") && ($sObject != "..")) {
|
if ($entry != '' && $entry != '.' && $entry != '..') {
|
||||||
if (is_dir(PATH_DB . $sObject)) {
|
if (is_dir(PATH_DB . $entry)) {
|
||||||
if (file_exists(PATH_DB . $sObject . PATH_SEP . "db.php")) {
|
if (file_exists(PATH_DB . $entry . PATH_SEP . 'db.php')) {
|
||||||
$cws = $cws + 1;
|
$counterw++;
|
||||||
|
|
||||||
system("php -f \"" . dirname(__FILE__) . PATH_SEP . "cron_single.php\" $sObject \"$sDate\" \"$dateSystem\" $argsx", $retval);
|
passthru('php -f "' . $cronSinglePath . '" "' . base64_encode(PATH_HOME) . '" "' . base64_encode(PATH_TRUNK) . '" "' . base64_encode(PATH_OUTTRUNK) . '" ' . $cronName . ' ' . $entry . ' "' . $dateSystem . '" "' . $date . '" ' . $argvx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (!is_dir(PATH_DB . $ws) || !file_exists(PATH_DB . $ws . PATH_SEP . "db.php")) {
|
if (!is_dir(PATH_DB . $workspace) || !file_exists(PATH_DB . $workspace . PATH_SEP . 'db.php')) {
|
||||||
throw new Exception("Error: The workspace \"$ws\" does not exist");
|
throw new Exception('Error: The workspace "' . $workspace . '" does not exist');
|
||||||
}
|
}
|
||||||
|
|
||||||
$cws = 1;
|
$counterw++;
|
||||||
|
|
||||||
system("php -f \"" . dirname(__FILE__) . PATH_SEP . "cron_single.php\" $ws \"$sDate\" \"$dateSystem\" $argsx", $retval);
|
passthru('php -f "' . $cronSinglePath . '" "' . base64_encode(PATH_HOME) . '" "' . base64_encode(PATH_TRUNK) . '" "' . base64_encode(PATH_OUTTRUNK) . '" ' . $cronName . ' ' . $workspace . ' "' . $dateSystem . '" "' . $date . '" ' . $argvx);
|
||||||
}
|
}
|
||||||
|
|
||||||
eprintln("Finished $cws workspaces processed.");
|
eprintln('Finished ' . $counterw . ' workspaces processed');
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
eprintln("Has produced the following error:", "red");
|
throw $e;
|
||||||
eprintln("* " . $e->getMessage());
|
|
||||||
eprintln("[DONE]", "green");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//End cron
|
//End CRON
|
||||||
$arrayCron = array("bCronIsRunning" => "0", "sLastExecution" => date("Y-m-d H:i:s"));
|
$arrayCron = ['flagIsRunning' => '0', 'lastExecution' => date('Y-m-d H:i:s')];
|
||||||
@file_put_contents(PATH_DATA . "cron", serialize($arrayCron));
|
file_put_contents(PATH_DATA . $cronName, serialize($arrayCron));
|
||||||
} else {
|
} else {
|
||||||
eprintln("The cron is running, please wait for it to finish.\nStarted in $sLastExecution");
|
eprintln('The ' . $arrayCronConfig[$cronName]['title'] . ' is running, please wait for it to finish' . "\n" . 'Started in ' . $lastExecution);
|
||||||
eprintln("If do you want force the execution use the option '+force', example: php -f +wworkflow +force" ,"green");
|
eprintln('If do you want force the execution use the option "' . $arrayCommandOption['force'] . '", example: php -f ' . $cronName . '.php +wworkflow ' . $arrayCommandOption['force'] ,'green');
|
||||||
|
}
|
||||||
|
|
||||||
|
echo 'Done!' . "\n";
|
||||||
|
} catch (Exception $e) {
|
||||||
|
echo $e->getMessage() . "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,64 +1,68 @@
|
|||||||
<?php
|
<?php
|
||||||
register_shutdown_function(
|
register_shutdown_function(
|
||||||
create_function(
|
create_function(
|
||||||
"",
|
'',
|
||||||
"
|
'
|
||||||
if (class_exists(\"Propel\")) {
|
if (class_exists("Propel")) {
|
||||||
Propel::close();
|
Propel::close();
|
||||||
}
|
}
|
||||||
"
|
'
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
if (!defined('SYS_LANG')) {
|
ini_set('memory_limit', '512M');
|
||||||
define('SYS_LANG', 'en');
|
|
||||||
|
try {
|
||||||
|
//Verify data
|
||||||
|
if (count($argv) < 8) {
|
||||||
|
throw new Exception('Error: Invalid number of arguments');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!defined('PATH_HOME')) {
|
for ($i = 1; $i <= 3; $i++) {
|
||||||
if (!defined('PATH_SEP')) {
|
$argv[$i] = base64_decode($argv[$i]);
|
||||||
define('PATH_SEP', (substr(PHP_OS, 0, 3) == 'WIN') ? '\\' : '/');
|
|
||||||
|
if (!is_dir($argv[$i])) {
|
||||||
|
throw new Exception('Error: The path "' . $argv[$i] . '" is invalid');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$pathServices = 'engine' . PATH_SEP . 'methods' . PATH_SEP . 'services';
|
//Set variables
|
||||||
$docuroot = explode(PATH_SEP, str_replace($pathServices, '', dirname(__FILE__)));
|
$osIsLinux = strtoupper(substr(PHP_OS, 0, 3)) != 'WIN';
|
||||||
|
|
||||||
array_pop($docuroot);
|
$pathHome = $argv[1];
|
||||||
array_pop($docuroot);
|
$pathTrunk = $argv[2];
|
||||||
|
$pathOutTrunk = $argv[3];
|
||||||
|
$cronName = $argv[4];
|
||||||
|
$workspace = $argv[5];
|
||||||
|
$dateSystem = $argv[6];
|
||||||
|
$sNow = $argv[7]; //$date
|
||||||
|
|
||||||
$pathHome = implode(PATH_SEP, $docuroot) . PATH_SEP;
|
//Defines constants
|
||||||
|
define('PATH_SEP', ($osIsLinux)? '/' : '\\');
|
||||||
//try to find automatically the trunk directory where are placed the RBAC and Gulliver directories
|
|
||||||
//in a normal installation you don't need to change it.
|
|
||||||
|
|
||||||
array_pop($docuroot);
|
|
||||||
|
|
||||||
$pathTrunk = implode(PATH_SEP, $docuroot) . PATH_SEP;
|
|
||||||
|
|
||||||
array_pop($docuroot);
|
|
||||||
|
|
||||||
$pathOutTrunk = implode(PATH_SEP, $docuroot) . PATH_SEP;
|
|
||||||
|
|
||||||
//to do: check previous algorith for Windows $pathTrunk = "c:/home/";
|
|
||||||
|
|
||||||
define('PATH_HOME', $pathHome);
|
define('PATH_HOME', $pathHome);
|
||||||
define('PATH_TRUNK', $pathTrunk);
|
define('PATH_TRUNK', $pathTrunk);
|
||||||
define('PATH_OUTTRUNK', $pathOutTrunk);
|
define('PATH_OUTTRUNK', $pathOutTrunk);
|
||||||
|
|
||||||
|
define('PATH_CLASSES', PATH_HOME . 'engine' . PATH_SEP . 'classes' . PATH_SEP);
|
||||||
|
|
||||||
|
define('SYS_LANG', 'en');
|
||||||
|
|
||||||
require_once(PATH_HOME . 'engine' . PATH_SEP . 'config' . PATH_SEP . 'paths.php');
|
require_once(PATH_HOME . 'engine' . PATH_SEP . 'config' . PATH_SEP . 'paths.php');
|
||||||
require_once PATH_TRUNK . "framework/src/Maveriks/Util/ClassLoader.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 = \Maveriks\Util\ClassLoader::getInstance();
|
||||||
$classLoader->add(PATH_TRUNK . "framework" . PATH_SEP . "src" . PATH_SEP, "Maveriks");
|
$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, 'ProcessMaker');
|
||||||
$classLoader->add(PATH_TRUNK . "workflow" . PATH_SEP . "engine" . PATH_SEP . "src" . PATH_SEP);
|
$classLoader->add(PATH_TRUNK . 'workflow' . PATH_SEP . 'engine' . PATH_SEP . 'src' . PATH_SEP);
|
||||||
|
|
||||||
//Add vendors to autoloader
|
//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 . '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->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->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);
|
$classLoader->addModelClassPath(PATH_TRUNK . 'workflow' . PATH_SEP . 'engine' . PATH_SEP . 'classes' . PATH_SEP . 'model' . PATH_SEP);
|
||||||
|
|
||||||
//Load classes
|
//Load classes
|
||||||
G::LoadThirdParty('pear/json', 'class.json');
|
G::LoadThirdParty('pear/json', 'class.json');
|
||||||
@@ -76,358 +80,109 @@ if (!defined('PATH_HOME')) {
|
|||||||
G::LoadSystem('xmlformExtension');
|
G::LoadSystem('xmlformExtension');
|
||||||
G::LoadSystem('form');
|
G::LoadSystem('form');
|
||||||
G::LoadSystem('menu');
|
G::LoadSystem('menu');
|
||||||
G::LoadSystem("xmlMenu");
|
G::LoadSystem('xmlMenu');
|
||||||
G::LoadSystem('dvEditor');
|
G::LoadSystem('dvEditor');
|
||||||
G::LoadSystem('table');
|
G::LoadSystem('table');
|
||||||
G::LoadSystem('pagedTable');
|
G::LoadSystem('pagedTable');
|
||||||
G::LoadClass('system');
|
G::LoadClass('system');
|
||||||
require_once ( "propel/Propel.php" );
|
|
||||||
require_once ( "creole/Creole.php" );
|
|
||||||
|
|
||||||
$config = System::getSystemConfiguration();
|
require_once('propel/Propel.php');
|
||||||
|
require_once('creole/Creole.php');
|
||||||
|
|
||||||
$e_all = defined('E_DEPRECATED') ? E_ALL & ~E_DEPRECATED : E_ALL;
|
$arraySystemConfiguration = System::getSystemConfiguration('', '', $workspace);
|
||||||
$e_all = defined('E_STRICT') ? $e_all & ~E_STRICT : $e_all;
|
|
||||||
$e_all = $config['debug'] ? $e_all : $e_all & ~E_NOTICE;
|
$e_all = (defined('E_DEPRECATED'))? E_ALL & ~E_DEPRECATED : E_ALL;
|
||||||
|
$e_all = (defined('E_STRICT'))? $e_all & ~E_STRICT : $e_all;
|
||||||
|
$e_all = ($arraySystemConfiguration['debug'])? $e_all : $e_all & ~E_NOTICE;
|
||||||
|
|
||||||
G::LoadSystem('inputfilter');
|
|
||||||
$filter = new InputFilter();
|
|
||||||
$config['debug'] = $filter->validateInput($config['debug']);
|
|
||||||
$config['memory_limit'] = $filter->validateInput($config['memory_limit']);
|
|
||||||
$config['wsdl_cache'] = $filter->validateInput($config['wsdl_cache'],'int');
|
|
||||||
$config['time_zone'] = $filter->validateInput($config['time_zone']);
|
|
||||||
//Do not change any of these settings directly, use env.ini instead
|
//Do not change any of these settings directly, use env.ini instead
|
||||||
ini_set('display_errors', $config['debug']);
|
ini_set('display_errors', $arraySystemConfiguration['debug']);
|
||||||
ini_set('error_reporting', $e_all);
|
ini_set('error_reporting', $e_all);
|
||||||
ini_set('short_open_tag', 'On');
|
ini_set('short_open_tag', 'On');
|
||||||
ini_set('default_charset', "UTF-8");
|
ini_set('default_charset', 'UTF-8');
|
||||||
ini_set('memory_limit', $config['memory_limit']);
|
//ini_set('memory_limit', $arraySystemConfiguration['memory_limit']);
|
||||||
ini_set('soap.wsdl_cache_enabled', $config['wsdl_cache']);
|
ini_set('soap.wsdl_cache_enabled', $arraySystemConfiguration['wsdl_cache']);
|
||||||
ini_set('date.timezone', $config['time_zone']);
|
ini_set('date.timezone', $arraySystemConfiguration['time_zone']);
|
||||||
|
|
||||||
define ('DEBUG_SQL_LOG', $config['debug_sql']);
|
define('DEBUG_SQL_LOG', $arraySystemConfiguration['debug_sql']);
|
||||||
define ('DEBUG_TIME_LOG', $config['debug_time']);
|
define('DEBUG_TIME_LOG', $arraySystemConfiguration['debug_time']);
|
||||||
define ('DEBUG_CALENDAR_LOG', $config['debug_calendar']);
|
define('DEBUG_CALENDAR_LOG', $arraySystemConfiguration['debug_calendar']);
|
||||||
define ('MEMCACHED_ENABLED', $config['memcached']);
|
define('MEMCACHED_ENABLED', $arraySystemConfiguration['memcached']);
|
||||||
define ('MEMCACHED_SERVER', $config['memcached_server']);
|
define('MEMCACHED_SERVER', $arraySystemConfiguration['memcached_server']);
|
||||||
define ('TIME_ZONE', $config['time_zone']);
|
define('TIME_ZONE', ini_get('date.timezone'));
|
||||||
}
|
|
||||||
|
|
||||||
//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);
|
//define('PATH_GULLIVER_HOME', PATH_TRUNK . 'gulliver' . PATH_SEP);
|
||||||
|
|
||||||
spl_autoload_register(array('Bootstrap', 'autoloadClass'));
|
spl_autoload_register(['Bootstrap', 'autoloadClass']);
|
||||||
|
|
||||||
//DATABASE propel classes used in 'Cases' Options
|
//DATABASE propel classes used in 'Cases' Options
|
||||||
Bootstrap::registerClass('Entity_Base', PATH_HOME . "engine/classes/entities/Base.php");
|
Bootstrap::registerClass('AuthenticationSourcePeer', PATH_RBAC . 'model' . PATH_SEP . 'AuthenticationSourcePeer.php');
|
||||||
|
Bootstrap::registerClass('BaseAuthenticationSource', PATH_RBAC . 'model' . PATH_SEP . 'om' . PATH_SEP . 'BaseAuthenticationSource.php');
|
||||||
|
Bootstrap::registerClass('AuthenticationSource', PATH_RBAC . 'model' . PATH_SEP . 'AuthenticationSource.php');
|
||||||
|
Bootstrap::registerClass('RolesPeer', PATH_RBAC . 'model' . PATH_SEP . 'RolesPeer.php');
|
||||||
|
Bootstrap::registerClass('BaseRoles', PATH_RBAC . 'model' . PATH_SEP . 'om' . PATH_SEP . 'BaseRoles.php');
|
||||||
|
Bootstrap::registerClass('Roles', PATH_RBAC . 'model' . PATH_SEP . 'Roles.php');
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseContent', PATH_HOME . "engine/classes/model/om/BaseContent.php");
|
require_once(PATH_RBAC . 'model' . PATH_SEP . 'UsersRolesPeer.php');
|
||||||
Bootstrap::registerClass('Content', PATH_HOME . "engine/classes/model/Content.php");
|
require_once(PATH_RBAC . 'model' . PATH_SEP . 'om' . PATH_SEP . 'BaseUsersRoles.php');
|
||||||
Bootstrap::registerClass('BaseContentPeer', PATH_HOME . "engine/classes/model/om/BaseContentPeer.php");
|
require_once(PATH_RBAC . 'model' . PATH_SEP . 'UsersRoles.php');
|
||||||
Bootstrap::registerClass('ContentPeer', PATH_HOME . "engine/classes/model/ContentPeer.php");
|
|
||||||
Bootstrap::registerClass('BaseApplication', PATH_HOME . "engine/classes/model/om/BaseApplication.php");
|
|
||||||
Bootstrap::registerClass('ApplicationPeer', PATH_HOME . "engine/classes/model/ApplicationPeer.php");
|
|
||||||
Bootstrap::registerClass('Application', PATH_HOME . "engine/classes/model/Application.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseAppDelegation', PATH_HOME . "engine/classes/model/om/BaseAppDelegation.php");
|
Bootstrap::registerClass('PMLicensedFeatures', PATH_CLASSES . 'class.licensedFeatures.php');
|
||||||
Bootstrap::registerClass('BaseHoliday', PATH_HOME . "engine/classes/model/om/BaseHoliday.php");
|
Bootstrap::registerClass('serverConf', PATH_CLASSES . 'class.serverConfiguration.php');
|
||||||
Bootstrap::registerClass('BaseHolidayPeer', PATH_HOME . "engine/classes/model/om/BaseHolidayPeer.php");
|
Bootstrap::registerClass('calendar', PATH_CLASSES . 'class.calendar.php');
|
||||||
Bootstrap::registerClass('BaseTask', PATH_HOME . "engine/classes/model/om/BaseTask.php");
|
Bootstrap::registerClass('groups', PATH_CLASSES . 'class.groups.php');
|
||||||
Bootstrap::registerClass('BaseTaskPeer', PATH_HOME . "engine/classes/model/om/BaseTaskPeer.php");
|
|
||||||
Bootstrap::registerClass('HolidayPeer', PATH_HOME . "engine/classes/model/HolidayPeer.php");
|
Bootstrap::registerClass('Entity_Base', PATH_HOME . 'engine/classes/entities/Base.php');
|
||||||
Bootstrap::registerClass('Holiday', PATH_HOME . "engine/classes/model/Holiday.php");
|
Bootstrap::registerClass('Entity_AppSolrQueue', PATH_HOME . 'engine/classes/entities/AppSolrQueue.php');
|
||||||
Bootstrap::registerClass('Task', PATH_HOME . "engine/classes/model/Task.php");
|
Bootstrap::registerClass('XMLDB', PATH_HOME . 'engine/classes/class.xmlDb.php');
|
||||||
Bootstrap::registerClass('TaskPeer', PATH_HOME . "engine/classes/model/TaskPeer.php");
|
Bootstrap::registerClass('dynaFormHandler', PATH_GULLIVER . 'class.dynaformhandler.php');
|
||||||
Bootstrap::registerClass('dates', PATH_HOME . "engine/classes/class.dates.php");
|
Bootstrap::registerClass('DynaFormField', PATH_HOME . 'engine/classes/class.dynaFormField.php');
|
||||||
Bootstrap::registerClass('calendar', PATH_HOME . "engine/classes/class.calendar.php");
|
Bootstrap::registerClass('SolrRequestData', PATH_HOME . 'engine/classes/entities/SolrRequestData.php');
|
||||||
Bootstrap::registerClass('AppDelegation', PATH_HOME . "engine/classes/model/AppDelegation.php");
|
Bootstrap::registerClass('SolrUpdateDocument', PATH_HOME . 'engine/classes/entities/SolrUpdateDocument.php');
|
||||||
Bootstrap::registerClass('BaseAppDelegationPeer',PATH_HOME . "engine/classes/model/om/BaseAppDelegationPeer.php");
|
Bootstrap::registerClass('Xml_Node', PATH_GULLIVER . 'class.xmlDocument.php');
|
||||||
Bootstrap::registerClass('AppDelegationPeer', PATH_HOME . "engine/classes/model/AppDelegationPeer.php");
|
Bootstrap::registerClass('wsResponse', PATH_HOME . 'engine' . PATH_SEP . 'classes' . PATH_SEP . 'class.wsResponse.php');
|
||||||
Bootstrap::registerClass('BaseAppDelay', PATH_HOME . "engine/classes/model/om/BaseAppDelay.php");
|
|
||||||
Bootstrap::registerClass('AppDelayPeer', PATH_HOME . "engine/classes/model/AppDelayPeer.php");
|
|
||||||
Bootstrap::registerClass('AppDelay', PATH_HOME . "engine/classes/model/AppDelay.php");
|
|
||||||
Bootstrap::registerClass('BaseAdditionalTables',PATH_HOME . "engine/classes/model/om/BaseAdditionalTables.php");
|
|
||||||
Bootstrap::registerClass('AdditionalTables', PATH_HOME . "engine/classes/model/AdditionalTables.php");
|
|
||||||
Bootstrap::registerClass('BaseAppCacheView', PATH_HOME . "engine/classes/model/om/BaseAppCacheView.php");
|
|
||||||
Bootstrap::registerClass('AppCacheView', PATH_HOME . "engine/classes/model/AppCacheView.php");
|
|
||||||
Bootstrap::registerClass('BaseAppCacheViewPeer',PATH_HOME . "engine/classes/model/om/BaseAppCacheViewPeer.php");
|
|
||||||
Bootstrap::registerClass('AppCacheViewPeer', PATH_HOME . "engine/classes/model/AppCacheViewPeer.php");
|
|
||||||
|
|
||||||
/*----------------------------------********---------------------------------*/
|
/*----------------------------------********---------------------------------*/
|
||||||
Bootstrap::registerClass('BaseAppTimeoutActionExecuted', PATH_HOME . "engine/classes/model/om/BaseAppTimeoutActionExecuted.php");
|
Bootstrap::registerClass('dashboards', PATH_HOME . 'engine/classes/class.dashboards.php');
|
||||||
Bootstrap::registerClass('AppTimeoutActionExecuted', PATH_HOME . "engine/classes/model/AppTimeoutActionExecuted.php");
|
|
||||||
Bootstrap::registerClass('BaseAppTimeoutActionExecutedPeer',PATH_HOME . "engine/classes/model/om/BaseAppTimeoutActionExecutedPeer.php");
|
|
||||||
Bootstrap::registerClass('AppTimeoutActionExecutedPeer', PATH_HOME . "engine/classes/model/AppTimeoutActionExecutedPeer.php");
|
|
||||||
/*----------------------------------********---------------------------------*/
|
/*----------------------------------********---------------------------------*/
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseInputDocument', PATH_HOME . "engine/classes/model/om/BaseInputDocument.php");
|
G::LoadClass('processes');
|
||||||
Bootstrap::registerClass('InputDocument', PATH_HOME . "engine/classes/model/InputDocument.php");
|
G::LoadClass('derivation');
|
||||||
Bootstrap::registerClass('BaseAppDocument', PATH_HOME . "engine/classes/model/om/BaseAppDocument.php");
|
G::LoadClass('dates'); //Load Criteria
|
||||||
Bootstrap::registerClass('AppDocument', PATH_HOME . "engine/classes/model/AppDocument.php");
|
|
||||||
Bootstrap::registerClass('AppDocumentPeer', PATH_HOME . "engine/classes/model/AppDocumentPeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseAppEvent', PATH_HOME . "engine/classes/model/om/BaseAppEvent.php");
|
//Set variables
|
||||||
Bootstrap::registerClass('AppEvent', PATH_HOME . "engine/classes/model/AppEvent.php");
|
|
||||||
Bootstrap::registerClass('AppEventPeer', PATH_HOME . "engine/classes/model/AppEventPeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseAppHistory', PATH_HOME . "engine/classes/model/om/BaseAppHistory.php");
|
|
||||||
Bootstrap::registerClass('AppHistory', PATH_HOME . "engine/classes/model/AppHistory.php");
|
|
||||||
Bootstrap::registerClass('AppHistoryPeer', PATH_HOME . "engine/classes/model/AppHistoryPeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseAppFolder', PATH_HOME . "engine/classes/model/om/BaseAppFolder.php");
|
|
||||||
Bootstrap::registerClass('AppFolder', PATH_HOME . "engine/classes/model/AppFolder.php");
|
|
||||||
Bootstrap::registerClass('AppFolderPeer', PATH_HOME . "engine/classes/model/AppFolderPeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseAppMessage', PATH_HOME . "engine/classes/model/om/BaseAppMessage.php");
|
|
||||||
Bootstrap::registerClass('AppMessage', PATH_HOME . "engine/classes/model/AppMessage.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseAppMessagePeer', PATH_HOME . "engine/classes/model/om/BaseAppMessagePeer.php");
|
|
||||||
Bootstrap::registerClass('AppMessagePeer', PATH_HOME . "engine/classes/model/AppMessagePeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseAppNotesPeer', PATH_HOME . "engine/classes/model/om/BaseAppNotesPeer.php");
|
|
||||||
Bootstrap::registerClass('AppNotesPeer', PATH_HOME . "engine/classes/model/AppNotesPeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseAppNotes', PATH_HOME . "engine/classes/model/om/BaseAppNotes.php");
|
|
||||||
Bootstrap::registerClass('AppNotes', PATH_HOME . "engine/classes/model/AppNotes.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseAppOwner', PATH_HOME . "engine/classes/model/om/BaseAppOwner.php");
|
|
||||||
Bootstrap::registerClass('AppOwner', PATH_HOME . "engine/classes/model/AppOwner.php");
|
|
||||||
Bootstrap::registerClass('AppOwnerPeer', PATH_HOME . "engine/classes/model/AppOwnerPeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseAppSolrQueue', PATH_HOME . "engine/classes/model/om/BaseAppSolrQueue.php");
|
|
||||||
Bootstrap::registerClass('Entity_AppSolrQueue', PATH_HOME . "engine/classes/entities/AppSolrQueue.php");
|
|
||||||
Bootstrap::registerClass('AppSolrQueue', PATH_HOME . "engine/classes/model/AppSolrQueue.php");
|
|
||||||
Bootstrap::registerClass('AppSolrQueuePeer', PATH_HOME . "engine/classes/model/AppSolrQueuePeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseAppThread', PATH_HOME . "engine/classes/model/om/BaseAppThread.php");
|
|
||||||
Bootstrap::registerClass('AppThread', PATH_HOME . "engine/classes/model/AppThread.php");
|
|
||||||
Bootstrap::registerClass('AppThreadPeer', PATH_HOME . "engine/classes/model/AppThreadPeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseCaseScheduler', PATH_HOME . "engine/classes/model/om/BaseCaseScheduler.php");
|
|
||||||
Bootstrap::registerClass('CaseScheduler', PATH_HOME . "engine/classes/model/CaseScheduler.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseCaseSchedulerPeer',PATH_HOME . "engine/classes/model/om/BaseCaseSchedulerPeer.php");
|
|
||||||
Bootstrap::registerClass('CaseSchedulerPeer', PATH_HOME . "engine/classes/model/CaseSchedulerPeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseCaseTracker', PATH_HOME . "engine/classes/model/om/BaseCaseTracker.php");
|
|
||||||
Bootstrap::registerClass('CaseTracker', PATH_HOME . "engine/classes/model/CaseTracker.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseCaseTrackerPeer', PATH_HOME . "engine/classes/model/om/BaseCaseTrackerPeer.php");
|
|
||||||
Bootstrap::registerClass('CaseTrackerPeer', PATH_HOME . "engine/classes/model/CaseTrackerPeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseCaseTrackerObject',PATH_HOME . "engine/classes/model/om/BaseCaseTrackerObject.php");
|
|
||||||
Bootstrap::registerClass('CaseTrackerObject', PATH_HOME . "engine/classes/model/CaseTrackerObject.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseCaseTrackerObjectPeer',PATH_HOME . "engine/classes/model/om/BaseCaseTrackerObjectPeer.php");
|
|
||||||
Bootstrap::registerClass('CaseTrackerObjectPeer', PATH_HOME . "engine/classes/model/CaseTrackerObjectPeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseDbSource', PATH_HOME . "engine/classes/model/om/BaseDbSource.php");
|
|
||||||
Bootstrap::registerClass('DbSource', PATH_HOME . "engine/classes/model/DbSource.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('XMLDB', PATH_HOME . "engine/classes/class.xmlDb.php");
|
|
||||||
Bootstrap::registerClass('dynaFormHandler', PATH_GULLIVER . "class.dynaformhandler.php");
|
|
||||||
Bootstrap::registerClass('DynaFormField', PATH_HOME . "engine/classes/class.dynaFormField.php");
|
|
||||||
Bootstrap::registerClass('BaseDynaform', PATH_HOME . "engine/classes/model/om/BaseDynaform.php");
|
|
||||||
Bootstrap::registerClass('Dynaform', PATH_HOME . "engine/classes/model/Dynaform.php");
|
|
||||||
Bootstrap::registerClass('DynaformPeer', PATH_HOME . "engine/classes/model/DynaformPeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseEvent', PATH_HOME . "engine/classes/model/om/BaseEvent.php");
|
|
||||||
Bootstrap::registerClass('Event', PATH_HOME . "engine/classes/model/Event.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseEventPeer', PATH_HOME . "engine/classes/model/om/BaseEventPeer.php");
|
|
||||||
Bootstrap::registerClass('EventPeer', PATH_HOME . "engine/classes/model/EventPeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseFields', PATH_HOME . "engine/classes/model/om/BaseFields.php");
|
|
||||||
Bootstrap::registerClass('Fields', PATH_HOME . "engine/classes/model/Fields.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseGateway', PATH_HOME . "engine/classes/model/om/BaseGateway.php");
|
|
||||||
Bootstrap::registerClass('Gateway', PATH_HOME . "engine/classes/model/Gateway.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseGroupUser', PATH_HOME . "engine/classes/model/om/BaseGroupUser.php");
|
|
||||||
Bootstrap::registerClass('Groupwf', PATH_HOME . "engine/classes/model/Groupwf.php");
|
|
||||||
Bootstrap::registerClass('GroupUser', PATH_HOME . "engine/classes/model/GroupUser.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseGroupUserPeer', PATH_HOME . "engine/classes/model/om/BaseGroupUserPeer.php");
|
|
||||||
Bootstrap::registerClass('GroupUserPeer', PATH_HOME . "engine/classes/model/GroupUserPeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseGroupwfPeer', PATH_HOME . "engine/classes/model/om/BaseGroupwfPeer.php");
|
|
||||||
Bootstrap::registerClass('GroupwfPeer', PATH_HOME . "engine/classes/model/GroupwfPeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseInputDocumentPeer',PATH_HOME . 'engine/classes/model/om/BaseInputDocumentPeer.php');
|
|
||||||
Bootstrap::registerClass('InputDocumentPeer', PATH_HOME . 'engine/classes/model/InputDocumentPeer.php');
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseIsoCountry', PATH_HOME . "engine/classes/model/om/BaseIsoCountry.php");
|
|
||||||
Bootstrap::registerClass('IsoCountry', PATH_HOME . "engine/classes/model/IsoCountry.php");
|
|
||||||
Bootstrap::registerClass('BaseTranslation', PATH_HOME . "engine/classes/model/om/BaseTranslation.php");
|
|
||||||
Bootstrap::registerClass('Translation', PATH_HOME . "engine/classes/model/Translation.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseLogCasesScheduler',PATH_HOME . "engine/classes/model/om/BaseLogCasesScheduler.php");
|
|
||||||
Bootstrap::registerClass('LogCasesScheduler', PATH_HOME . "engine/classes/model/LogCasesScheduler.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseObjectPermission',PATH_HOME . "engine/classes/model/om/BaseObjectPermission.php");
|
|
||||||
Bootstrap::registerClass('ObjectPermission', PATH_HOME . "engine/classes/model/ObjectPermission.php");
|
|
||||||
Bootstrap::registerClass('ObjectPermissionPeer',PATH_HOME . "engine/classes/model/ObjectPermissionPeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseOutputDocument', PATH_HOME . "engine/classes/model/om/BaseOutputDocument.php");
|
|
||||||
Bootstrap::registerClass('OutputDocument', PATH_HOME . "engine/classes/model/OutputDocument.php");
|
|
||||||
Bootstrap::registerClass('OutputDocumentPeer', PATH_HOME . "engine/classes/model/OutputDocumentPeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseProcess', PATH_HOME . "engine/classes/model/om/BaseProcess.php");
|
|
||||||
Bootstrap::registerClass('BaseProcessCategory', PATH_HOME . "engine/classes/model/om/BaseProcessCategory.php");
|
|
||||||
Bootstrap::registerClass('ProcessCategory', PATH_HOME . "engine/classes/model/ProcessCategory.php");
|
|
||||||
Bootstrap::registerClass('ProcessCategoryPeer', PATH_HOME . "engine/classes/model/ProcessCategoryPeer.php");
|
|
||||||
Bootstrap::registerClass('ProcessPeer', PATH_HOME . "engine/classes/model/ProcessPeer.php");
|
|
||||||
Bootstrap::registerClass('Process', PATH_HOME . "engine/classes/model/Process.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseProcessUser', PATH_HOME . "engine/classes/model/om/BaseProcessUser.php");
|
|
||||||
Bootstrap::registerClass('ProcessUser', PATH_HOME . "engine/classes/model/ProcessUser.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseProcessUserPeer', PATH_HOME . "engine/classes/model/om/BaseProcessUserPeer.php");
|
|
||||||
Bootstrap::registerClass('ProcessUserPeer', PATH_HOME . "engine/classes/model/ProcessUserPeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseReportTable', PATH_HOME . "engine/classes/model/om/BaseReportTable.php");
|
|
||||||
Bootstrap::registerClass('ReportTable', PATH_HOME . "engine/classes/model/ReportTable.php");
|
|
||||||
Bootstrap::registerClass('ReportTablePeer', PATH_HOME . "engine/classes/model/ReportTablePeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseReportVar', PATH_HOME . "engine/classes/model/om/BaseReportVar.php");
|
|
||||||
Bootstrap::registerClass('ReportVar', PATH_HOME . "engine/classes/model/ReportVar.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseReportVarPeer', PATH_HOME . "engine/classes/model/om/BaseReportVarPeer.php");
|
|
||||||
Bootstrap::registerClass('ReportVarPeer', PATH_HOME . "engine/classes/model/ReportVarPeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseRoute', PATH_HOME . "engine/classes/model/om/BaseRoute.php");
|
|
||||||
Bootstrap::registerClass('Route', PATH_HOME . "engine/classes/model/Route.php");
|
|
||||||
Bootstrap::registerClass('RoutePeer', PATH_HOME . "engine/classes/model/RoutePeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseStep', PATH_HOME . "engine/classes/model/om/BaseStep.php");
|
|
||||||
Bootstrap::registerClass('Step', PATH_HOME . "engine/classes/model/Step.php");
|
|
||||||
Bootstrap::registerClass('StepPeer', PATH_HOME . "engine/classes/model/StepPeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseStepSupervisor', PATH_HOME . "engine/classes/model/om/BaseStepSupervisor.php");
|
|
||||||
Bootstrap::registerClass('StepSupervisor', PATH_HOME . "engine/classes/model/StepSupervisor.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseStepSupervisorPeer',PATH_HOME . "engine/classes/model/om/BaseStepSupervisorPeer.php");
|
|
||||||
Bootstrap::registerClass('StepSupervisorPeer', PATH_HOME . "engine/classes/model/StepSupervisorPeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseStepTrigger', PATH_HOME . "engine/classes/model/om/BaseStepTrigger.php");
|
|
||||||
Bootstrap::registerClass('StepTrigger', PATH_HOME . "engine/classes/model/StepTrigger.php");
|
|
||||||
Bootstrap::registerClass('StepTriggerPeer', PATH_HOME . "engine/classes/model/StepTriggerPeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('SolrRequestData', PATH_HOME . "engine/classes/entities/SolrRequestData.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('SolrUpdateDocument', PATH_HOME . "engine/classes/entities/SolrUpdateDocument.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseSwimlanesElements',PATH_HOME . "engine/classes/model/om/BaseSwimlanesElements.php");
|
|
||||||
Bootstrap::registerClass('SwimlanesElements', PATH_HOME . "engine/classes/model/SwimlanesElements.php");
|
|
||||||
Bootstrap::registerClass('BaseSwimlanesElementsPeer',PATH_HOME ."engine/classes/model/om/BaseSwimlanesElementsPeer.php");
|
|
||||||
Bootstrap::registerClass('SwimlanesElementsPeer',PATH_HOME . "engine/classes/model/SwimlanesElementsPeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseSubApplication', PATH_HOME . "engine/classes/model/om/BaseSubApplication.php");
|
|
||||||
Bootstrap::registerClass('SubApplication', PATH_HOME . "engine/classes/model/SubApplication.php");
|
|
||||||
Bootstrap::registerClass('SubApplicationPeer', PATH_HOME . "engine/classes/model/SubApplicationPeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseSubProcess', PATH_HOME . "engine/classes/model/om/BaseSubProcess.php");
|
|
||||||
Bootstrap::registerClass('SubProcess', PATH_HOME . "engine/classes/model/SubProcess.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseSubProcessPeer', PATH_HOME . "engine/classes/model/om/BaseSubProcessPeer.php");
|
|
||||||
Bootstrap::registerClass('SubProcessPeer', PATH_HOME . "engine/classes/model/SubProcessPeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseTask', PATH_HOME . "engine/classes/model/om/BaseTask.php");
|
|
||||||
Bootstrap::registerClass('Task', PATH_HOME . "engine/classes/model/Task.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseTaskUser', PATH_HOME . "engine/classes/model/om/BaseTaskUser.php");
|
|
||||||
Bootstrap::registerClass('TaskUserPeer', PATH_HOME . "engine/classes/model/TaskUserPeer.php");
|
|
||||||
Bootstrap::registerClass('TaskUser', PATH_HOME . "engine/classes/model/TaskUser.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseTriggers', PATH_HOME . "engine/classes/model/om/BaseTriggers.php");
|
|
||||||
Bootstrap::registerClass('Triggers', PATH_HOME . "engine/classes/model/Triggers.php");
|
|
||||||
Bootstrap::registerClass('BaseTriggersPeer', PATH_HOME . "engine/classes/model/om/BaseTriggersPeer.php");
|
|
||||||
Bootstrap::registerClass('TriggersPeer', PATH_HOME . "engine/classes/model/TriggersPeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('BaseUsers', PATH_HOME . "engine/classes/model/om/BaseUsers.php");
|
|
||||||
Bootstrap::registerClass('IsoCountry', PATH_HOME . "engine/classes/model/IsoCountry.php");
|
|
||||||
Bootstrap::registerClass('BaseIsoSubdivision', PATH_HOME . "engine/classes/model/om/BaseIsoSubdivision.php");
|
|
||||||
Bootstrap::registerClass('IsoSubdivision', PATH_HOME . "engine/classes/model/IsoSubdivision.php");
|
|
||||||
Bootstrap::registerClass('BaseIsoLocation', PATH_HOME . "engine/classes/model/om/BaseIsoLocation.php");
|
|
||||||
Bootstrap::registerClass('IsoLocation', PATH_HOME . "engine/classes/model/IsoLocation.php");
|
|
||||||
Bootstrap::registerClass('Users', PATH_HOME . "engine/classes/model/Users.php");
|
|
||||||
Bootstrap::registerClass('UsersPeer', PATH_HOME . "engine/classes/model/UsersPeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('Xml_Node', PATH_GULLIVER . "class.xmlDocument.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass('wsResponse', PATH_HOME . "engine/classes/class.wsResponse.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass("PMLicensedFeatures", PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "class.licensedFeatures.php");
|
|
||||||
Bootstrap::registerClass("AddonsManagerPeer", PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "AddonsManagerPeer.php");
|
|
||||||
/*----------------------------------********---------------------------------*/
|
|
||||||
Bootstrap::registerClass('dashboards', PATH_HOME . "engine/classes/class.dashboards.php");
|
|
||||||
/*----------------------------------********---------------------------------*/
|
|
||||||
|
|
||||||
$arrayClass = array(
|
|
||||||
"BpmnProject",
|
|
||||||
|
|
||||||
"Configuration",
|
|
||||||
"EmailServer",
|
|
||||||
"Language",
|
|
||||||
"ListInbox",
|
|
||||||
"ListMyInbox",
|
|
||||||
"ListPaused",
|
|
||||||
"ListParticipatedLast",
|
|
||||||
"ListParticipatedHistory",
|
|
||||||
"AbeConfiguration"
|
|
||||||
);
|
|
||||||
|
|
||||||
foreach ($arrayClass as $value) {
|
|
||||||
Bootstrap::registerClass("Base" . $value, PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "om" . PATH_SEP . "Base" . $value . ".php");
|
|
||||||
Bootstrap::registerClass($value, PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . $value . ".php");
|
|
||||||
Bootstrap::registerClass("Base" . $value . "Peer", PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "om" . PATH_SEP . "Base" . $value . "Peer.php");
|
|
||||||
Bootstrap::registerClass($value . "Peer", PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . $value . "Peer.php");
|
|
||||||
}
|
|
||||||
|
|
||||||
G::LoadClass("serverConfiguration");
|
|
||||||
G::LoadClass("dates"); //Load Criteria
|
|
||||||
|
|
||||||
/*----------------------------------********---------------------------------*/
|
|
||||||
global $dateInit;
|
|
||||||
global $dateFinish;
|
|
||||||
/*----------------------------------********---------------------------------*/
|
|
||||||
|
|
||||||
if (!defined('SYS_SYS')) {
|
|
||||||
$sObject = $argv[1];
|
|
||||||
$sNow = $argv[2];
|
|
||||||
$dateSystem = $argv[3];
|
|
||||||
/*----------------------------------********---------------------------------*/
|
/*----------------------------------********---------------------------------*/
|
||||||
$dateInit = null;
|
$dateInit = null;
|
||||||
$dateFinish = null;
|
$dateFinish = null;
|
||||||
/*----------------------------------********---------------------------------*/
|
/*----------------------------------********---------------------------------*/
|
||||||
$sFilter = '';
|
|
||||||
|
|
||||||
for ($i = 4; $i <= count($argv) - 1; $i++) {
|
$argvx = '';
|
||||||
|
|
||||||
|
for ($i = 8; $i <= count($argv) - 1; $i++) {
|
||||||
/*----------------------------------********---------------------------------*/
|
/*----------------------------------********---------------------------------*/
|
||||||
if (strpos($argv[$i], "+init-date") !== false) {
|
if (strpos($argv[$i], '+init-date') !== false) {
|
||||||
$dateInit = substr($argv[$i], 10);
|
$dateInit = substr($argv[$i], 10);
|
||||||
} else if (strpos($argv[$i], "+finish-date") !== false) {
|
} else if (strpos($argv[$i], '+finish-date') !== false) {
|
||||||
$dateFinish = substr($argv[$i], 12);
|
$dateFinish = substr($argv[$i], 12);
|
||||||
} else {
|
} else {
|
||||||
/*----------------------------------********---------------------------------*/
|
/*----------------------------------********---------------------------------*/
|
||||||
$sFilter .= ' ' . $argv[$i];
|
$argvx = $argvx . (($argvx != '')? ' ' : '') . $argv[$i];
|
||||||
/*----------------------------------********---------------------------------*/
|
/*----------------------------------********---------------------------------*/
|
||||||
}
|
}
|
||||||
/*----------------------------------********---------------------------------*/
|
/*----------------------------------********---------------------------------*/
|
||||||
}
|
}
|
||||||
|
|
||||||
$oDirectory = dir(PATH_DB);
|
//Workflow
|
||||||
|
saveLog('main', 'action', 'checking folder ' . PATH_DB . $workspace);
|
||||||
|
|
||||||
if (is_dir(PATH_DB . $sObject)) {
|
if (is_dir(PATH_DB . $workspace) && file_exists(PATH_DB . $workspace . PATH_SEP . 'db.php')) {
|
||||||
saveLog('main', 'action', "checking folder " . PATH_DB . $sObject);
|
define('SYS_SYS', $workspace);
|
||||||
|
|
||||||
if (file_exists(PATH_DB . $sObject . PATH_SEP . 'db.php')) {
|
|
||||||
define('SYS_SYS', $sObject);
|
|
||||||
|
|
||||||
include_once(PATH_HOME . 'engine' . PATH_SEP . 'config' . PATH_SEP . 'paths_installed.php');
|
include_once(PATH_HOME . 'engine' . PATH_SEP . 'config' . PATH_SEP . 'paths_installed.php');
|
||||||
include_once(PATH_HOME . 'engine' . PATH_SEP . 'config' . PATH_SEP . 'paths.php');
|
include_once(PATH_HOME . 'engine' . PATH_SEP . 'config' . PATH_SEP . 'paths.php');
|
||||||
|
|
||||||
//***************** PM Paths DATA **************************
|
//PM Paths DATA
|
||||||
define('PATH_DATA_SITE', PATH_DATA . 'sites/' . SYS_SYS . '/');
|
define('PATH_DATA_SITE', PATH_DATA . 'sites/' . SYS_SYS . '/');
|
||||||
define('PATH_DOCUMENT', PATH_DATA_SITE . 'files/');
|
define('PATH_DOCUMENT', PATH_DATA_SITE . 'files/');
|
||||||
define('PATH_DATA_MAILTEMPLATES', PATH_DATA_SITE . 'mailTemplates/');
|
define('PATH_DATA_MAILTEMPLATES', PATH_DATA_SITE . 'mailTemplates/');
|
||||||
@@ -444,31 +199,31 @@ if (!defined('SYS_SYS')) {
|
|||||||
define('SERVER_NAME', $SERVER_INFO['SERVER_NAME']);
|
define('SERVER_NAME', $SERVER_INFO['SERVER_NAME']);
|
||||||
define('SERVER_PORT', $SERVER_INFO['SERVER_PORT']);
|
define('SERVER_PORT', $SERVER_INFO['SERVER_PORT']);
|
||||||
} else {
|
} else {
|
||||||
eprintln("WARNING! No server info found!", 'red');
|
eprintln('WARNING! No server info found!', 'red');
|
||||||
}
|
}
|
||||||
|
|
||||||
//DB
|
//DB
|
||||||
$phpCode = "";
|
$phpCode = '';
|
||||||
|
|
||||||
$fileDb = fopen(PATH_DB . $sObject . PATH_SEP . "db.php", "r");
|
$fileDb = fopen(PATH_DB . $workspace . PATH_SEP . 'db.php', 'r');
|
||||||
|
|
||||||
if ($fileDb) {
|
if ($fileDb) {
|
||||||
while (!feof($fileDb)) {
|
while (!feof($fileDb)) {
|
||||||
$buffer = fgets($fileDb, 4096); //Read a line
|
$buffer = fgets($fileDb, 4096); //Read a line
|
||||||
|
|
||||||
$phpCode .= preg_replace("/define\s*\(\s*[\x22\x27](.*)[\x22\x27]\s*,\s*(\x22.*\x22|\x27.*\x27)\s*\)\s*;/i", "\$$1 = $2;", $buffer);
|
$phpCode .= preg_replace('/define\s*\(\s*[\x22\x27](.*)[\x22\x27]\s*,\s*(\x22.*\x22|\x27.*\x27)\s*\)\s*;/i', '$$1 = $2;', $buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
fclose($fileDb);
|
fclose($fileDb);
|
||||||
}
|
}
|
||||||
|
|
||||||
$phpCode = str_replace(array("<?php", "<?", "?>"), array("", "", ""), $phpCode);
|
$phpCode = str_replace(['<?php', '<?', '?>'], ['', '', ''], $phpCode);
|
||||||
|
|
||||||
eval($phpCode);
|
eval($phpCode);
|
||||||
|
|
||||||
$dsn = $DB_ADAPTER . "://" . $DB_USER . ":" . $DB_PASS . "@" . $DB_HOST . "/" . $DB_NAME;
|
$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;
|
$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;
|
$dsnRp = $DB_ADAPTER . '://' . $DB_REPORT_USER . ':' . $DB_REPORT_PASS . '@' . $DB_REPORT_HOST . '/' . $DB_REPORT_NAME;
|
||||||
|
|
||||||
switch ($DB_ADAPTER) {
|
switch ($DB_ADAPTER) {
|
||||||
case 'mysql':
|
case 'mysql':
|
||||||
@@ -483,6 +238,7 @@ if (!defined('SYS_SYS')) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$pro = [];
|
||||||
$pro['datasources']['workflow']['connection'] = $dsn;
|
$pro['datasources']['workflow']['connection'] = $dsn;
|
||||||
$pro['datasources']['workflow']['adapter'] = $DB_ADAPTER;
|
$pro['datasources']['workflow']['adapter'] = $DB_ADAPTER;
|
||||||
$pro['datasources']['rbac']['connection'] = $dsnRbac;
|
$pro['datasources']['rbac']['connection'] = $dsnRbac;
|
||||||
@@ -492,43 +248,68 @@ if (!defined('SYS_SYS')) {
|
|||||||
//$pro['datasources']['dbarray']['connection'] = 'dbarray://user:pass@localhost/pm_os';
|
//$pro['datasources']['dbarray']['connection'] = 'dbarray://user:pass@localhost/pm_os';
|
||||||
//$pro['datasources']['dbarray']['adapter'] = 'dbarray';
|
//$pro['datasources']['dbarray']['adapter'] = 'dbarray';
|
||||||
|
|
||||||
$oFile = fopen(PATH_CORE . 'config/_databases_.php', 'w');
|
$oFile = fopen(PATH_CORE . 'config' . PATH_SEP . '_databases_.php', 'w');
|
||||||
fwrite($oFile, '<?php global $pro; return $pro; ?>');
|
fwrite($oFile, '<?php global $pro; return $pro; ?>');
|
||||||
fclose($oFile);
|
fclose($oFile);
|
||||||
|
|
||||||
Propel::init(PATH_CORE . 'config/_databases_.php');
|
Propel::init(PATH_CORE . 'config' . PATH_SEP . '_databases_.php');
|
||||||
//Creole::registerDriver('dbarray', 'creole.contrib.DBArrayConnection');
|
//Creole::registerDriver('dbarray', 'creole.contrib.DBArrayConnection');
|
||||||
|
|
||||||
// enable rbac
|
//Enable RBAC
|
||||||
Bootstrap::LoadSystem( 'rbac' );
|
$rbac = &RBAC::getSingleton(PATH_DATA, session_id());
|
||||||
$RBAC = &RBAC::getSingleton( PATH_DATA, session_id() );
|
$rbac->sSystem = 'PROCESSMAKER';
|
||||||
$RBAC->sSystem = 'PROCESSMAKER';
|
|
||||||
|
|
||||||
eprintln("Processing workspace: " . $sObject, "green");
|
if (!defined('DB_ADAPTER')) {
|
||||||
|
define('DB_ADAPTER', $DB_ADAPTER);
|
||||||
|
}
|
||||||
|
|
||||||
|
eprintln('Processing workspace: ' . $workspace, 'green');
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
switch ($cronName) {
|
||||||
|
case 'cron':
|
||||||
processWorkspace();
|
processWorkspace();
|
||||||
} catch (Exception $e) {
|
break;
|
||||||
echo $e->getMessage();
|
case 'ldapcron':
|
||||||
|
require_once(PATH_HOME . 'engine' . PATH_SEP . 'classes' . PATH_SEP . 'class.ldapAdvanced.php');
|
||||||
|
require_once(PATH_HOME . 'engine' . PATH_SEP . 'methods' . PATH_SEP . 'services' . PATH_SEP . 'ldapadvanced.php');
|
||||||
|
|
||||||
eprintln("Problem in workspace: " . $sObject . " it was omitted.", "red");
|
$ldapadvancedClassCron = new ldapadvancedClassCron();
|
||||||
|
|
||||||
|
$ldapadvancedClassCron->executeCron(in_array('+debug', $argv));
|
||||||
|
break;
|
||||||
|
case 'messageeventcron':
|
||||||
|
$messageApplication = new \ProcessMaker\BusinessModel\MessageApplication();
|
||||||
|
|
||||||
|
$messageApplication->catchMessageEvent(true);
|
||||||
|
break;
|
||||||
|
case 'timereventcron':
|
||||||
|
$timerEvent = new \ProcessMaker\BusinessModel\TimerEvent();
|
||||||
|
|
||||||
|
$timerEvent->startContinueCaseByTimerEvent(date('Y-m-d H:i:s'), true);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} catch (Exception $e) {
|
||||||
|
echo $e->getMessage() . "\n";
|
||||||
|
|
||||||
|
eprintln('Problem in workspace: ' . $workspace . ' it was omitted.', 'red');
|
||||||
}
|
}
|
||||||
|
|
||||||
eprintln();
|
eprintln();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (file_exists(PATH_CORE . "config" . PATH_SEP . "_databases_.php")) {
|
if (file_exists(PATH_CORE . 'config' . PATH_SEP . '_databases_.php')) {
|
||||||
unlink(PATH_CORE . "config" . PATH_SEP . "_databases_.php");
|
unlink(PATH_CORE . 'config' . PATH_SEP . '_databases_.php');
|
||||||
}
|
}
|
||||||
} else {
|
} catch (Exception $e) {
|
||||||
processWorkspace();
|
echo $e->getMessage() . "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//Functions
|
||||||
function processWorkspace()
|
function processWorkspace()
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
@@ -564,11 +345,11 @@ function processWorkspace()
|
|||||||
|
|
||||||
function resendEmails()
|
function resendEmails()
|
||||||
{
|
{
|
||||||
global $sFilter;
|
global $argvx;
|
||||||
global $sNow;
|
global $sNow;
|
||||||
global $dateSystem;
|
global $dateSystem;
|
||||||
|
|
||||||
if ($sFilter != "" && strpos($sFilter, "emails") === false) {
|
if ($argvx != "" && strpos($argvx, "emails") === false) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -631,10 +412,10 @@ function resendEmails()
|
|||||||
|
|
||||||
function unpauseApplications()
|
function unpauseApplications()
|
||||||
{
|
{
|
||||||
global $sFilter;
|
global $argvx;
|
||||||
global $sNow;
|
global $sNow;
|
||||||
|
|
||||||
if ($sFilter != '' && strpos($sFilter, 'unpause') === false) {
|
if ($argvx != "" && strpos($argvx, "unpause") === false) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -657,9 +438,9 @@ function unpauseApplications()
|
|||||||
|
|
||||||
function executePlugins()
|
function executePlugins()
|
||||||
{
|
{
|
||||||
global $sFilter;
|
global $argvx;
|
||||||
|
|
||||||
if ($sFilter != '' && strpos($sFilter, 'plugins') === false) {
|
if ($argvx != "" && strpos($argvx, "plugins") === false) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -725,9 +506,9 @@ function executeCustomCronFunction($pathFile, $className)
|
|||||||
|
|
||||||
function calculateDuration()
|
function calculateDuration()
|
||||||
{
|
{
|
||||||
global $sFilter;
|
global $argvx;
|
||||||
|
|
||||||
if ($sFilter != '' && strpos($sFilter, 'calculate') === false) {
|
if ($argvx != "" && strpos($argvx, "calculate") === false) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -749,9 +530,9 @@ function calculateDuration()
|
|||||||
/*----------------------------------********---------------------------------*/
|
/*----------------------------------********---------------------------------*/
|
||||||
function calculateAppDuration()
|
function calculateAppDuration()
|
||||||
{
|
{
|
||||||
global $sFilter;
|
global $argvx;
|
||||||
|
|
||||||
if ($sFilter != '' && strpos($sFilter, 'calculateapp') === false) {
|
if ($argvx != "" && strpos($argvx, "calculateapp") === false) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -773,12 +554,12 @@ function calculateAppDuration()
|
|||||||
|
|
||||||
function executeEvents($sLastExecution, $sNow=null)
|
function executeEvents($sLastExecution, $sNow=null)
|
||||||
{
|
{
|
||||||
global $sFilter;
|
global $argvx;
|
||||||
global $sNow;
|
global $sNow;
|
||||||
|
|
||||||
$log = array();
|
$log = array();
|
||||||
|
|
||||||
if ($sFilter != '' && strpos($sFilter, 'events') === false) {
|
if ($argvx != "" && strpos($argvx, "events") === false) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -811,12 +592,12 @@ function executeEvents($sLastExecution, $sNow=null)
|
|||||||
function executeScheduledCases($sNow=null)
|
function executeScheduledCases($sNow=null)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
global $sFilter;
|
global $argvx;
|
||||||
global $sNow;
|
global $sNow;
|
||||||
|
|
||||||
$log = array();
|
$log = array();
|
||||||
|
|
||||||
if ($sFilter != '' && strpos($sFilter, 'scheduler') === false) {
|
if ($argvx != "" && strpos($argvx, "scheduler") === false) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -846,9 +627,9 @@ function executeScheduledCases($sNow=null)
|
|||||||
function executeUpdateAppTitle()
|
function executeUpdateAppTitle()
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
global $sFilter;
|
global $argvx;
|
||||||
|
|
||||||
if ($sFilter != "" && strpos($sFilter, "update-case-labels") === false) {
|
if ($argvx != "" && strpos($argvx, "update-case-labels") === false) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -897,9 +678,9 @@ function executeUpdateAppTitle()
|
|||||||
function executeCaseSelfService()
|
function executeCaseSelfService()
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
global $sFilter;
|
global $argvx;
|
||||||
|
|
||||||
if ($sFilter != "" && strpos($sFilter, "unassigned-case") === false) {
|
if ($argvx != "" && strpos($argvx, "unassigned-case") === false) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1117,11 +898,11 @@ function setExecutionResultMessage($m, $t='')
|
|||||||
function fillReportByUser ()
|
function fillReportByUser ()
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
global $sFilter;
|
global $argvx;
|
||||||
global $dateInit;
|
global $dateInit;
|
||||||
global $dateFinish;
|
global $dateFinish;
|
||||||
|
|
||||||
if (strpos($sFilter, 'report_by_user') === false) {
|
if (strpos($argvx, "report_by_user") === false) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if ($dateInit == null) {
|
if ($dateInit == null) {
|
||||||
@@ -1147,11 +928,11 @@ function fillReportByUser ()
|
|||||||
function fillReportByProcess ()
|
function fillReportByProcess ()
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
global $sFilter;
|
global $argvx;
|
||||||
global $dateInit;
|
global $dateInit;
|
||||||
global $dateFinish;
|
global $dateFinish;
|
||||||
|
|
||||||
if (strpos($sFilter, 'report_by_process') === false) {
|
if (strpos($argvx, "report_by_process") === false) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,167 +1,3 @@
|
|||||||
<?php
|
<?php
|
||||||
try {
|
require_once("cron.php");
|
||||||
//Set variables
|
|
||||||
$osIsLinux = strtoupper(substr(PHP_OS, 0, 3)) != "WIN";
|
|
||||||
|
|
||||||
//Defines constants
|
|
||||||
define("PATH_SEP", ($osIsLinux)? "/" : "\\");
|
|
||||||
|
|
||||||
$arrayPathToCron = array();
|
|
||||||
$flagPathToCron = false;
|
|
||||||
|
|
||||||
if (!$flagPathToCron) {
|
|
||||||
//Path to CRON by __FILE__
|
|
||||||
$arrayAux = explode(PATH_SEP, str_replace("engine" . PATH_SEP . "bin", "", dirname(__FILE__)));
|
|
||||||
|
|
||||||
array_pop($arrayAux);
|
|
||||||
|
|
||||||
if (count($arrayAux) > 0 && $arrayAux[count($arrayAux) - 1] == "workflow") {
|
|
||||||
$arrayPathToCron = $arrayAux;
|
|
||||||
$flagPathToCron = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$flagPathToCron) {
|
|
||||||
throw new Exception("Error: Unable to execute the LDAP Advanced CRON, the path is incorrect");
|
|
||||||
}
|
|
||||||
|
|
||||||
$pathHome = implode(PATH_SEP, $arrayPathToCron) . PATH_SEP;
|
|
||||||
|
|
||||||
array_pop($arrayPathToCron);
|
|
||||||
|
|
||||||
$pathTrunk = implode(PATH_SEP, $arrayPathToCron) . PATH_SEP;
|
|
||||||
|
|
||||||
array_pop($arrayPathToCron);
|
|
||||||
|
|
||||||
$pathOutTrunk = implode(PATH_SEP, $arrayPathToCron) . PATH_SEP;
|
|
||||||
|
|
||||||
define("PATH_HOME", $pathHome);
|
|
||||||
define("PATH_TRUNK", $pathTrunk);
|
|
||||||
define("PATH_OUTTRUNK", $pathOutTrunk);
|
|
||||||
|
|
||||||
//Check deprecated files
|
|
||||||
$fileBinDeprecated = PATH_HOME . "engine" . PATH_SEP . "bin" . PATH_SEP . "plugins" . PATH_SEP . "ldapadvanced.php";
|
|
||||||
|
|
||||||
if (file_exists($fileBinDeprecated)) {
|
|
||||||
@unlink($fileBinDeprecated);
|
|
||||||
|
|
||||||
if (file_exists($fileBinDeprecated)) {
|
|
||||||
throw new Exception("Error: LDAP Advanced CRON requires that the \"$fileBinDeprecated\" file has been deleted.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//Include files
|
|
||||||
require_once(PATH_HOME . "engine" . PATH_SEP . "config" . PATH_SEP . "paths.php");
|
|
||||||
|
|
||||||
G::LoadClass("system");
|
|
||||||
|
|
||||||
$config = System::getSystemConfiguration();
|
|
||||||
|
|
||||||
ini_set("date.timezone", $config["time_zone"]);
|
|
||||||
|
|
||||||
//CRON command options
|
|
||||||
$arrayCommandOption = array(
|
|
||||||
"force" => "+force",
|
|
||||||
"debug" => "+debug"
|
|
||||||
);
|
|
||||||
|
|
||||||
//CRON status
|
|
||||||
$flagIsRunning = false;
|
|
||||||
$lastExecution = "";
|
|
||||||
$processcTimeProcess = 0;
|
|
||||||
$processcTimeStart = 0;
|
|
||||||
|
|
||||||
$force = in_array($arrayCommandOption["force"], $argv);
|
|
||||||
$debug = in_array($arrayCommandOption["debug"], $argv);
|
|
||||||
|
|
||||||
if (!$force && file_exists(PATH_DATA . "ldapcron")) {
|
|
||||||
//Windows flag
|
|
||||||
//Get data of CRON file
|
|
||||||
$arrayCron = unserialize(trim(file_get_contents(PATH_DATA . "ldapcron")));
|
|
||||||
|
|
||||||
$flagIsRunning = (boolean)($arrayCron["flagIsRunning"]);
|
|
||||||
$lastExecution = $arrayCron["lastExecution"];
|
|
||||||
$processcTimeProcess = (isset($arrayCron["processcTimeProcess"]))? (int)($arrayCron["processcTimeProcess"]) : 10; //Minutes
|
|
||||||
$processcTimeStart = (isset($arrayCron["processcTimeStart"]))? $arrayCron["processcTimeStart"] : 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$force && $osIsLinux) {
|
|
||||||
//Linux flag
|
|
||||||
//Check if CRON it's running
|
|
||||||
exec("ps -fea | grep ldapcron.php | grep -v grep", $arrayOutput);
|
|
||||||
|
|
||||||
//This validation is when the CRON is called from a symlink
|
|
||||||
$count = 0;
|
|
||||||
|
|
||||||
foreach ($arrayOutput as $value) {
|
|
||||||
if (preg_match("/^.*ldapcron\.php.*$/", $value)) {
|
|
||||||
$count++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($count > 1) {
|
|
||||||
$flagIsRunning = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($force || !$flagIsRunning) {
|
|
||||||
//Start CRON
|
|
||||||
$arrayCron = array("flagIsRunning" => "1", "lastExecution" => date("Y-m-d H:i:s"));
|
|
||||||
file_put_contents(PATH_DATA . "ldapcron", serialize($arrayCron));
|
|
||||||
|
|
||||||
try {
|
|
||||||
$ldapCronSinglePath = PATH_HOME . "engine" . PATH_SEP . "bin" . PATH_SEP . "ldapcron_single.php";
|
|
||||||
|
|
||||||
$workspace = "";
|
|
||||||
|
|
||||||
for ($i = 1; $i <= count($argv) - 1; $i++) {
|
|
||||||
if (preg_match("/^\+w(.+)$/", $argv[$i], $arrayMatch)) {
|
|
||||||
$workspace = $arrayMatch[1];
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$countw = 0;
|
|
||||||
|
|
||||||
if ($workspace == "") {
|
|
||||||
$d = dir(PATH_DB);
|
|
||||||
|
|
||||||
while (($entry = $d->read()) !== false) {
|
|
||||||
if ($entry != "" && $entry != "." && $entry != "..") {
|
|
||||||
if (is_dir(PATH_DB . $entry)) {
|
|
||||||
if (file_exists(PATH_DB . $entry . PATH_SEP . "db.php")) {
|
|
||||||
$countw++;
|
|
||||||
|
|
||||||
passthru("php -f \"$ldapCronSinglePath\" " . (($debug)? 1 : 0) . " $entry \"" . base64_encode(PATH_HOME) . "\" \"" . base64_encode(PATH_TRUNK) . "\" \"" . base64_encode(PATH_OUTTRUNK) . "\"");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (!is_dir(PATH_DB . $workspace) || !file_exists(PATH_DB . $workspace . PATH_SEP . "db.php")) {
|
|
||||||
throw new Exception("Error: The workspace \"$workspace\" does not exist");
|
|
||||||
}
|
|
||||||
|
|
||||||
$countw++;
|
|
||||||
|
|
||||||
passthru("php -f \"$ldapCronSinglePath\" " . (($debug)? 1 : 0) . " $workspace \"" . base64_encode(PATH_HOME) . "\" \"" . base64_encode(PATH_TRUNK) . "\" \"" . base64_encode(PATH_OUTTRUNK) . "\"");
|
|
||||||
}
|
|
||||||
|
|
||||||
eprintln("Finished $countw workspaces processed");
|
|
||||||
} catch (Exception $e) {
|
|
||||||
throw $e;
|
|
||||||
}
|
|
||||||
|
|
||||||
//End CRON
|
|
||||||
$arrayCron = array("flagIsRunning" => "0", "lastExecution" => date("Y-m-d H:i:s"));
|
|
||||||
file_put_contents(PATH_DATA . "ldapcron", serialize($arrayCron));
|
|
||||||
} else {
|
|
||||||
eprintln("The LDAP Advanced CRON is running, please wait for it to finish\nStarted in $lastExecution");
|
|
||||||
eprintln("If do you want force the execution use the option \"" . $arrayCommandOption["force"] . "\", example: php -f ldapcron.php +wworkflow " . $arrayCommandOption["force"] ,"green");
|
|
||||||
}
|
|
||||||
|
|
||||||
echo "Done!\n";
|
|
||||||
} catch (Exception $e) {
|
|
||||||
echo $e->getMessage() . "\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,489 +0,0 @@
|
|||||||
<?php
|
|
||||||
register_shutdown_function(
|
|
||||||
create_function(
|
|
||||||
"",
|
|
||||||
"
|
|
||||||
if (class_exists(\"Propel\")) {
|
|
||||||
Propel::close();
|
|
||||||
}
|
|
||||||
"
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
ini_set("memory_limit", "512M");
|
|
||||||
|
|
||||||
try {
|
|
||||||
//Verify data
|
|
||||||
if (count($argv) != 6) {
|
|
||||||
throw new Exception("Error: Invalid number of arguments");
|
|
||||||
}
|
|
||||||
|
|
||||||
for ($i = 3; $i <= count($argv) - 1; $i++) {
|
|
||||||
$argv[$i] = base64_decode($argv[$i]);
|
|
||||||
|
|
||||||
if (!is_dir($argv[$i])) {
|
|
||||||
throw new Exception("Error: The path \"" . $argv[$i] . "\" is invalid");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//Set variables
|
|
||||||
$osIsLinux = strtoupper(substr(PHP_OS, 0, 3)) != "WIN";
|
|
||||||
|
|
||||||
$pathHome = $argv[3];
|
|
||||||
$pathTrunk = $argv[4];
|
|
||||||
$pathOutTrunk = $argv[5];
|
|
||||||
|
|
||||||
//Defines constants
|
|
||||||
define("PATH_SEP", ($osIsLinux)? "/" : "\\");
|
|
||||||
|
|
||||||
define("PATH_HOME", $pathHome);
|
|
||||||
define("PATH_TRUNK", $pathTrunk);
|
|
||||||
define("PATH_OUTTRUNK", $pathOutTrunk);
|
|
||||||
|
|
||||||
define("PATH_CLASSES", PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP);
|
|
||||||
|
|
||||||
define("SYS_LANG", "en");
|
|
||||||
|
|
||||||
require_once(PATH_HOME . "engine" . PATH_SEP . "config" . PATH_SEP . "paths.php");
|
|
||||||
|
|
||||||
if (file_exists(PATH_TRUNK . "framework" . PATH_SEP . "src" . PATH_SEP . "Maveriks" . PATH_SEP . "Util" . PATH_SEP . "ClassLoader.php")) {
|
|
||||||
require_once(PATH_TRUNK . "framework" . PATH_SEP . "src" . PATH_SEP . "Maveriks" . PATH_SEP . "Util" . PATH_SEP . "ClassLoader.php");
|
|
||||||
}
|
|
||||||
|
|
||||||
G::LoadThirdParty("pear/json", "class.json");
|
|
||||||
G::LoadThirdParty("smarty/libs", "Smarty.class");
|
|
||||||
G::LoadSystem("error");
|
|
||||||
G::LoadSystem("dbconnection");
|
|
||||||
G::LoadSystem("dbsession");
|
|
||||||
G::LoadSystem("dbrecordset");
|
|
||||||
G::LoadSystem("dbtable");
|
|
||||||
G::LoadSystem("rbac" );
|
|
||||||
G::LoadSystem("publisher");
|
|
||||||
G::LoadSystem("templatePower");
|
|
||||||
G::LoadSystem("xmlDocument");
|
|
||||||
G::LoadSystem("xmlform");
|
|
||||||
G::LoadSystem("xmlformExtension");
|
|
||||||
G::LoadSystem("form");
|
|
||||||
G::LoadSystem("menu");
|
|
||||||
G::LoadSystem("xmlMenu");
|
|
||||||
G::LoadSystem("dvEditor");
|
|
||||||
G::LoadSystem("table");
|
|
||||||
G::LoadSystem("pagedTable");
|
|
||||||
G::LoadClass("system");
|
|
||||||
|
|
||||||
require_once("propel/Propel.php");
|
|
||||||
require_once("creole/Creole.php");
|
|
||||||
|
|
||||||
$config = System::getSystemConfiguration();
|
|
||||||
|
|
||||||
$e_all = (defined("E_DEPRECATED"))? E_ALL & ~E_DEPRECATED : E_ALL;
|
|
||||||
$e_all = (defined("E_STRICT"))? $e_all & ~E_STRICT : $e_all;
|
|
||||||
$e_all = ($config["debug"])? $e_all : $e_all & ~E_NOTICE;
|
|
||||||
|
|
||||||
//Do not change any of these settings directly, use env.ini instead
|
|
||||||
ini_set("display_errors", $config["debug"]);
|
|
||||||
ini_set("error_reporting", $e_all);
|
|
||||||
ini_set("short_open_tag", "On");
|
|
||||||
ini_set("default_charset", "UTF-8");
|
|
||||||
//ini_set("memory_limit", $config["memory_limit"]);
|
|
||||||
ini_set("soap.wsdl_cache_enabled", $config["wsdl_cache"]);
|
|
||||||
ini_set("date.timezone", $config["time_zone"]);
|
|
||||||
|
|
||||||
define("DEBUG_SQL_LOG", $config["debug_sql"]);
|
|
||||||
define("DEBUG_TIME_LOG", $config["debug_time"]);
|
|
||||||
define("DEBUG_CALENDAR_LOG", $config["debug_calendar"]);
|
|
||||||
define("MEMCACHED_ENABLED", $config["memcached"]);
|
|
||||||
define("MEMCACHED_SERVER", $config["memcached_server"]);
|
|
||||||
define("TIME_ZONE", $config["time_zone"]);
|
|
||||||
|
|
||||||
require_once(PATH_GULLIVER . PATH_SEP . "class.bootstrap.php");
|
|
||||||
//define("PATH_GULLIVER_HOME", PATH_TRUNK . "gulliver" . PATH_SEP);
|
|
||||||
|
|
||||||
spl_autoload_register(array("Bootstrap", "autoloadClass"));
|
|
||||||
|
|
||||||
//DATABASE propel classes used in "Cases" Options
|
|
||||||
if (file_exists(PATH_CLASSES . "class.licensedFeatures.php")) {
|
|
||||||
Bootstrap::registerClass("PMLicensedFeatures", PATH_CLASSES . "class.licensedFeatures.php");
|
|
||||||
}
|
|
||||||
|
|
||||||
Bootstrap::registerClass("serverConf", PATH_CLASSES . "class.serverConfiguration.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass("Entity_Base", PATH_HOME . "engine/classes/entities/Base.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass("BaseContent", PATH_HOME . "engine/classes/model/om/BaseContent.php");
|
|
||||||
Bootstrap::registerClass("Content", PATH_HOME . "engine/classes/model/Content.php");
|
|
||||||
Bootstrap::registerClass("BaseContentPeer", PATH_HOME . "engine/classes/model/om/BaseContentPeer.php");
|
|
||||||
Bootstrap::registerClass("ContentPeer", PATH_HOME . "engine/classes/model/ContentPeer.php");
|
|
||||||
//Bootstrap::registerClass("BaseApplication", PATH_HOME . "engine/classes/model/om/BaseApplication.php");
|
|
||||||
//Bootstrap::registerClass("ApplicationPeer", PATH_HOME . "engine/classes/model/ApplicationPeer.php");
|
|
||||||
//Bootstrap::registerClass("Application", PATH_HOME . "engine/classes/model/Application.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseAppDelegation", PATH_HOME . "engine/classes/model/om/BaseAppDelegation.php");
|
|
||||||
//Bootstrap::registerClass("BaseHoliday", PATH_HOME . "engine/classes/model/om/BaseHoliday.php");
|
|
||||||
//Bootstrap::registerClass("BaseHolidayPeer", PATH_HOME . "engine/classes/model/om/BaseHolidayPeer.php");
|
|
||||||
//Bootstrap::registerClass("BaseTask", PATH_HOME . "engine/classes/model/om/BaseTask.php");
|
|
||||||
//Bootstrap::registerClass("BaseTaskPeer", PATH_HOME . "engine/classes/model/om/BaseTaskPeer.php");
|
|
||||||
//Bootstrap::registerClass("HolidayPeer", PATH_HOME . "engine/classes/model/HolidayPeer.php");
|
|
||||||
//Bootstrap::registerClass("Holiday", PATH_HOME . "engine/classes/model/Holiday.php");
|
|
||||||
//Bootstrap::registerClass("Task", PATH_HOME . "engine/classes/model/Task.php");
|
|
||||||
//Bootstrap::registerClass("TaskPeer", PATH_HOME . "engine/classes/model/TaskPeer.php");
|
|
||||||
//Bootstrap::registerClass("dates", PATH_HOME . "engine/classes/class.dates.php");
|
|
||||||
//Bootstrap::registerClass("calendar", PATH_HOME . "engine/classes/class.calendar.php");
|
|
||||||
//Bootstrap::registerClass("AppDelegation", PATH_HOME . "engine/classes/model/AppDelegation.php");
|
|
||||||
//Bootstrap::registerClass("BaseAppDelegationPeer", PATH_HOME . "engine/classes/model/om/BaseAppDelegationPeer.php");
|
|
||||||
//Bootstrap::registerClass("AppDelegationPeer", PATH_HOME . "engine/classes/model/AppDelegationPeer.php");
|
|
||||||
//Bootstrap::registerClass("BaseAppDelay", PATH_HOME . "engine/classes/model/om/BaseAppDelay.php");
|
|
||||||
//Bootstrap::registerClass("AppDelayPeer", PATH_HOME . "engine/classes/model/AppDelayPeer.php");
|
|
||||||
//Bootstrap::registerClass("AppDelay", PATH_HOME . "engine/classes/model/AppDelay.php");
|
|
||||||
//Bootstrap::registerClass("BaseAdditionalTables", PATH_HOME . "engine/classes/model/om/BaseAdditionalTables.php");
|
|
||||||
//Bootstrap::registerClass("AdditionalTables", PATH_HOME . "engine/classes/model/AdditionalTables.php");
|
|
||||||
//Bootstrap::registerClass("BaseAppCacheView", PATH_HOME . "engine/classes/model/om/BaseAppCacheView.php");
|
|
||||||
//Bootstrap::registerClass("AppCacheView", PATH_HOME . "engine/classes/model/AppCacheView.php");
|
|
||||||
//Bootstrap::registerClass("BaseAppCacheViewPeer", PATH_HOME . "engine/classes/model/om/BaseAppCacheViewPeer.php");
|
|
||||||
//Bootstrap::registerClass("AppCacheViewPeer", PATH_HOME . "engine/classes/model/AppCacheViewPeer.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseAppTimeoutActionExecuted", PATH_HOME . "engine/classes/model/om/BaseAppTimeoutActionExecuted.php");
|
|
||||||
//Bootstrap::registerClass("AppTimeoutActionExecuted", PATH_HOME . "engine/classes/model/AppTimeoutActionExecuted.php");
|
|
||||||
//Bootstrap::registerClass("BaseAppTimeoutActionExecutedPeer", PATH_HOME . "engine/classes/model/om/BaseAppTimeoutActionExecutedPeer.php");
|
|
||||||
//Bootstrap::registerClass("AppTimeoutActionExecutedPeer", PATH_HOME . "engine/classes/model/AppTimeoutActionExecutedPeer.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseInputDocument", PATH_HOME . "engine/classes/model/om/BaseInputDocument.php");
|
|
||||||
//Bootstrap::registerClass("InputDocument", PATH_HOME . "engine/classes/model/InputDocument.php");
|
|
||||||
//Bootstrap::registerClass("BaseAppDocument", PATH_HOME . "engine/classes/model/om/BaseAppDocument.php");
|
|
||||||
//Bootstrap::registerClass("AppDocument", PATH_HOME . "engine/classes/model/AppDocument.php");
|
|
||||||
//Bootstrap::registerClass("AppDocumentPeer", PATH_HOME . "engine/classes/model/AppDocumentPeer.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseAppEvent", PATH_HOME . "engine/classes/model/om/BaseAppEvent.php");
|
|
||||||
//Bootstrap::registerClass("AppEvent", PATH_HOME . "engine/classes/model/AppEvent.php");
|
|
||||||
//Bootstrap::registerClass("AppEventPeer", PATH_HOME . "engine/classes/model/AppEventPeer.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseAppHistory", PATH_HOME . "engine/classes/model/om/BaseAppHistory.php");
|
|
||||||
//Bootstrap::registerClass("AppHistory", PATH_HOME . "engine/classes/model/AppHistory.php");
|
|
||||||
//Bootstrap::registerClass("AppHistoryPeer", PATH_HOME . "engine/classes/model/AppHistoryPeer.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseAppFolder", PATH_HOME . "engine/classes/model/om/BaseAppFolder.php");
|
|
||||||
//Bootstrap::registerClass("AppFolder", PATH_HOME . "engine/classes/model/AppFolder.php");
|
|
||||||
//Bootstrap::registerClass("AppFolderPeer", PATH_HOME . "engine/classes/model/AppFolderPeer.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseAppMessage", PATH_HOME . "engine/classes/model/om/BaseAppMessage.php");
|
|
||||||
//Bootstrap::registerClass("AppMessage", PATH_HOME . "engine/classes/model/AppMessage.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseAppMessagePeer", PATH_HOME . "engine/classes/model/om/BaseAppMessagePeer.php");
|
|
||||||
//Bootstrap::registerClass("AppMessagePeer", PATH_HOME . "engine/classes/model/AppMessagePeer.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseAppNotesPeer", PATH_HOME . "engine/classes/model/om/BaseAppNotesPeer.php");
|
|
||||||
//Bootstrap::registerClass("AppNotesPeer", PATH_HOME . "engine/classes/model/AppNotesPeer.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseAppNotes", PATH_HOME . "engine/classes/model/om/BaseAppNotes.php");
|
|
||||||
//Bootstrap::registerClass("AppNotes", PATH_HOME . "engine/classes/model/AppNotes.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseAppOwner", PATH_HOME . "engine/classes/model/om/BaseAppOwner.php");
|
|
||||||
//Bootstrap::registerClass("AppOwner", PATH_HOME . "engine/classes/model/AppOwner.php");
|
|
||||||
//Bootstrap::registerClass("AppOwnerPeer", PATH_HOME . "engine/classes/model/AppOwnerPeer.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseAppSolrQueue", PATH_HOME . "engine/classes/model/om/BaseAppSolrQueue.php");
|
|
||||||
//Bootstrap::registerClass("Entity_AppSolrQueue", PATH_HOME . "engine/classes/entities/AppSolrQueue.php");
|
|
||||||
//Bootstrap::registerClass("AppSolrQueue", PATH_HOME . "engine/classes/model/AppSolrQueue.php");
|
|
||||||
//Bootstrap::registerClass("AppSolrQueuePeer", PATH_HOME . "engine/classes/model/AppSolrQueuePeer.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseAppThread", PATH_HOME . "engine/classes/model/om/BaseAppThread.php");
|
|
||||||
//Bootstrap::registerClass("AppThread", PATH_HOME . "engine/classes/model/AppThread.php");
|
|
||||||
//Bootstrap::registerClass("AppThreadPeer", PATH_HOME . "engine/classes/model/AppThreadPeer.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseCaseScheduler", PATH_HOME . "engine/classes/model/om/BaseCaseScheduler.php");
|
|
||||||
//Bootstrap::registerClass("CaseScheduler", PATH_HOME . "engine/classes/model/CaseScheduler.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseCaseSchedulerPeer",PATH_HOME . "engine/classes/model/om/BaseCaseSchedulerPeer.php");
|
|
||||||
//Bootstrap::registerClass("CaseSchedulerPeer", PATH_HOME . "engine/classes/model/CaseSchedulerPeer.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseCaseTracker", PATH_HOME . "engine/classes/model/om/BaseCaseTracker.php");
|
|
||||||
//Bootstrap::registerClass("CaseTracker", PATH_HOME . "engine/classes/model/CaseTracker.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseCaseTrackerPeer", PATH_HOME . "engine/classes/model/om/BaseCaseTrackerPeer.php");
|
|
||||||
//Bootstrap::registerClass("CaseTrackerPeer", PATH_HOME . "engine/classes/model/CaseTrackerPeer.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseCaseTrackerObject",PATH_HOME . "engine/classes/model/om/BaseCaseTrackerObject.php");
|
|
||||||
//Bootstrap::registerClass("CaseTrackerObject", PATH_HOME . "engine/classes/model/CaseTrackerObject.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseCaseTrackerObjectPeer",PATH_HOME . "engine/classes/model/om/BaseCaseTrackerObjectPeer.php");
|
|
||||||
//Bootstrap::registerClass("CaseTrackerObjectPeer", PATH_HOME . "engine/classes/model/CaseTrackerObjectPeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass("BaseDbSource", PATH_HOME . "engine/classes/model/om/BaseDbSource.php");
|
|
||||||
Bootstrap::registerClass("DbSource", PATH_HOME . "engine/classes/model/DbSource.php");
|
|
||||||
|
|
||||||
//Bootstrap::registerClass("XMLDB", PATH_HOME . "engine/classes/class.xmlDb.php");
|
|
||||||
//Bootstrap::registerClass("dynaFormHandler", PATH_GULLIVER . "class.dynaformhandler.php");
|
|
||||||
//Bootstrap::registerClass("DynaFormField", PATH_HOME . "engine/classes/class.dynaFormField.php");
|
|
||||||
//Bootstrap::registerClass("BaseDynaform", PATH_HOME . "engine/classes/model/om/BaseDynaform.php");
|
|
||||||
//Bootstrap::registerClass("Dynaform", PATH_HOME . "engine/classes/model/Dynaform.php");
|
|
||||||
//Bootstrap::registerClass("DynaformPeer", PATH_HOME . "engine/classes/model/DynaformPeer.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseEvent", PATH_HOME . "engine/classes/model/om/BaseEvent.php");
|
|
||||||
//Bootstrap::registerClass("Event", PATH_HOME . "engine/classes/model/Event.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseEventPeer", PATH_HOME . "engine/classes/model/om/BaseEventPeer.php");
|
|
||||||
//Bootstrap::registerClass("EventPeer", PATH_HOME . "engine/classes/model/EventPeer.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseFields", PATH_HOME . "engine/classes/model/om/BaseFields.php");
|
|
||||||
//Bootstrap::registerClass("Fields", PATH_HOME . "engine/classes/model/Fields.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseGateway", PATH_HOME . "engine/classes/model/om/BaseGateway.php");
|
|
||||||
//Bootstrap::registerClass("Gateway", PATH_HOME . "engine/classes/model/Gateway.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass("BaseGroupUser", PATH_HOME . "engine/classes/model/om/BaseGroupUser.php");
|
|
||||||
Bootstrap::registerClass("Groupwf", PATH_HOME . "engine/classes/model/Groupwf.php");
|
|
||||||
Bootstrap::registerClass("GroupUser", PATH_HOME . "engine/classes/model/GroupUser.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass("BaseGroupUserPeer", PATH_HOME . "engine/classes/model/om/BaseGroupUserPeer.php");
|
|
||||||
Bootstrap::registerClass("GroupUserPeer", PATH_HOME . "engine/classes/model/GroupUserPeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass("BaseGroupwfPeer", PATH_HOME . "engine/classes/model/om/BaseGroupwfPeer.php");
|
|
||||||
Bootstrap::registerClass("GroupwfPeer", PATH_HOME . "engine/classes/model/GroupwfPeer.php");
|
|
||||||
|
|
||||||
//Bootstrap::registerClass("BaseInputDocumentPeer", PATH_HOME . "engine/classes/model/om/BaseInputDocumentPeer.php");
|
|
||||||
//Bootstrap::registerClass("InputDocumentPeer", PATH_HOME . "engine/classes/model/InputDocumentPeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass("BaseIsoCountry", PATH_HOME . "engine/classes/model/om/BaseIsoCountry.php");
|
|
||||||
Bootstrap::registerClass("IsoCountry", PATH_HOME . "engine/classes/model/IsoCountry.php");
|
|
||||||
Bootstrap::registerClass("BaseTranslation", PATH_HOME . "engine/classes/model/om/BaseTranslation.php");
|
|
||||||
Bootstrap::registerClass("Translation", PATH_HOME . "engine/classes/model/Translation.php");
|
|
||||||
|
|
||||||
//Bootstrap::registerClass("BaseLogCasesScheduler", PATH_HOME . "engine/classes/model/om/BaseLogCasesScheduler.php");
|
|
||||||
//Bootstrap::registerClass("LogCasesScheduler", PATH_HOME . "engine/classes/model/LogCasesScheduler.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseObjectPermission",PATH_HOME . "engine/classes/model/om/BaseObjectPermission.php");
|
|
||||||
//Bootstrap::registerClass("ObjectPermission", PATH_HOME . "engine/classes/model/ObjectPermission.php");
|
|
||||||
//Bootstrap::registerClass("ObjectPermissionPeer",PATH_HOME . "engine/classes/model/ObjectPermissionPeer.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseOutputDocument", PATH_HOME . "engine/classes/model/om/BaseOutputDocument.php");
|
|
||||||
//Bootstrap::registerClass("OutputDocument", PATH_HOME . "engine/classes/model/OutputDocument.php");
|
|
||||||
//Bootstrap::registerClass("OutputDocumentPeer", PATH_HOME . "engine/classes/model/OutputDocumentPeer.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseProcess", PATH_HOME . "engine/classes/model/om/BaseProcess.php");
|
|
||||||
//Bootstrap::registerClass("BaseProcessCategory", PATH_HOME . "engine/classes/model/om/BaseProcessCategory.php");
|
|
||||||
//Bootstrap::registerClass("ProcessCategory", PATH_HOME . "engine/classes/model/ProcessCategory.php");
|
|
||||||
//Bootstrap::registerClass("ProcessCategoryPeer", PATH_HOME . "engine/classes/model/ProcessCategoryPeer.php");
|
|
||||||
//Bootstrap::registerClass("ProcessPeer", PATH_HOME . "engine/classes/model/ProcessPeer.php");
|
|
||||||
//Bootstrap::registerClass("Process", PATH_HOME . "engine/classes/model/Process.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseProcessUser", PATH_HOME . "engine/classes/model/om/BaseProcessUser.php");
|
|
||||||
//Bootstrap::registerClass("ProcessUser", PATH_HOME . "engine/classes/model/ProcessUser.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseProcessUserPeer", PATH_HOME . "engine/classes/model/om/BaseProcessUserPeer.php");
|
|
||||||
//Bootstrap::registerClass("ProcessUserPeer", PATH_HOME . "engine/classes/model/ProcessUserPeer.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseReportTable", PATH_HOME . "engine/classes/model/om/BaseReportTable.php");
|
|
||||||
//Bootstrap::registerClass("ReportTable", PATH_HOME . "engine/classes/model/ReportTable.php");
|
|
||||||
//Bootstrap::registerClass("ReportTablePeer", PATH_HOME . "engine/classes/model/ReportTablePeer.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseReportVar", PATH_HOME . "engine/classes/model/om/BaseReportVar.php");
|
|
||||||
//Bootstrap::registerClass("ReportVar", PATH_HOME . "engine/classes/model/ReportVar.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseReportVarPeer", PATH_HOME . "engine/classes/model/om/BaseReportVarPeer.php");
|
|
||||||
//Bootstrap::registerClass("ReportVarPeer", PATH_HOME . "engine/classes/model/ReportVarPeer.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseRoute", PATH_HOME . "engine/classes/model/om/BaseRoute.php");
|
|
||||||
//Bootstrap::registerClass("Route", PATH_HOME . "engine/classes/model/Route.php");
|
|
||||||
//Bootstrap::registerClass("RoutePeer", PATH_HOME . "engine/classes/model/RoutePeer.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseStep", PATH_HOME . "engine/classes/model/om/BaseStep.php");
|
|
||||||
//Bootstrap::registerClass("Step", PATH_HOME . "engine/classes/model/Step.php");
|
|
||||||
//Bootstrap::registerClass("StepPeer", PATH_HOME . "engine/classes/model/StepPeer.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseStepSupervisor", PATH_HOME . "engine/classes/model/om/BaseStepSupervisor.php");
|
|
||||||
//Bootstrap::registerClass("StepSupervisor", PATH_HOME . "engine/classes/model/StepSupervisor.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseStepSupervisorPeer", PATH_HOME . "engine/classes/model/om/BaseStepSupervisorPeer.php");
|
|
||||||
//Bootstrap::registerClass("StepSupervisorPeer", PATH_HOME . "engine/classes/model/StepSupervisorPeer.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseStepTrigger", PATH_HOME . "engine/classes/model/om/BaseStepTrigger.php");
|
|
||||||
//Bootstrap::registerClass("StepTrigger", PATH_HOME . "engine/classes/model/StepTrigger.php");
|
|
||||||
//Bootstrap::registerClass("StepTriggerPeer", PATH_HOME . "engine/classes/model/StepTriggerPeer.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("SolrRequestData", PATH_HOME . "engine/classes/entities/SolrRequestData.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("SolrUpdateDocument", PATH_HOME . "engine/classes/entities/SolrUpdateDocument.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseSwimlanesElements",PATH_HOME . "engine/classes/model/om/BaseSwimlanesElements.php");
|
|
||||||
//Bootstrap::registerClass("SwimlanesElements", PATH_HOME . "engine/classes/model/SwimlanesElements.php");
|
|
||||||
//Bootstrap::registerClass("BaseSwimlanesElementsPeer", PATH_HOME ."engine/classes/model/om/BaseSwimlanesElementsPeer.php");
|
|
||||||
//Bootstrap::registerClass("SwimlanesElementsPeer",PATH_HOME . "engine/classes/model/SwimlanesElementsPeer.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseSubApplication", PATH_HOME . "engine/classes/model/om/BaseSubApplication.php");
|
|
||||||
//Bootstrap::registerClass("SubApplication", PATH_HOME . "engine/classes/model/SubApplication.php");
|
|
||||||
//Bootstrap::registerClass("SubApplicationPeer", PATH_HOME . "engine/classes/model/SubApplicationPeer.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseSubProcess", PATH_HOME . "engine/classes/model/om/BaseSubProcess.php");
|
|
||||||
//Bootstrap::registerClass("SubProcess", PATH_HOME . "engine/classes/model/SubProcess.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseSubProcessPeer", PATH_HOME . "engine/classes/model/om/BaseSubProcessPeer.php");
|
|
||||||
//Bootstrap::registerClass("SubProcessPeer", PATH_HOME . "engine/classes/model/SubProcessPeer.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseTask", PATH_HOME . "engine/classes/model/om/BaseTask.php");
|
|
||||||
//Bootstrap::registerClass("Task", PATH_HOME . "engine/classes/model/Task.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseTaskUser", PATH_HOME . "engine/classes/model/om/BaseTaskUser.php");
|
|
||||||
//Bootstrap::registerClass("TaskUserPeer", PATH_HOME . "engine/classes/model/TaskUserPeer.php");
|
|
||||||
//Bootstrap::registerClass("TaskUser", PATH_HOME . "engine/classes/model/TaskUser.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("BaseTriggers", PATH_HOME . "engine/classes/model/om/BaseTriggers.php");
|
|
||||||
//Bootstrap::registerClass("Triggers", PATH_HOME . "engine/classes/model/Triggers.php");
|
|
||||||
//Bootstrap::registerClass("BaseTriggersPeer", PATH_HOME . "engine/classes/model/om/BaseTriggersPeer.php");
|
|
||||||
//Bootstrap::registerClass("TriggersPeer", PATH_HOME . "engine/classes/model/TriggersPeer.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass("IsoCountry", PATH_HOME . "engine/classes/model/IsoCountry.php");
|
|
||||||
Bootstrap::registerClass("BaseIsoSubdivision", PATH_HOME . "engine/classes/model/om/BaseIsoSubdivision.php");
|
|
||||||
Bootstrap::registerClass("IsoSubdivision", PATH_HOME . "engine/classes/model/IsoSubdivision.php");
|
|
||||||
Bootstrap::registerClass("BaseIsoLocation", PATH_HOME . "engine/classes/model/om/BaseIsoLocation.php");
|
|
||||||
Bootstrap::registerClass("IsoLocation", PATH_HOME . "engine/classes/model/IsoLocation.php");
|
|
||||||
Bootstrap::registerClass("Users", PATH_HOME . "engine/classes/model/Users.php");
|
|
||||||
Bootstrap::registerClass("UsersPeer", PATH_HOME . "engine/classes/model/UsersPeer.php");
|
|
||||||
Bootstrap::registerClass("BaseUsers", PATH_HOME . "engine/classes/model/om/BaseUsers.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass("AuthenticationSourcePeer", PATH_RBAC . "model" . PATH_SEP . "AuthenticationSourcePeer.php");
|
|
||||||
Bootstrap::registerClass("BaseAuthenticationSource", PATH_RBAC . "model" . PATH_SEP . "om" . PATH_SEP . "BaseAuthenticationSource.php");
|
|
||||||
Bootstrap::registerClass("AuthenticationSource", PATH_RBAC . "model" . PATH_SEP . "AuthenticationSource.php");
|
|
||||||
Bootstrap::registerClass("RolesPeer", PATH_RBAC . "model" . PATH_SEP . "RolesPeer.php");
|
|
||||||
Bootstrap::registerClass("BaseRoles", PATH_RBAC . "model" . PATH_SEP . "om" . PATH_SEP . "BaseRoles.php");
|
|
||||||
Bootstrap::registerClass("Roles", PATH_RBAC . "model" . PATH_SEP . "Roles.php");
|
|
||||||
|
|
||||||
//Bootstrap::registerClass("UsersRolesPeer", PATH_RBAC . "model" . PATH_SEP . "UsersRolesPeer.php");
|
|
||||||
//Bootstrap::registerClass("BaseUsersRoles", PATH_RBAC . "model" . PATH_SEP . "om" . PATH_SEP . "BaseUsersRoles.php");
|
|
||||||
//Bootstrap::registerClass("UsersRoles", PATH_RBAC . "model" . PATH_SEP . "UsersRoles.php");
|
|
||||||
require_once(PATH_RBAC . "model" . PATH_SEP . "UsersRolesPeer.php");
|
|
||||||
require_once(PATH_RBAC . "model" . PATH_SEP . "om" . PATH_SEP . "BaseUsersRoles.php");
|
|
||||||
require_once(PATH_RBAC . "model" . PATH_SEP . "UsersRoles.php");
|
|
||||||
|
|
||||||
$arrayClass = array("Configuration", "Language");
|
|
||||||
|
|
||||||
if (file_exists(PATH_CORE . "classes" . PATH_SEP . "model" . PATH_SEP . "AddonsManager.php")) {
|
|
||||||
$arrayClass[] = "AddonsManager";
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($arrayClass as $value) {
|
|
||||||
Bootstrap::registerClass("Base" . $value, PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "om" . PATH_SEP . "Base" . $value . ".php");
|
|
||||||
Bootstrap::registerClass($value, PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . $value . ".php");
|
|
||||||
Bootstrap::registerClass("Base" . $value . "Peer", PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "om" . PATH_SEP . "Base" . $value . "Peer.php");
|
|
||||||
Bootstrap::registerClass($value . "Peer", PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . $value . "Peer.php");
|
|
||||||
}
|
|
||||||
|
|
||||||
//Bootstrap::registerClass("Xml_Node", PATH_GULLIVER . "class.xmlDocument.php");
|
|
||||||
//
|
|
||||||
//Bootstrap::registerClass("wsResponse", PATH_HOME . "engine/classes/class.wsResponse.php");
|
|
||||||
//
|
|
||||||
//G::LoadClass("dates");
|
|
||||||
|
|
||||||
Bootstrap::registerClass("groups", PATH_CLASSES . "class.groups.php");
|
|
||||||
|
|
||||||
$workflow = $argv[2];
|
|
||||||
|
|
||||||
if (is_dir(PATH_DB . $workflow) && file_exists(PATH_DB . $workflow . PATH_SEP . "db.php")) {
|
|
||||||
define("SYS_SYS", $workflow);
|
|
||||||
|
|
||||||
include_once(PATH_HOME . "engine" . PATH_SEP . "config" . PATH_SEP . "paths_installed.php");
|
|
||||||
include_once(PATH_HOME . "engine" . PATH_SEP . "config" . PATH_SEP . "paths.php");
|
|
||||||
|
|
||||||
//PM Paths DATA
|
|
||||||
define("PATH_DATA_SITE", PATH_DATA . "sites/" . SYS_SYS . "/");
|
|
||||||
define("PATH_DOCUMENT", PATH_DATA_SITE . "files/");
|
|
||||||
define("PATH_DATA_MAILTEMPLATES", PATH_DATA_SITE . "mailTemplates/");
|
|
||||||
define("PATH_DATA_PUBLIC", PATH_DATA_SITE . "public/");
|
|
||||||
define("PATH_DATA_REPORTS", PATH_DATA_SITE . "reports/");
|
|
||||||
define("PATH_DYNAFORM", PATH_DATA_SITE . "xmlForms/");
|
|
||||||
define("PATH_IMAGES_ENVIRONMENT_FILES", PATH_DATA_SITE . "usersFiles" . PATH_SEP);
|
|
||||||
define("PATH_IMAGES_ENVIRONMENT_USERS", PATH_DATA_SITE . "usersPhotographies" . PATH_SEP);
|
|
||||||
|
|
||||||
if (is_file(PATH_DATA_SITE.PATH_SEP . ".server_info")) {
|
|
||||||
$SERVER_INFO = file_get_contents(PATH_DATA_SITE.PATH_SEP.".server_info");
|
|
||||||
$SERVER_INFO = unserialize($SERVER_INFO);
|
|
||||||
|
|
||||||
define("SERVER_NAME", $SERVER_INFO ["SERVER_NAME"]);
|
|
||||||
define("SERVER_PORT", $SERVER_INFO ["SERVER_PORT"]);
|
|
||||||
} else {
|
|
||||||
eprintln("WARNING! No server info found!", "red");
|
|
||||||
}
|
|
||||||
|
|
||||||
//DB
|
|
||||||
$phpCode = "";
|
|
||||||
|
|
||||||
$fileDb = fopen(PATH_DB . $workflow . PATH_SEP . "db.php", "r");
|
|
||||||
|
|
||||||
if ($fileDb) {
|
|
||||||
while (!feof($fileDb)) {
|
|
||||||
$buffer = fgets($fileDb, 4096); //Read a line
|
|
||||||
|
|
||||||
$phpCode .= preg_replace("/define\s*\(\s*[\x22\x27](.*)[\x22\x27]\s*,\s*(\x22.*\x22|\x27.*\x27)\s*\)\s*;/i", "\$$1 = $2;", $buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
fclose($fileDb);
|
|
||||||
}
|
|
||||||
|
|
||||||
$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":
|
|
||||||
$dsn .= "?encoding=utf8";
|
|
||||||
$dsnRbac .= "?encoding=utf8";
|
|
||||||
break;
|
|
||||||
case "mssql":
|
|
||||||
//$dsn .= "?sendStringAsUnicode=false";
|
|
||||||
//$dsnRbac .= "?sendStringAsUnicode=false";
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
$pro = array();
|
|
||||||
$pro["datasources"]["workflow"]["connection"] = $dsn;
|
|
||||||
$pro["datasources"]["workflow"]["adapter"] = $DB_ADAPTER;
|
|
||||||
$pro["datasources"]["rbac"]["connection"] = $dsnRbac;
|
|
||||||
$pro["datasources"]["rbac"]["adapter"] = $DB_ADAPTER;
|
|
||||||
$pro["datasources"]["rp"]["connection"] = $dsnRp;
|
|
||||||
$pro["datasources"]["rp"]["adapter"] = $DB_ADAPTER;
|
|
||||||
//$pro["datasources"]["dbarray"]["connection"] = "dbarray://user:pass@localhost/pm_os";
|
|
||||||
//$pro["datasources"]["dbarray"]["adapter"] = "dbarray";
|
|
||||||
|
|
||||||
$oFile = fopen(PATH_CORE . "config" . PATH_SEP . "_databases_.php", "w");
|
|
||||||
fwrite($oFile, "<?php global \$pro; return \$pro; ?>");
|
|
||||||
fclose($oFile);
|
|
||||||
|
|
||||||
Propel::init(PATH_CORE . "config" . PATH_SEP . "_databases_.php");
|
|
||||||
//Creole::registerDriver("dbarray", "creole.contrib.DBArrayConnection");
|
|
||||||
|
|
||||||
//Enable RBAC
|
|
||||||
Bootstrap::LoadSystem("rbac");
|
|
||||||
|
|
||||||
$rbac = &RBAC::getSingleton(PATH_DATA, session_id());
|
|
||||||
$rbac->sSystem = "PROCESSMAKER";
|
|
||||||
|
|
||||||
eprintln("Processing workspace: " . $workflow, "green");
|
|
||||||
|
|
||||||
try {
|
|
||||||
require_once(PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "class.ldapAdvanced.php");
|
|
||||||
require_once(PATH_HOME . "engine" . PATH_SEP . "methods" . PATH_SEP . "services" . PATH_SEP . "ldapadvanced.php");
|
|
||||||
|
|
||||||
$obj = new ldapadvancedClassCron();
|
|
||||||
|
|
||||||
$obj->executeCron((bool)($argv[1]));
|
|
||||||
} catch (Exception $e) {
|
|
||||||
echo $e->getMessage() . "\n";
|
|
||||||
|
|
||||||
eprintln("Problem in workspace: " . $workflow . " it was omitted.", "red");
|
|
||||||
}
|
|
||||||
|
|
||||||
eprintln();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (file_exists(PATH_CORE . "config" . PATH_SEP . "_databases_.php")) {
|
|
||||||
unlink(PATH_CORE . "config" . PATH_SEP . "_databases_.php");
|
|
||||||
}
|
|
||||||
} catch (Exception $e) {
|
|
||||||
echo $e->getMessage() . "\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,147 +1,3 @@
|
|||||||
<?php
|
<?php
|
||||||
try {
|
require_once("cron.php");
|
||||||
//Set variables
|
|
||||||
$osIsLinux = strtoupper(substr(PHP_OS, 0, 3)) != "WIN";
|
|
||||||
|
|
||||||
//Defines constants
|
|
||||||
define("PATH_SEP", ($osIsLinux)? "/" : "\\");
|
|
||||||
|
|
||||||
$arrayPathToCron = array();
|
|
||||||
$flagPathToCron = false;
|
|
||||||
|
|
||||||
//Path to CRON by __FILE__
|
|
||||||
$arrayAux = explode(PATH_SEP, str_replace("engine" . PATH_SEP . "bin", "", dirname(__FILE__)));
|
|
||||||
|
|
||||||
array_pop($arrayAux);
|
|
||||||
|
|
||||||
if (count($arrayAux) > 0 && $arrayAux[count($arrayAux) - 1] == "workflow") {
|
|
||||||
$arrayPathToCron = $arrayAux;
|
|
||||||
$flagPathToCron = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$flagPathToCron) {
|
|
||||||
throw new Exception("Error: Unable to execute the Message-Event CRON, the path is incorrect");
|
|
||||||
}
|
|
||||||
|
|
||||||
$pathHome = implode(PATH_SEP, $arrayPathToCron) . PATH_SEP;
|
|
||||||
|
|
||||||
array_pop($arrayPathToCron);
|
|
||||||
|
|
||||||
$pathTrunk = implode(PATH_SEP, $arrayPathToCron) . PATH_SEP;
|
|
||||||
|
|
||||||
array_pop($arrayPathToCron);
|
|
||||||
|
|
||||||
$pathOutTrunk = implode(PATH_SEP, $arrayPathToCron) . PATH_SEP;
|
|
||||||
|
|
||||||
define("PATH_HOME", $pathHome);
|
|
||||||
define("PATH_TRUNK", $pathTrunk);
|
|
||||||
define("PATH_OUTTRUNK", $pathOutTrunk);
|
|
||||||
|
|
||||||
//Include files
|
|
||||||
require_once(PATH_HOME . "engine" . PATH_SEP . "config" . PATH_SEP . "paths.php");
|
|
||||||
|
|
||||||
G::LoadClass("system");
|
|
||||||
|
|
||||||
$config = System::getSystemConfiguration();
|
|
||||||
|
|
||||||
G::LoadSystem('inputfilter');
|
|
||||||
$filter = new InputFilter();
|
|
||||||
$config['time_zone'] = $filter->validateInput($config['time_zone']);
|
|
||||||
|
|
||||||
ini_set("date.timezone", $config["time_zone"]);
|
|
||||||
|
|
||||||
//CRON command options
|
|
||||||
$arrayCommandOption = array(
|
|
||||||
"force" => "+force"
|
|
||||||
);
|
|
||||||
|
|
||||||
//CRON status
|
|
||||||
$flagIsRunning = false;
|
|
||||||
$lastExecution = "";
|
|
||||||
$processcTimeProcess = 0;
|
|
||||||
$processcTimeStart = 0;
|
|
||||||
|
|
||||||
$force = in_array($arrayCommandOption["force"], $argv);
|
|
||||||
|
|
||||||
if (!$force && file_exists(PATH_DATA . "messageeventcron")) {
|
|
||||||
//Windows flag
|
|
||||||
//Get data of CRON file
|
|
||||||
$arrayCron = unserialize(trim(file_get_contents(PATH_DATA . "messageeventcron")));
|
|
||||||
|
|
||||||
$flagIsRunning = (boolean)($arrayCron["flagIsRunning"]);
|
|
||||||
$lastExecution = $arrayCron["lastExecution"];
|
|
||||||
$processcTimeProcess = (isset($arrayCron["processcTimeProcess"]))? (int)($arrayCron["processcTimeProcess"]) : 10; //Minutes
|
|
||||||
$processcTimeStart = (isset($arrayCron["processcTimeStart"]))? $arrayCron["processcTimeStart"] : 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$force && $osIsLinux) {
|
|
||||||
//Linux flag
|
|
||||||
//Check if CRON it's running
|
|
||||||
exec("ps -fea | grep messageeventcron.php | grep -v grep", $arrayOutput);
|
|
||||||
|
|
||||||
if (count($arrayOutput) > 1) {
|
|
||||||
$flagIsRunning = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($force || !$flagIsRunning) {
|
|
||||||
//Start CRON
|
|
||||||
$arrayCron = array("flagIsRunning" => "1", "lastExecution" => date("Y-m-d H:i:s"));
|
|
||||||
file_put_contents(PATH_DATA . "messageeventcron", serialize($arrayCron));
|
|
||||||
|
|
||||||
try {
|
|
||||||
$messageEventCronSinglePath = PATH_CORE . "bin" . PATH_SEP . "messageeventcron_single.php";
|
|
||||||
|
|
||||||
$workspace = "";
|
|
||||||
|
|
||||||
for ($i = 1; $i <= count($argv) - 1; $i++) {
|
|
||||||
if (preg_match("/^\+w(.+)$/", $argv[$i], $arrayMatch)) {
|
|
||||||
$workspace = $arrayMatch[1];
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$countw = 0;
|
|
||||||
|
|
||||||
if ($workspace == "") {
|
|
||||||
$d = dir(PATH_DB);
|
|
||||||
|
|
||||||
while (($entry = $d->read()) !== false) {
|
|
||||||
if ($entry != "" && $entry != "." && $entry != "..") {
|
|
||||||
if (is_dir(PATH_DB . $entry)) {
|
|
||||||
if (file_exists(PATH_DB . $entry . PATH_SEP . "db.php")) {
|
|
||||||
$countw++;
|
|
||||||
|
|
||||||
passthru("php -f \"$messageEventCronSinglePath\" $entry \"" . base64_encode(PATH_HOME) . "\" \"" . base64_encode(PATH_TRUNK) . "\" \"" . base64_encode(PATH_OUTTRUNK) . "\"");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (!is_dir(PATH_DB . $workspace) || !file_exists(PATH_DB . $workspace . PATH_SEP . "db.php")) {
|
|
||||||
throw new Exception("Error: The workspace \"$workspace\" does not exist");
|
|
||||||
}
|
|
||||||
|
|
||||||
$countw++;
|
|
||||||
|
|
||||||
passthru("php -f \"$messageEventCronSinglePath\" $workspace \"" . base64_encode(PATH_HOME) . "\" \"" . base64_encode(PATH_TRUNK) . "\" \"" . base64_encode(PATH_OUTTRUNK) . "\"");
|
|
||||||
}
|
|
||||||
|
|
||||||
eprintln("Finished $countw workspaces processed");
|
|
||||||
} catch (Exception $e) {
|
|
||||||
throw $e;
|
|
||||||
}
|
|
||||||
|
|
||||||
//End CRON
|
|
||||||
$arrayCron = array("flagIsRunning" => "0", "lastExecution" => date("Y-m-d H:i:s"));
|
|
||||||
file_put_contents(PATH_DATA . "messageeventcron", serialize($arrayCron));
|
|
||||||
} else {
|
|
||||||
eprintln("The Message-Event CRON is running, please wait for it to finish\nStarted in $lastExecution");
|
|
||||||
eprintln("If do you want force the execution use the option \"" . $arrayCommandOption["force"] . "\", example: php -f messageeventcron.php +wworkflow " . $arrayCommandOption["force"] ,"green");
|
|
||||||
}
|
|
||||||
|
|
||||||
echo "Done!\n";
|
|
||||||
} catch (Exception $e) {
|
|
||||||
echo $e->getMessage() . "\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,243 +0,0 @@
|
|||||||
<?php
|
|
||||||
register_shutdown_function(
|
|
||||||
create_function(
|
|
||||||
"",
|
|
||||||
"
|
|
||||||
if (class_exists(\"Propel\")) {
|
|
||||||
Propel::close();
|
|
||||||
}
|
|
||||||
"
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
ini_set("memory_limit", "512M");
|
|
||||||
|
|
||||||
try {
|
|
||||||
//Verify data
|
|
||||||
if (count($argv) != 5) {
|
|
||||||
throw new Exception("Error: Invalid number of arguments");
|
|
||||||
}
|
|
||||||
|
|
||||||
for ($i = 2; $i <= count($argv) - 1; $i++) {
|
|
||||||
$argv[$i] = base64_decode($argv[$i]);
|
|
||||||
|
|
||||||
if (!is_dir($argv[$i])) {
|
|
||||||
throw new Exception("Error: The path \"" . $argv[$i] . "\" is invalid");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//Set variables
|
|
||||||
$osIsLinux = strtoupper(substr(PHP_OS, 0, 3)) != "WIN";
|
|
||||||
|
|
||||||
$pathHome = $argv[2];
|
|
||||||
$pathTrunk = $argv[3];
|
|
||||||
$pathOutTrunk = $argv[4];
|
|
||||||
|
|
||||||
//Defines constants
|
|
||||||
define("PATH_SEP", ($osIsLinux)? "/" : "\\");
|
|
||||||
|
|
||||||
define("PATH_HOME", $pathHome);
|
|
||||||
define("PATH_TRUNK", $pathTrunk);
|
|
||||||
define("PATH_OUTTRUNK", $pathOutTrunk);
|
|
||||||
|
|
||||||
define("PATH_CLASSES", PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP);
|
|
||||||
|
|
||||||
define("SYS_LANG", "en");
|
|
||||||
|
|
||||||
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
|
|
||||||
$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");
|
|
||||||
G::LoadSystem("dbconnection");
|
|
||||||
G::LoadSystem("dbsession");
|
|
||||||
G::LoadSystem("dbrecordset");
|
|
||||||
G::LoadSystem("dbtable");
|
|
||||||
G::LoadSystem("rbac" );
|
|
||||||
G::LoadSystem("publisher");
|
|
||||||
G::LoadSystem("templatePower");
|
|
||||||
G::LoadSystem("xmlDocument");
|
|
||||||
G::LoadSystem("xmlform");
|
|
||||||
G::LoadSystem("xmlformExtension");
|
|
||||||
G::LoadSystem("form");
|
|
||||||
G::LoadSystem("menu");
|
|
||||||
G::LoadSystem("xmlMenu");
|
|
||||||
G::LoadSystem("dvEditor");
|
|
||||||
G::LoadSystem("table");
|
|
||||||
G::LoadSystem("pagedTable");
|
|
||||||
G::LoadClass("system");
|
|
||||||
|
|
||||||
require_once("propel/Propel.php");
|
|
||||||
require_once("creole/Creole.php");
|
|
||||||
|
|
||||||
$config = System::getSystemConfiguration();
|
|
||||||
|
|
||||||
$e_all = (defined("E_DEPRECATED"))? E_ALL & ~E_DEPRECATED : E_ALL;
|
|
||||||
$e_all = (defined("E_STRICT"))? $e_all & ~E_STRICT : $e_all;
|
|
||||||
$e_all = ($config["debug"])? $e_all : $e_all & ~E_NOTICE;
|
|
||||||
|
|
||||||
G::LoadSystem('inputfilter');
|
|
||||||
$filter = new InputFilter();
|
|
||||||
$config['debug'] = $filter->validateInput($config['debug']);
|
|
||||||
$config['wsdl_cache'] = $filter->validateInput($config['wsdl_cache'],'int');
|
|
||||||
$config['time_zone'] = $filter->validateInput($config['time_zone']);
|
|
||||||
//Do not change any of these settings directly, use env.ini instead
|
|
||||||
ini_set("display_errors", $config["debug"]);
|
|
||||||
ini_set("error_reporting", $e_all);
|
|
||||||
ini_set("short_open_tag", "On");
|
|
||||||
ini_set("default_charset", "UTF-8");
|
|
||||||
//ini_set("memory_limit", $config["memory_limit"]);
|
|
||||||
ini_set("soap.wsdl_cache_enabled", $config["wsdl_cache"]);
|
|
||||||
ini_set("date.timezone", $config["time_zone"]);
|
|
||||||
|
|
||||||
define("DEBUG_SQL_LOG", $config["debug_sql"]);
|
|
||||||
define("DEBUG_TIME_LOG", $config["debug_time"]);
|
|
||||||
define("DEBUG_CALENDAR_LOG", $config["debug_calendar"]);
|
|
||||||
define("MEMCACHED_ENABLED", $config["memcached"]);
|
|
||||||
define("MEMCACHED_SERVER", $config["memcached_server"]);
|
|
||||||
define("TIME_ZONE", $config["time_zone"]);
|
|
||||||
|
|
||||||
//require_once(PATH_GULLIVER . PATH_SEP . "class.bootstrap.php");
|
|
||||||
//define("PATH_GULLIVER_HOME", PATH_TRUNK . "gulliver" . PATH_SEP);
|
|
||||||
|
|
||||||
spl_autoload_register(array("Bootstrap", "autoloadClass"));
|
|
||||||
|
|
||||||
//DATABASE propel classes used in "Cases" Options
|
|
||||||
Bootstrap::registerClass("PMLicensedFeatures", PATH_CLASSES . "class.licensedFeatures.php");
|
|
||||||
Bootstrap::registerClass("calendar", PATH_CLASSES . "class.calendar.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass("wsResponse", PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "class.wsResponse.php");
|
|
||||||
|
|
||||||
G::LoadClass("processes");
|
|
||||||
G::LoadClass("derivation");
|
|
||||||
G::LoadClass("dates"); //Load Criteria
|
|
||||||
|
|
||||||
//Workflow
|
|
||||||
$workflow = $argv[1];
|
|
||||||
|
|
||||||
if (is_dir(PATH_DB . $workflow) && file_exists(PATH_DB . $workflow . PATH_SEP . "db.php")) {
|
|
||||||
define("SYS_SYS", $workflow);
|
|
||||||
|
|
||||||
include_once(PATH_HOME . "engine" . PATH_SEP . "config" . PATH_SEP . "paths_installed.php");
|
|
||||||
include_once(PATH_HOME . "engine" . PATH_SEP . "config" . PATH_SEP . "paths.php");
|
|
||||||
|
|
||||||
//PM Paths DATA
|
|
||||||
define("PATH_DATA_SITE", PATH_DATA . "sites/" . SYS_SYS . "/");
|
|
||||||
define("PATH_DOCUMENT", PATH_DATA_SITE . "files/");
|
|
||||||
define("PATH_DATA_MAILTEMPLATES", PATH_DATA_SITE . "mailTemplates/");
|
|
||||||
define("PATH_DATA_PUBLIC", PATH_DATA_SITE . "public/");
|
|
||||||
define("PATH_DATA_REPORTS", PATH_DATA_SITE . "reports/");
|
|
||||||
define("PATH_DYNAFORM", PATH_DATA_SITE . "xmlForms/");
|
|
||||||
define("PATH_IMAGES_ENVIRONMENT_FILES", PATH_DATA_SITE . "usersFiles" . PATH_SEP);
|
|
||||||
define("PATH_IMAGES_ENVIRONMENT_USERS", PATH_DATA_SITE . "usersPhotographies" . PATH_SEP);
|
|
||||||
|
|
||||||
if (is_file(PATH_DATA_SITE.PATH_SEP . ".server_info")) {
|
|
||||||
$SERVER_INFO = file_get_contents(PATH_DATA_SITE.PATH_SEP.".server_info");
|
|
||||||
$SERVER_INFO = unserialize($SERVER_INFO);
|
|
||||||
|
|
||||||
define("SERVER_NAME", $SERVER_INFO ["SERVER_NAME"]);
|
|
||||||
define("SERVER_PORT", $SERVER_INFO ["SERVER_PORT"]);
|
|
||||||
} else {
|
|
||||||
eprintln("WARNING! No server info found!", "red");
|
|
||||||
}
|
|
||||||
|
|
||||||
//DB
|
|
||||||
$phpCode = "";
|
|
||||||
|
|
||||||
$fileDb = fopen(PATH_DB . $workflow . PATH_SEP . "db.php", "r");
|
|
||||||
|
|
||||||
if ($fileDb) {
|
|
||||||
while (!feof($fileDb)) {
|
|
||||||
$buffer = fgets($fileDb, 4096); //Read a line
|
|
||||||
|
|
||||||
$phpCode .= preg_replace("/define\s*\(\s*[\x22\x27](.*)[\x22\x27]\s*,\s*(\x22.*\x22|\x27.*\x27)\s*\)\s*;/i", "\$$1 = $2;", $buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
fclose($fileDb);
|
|
||||||
}
|
|
||||||
|
|
||||||
$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":
|
|
||||||
$dsn .= "?encoding=utf8";
|
|
||||||
$dsnRbac .= "?encoding=utf8";
|
|
||||||
break;
|
|
||||||
case "mssql":
|
|
||||||
//$dsn .= "?sendStringAsUnicode=false";
|
|
||||||
//$dsnRbac .= "?sendStringAsUnicode=false";
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
$pro = array();
|
|
||||||
$pro["datasources"]["workflow"]["connection"] = $dsn;
|
|
||||||
$pro["datasources"]["workflow"]["adapter"] = $DB_ADAPTER;
|
|
||||||
$pro["datasources"]["rbac"]["connection"] = $dsnRbac;
|
|
||||||
$pro["datasources"]["rbac"]["adapter"] = $DB_ADAPTER;
|
|
||||||
$pro["datasources"]["rp"]["connection"] = $dsnRp;
|
|
||||||
$pro["datasources"]["rp"]["adapter"] = $DB_ADAPTER;
|
|
||||||
//$pro["datasources"]["dbarray"]["connection"] = "dbarray://user:pass@localhost/pm_os";
|
|
||||||
//$pro["datasources"]["dbarray"]["adapter"] = "dbarray";
|
|
||||||
|
|
||||||
$oFile = fopen(PATH_CORE . "config" . PATH_SEP . "_databases_.php", "w");
|
|
||||||
fwrite($oFile, "<?php global \$pro; return \$pro; ?>");
|
|
||||||
fclose($oFile);
|
|
||||||
|
|
||||||
Propel::init(PATH_CORE . "config" . PATH_SEP . "_databases_.php");
|
|
||||||
//Creole::registerDriver("dbarray", "creole.contrib.DBArrayConnection");
|
|
||||||
|
|
||||||
//Enable RBAC
|
|
||||||
Bootstrap::LoadSystem("rbac");
|
|
||||||
|
|
||||||
$rbac = &RBAC::getSingleton(PATH_DATA, session_id());
|
|
||||||
$rbac->sSystem = "PROCESSMAKER";
|
|
||||||
|
|
||||||
if (!defined("DB_ADAPTER")) {
|
|
||||||
define("DB_ADAPTER", $DB_ADAPTER);
|
|
||||||
}
|
|
||||||
|
|
||||||
eprintln("Processing workspace: " . $workflow, "green");
|
|
||||||
|
|
||||||
try {
|
|
||||||
$messageApplication = new \ProcessMaker\BusinessModel\MessageApplication();
|
|
||||||
|
|
||||||
$messageApplication->catchMessageEvent(true);
|
|
||||||
} catch (Exception $e) {
|
|
||||||
echo $e->getMessage() . "\n";
|
|
||||||
|
|
||||||
eprintln("Problem in workspace: " . $workflow . " it was omitted.", "red");
|
|
||||||
}
|
|
||||||
|
|
||||||
eprintln();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (file_exists(PATH_CORE . "config" . PATH_SEP . "_databases_.php")) {
|
|
||||||
unlink(PATH_CORE . "config" . PATH_SEP . "_databases_.php");
|
|
||||||
}
|
|
||||||
} catch (Exception $e) {
|
|
||||||
echo $e->getMessage() . "\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,147 +1,3 @@
|
|||||||
<?php
|
<?php
|
||||||
try {
|
require_once("cron.php");
|
||||||
//Set variables
|
|
||||||
$osIsLinux = strtoupper(substr(PHP_OS, 0, 3)) != "WIN";
|
|
||||||
|
|
||||||
//Defines constants
|
|
||||||
define("PATH_SEP", ($osIsLinux)? "/" : "\\");
|
|
||||||
|
|
||||||
$arrayPathToCron = array();
|
|
||||||
$flagPathToCron = false;
|
|
||||||
|
|
||||||
//Path to CRON by __FILE__
|
|
||||||
$arrayAux = explode(PATH_SEP, str_replace("engine" . PATH_SEP . "bin", "", dirname(__FILE__)));
|
|
||||||
|
|
||||||
array_pop($arrayAux);
|
|
||||||
|
|
||||||
if (count($arrayAux) > 0 && $arrayAux[count($arrayAux) - 1] == "workflow") {
|
|
||||||
$arrayPathToCron = $arrayAux;
|
|
||||||
$flagPathToCron = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$flagPathToCron) {
|
|
||||||
throw new Exception("Error: Unable to execute the Timer-Event CRON, the path is incorrect");
|
|
||||||
}
|
|
||||||
|
|
||||||
$pathHome = implode(PATH_SEP, $arrayPathToCron) . PATH_SEP;
|
|
||||||
|
|
||||||
array_pop($arrayPathToCron);
|
|
||||||
|
|
||||||
$pathTrunk = implode(PATH_SEP, $arrayPathToCron) . PATH_SEP;
|
|
||||||
|
|
||||||
array_pop($arrayPathToCron);
|
|
||||||
|
|
||||||
$pathOutTrunk = implode(PATH_SEP, $arrayPathToCron) . PATH_SEP;
|
|
||||||
|
|
||||||
define("PATH_HOME", $pathHome);
|
|
||||||
define("PATH_TRUNK", $pathTrunk);
|
|
||||||
define("PATH_OUTTRUNK", $pathOutTrunk);
|
|
||||||
|
|
||||||
//Include files
|
|
||||||
require_once(PATH_HOME . "engine" . PATH_SEP . "config" . PATH_SEP . "paths.php");
|
|
||||||
|
|
||||||
G::LoadClass("system");
|
|
||||||
|
|
||||||
$config = System::getSystemConfiguration();
|
|
||||||
|
|
||||||
G::LoadSystem('inputfilter');
|
|
||||||
$filter = new InputFilter();
|
|
||||||
$config['time_zone'] = $filter->validateInput($config['time_zone']);
|
|
||||||
|
|
||||||
ini_set("date.timezone", $config["time_zone"]);
|
|
||||||
|
|
||||||
//CRON command options
|
|
||||||
$arrayCommandOption = array(
|
|
||||||
"force" => "+force"
|
|
||||||
);
|
|
||||||
|
|
||||||
//CRON status
|
|
||||||
$flagIsRunning = false;
|
|
||||||
$lastExecution = "";
|
|
||||||
$processcTimeProcess = 0;
|
|
||||||
$processcTimeStart = 0;
|
|
||||||
|
|
||||||
$force = in_array($arrayCommandOption["force"], $argv);
|
|
||||||
|
|
||||||
if (!$force && file_exists(PATH_DATA . "timereventcron")) {
|
|
||||||
//Windows flag
|
|
||||||
//Get data of CRON file
|
|
||||||
$arrayCron = unserialize(trim(file_get_contents(PATH_DATA . "timereventcron")));
|
|
||||||
|
|
||||||
$flagIsRunning = (boolean)($arrayCron["flagIsRunning"]);
|
|
||||||
$lastExecution = $arrayCron["lastExecution"];
|
|
||||||
$processcTimeProcess = (isset($arrayCron["processcTimeProcess"]))? (int)($arrayCron["processcTimeProcess"]) : 10; //Minutes
|
|
||||||
$processcTimeStart = (isset($arrayCron["processcTimeStart"]))? $arrayCron["processcTimeStart"] : 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$force && $osIsLinux) {
|
|
||||||
//Linux flag
|
|
||||||
//Check if CRON it's running
|
|
||||||
exec("ps -fea | grep timereventcron.php | grep -v grep", $arrayOutput);
|
|
||||||
|
|
||||||
if (count($arrayOutput) > 1) {
|
|
||||||
$flagIsRunning = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($force || !$flagIsRunning) {
|
|
||||||
//Start CRON
|
|
||||||
$arrayCron = array("flagIsRunning" => "1", "lastExecution" => date("Y-m-d H:i:s"));
|
|
||||||
file_put_contents(PATH_DATA . "timereventcron", serialize($arrayCron));
|
|
||||||
|
|
||||||
try {
|
|
||||||
$messageEventCronSinglePath = PATH_CORE . "bin" . PATH_SEP . "timereventcron_single.php";
|
|
||||||
|
|
||||||
$workspace = "";
|
|
||||||
|
|
||||||
for ($i = 1; $i <= count($argv) - 1; $i++) {
|
|
||||||
if (preg_match("/^\+w(.+)$/", $argv[$i], $arrayMatch)) {
|
|
||||||
$workspace = $arrayMatch[1];
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$countw = 0;
|
|
||||||
|
|
||||||
if ($workspace == "") {
|
|
||||||
$d = dir(PATH_DB);
|
|
||||||
|
|
||||||
while (($entry = $d->read()) !== false) {
|
|
||||||
if ($entry != "" && $entry != "." && $entry != "..") {
|
|
||||||
if (is_dir(PATH_DB . $entry)) {
|
|
||||||
if (file_exists(PATH_DB . $entry . PATH_SEP . "db.php")) {
|
|
||||||
$countw++;
|
|
||||||
|
|
||||||
passthru("php -f \"$messageEventCronSinglePath\" $entry \"" . base64_encode(PATH_HOME) . "\" \"" . base64_encode(PATH_TRUNK) . "\" \"" . base64_encode(PATH_OUTTRUNK) . "\"");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (!is_dir(PATH_DB . $workspace) || !file_exists(PATH_DB . $workspace . PATH_SEP . "db.php")) {
|
|
||||||
throw new Exception("Error: The workspace \"$workspace\" does not exist");
|
|
||||||
}
|
|
||||||
|
|
||||||
$countw++;
|
|
||||||
|
|
||||||
passthru("php -f \"$messageEventCronSinglePath\" $workspace \"" . base64_encode(PATH_HOME) . "\" \"" . base64_encode(PATH_TRUNK) . "\" \"" . base64_encode(PATH_OUTTRUNK) . "\"");
|
|
||||||
}
|
|
||||||
|
|
||||||
eprintln("Finished $countw workspaces processed");
|
|
||||||
} catch (Exception $e) {
|
|
||||||
throw $e;
|
|
||||||
}
|
|
||||||
|
|
||||||
//End CRON
|
|
||||||
$arrayCron = array("flagIsRunning" => "0", "lastExecution" => date("Y-m-d H:i:s"));
|
|
||||||
file_put_contents(PATH_DATA . "timereventcron", serialize($arrayCron));
|
|
||||||
} else {
|
|
||||||
eprintln("The Timer-Event CRON is running, please wait for it to finish\nStarted in $lastExecution");
|
|
||||||
eprintln("If do you want force the execution use the option \"" . $arrayCommandOption["force"] . "\", example: php -f timereventcron.php +wworkflow " . $arrayCommandOption["force"] ,"green");
|
|
||||||
}
|
|
||||||
|
|
||||||
echo "Done!\n";
|
|
||||||
} catch (Exception $e) {
|
|
||||||
echo $e->getMessage() . "\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,244 +0,0 @@
|
|||||||
<?php
|
|
||||||
register_shutdown_function(
|
|
||||||
create_function(
|
|
||||||
"",
|
|
||||||
"
|
|
||||||
if (class_exists(\"Propel\")) {
|
|
||||||
Propel::close();
|
|
||||||
}
|
|
||||||
"
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
ini_set("memory_limit", "512M");
|
|
||||||
|
|
||||||
try {
|
|
||||||
//Verify data
|
|
||||||
if (count($argv) != 5) {
|
|
||||||
throw new Exception("Error: Invalid number of arguments");
|
|
||||||
}
|
|
||||||
|
|
||||||
for ($i = 2; $i <= count($argv) - 1; $i++) {
|
|
||||||
$argv[$i] = base64_decode($argv[$i]);
|
|
||||||
|
|
||||||
if (!is_dir($argv[$i])) {
|
|
||||||
throw new Exception("Error: The path \"" . $argv[$i] . "\" is invalid");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//Set variables
|
|
||||||
$osIsLinux = strtoupper(substr(PHP_OS, 0, 3)) != "WIN";
|
|
||||||
|
|
||||||
$pathHome = $argv[2];
|
|
||||||
$pathTrunk = $argv[3];
|
|
||||||
$pathOutTrunk = $argv[4];
|
|
||||||
|
|
||||||
//Defines constants
|
|
||||||
define("PATH_SEP", ($osIsLinux)? "/" : "\\");
|
|
||||||
|
|
||||||
define("PATH_HOME", $pathHome);
|
|
||||||
define("PATH_TRUNK", $pathTrunk);
|
|
||||||
define("PATH_OUTTRUNK", $pathOutTrunk);
|
|
||||||
|
|
||||||
define("PATH_CLASSES", PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP);
|
|
||||||
|
|
||||||
define("SYS_LANG", "en");
|
|
||||||
|
|
||||||
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
|
|
||||||
$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");
|
|
||||||
G::LoadSystem("dbconnection");
|
|
||||||
G::LoadSystem("dbsession");
|
|
||||||
G::LoadSystem("dbrecordset");
|
|
||||||
G::LoadSystem("dbtable");
|
|
||||||
G::LoadSystem("rbac" );
|
|
||||||
G::LoadSystem("publisher");
|
|
||||||
G::LoadSystem("templatePower");
|
|
||||||
G::LoadSystem("xmlDocument");
|
|
||||||
G::LoadSystem("xmlform");
|
|
||||||
G::LoadSystem("xmlformExtension");
|
|
||||||
G::LoadSystem("form");
|
|
||||||
G::LoadSystem("menu");
|
|
||||||
G::LoadSystem("xmlMenu");
|
|
||||||
G::LoadSystem("dvEditor");
|
|
||||||
G::LoadSystem("table");
|
|
||||||
G::LoadSystem("pagedTable");
|
|
||||||
G::LoadClass("system");
|
|
||||||
|
|
||||||
require_once("propel/Propel.php");
|
|
||||||
require_once("creole/Creole.php");
|
|
||||||
|
|
||||||
$config = System::getSystemConfiguration();
|
|
||||||
|
|
||||||
$e_all = (defined("E_DEPRECATED"))? E_ALL & ~E_DEPRECATED : E_ALL;
|
|
||||||
$e_all = (defined("E_STRICT"))? $e_all & ~E_STRICT : $e_all;
|
|
||||||
$e_all = ($config["debug"])? $e_all : $e_all & ~E_NOTICE;
|
|
||||||
|
|
||||||
G::LoadSystem('inputfilter');
|
|
||||||
$filter = new InputFilter();
|
|
||||||
$config['debug'] = $filter->validateInput($config['debug']);
|
|
||||||
$config['wsdl_cache'] = $filter->validateInput($config['wsdl_cache'],'int');
|
|
||||||
$config['time_zone'] = $filter->validateInput($config['time_zone']);
|
|
||||||
//Do not change any of these settings directly, use env.ini instead
|
|
||||||
ini_set("display_errors", $config["debug"]);
|
|
||||||
ini_set("error_reporting", $e_all);
|
|
||||||
ini_set("short_open_tag", "On");
|
|
||||||
ini_set("default_charset", "UTF-8");
|
|
||||||
//ini_set("memory_limit", $config["memory_limit"]);
|
|
||||||
ini_set("soap.wsdl_cache_enabled", $config["wsdl_cache"]);
|
|
||||||
ini_set("date.timezone", $config["time_zone"]);
|
|
||||||
|
|
||||||
define("DEBUG_SQL_LOG", $config["debug_sql"]);
|
|
||||||
define("DEBUG_TIME_LOG", $config["debug_time"]);
|
|
||||||
define("DEBUG_CALENDAR_LOG", $config["debug_calendar"]);
|
|
||||||
define("MEMCACHED_ENABLED", $config["memcached"]);
|
|
||||||
define("MEMCACHED_SERVER", $config["memcached_server"]);
|
|
||||||
define("TIME_ZONE", $config["time_zone"]);
|
|
||||||
|
|
||||||
//require_once(PATH_GULLIVER . PATH_SEP . "class.bootstrap.php");
|
|
||||||
//define("PATH_GULLIVER_HOME", PATH_TRUNK . "gulliver" . PATH_SEP);
|
|
||||||
|
|
||||||
spl_autoload_register(array("Bootstrap", "autoloadClass"));
|
|
||||||
|
|
||||||
//DATABASE propel classes used in "Cases" Options
|
|
||||||
Bootstrap::registerClass("PMLicensedFeatures", PATH_CLASSES . "class.licensedFeatures.php");
|
|
||||||
Bootstrap::registerClass("calendar", PATH_CLASSES . "class.calendar.php");
|
|
||||||
|
|
||||||
Bootstrap::registerClass("wsResponse", PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "class.wsResponse.php");
|
|
||||||
|
|
||||||
G::LoadClass("processes");
|
|
||||||
G::LoadClass("derivation");
|
|
||||||
G::LoadClass("spool");
|
|
||||||
G::LoadClass("dates"); //Load Criteria
|
|
||||||
|
|
||||||
//Workflow
|
|
||||||
$workflow = $argv[1];
|
|
||||||
|
|
||||||
if (is_dir(PATH_DB . $workflow) && file_exists(PATH_DB . $workflow . PATH_SEP . "db.php")) {
|
|
||||||
define("SYS_SYS", $workflow);
|
|
||||||
|
|
||||||
include_once(PATH_HOME . "engine" . PATH_SEP . "config" . PATH_SEP . "paths_installed.php");
|
|
||||||
include_once(PATH_HOME . "engine" . PATH_SEP . "config" . PATH_SEP . "paths.php");
|
|
||||||
|
|
||||||
//PM Paths DATA
|
|
||||||
define("PATH_DATA_SITE", PATH_DATA . "sites/" . SYS_SYS . "/");
|
|
||||||
define("PATH_DOCUMENT", PATH_DATA_SITE . "files/");
|
|
||||||
define("PATH_DATA_MAILTEMPLATES", PATH_DATA_SITE . "mailTemplates/");
|
|
||||||
define("PATH_DATA_PUBLIC", PATH_DATA_SITE . "public/");
|
|
||||||
define("PATH_DATA_REPORTS", PATH_DATA_SITE . "reports/");
|
|
||||||
define("PATH_DYNAFORM", PATH_DATA_SITE . "xmlForms/");
|
|
||||||
define("PATH_IMAGES_ENVIRONMENT_FILES", PATH_DATA_SITE . "usersFiles" . PATH_SEP);
|
|
||||||
define("PATH_IMAGES_ENVIRONMENT_USERS", PATH_DATA_SITE . "usersPhotographies" . PATH_SEP);
|
|
||||||
|
|
||||||
if (is_file(PATH_DATA_SITE.PATH_SEP . ".server_info")) {
|
|
||||||
$SERVER_INFO = file_get_contents(PATH_DATA_SITE.PATH_SEP.".server_info");
|
|
||||||
$SERVER_INFO = unserialize($SERVER_INFO);
|
|
||||||
|
|
||||||
define("SERVER_NAME", $SERVER_INFO ["SERVER_NAME"]);
|
|
||||||
define("SERVER_PORT", $SERVER_INFO ["SERVER_PORT"]);
|
|
||||||
} else {
|
|
||||||
eprintln("WARNING! No server info found!", "red");
|
|
||||||
}
|
|
||||||
|
|
||||||
//DB
|
|
||||||
$phpCode = "";
|
|
||||||
|
|
||||||
$fileDb = fopen(PATH_DB . $workflow . PATH_SEP . "db.php", "r");
|
|
||||||
|
|
||||||
if ($fileDb) {
|
|
||||||
while (!feof($fileDb)) {
|
|
||||||
$buffer = fgets($fileDb, 4096); //Read a line
|
|
||||||
|
|
||||||
$phpCode .= preg_replace("/define\s*\(\s*[\x22\x27](.*)[\x22\x27]\s*,\s*(\x22.*\x22|\x27.*\x27)\s*\)\s*;/i", "\$$1 = $2;", $buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
fclose($fileDb);
|
|
||||||
}
|
|
||||||
|
|
||||||
$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":
|
|
||||||
$dsn .= "?encoding=utf8";
|
|
||||||
$dsnRbac .= "?encoding=utf8";
|
|
||||||
break;
|
|
||||||
case "mssql":
|
|
||||||
//$dsn .= "?sendStringAsUnicode=false";
|
|
||||||
//$dsnRbac .= "?sendStringAsUnicode=false";
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
$pro = array();
|
|
||||||
$pro["datasources"]["workflow"]["connection"] = $dsn;
|
|
||||||
$pro["datasources"]["workflow"]["adapter"] = $DB_ADAPTER;
|
|
||||||
$pro["datasources"]["rbac"]["connection"] = $dsnRbac;
|
|
||||||
$pro["datasources"]["rbac"]["adapter"] = $DB_ADAPTER;
|
|
||||||
$pro["datasources"]["rp"]["connection"] = $dsnRp;
|
|
||||||
$pro["datasources"]["rp"]["adapter"] = $DB_ADAPTER;
|
|
||||||
//$pro["datasources"]["dbarray"]["connection"] = "dbarray://user:pass@localhost/pm_os";
|
|
||||||
//$pro["datasources"]["dbarray"]["adapter"] = "dbarray";
|
|
||||||
|
|
||||||
$oFile = fopen(PATH_CORE . "config" . PATH_SEP . "_databases_.php", "w");
|
|
||||||
fwrite($oFile, "<?php global \$pro; return \$pro; ?>");
|
|
||||||
fclose($oFile);
|
|
||||||
|
|
||||||
Propel::init(PATH_CORE . "config" . PATH_SEP . "_databases_.php");
|
|
||||||
//Creole::registerDriver("dbarray", "creole.contrib.DBArrayConnection");
|
|
||||||
|
|
||||||
//Enable RBAC
|
|
||||||
Bootstrap::LoadSystem("rbac");
|
|
||||||
|
|
||||||
$rbac = &RBAC::getSingleton(PATH_DATA, session_id());
|
|
||||||
$rbac->sSystem = "PROCESSMAKER";
|
|
||||||
|
|
||||||
if (!defined("DB_ADAPTER")) {
|
|
||||||
define("DB_ADAPTER", $DB_ADAPTER);
|
|
||||||
}
|
|
||||||
|
|
||||||
eprintln("Processing workspace: " . $workflow, "green");
|
|
||||||
|
|
||||||
try {
|
|
||||||
$timerEvent = new \ProcessMaker\BusinessModel\TimerEvent();
|
|
||||||
|
|
||||||
$timerEvent->startContinueCaseByTimerEvent(date("Y-m-d H:i:s"), true);
|
|
||||||
} catch (Exception $e) {
|
|
||||||
echo $e->getMessage() . "\n";
|
|
||||||
|
|
||||||
eprintln("Problem in workspace: " . $workflow . " it was omitted.", "red");
|
|
||||||
}
|
|
||||||
|
|
||||||
eprintln();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (file_exists(PATH_CORE . "config" . PATH_SEP . "_databases_.php")) {
|
|
||||||
unlink(PATH_CORE . "config" . PATH_SEP . "_databases_.php");
|
|
||||||
}
|
|
||||||
} catch (Exception $e) {
|
|
||||||
echo $e->getMessage() . "\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user