diff --git a/framework/src/Maveriks/WebApplication.php b/framework/src/Maveriks/WebApplication.php index 817864831..094aac5b7 100644 --- a/framework/src/Maveriks/WebApplication.php +++ b/framework/src/Maveriks/WebApplication.php @@ -290,7 +290,7 @@ class WebApplication } // Setting current workspace to Api class - Services\Api::setWorkspace(SYS_SYS); + Services\Api::setWorkspace(config("system.workspace")); $cacheDir = defined("PATH_WORKSPACE") ? PATH_WORKSPACE : (defined("PATH_C") ? PATH_C : sys_get_temp_dir()); $sysConfig = System::getSystemConfiguration(); @@ -387,7 +387,7 @@ class WebApplication } } - Services\OAuth2\Server::setWorkspace(SYS_SYS); + Services\OAuth2\Server::setWorkspace(config("system.workspace")); $this->rest->addAPIClass('\ProcessMaker\\Services\\OAuth2\\Server', 'oauth2'); return $uri; @@ -498,15 +498,16 @@ class WebApplication } define("SYS_SYS", $workspace); + config(["system.workspace" => $workspace]); - if (!file_exists(PATH_DB . SYS_SYS . PATH_SEP . "db.php")) { + if (!file_exists(PATH_DB . config("system.workspace") . PATH_SEP . "db.php")) { $rest = new \Maveriks\Extension\Restler(); $rest->setMessage(new RestException(Api::STAT_APP_EXCEPTION, \G::LoadTranslation("ID_NOT_WORKSPACE"))); exit(0); } - $arraySystemConfiguration = System::getSystemConfiguration('', '', SYS_SYS); + $arraySystemConfiguration = System::getSystemConfiguration('', '', config("system.workspace")); //Do not change any of these settings directly, use env.ini instead ini_set('display_errors', $arraySystemConfiguration['display_errors']); @@ -524,11 +525,11 @@ class WebApplication define('SYS_SKIN', $arraySystemConfiguration['default_skin']); define('DISABLE_DOWNLOAD_DOCUMENTS_SESSION_VALIDATION', $arraySystemConfiguration['disable_download_documents_session_validation']); - require_once(PATH_DB . SYS_SYS . "/db.php"); + require_once(PATH_DB . config("system.workspace") . "/db.php"); // defining constant for workspace shared directory - $this->workspaceDir = PATH_DB . SYS_SYS . PATH_SEP; - $this->workspaceCacheDir = PATH_DB . SYS_SYS . PATH_SEP . "cache" . PATH_SEP; + $this->workspaceDir = PATH_DB . config("system.workspace") . PATH_SEP; + $this->workspaceCacheDir = PATH_DB . config("system.workspace") . PATH_SEP . "cache" . PATH_SEP; define("PATH_WORKSPACE", $this->workspaceDir); // including workspace shared classes -> particularlly for pmTables @@ -539,7 +540,7 @@ class WebApplication define("PATH_SMARTY_C", PATH_C . "smarty" . PATH_SEP . "c"); define("PATH_SMARTY_CACHE", PATH_C . "smarty" . PATH_SEP . "cache"); - define("PATH_DATA_SITE", PATH_DATA . "sites/" . SYS_SYS . "/"); + define("PATH_DATA_SITE", PATH_DATA . "sites/" . config("system.workspace") . "/"); define("PATH_DOCUMENT", PATH_DATA_SITE . "files/"); define("PATH_DATA_MAILTEMPLATES", PATH_DATA_SITE . "mailTemplates/"); define("PATH_DATA_PUBLIC", PATH_DATA_SITE . "public/"); diff --git a/gulliver/bin/tasks/pakeGulliver.php b/gulliver/bin/tasks/pakeGulliver.php index 804529e07..18e3600b1 100644 --- a/gulliver/bin/tasks/pakeGulliver.php +++ b/gulliver/bin/tasks/pakeGulliver.php @@ -2230,7 +2230,9 @@ function run_update_plugin_attributes($task, $args) //Set variables $pluginName = $args[0]; // virtual SYS_SYS for cache - define('SYS_SYS', uniqid()); + $sys_sys = uniqid(); + define('SYS_SYS', $sys_sys); + config(["system.workspace" => $sys_sys]); foreach (PmSystem::listWorkspaces() as $value) { \ProcessMaker\Util\Cnn::connect($value->name); //Update plugin attributes diff --git a/gulliver/includes/inc.ajax.php b/gulliver/includes/inc.ajax.php index 84a828a0c..e45099ece 100644 --- a/gulliver/includes/inc.ajax.php +++ b/gulliver/includes/inc.ajax.php @@ -107,5 +107,5 @@ } function ajax_LoadJavaScript( $phpMethod, $phpFile ) { - print ' LoadPopJavaScript ( "/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/tools/loadJavaScript.html?method=' .$phpMethod . '&file=' . $phpFile . "\");\n"; + print ' LoadPopJavaScript ( "/sys' . config("system.workspace") . '/' . SYS_LANG . '/' . SYS_SKIN . '/tools/loadJavaScript.html?method=' .$phpMethod . '&file=' . $phpFile . "\");\n"; } diff --git a/gulliver/system/class.bootstrap.php b/gulliver/system/class.bootstrap.php index 87a972836..40d1f90a4 100644 --- a/gulliver/system/class.bootstrap.php +++ b/gulliver/system/class.bootstrap.php @@ -2121,8 +2121,8 @@ class Bootstrap $sysCon["SYS_SKIN"] = SYS_SKIN; } - if (defined("SYS_SYS")) { - $sysCon["SYS_SYS"] = SYS_SYS; + if (!empty(config("system.workspace"))) { + $sysCon["SYS_SYS"] = config("system.workspace"); } $sysCon["APPLICATION"] = (isset($_SESSION["APPLICATION"])) ? $_SESSION["APPLICATION"] : ""; @@ -2682,7 +2682,7 @@ class Bootstrap * @return array $aContext void */ public static function getDefaultContextLog(){ - $sysSys = (defined("SYS_SYS"))? SYS_SYS : "Undefined"; + $sysSys = (!empty(config("system.workspace")))? config("system.workspace") : "Undefined"; $date = \ProcessMaker\Util\DateTime::convertUtcToTimeZone(date('Y-m-d H:m:s')); $aContext = array( 'ip' => \G::getIpAddress() @@ -2722,7 +2722,7 @@ class Bootstrap $context['url'] = SYS_CURRENT_URI . '?' . SYS_CURRENT_PARMS; } $context['usrUid'] = isset($_SESSION['USER_LOGGED']) ? $_SESSION['USER_LOGGED'] : ''; - $sysSys = defined("SYS_SYS") ? SYS_SYS : "Undefined"; + $sysSys = !empty(config("system.workspace")) ? config("system.workspace") : "Undefined"; \Bootstrap::registerMonolog($channel, $level, $message, $context, $sysSys, 'processmaker.log'); } @@ -2734,12 +2734,13 @@ class Bootstrap * @return void */ public static function setConstantsRelatedWs($wsName = null) { - if (!defined('SYS_SYS') && !is_null($wsName)) { + if (empty(config("system.workspace")) && !is_null($wsName)) { //If SYS_SYS exists, is not update with $wsName define('SYS_SYS', $wsName); + config(["system.workspace" => $wsName]); } - if (defined('SYS_SYS') && !defined('PATH_DATA_SITE')) { - define('PATH_DATA_SITE', PATH_DATA . 'sites' . PATH_SEP . SYS_SYS . PATH_SEP); + if (!empty(config("system.workspace")) && !defined('PATH_DATA_SITE')) { + define('PATH_DATA_SITE', PATH_DATA . 'sites' . PATH_SEP . config("system.workspace") . PATH_SEP); } if (defined('PATH_DATA_SITE') && !defined('PATH_WORKSPACE')) { define('PATH_WORKSPACE', PATH_DATA_SITE); diff --git a/gulliver/system/class.dbMaintenance.php b/gulliver/system/class.dbMaintenance.php index c61de7110..aa2c9058d 100644 --- a/gulliver/system/class.dbMaintenance.php +++ b/gulliver/system/class.dbMaintenance.php @@ -267,7 +267,7 @@ class DataBaseMaintenance // Commented that is not assigned to a variable. // mysql_escape_string("';"); if (! @mysql_query( $sql )) { - $ws = (defined("SYS_SYS"))? SYS_SYS : "Wokspace Undefined"; + $ws = (!empty(config("system.workspace")))? config("system.workspace") : "Wokspace Undefined"; Bootstrap::registerMonolog('MysqlCron', 400, mysql_error(), array('sql'=>$sql), $ws, 'processmaker.log'); $varRes = mysql_error() . "\n"; G::outRes( $varRes ); @@ -288,7 +288,7 @@ class DataBaseMaintenance $tableName = str_replace( '.dump', '', basename( $backupFile ) ); $sql = "LOAD DATA INFILE '$backupFile' INTO TABLE $tableName FIELDS TERMINATED BY '\t|\t' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\t\t\r\r\n'"; if (! @mysql_query( $sql )) { - $ws = (defined("SYS_SYS"))? SYS_SYS : "Wokspace Undefined"; + $ws = (!empty(config("system.workspace")))? config("system.workspace") : "Wokspace Undefined"; Bootstrap::registerMonolog('MysqlCron', 400, mysql_error(), array('sql'=>$sql), $ws, 'processmaker.log'); $varRes = mysql_error() . "\n"; G::outRes( $varRes ); diff --git a/gulliver/system/class.g.php b/gulliver/system/class.g.php index 477578c59..096906d9b 100644 --- a/gulliver/system/class.g.php +++ b/gulliver/system/class.g.php @@ -2448,7 +2448,7 @@ class G global $RBAC; if (isset( $_SESSION['USER_LOGGED'] ) && $_SESSION['USER_LOGGED'] == '') { - $sys = (ENABLE_ENCRYPT == 'yes' ? SYS_SYS : "sys" . SYS_SYS); + $sys = (ENABLE_ENCRYPT == 'yes' ? config("system.workspace") : "sys" . config("system.workspace")); $lang = (ENABLE_ENCRYPT == 'yes' ? G::encrypt( urldecode( SYS_LANG ), URL_KEY ) : SYS_LANG); $skin = (ENABLE_ENCRYPT == 'yes' ? G::encrypt( urldecode( SYS_SKIN ), URL_KEY ) : SYS_SKIN); $login = (ENABLE_ENCRYPT == 'yes' ? G::encrypt( urldecode( 'login' ), URL_KEY ) : 'login'); @@ -2466,7 +2466,7 @@ class G $sessionBrowser = defined( 'SESSION_BROWSER' ) ? SESSION_BROWSER : ''; if (($sessionPc == "1") or ($sessionBrowser == "1")) { if ($row['LOG_STATUS'] == 'X') { - $sys = (ENABLE_ENCRYPT == 'yes' ? SYS_SYS : "sys" . SYS_SYS); + $sys = (ENABLE_ENCRYPT == 'yes' ? config("system.workspace") : "sys" . config("system.workspace")); $lang = (ENABLE_ENCRYPT == 'yes' ? G::encrypt( urldecode( SYS_LANG ), URL_KEY ) : SYS_LANG); $skin = (ENABLE_ENCRYPT == 'yes' ? G::encrypt( urldecode( SYS_SKIN ), URL_KEY ) : SYS_SKIN); $login = (ENABLE_ENCRYPT == 'yes' ? G::encrypt( urldecode( 'login' ), URL_KEY ) : 'login'); @@ -2502,7 +2502,7 @@ class G if ($sw == 0 && $urlNoAccess != "") { $aux = explode( '/', $urlNoAccess ); - $sys = (ENABLE_ENCRYPT == 'yes' ? SYS_SYS : "/sys" . SYS_LANG); + $sys = (ENABLE_ENCRYPT == 'yes' ? config("system.workspace") : "/sys" . SYS_LANG); $lang = (ENABLE_ENCRYPT == 'yes' ? G::encrypt( urldecode( SYS_LANG ), URL_KEY ) : SYS_LANG); $skin = (ENABLE_ENCRYPT == 'yes' ? G::encrypt( urldecode( SYS_SKIN ), URL_KEY ) : SYS_SKIN); $login = (ENABLE_ENCRYPT == 'yes' ? G::encrypt( urldecode( $aux[0] ), URL_KEY ) : $aux[0]); @@ -2563,7 +2563,7 @@ class G { $configuration = new Configurations(); - if (defined('SYS_SYS') && $configuration->exists("ENVIRONMENT_SETTINGS")) { + if (!empty(config("system.workspace")) && $configuration->exists("ENVIRONMENT_SETTINGS")) { return ($configuration->getDirectoryStructureVer() > 1); } return false; @@ -2976,8 +2976,8 @@ class G $sysCon["SYS_SKIN"] = SYS_SKIN; } - if (defined("SYS_SYS")) { - $sysCon["SYS_SYS"] = SYS_SYS; + if (!empty(config("system.workspace"))) { + $sysCon["SYS_SYS"] = config("system.workspace"); } $sysCon["APPLICATION"] = (isset($_SESSION["APPLICATION"]))? $_SESSION["APPLICATION"] : ""; @@ -5445,7 +5445,7 @@ class G */ public static function auditLog($actionToLog, $valueToLog = "") { - $workspace = defined('SYS_SYS') ? SYS_SYS : 'Wokspace Undefined'; + $workspace = !empty(config("system.workspace")) ? config("system.workspace") : 'Wokspace Undefined'; $conf = new Configurations(); $sflag = $conf->getConfiguration('AUDIT_LOG', 'log'); $sflagAudit = $sflag == 'true' ? true : false; diff --git a/gulliver/system/class.headPublisher.php b/gulliver/system/class.headPublisher.php index b1f7f5838..0f0503c61 100644 --- a/gulliver/system/class.headPublisher.php +++ b/gulliver/system/class.headPublisher.php @@ -388,7 +388,7 @@ class headPublisher */ // Load external/plugin css // NOTE is necesary to move this to decorator server - if (class_exists('ProcessMaker\Plugins\PluginRegistry') && defined('SYS_SYS')) { + if (class_exists('ProcessMaker\Plugins\PluginRegistry') && !empty(config("system.workspace"))) { $oPluginRegistry = PluginRegistry::loadSingleton(); $registeredCss = $oPluginRegistry->getRegisteredCss(); /** @var \ProcessMaker\Plugins\Interfaces\CssFile $cssFile */ @@ -553,7 +553,7 @@ class headPublisher $this->extJsScript[] = '/extjs/' . $cacheName; //hook for registered javascripts from plugins - if (class_exists('ProcessMaker\Plugins\PluginRegistry') && defined('SYS_SYS')) { + if (class_exists('ProcessMaker\Plugins\PluginRegistry') && !empty(config("system.workspace"))) { $oPluginRegistry = PluginRegistry::loadSingleton(); $pluginJavascripts = $oPluginRegistry->getRegisteredJavascriptBy($filename); } else { diff --git a/gulliver/system/class.menu.php b/gulliver/system/class.menu.php index a50fc0b26..a4af06841 100644 --- a/gulliver/system/class.menu.php +++ b/gulliver/system/class.menu.php @@ -310,9 +310,9 @@ class Menu $target = $this->Options[$intPos]; if ($this->Types[$intPos] != "absolute") { if (defined('ENABLE_ENCRYPT')) { - $target = "/sys" . SYS_SYS . "/" . SYS_LANG . "/" . SYS_SKIN . "/" . $target; - } elseif (defined('SYS_SYS')) { - $target = "/sys" . SYS_SYS . "/" . SYS_LANG . "/" . SYS_SKIN . "/" . $target; + $target = "/sys" . config("system.workspace") . "/" . SYS_LANG . "/" . SYS_SKIN . "/" . $target; + } elseif (!empty(config("system.workspace"))) { + $target = "/sys" . config("system.workspace") . "/" . SYS_LANG . "/" . SYS_SKIN . "/" . $target; } else { $target = "/sys/" . SYS_LANG . "/" . SYS_SKIN . "/" . $target; } @@ -358,7 +358,7 @@ class Menu $target = $this->Options[$ncount]; } if ($this->Types[$ncount] != 'absolute') { - if (defined('SYS_SYS')) { + if (!empty(config("system.workspace"))) { $target = '/sys' . SYS_TEMP . G::encryptLink('/' . SYS_LANG . '/' . SYS_SKIN . '/' . $this->Options[$ncount]); } else { $target = '/sys/' . G::encryptLink(SYS_LANG . '/' . SYS_SKIN . '/' . $this->Options[$ncount]); diff --git a/gulliver/system/class.pmException.php b/gulliver/system/class.pmException.php index e428cec9f..964ed9651 100644 --- a/gulliver/system/class.pmException.php +++ b/gulliver/system/class.pmException.php @@ -21,7 +21,7 @@ class PMException extends Exception } public static function registerErrorLog($error, $token){ - $ws = (defined("SYS_SYS"))? SYS_SYS : "Wokspace Undefined"; + $ws = (!empty(config("system.workspace")))? config("system.workspace") : "Wokspace Undefined"; Bootstrap::registerMonolog('ExceptionCron', 400, $error->getMessage(), array('token'=>$token), $ws, 'processmaker.log'); } } diff --git a/gulliver/system/class.rbac.php b/gulliver/system/class.rbac.php index e6ccf3752..97151b2ec 100644 --- a/gulliver/system/class.rbac.php +++ b/gulliver/system/class.rbac.php @@ -338,7 +338,7 @@ class RBAC ), array("PER_UID" => "00000000000000000000000000000038", "PER_CODE" => "PM_UNCANCELCASE", "PER_NAME" => "Undo cancel case" ), array("PER_UID" => "00000000000000000000000000000039", "PER_CODE" => "PM_REST_API_APPLICATIONS", - "PER_NAME" => "Create rest API Aplications" + "PER_NAME" => "Register External Applications" ), array("PER_UID" => "00000000000000000000000000000040", "PER_CODE" => "PM_EDIT_USER_PROFILE_FIRST_NAME", "PER_NAME" => "Edit User profile First Name" ), array("PER_UID" => "00000000000000000000000000000041", "PER_CODE" => "PM_EDIT_USER_PROFILE_LAST_NAME", diff --git a/gulliver/system/class.table.php b/gulliver/system/class.table.php index c89886940..de33b99ce 100644 --- a/gulliver/system/class.table.php +++ b/gulliver/system/class.table.php @@ -461,7 +461,7 @@ class Table //$res .= "" . $this->Labels[$intPos] . ""; diff --git a/gulliver/system/class.wysiwygEditor.php b/gulliver/system/class.wysiwygEditor.php index 15e6a6782..9d76da2df 100644 --- a/gulliver/system/class.wysiwygEditor.php +++ b/gulliver/system/class.wysiwygEditor.php @@ -75,7 +75,7 @@ class XmlFormFieldWYSIWYGEditor extends XmlFormField public function attachEvents ($element) { $editorDefinition = 'tinyMCE.baseURL = "/js/tinymce/jscripts/tiny_mce"; '; - $editorDefinition .= 'var domainURL = "/sys'.SYS_SYS.'/'.SYS_LANG.'/'.SYS_SKIN.'/"'; + $editorDefinition .= 'var domainURL = "/sys'.config("system.workspace").'/'.SYS_LANG.'/'.SYS_SKIN.'/"'; $serverConf =& ServerConf::getSingleton(); switch ($this->editorType){ diff --git a/gulliver/system/class.xmlform.php b/gulliver/system/class.xmlform.php index 43d70a182..2a45bb092 100644 --- a/gulliver/system/class.xmlform.php +++ b/gulliver/system/class.xmlform.php @@ -255,7 +255,7 @@ class XmlFormField $rs = $con->executeQuery( $query, ResultSet::FETCHMODE_NUM ); } catch (Exception $e) { //dismiss error because dbarray shouldnt be defined in some contexts. - $workspace = defined("SYS_SYS")? SYS_SYS : "Wokspace Undefined"; + $workspace = !empty(config("system.workspace"))? config("system.workspace") : "Wokspace Undefined"; G::log($workspace . " | ip: | " . G::getIpAddress() . " | type error: | " . $e->getMessage() . " | query: " . $query, PATH_DATA, "queriesWithErrors.log"); return $result; @@ -267,7 +267,7 @@ class XmlFormField $rs = $stmt->executeQuery( $query, ResultSet::FETCHMODE_NUM ); } catch (Exception $e) { //dismiss error because dbarray shouldnt be defined in some contexts. - $workspace = defined("SYS_SYS")? SYS_SYS : "Wokspace Undefined"; + $workspace = !empty(config("system.workspace"))? config("system.workspace") : "Wokspace Undefined"; G::log($workspace . " | ip: | " . G::getIpAddress() . " | type error: | " . $e->getMessage() . " | query: " . $query, PATH_DATA, "queriesWithErrors.log"); return $result; @@ -5482,7 +5482,7 @@ class XmlForm $this->fileName = $filename; $parsedFile = dirname( $filename ) . PATH_SEP . basename( $filename, 'xml' ) . $language; - $parsedFilePath = defined( 'PATH_C' ) ? (defined( 'SYS_SYS' ) ? PATH_C . 'ws' . PATH_SEP . SYS_SYS . PATH_SEP : PATH_C) : PATH_DATA; + $parsedFilePath = defined('PATH_C') ? (!empty(config("system.workspace")) ? PATH_C . 'ws' . PATH_SEP . config("system.workspace") . PATH_SEP : PATH_C) : PATH_DATA; $parsedFilePath .= 'xmlform/' . substr( $parsedFile, strlen( $this->home ) ); // Improvement for the js cache - Start diff --git a/tests/WorkflowTestCase.php b/tests/WorkflowTestCase.php index ccef158c9..6e7969149 100644 --- a/tests/WorkflowTestCase.php +++ b/tests/WorkflowTestCase.php @@ -28,7 +28,7 @@ class WorkflowTestCase extends TestCase $pdo->exec(file_get_contents(PATH_RBAC_CORE.'data/mysql/insert.sql')); $pdo->exec("INSERT INTO `APP_SEQUENCE` (`ID`) VALUES ('1')"); $pdo->exec("INSERT INTO `OAUTH_CLIENTS` (`CLIENT_ID`, `CLIENT_SECRET`, `CLIENT_NAME`, `CLIENT_DESCRIPTION`, `CLIENT_WEBSITE`, `REDIRECT_URI`, `USR_UID`) VALUES -('x-pm-local-client', '179ad45c6ce2cb97cf1029e212046e81', 'PM Web Designer', 'ProcessMaker Web Designer App', 'www.processmaker.com', 'http://".$_SERVER["HTTP_HOST"].":".$_SERVER['SERVER_PORT']."/sys".SYS_SYS."/en/neoclassic/oauth2/grant', '00000000000000000000000000000001');"); +('x-pm-local-client', '179ad45c6ce2cb97cf1029e212046e81', 'PM Web Designer', 'ProcessMaker Web Designer App', 'www.processmaker.com', 'http://".$_SERVER["HTTP_HOST"].":".$_SERVER['SERVER_PORT']."/sys".config("system.workspace")."/en/neoclassic/oauth2/grant', '00000000000000000000000000000001');"); $pdo->exec("INSERT INTO `OAUTH_ACCESS_TOKENS` (`ACCESS_TOKEN`, `CLIENT_ID`, `USER_ID`, `EXPIRES`, `SCOPE`) VALUES ('39704d17049f5aef45e884e7b769989269502f83', 'x-pm-local-client', '00000000000000000000000000000001', '2017-06-15 17:55:19', 'view_processes edit_processes *');"); } @@ -193,7 +193,7 @@ class WorkflowTestCase extends TestCase protected function getBaseUrl($url) { return (\G::is_https() ? "https://" : "http://"). - $GLOBALS["APP_HOST"].':'.$GLOBALS['SERVER_PORT']."/sys".SYS_SYS."/". + $GLOBALS["APP_HOST"].':'.$GLOBALS['SERVER_PORT']."/sys".config("system.workspace")."/". SYS_LANG."/".SYS_SKIN."/".$url; } } diff --git a/tests/unit/workflow/engine/src/ProcessMaker/BusinessModel/SkinsTest.php b/tests/unit/workflow/engine/src/ProcessMaker/BusinessModel/SkinsTest.php index 35d96b958..2e95aa342 100644 --- a/tests/unit/workflow/engine/src/ProcessMaker/BusinessModel/SkinsTest.php +++ b/tests/unit/workflow/engine/src/ProcessMaker/BusinessModel/SkinsTest.php @@ -72,6 +72,6 @@ class SkinsTest extends \WorkflowTestCase $this->assertCount(4, $skins); $this->assertEquals($skins[2]['SKIN_FOLDER_ID'], 'test'); $this->assertEquals($skins[3]['SKIN_FOLDER_ID'], 'test2'); - $this->assertEquals($skins[3]['SKIN_WORKSPACE'], SYS_SYS); + $this->assertEquals($skins[3]['SKIN_WORKSPACE'], config("system.workspace")); } } diff --git a/tests/unit/workflow/engine/src/ProcessMaker/BusinessModel/WebEntryEventTest.php b/tests/unit/workflow/engine/src/ProcessMaker/BusinessModel/WebEntryEventTest.php index 156157b4f..a4f025cad 100644 --- a/tests/unit/workflow/engine/src/ProcessMaker/BusinessModel/WebEntryEventTest.php +++ b/tests/unit/workflow/engine/src/ProcessMaker/BusinessModel/WebEntryEventTest.php @@ -284,7 +284,7 @@ class WebEntryEventTest extends \WorkflowTestCase $this->createWebEntryEvent( $processUid, $entryEvents, [ - 'WEE_URL' => $this->domain."/sys".SYS_SYS."/".SYS_LANG."/".SYS_SKIN."/".$processUid."/custom.php", + 'WEE_URL' => $this->domain."/sys".config("system.workspace")."/".SYS_LANG."/".SYS_SKIN."/".$processUid."/custom.php", 'WE_TYPE' => "NOT-VALID-SINGLE", 'WE_CUSTOM_TITLE' => $this->customTitle, 'WE_AUTHENTICATION' => 'NOT-VALID-ANONYMOUS', @@ -373,7 +373,7 @@ class WebEntryEventTest extends \WorkflowTestCase $webEntryEventUid, $userUidUpdater, [ - 'WEE_URL' => $this->domain."/sys".SYS_SYS."/".SYS_LANG."/".SYS_SKIN."/".$processUid."/custom.php", + 'WEE_URL' => $this->domain."/sys".config("system.workspace")."/".SYS_LANG."/".SYS_SKIN."/".$processUid."/custom.php", 'WE_TYPE' => "NOT-VALID-SINGLE", 'WE_CUSTOM_TITLE' => $this->customTitle, 'WE_AUTHENTICATION' => 'NOT-VALID-ANONYMOUS', @@ -671,7 +671,7 @@ class WebEntryEventTest extends \WorkflowTestCase private function getSimpleWebEntryUrl(\WebEntry $we) { return (\G::is_https() ? "https://" : "http://"). - $_SERVER["HTTP_HOST"]."/sys".SYS_SYS."/". + $_SERVER["HTTP_HOST"]."/sys".config("system.workspace")."/". SYS_LANG."/".SYS_SKIN."/".$we->getProUid()."/".$we->getWeData(); } diff --git a/thirdparty/html2ps_pdf/config.inc.php b/thirdparty/html2ps_pdf/config.inc.php index a056ae4da..41c513cec 100644 --- a/thirdparty/html2ps_pdf/config.inc.php +++ b/thirdparty/html2ps_pdf/config.inc.php @@ -102,7 +102,6 @@ define('MAX_IMAGE_ROW_LEN',16); define('MAX_TRANSPARENT_IMAGE_ROW_LEN',16); define('CACHE_DIR', HTML2PS_DIR.'cache/'); -//define('OUTPUT_FILE_DIRECTORY', HTML2PS_DIR.'out/'.(defined('SYS_SYS') ? SYS_SYS . '/' : '')); define('OUTPUT_FILE_DIRECTORY', PATH_OUTPUT_FILE_DIRECTORY); define('FPDF_PATH', HTML2PS_DIR.'fpdf/'); diff --git a/thirdparty/pear/Log/file.php b/thirdparty/pear/Log/file.php index cd6e6b7ef..1ff3873a2 100644 --- a/thirdparty/pear/Log/file.php +++ b/thirdparty/pear/Log/file.php @@ -284,8 +284,9 @@ class Log_file extends Log if ( !defined('PM_PID') ) { define ('PM_PID', rand(0,1000) ); } - if ( !defined('SYS_SYS') ) { + if (empty(config("system.workspace"))) { define ('SYS_SYS', '' ); + config(["system.workspace" => ""]); } /* If a priority hasn't been specified, use the default value. */ if ($priority === null) { @@ -326,7 +327,7 @@ class Log_file extends Log $micro = date('H:i:s.') . sprintf("%04d", floor($usec * 10000 )); /* Build the string containing the complete message */ - $msg = sprintf ( "%s|%s|%s|%05d|%s|%s|%s|%s|%s\n", $micro,SYS_SYS,$ip, $myPid, $message, $backTrace[3], $method, $uri, $request); + $msg = sprintf ( "%s|%s|%s|%05d|%s|%s|%s|%s|%s\n", $micro,config("system.workspace"),$ip, $myPid, $message, $backTrace[3], $method, $uri, $request); /* Build the string containing the complete log line. */ $line = $this->_format('%4$s', $micro,'',$msg ); diff --git a/workflow/engine/PmBootstrap.php b/workflow/engine/PmBootstrap.php index 8c54c057c..aa367ed0f 100644 --- a/workflow/engine/PmBootstrap.php +++ b/workflow/engine/PmBootstrap.php @@ -239,11 +239,10 @@ class PmBootstrap extends Bootstrap public function initPropel($sys = '') { if (empty($sys)) { - if (! defined(SYS_SYS)) { - throw new Exception("Error: Undefined syemtem env. constant 'SYS_SYS'"); + $sys = config("system.workspace"); + if (empty($sys)) { + throw new Exception("Error: Undefined system environment (workspace)."); } - - $sys = SYS_SYS; } // setup propel definitions and logging diff --git a/workflow/engine/bin/cron_single.php b/workflow/engine/bin/cron_single.php index ae686b118..482c48659 100644 --- a/workflow/engine/bin/cron_single.php +++ b/workflow/engine/bin/cron_single.php @@ -132,12 +132,13 @@ try { if (is_dir(PATH_DB . $workspace) && file_exists(PATH_DB . $workspace . PATH_SEP . 'db.php')) { define('SYS_SYS', $workspace); + config(["system.workspace" => $workspace]); 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_DATA_SITE', PATH_DATA . 'sites/' . config("system.workspace") . '/'); define('PATH_DOCUMENT', PATH_DATA_SITE . 'files/'); define('PATH_DATA_MAILTEMPLATES', PATH_DATA_SITE . 'mailTemplates/'); define('PATH_DATA_PUBLIC', PATH_DATA_SITE . 'public/'); @@ -417,7 +418,7 @@ function executePlugins() } if ($handle = opendir($pathCronPlugins)) { - setExecutionMessage('Executing cron files in bin/plugins directory in Workspace: ' . SYS_SYS); + setExecutionMessage('Executing cron files in bin/plugins directory in Workspace: ' . config("system.workspace")); while (false !== ($file = readdir($handle))) { if (strpos($file, '.php',1) && is_file($pathCronPlugins . $file)) { $filename = str_replace('.php' , '', $file); @@ -437,7 +438,7 @@ function executePlugins() // -> Execute functions if (!empty($cronFiles)) { - setExecutionMessage('Executing registered cron files for Workspace: ' . SYS_SYS); + setExecutionMessage('Executing registered cron files for Workspace: ' . config("system.workspace")); foreach($cronFiles as $cronFile) { executeCustomCronFunction(PATH_PLUGINS . $cronFile->namespace . PATH_SEP . 'bin' . PATH_SEP . $cronFile->cronFile . '.php', $cronFile->cronFile); } @@ -819,7 +820,7 @@ function executeCaseSelfService() unset($appFields['APP_PIN']); $case->updateCase($appFields["APP_UID"], $appFields); - saveLog("unassignedCase", "action", "OK Executed tigger to the case $appcacheAppNumber"); + saveLog("unassignedCase", "action", "OK Executed trigger to the case $appcacheAppNumber"); } } diff --git a/workflow/engine/bin/reindex_solr.php b/workflow/engine/bin/reindex_solr.php index 13342fd4a..26452d178 100644 --- a/workflow/engine/bin/reindex_solr.php +++ b/workflow/engine/bin/reindex_solr.php @@ -128,7 +128,7 @@ print "PATH_DB: " . PATH_DB . "\n"; print "PATH_CORE: " . PATH_CORE . "\n"; // define the site name (instance name) -if (! defined ('SYS_SYS')) { +if (empty(config("system.workspace"))) { $sObject = $workspaceName; $sNow = ''; // $argv[2]; $sFilter = ''; @@ -144,11 +144,12 @@ if (! defined ('SYS_SYS')) { if (file_exists (PATH_DB . $sObject . PATH_SEP . 'db.php')) { define ('SYS_SYS', $sObject); + config(["system.workspace" => $sObject]); // **************************************** // read initialize file require_once PATH_HOME . 'engine' . PATH_SEP . 'classes' . PATH_SEP . 'class.system.php'; - $config = System::getSystemConfiguration ('', '', SYS_SYS); + $config = System::getSystemConfiguration ('', '', config("system.workspace")); define ('MEMCACHED_ENABLED', $config ['memcached']); define ('MEMCACHED_SERVER', $config ['memcached_server']); define ('TIME_ZONE', $config ['time_zone']); @@ -170,7 +171,7 @@ if (! defined ('SYS_SYS')) { 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_DATA_SITE', PATH_DATA . 'sites/' . config("system.workspace") . '/'); define ('PATH_DOCUMENT', PATH_DATA_SITE . 'files/'); define ('PATH_DATA_MAILTEMPLATES', PATH_DATA_SITE . 'mailTemplates/'); define ('PATH_DATA_PUBLIC', PATH_DATA_SITE . 'public/'); @@ -264,7 +265,7 @@ function processWorkspace() try { - if (($solrConf = System::solrEnv (SYS_SYS)) !== false) { + if (($solrConf = System::solrEnv (config("system.workspace"))) !== false) { print "Solr Configuration file: " . PATH_DATA_SITE . "env.ini\n"; print "solr_enabled: " . $solrConf ['solr_enabled'] . "\n"; print "solr_host: " . $solrConf ['solr_host'] . "\n"; diff --git a/workflow/engine/bin/tasks/cliAddons.php b/workflow/engine/bin/tasks/cliAddons.php index 52a6fdafe..e6da3d69a 100644 --- a/workflow/engine/bin/tasks/cliAddons.php +++ b/workflow/engine/bin/tasks/cliAddons.php @@ -46,11 +46,12 @@ function run_addon_core_install($args) $storeId = $args[1]; $addonName = $args[2]; - if (!defined("SYS_SYS")) { + if (empty(config("system.workspace"))) { define("SYS_SYS", $workspace); + config(["system.workspace" => $workspace]); } if (!defined("PATH_DATA_SITE")) { - define("PATH_DATA_SITE", PATH_DATA . "sites/" . SYS_SYS . "/"); + define("PATH_DATA_SITE", PATH_DATA . "sites/" . config("system.workspace") . "/"); } if (!defined("DB_ADAPTER")) { define("DB_ADAPTER", $args[3]); @@ -102,11 +103,12 @@ function change_hash($command, $opts) $response = new stdclass(); $response->workspace = $workspace; $response->hash = $hash; - if (!defined("SYS_SYS")) { + if (empty(config("system.workspace"))) { define("SYS_SYS", $workspace->name); + config(["system.workspace" => $workspace->name]); } if (!defined("PATH_DATA_SITE")) { - define("PATH_DATA_SITE", PATH_DATA . "sites/" . SYS_SYS . "/"); + define("PATH_DATA_SITE", PATH_DATA . "sites/" . config("system.workspace") . "/"); } $_SESSION['__sw__'] = ''; if (!$workspace->changeHashPassword($workspace->name, $response)) { diff --git a/workflow/engine/bin/tasks/cliUpgrade.php b/workflow/engine/bin/tasks/cliUpgrade.php index bfc449763..b18e798e9 100644 --- a/workflow/engine/bin/tasks/cliUpgrade.php +++ b/workflow/engine/bin/tasks/cliUpgrade.php @@ -132,12 +132,13 @@ function run_upgrade($command, $args) $flagUpdateXml = !array_key_exists('noxml', $args); foreach ($workspaces as $index => $workspace) { - if (!defined("SYS_SYS")) { + if (empty(config("system.workspace"))) { define("SYS_SYS", $workspace->name); + config(["system.workspace" => $workspace->name]); } if (!defined("PATH_DATA_SITE")) { - define("PATH_DATA_SITE", PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP); + define("PATH_DATA_SITE", PATH_DATA . "sites" . PATH_SEP . config("system.workspace") . PATH_SEP); } if(!defined('DB_ADAPTER')) { diff --git a/workflow/engine/bin/tasks/cliWorkspaces.php b/workflow/engine/bin/tasks/cliWorkspaces.php index 6b5f216c9..7983ec773 100644 --- a/workflow/engine/bin/tasks/cliWorkspaces.php +++ b/workflow/engine/bin/tasks/cliWorkspaces.php @@ -358,12 +358,13 @@ function run_workspace_upgrade($args, $opts) foreach ($workspaces as $workspace) { try { - if (!defined("SYS_SYS")) { + if (empty(config("system.workspace"))) { define("SYS_SYS", $workspace->name); + config(["system.workspace" => $workspace->name]); } if (!defined("PATH_DATA_SITE")) { - define("PATH_DATA_SITE", PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP); + define("PATH_DATA_SITE", PATH_DATA . "sites" . PATH_SEP . config("system.workspace") . PATH_SEP); } $workspace->upgrade($buildCacheView, $workspace->name, false, $lang, ['updateXml' => $flagUpdateXml, 'updateMafe' => $first]); diff --git a/workflow/engine/bin/verify_solr.php b/workflow/engine/bin/verify_solr.php index 5cb5110ac..043a8a3e8 100644 --- a/workflow/engine/bin/verify_solr.php +++ b/workflow/engine/bin/verify_solr.php @@ -98,7 +98,7 @@ print "PATH_DB: " . PATH_DB . "\n"; print "PATH_CORE: " . PATH_CORE . "\n"; // define the site name (instance name) -if (! defined ('SYS_SYS')) { +if (empty(config("system.workspace"))) { $sObject = $workspaceName; $sNow = ''; // $argv[2]; /* @@ -115,11 +115,12 @@ if (! defined ('SYS_SYS')) { if (file_exists (PATH_DB . $sObject . PATH_SEP . 'db.php')) { define ('SYS_SYS', $sObject); + config(["system.workspace" => $sObject]); // **************************************** // read initialize file require_once PATH_HOME . 'engine' . PATH_SEP . 'classes' . PATH_SEP . 'class.system.php'; - $config = System::getSystemConfiguration ('', '', SYS_SYS); + $config = System::getSystemConfiguration ('', '', config("system.workspace")); define ('MEMCACHED_ENABLED', $config ['memcached']); define ('MEMCACHED_SERVER', $config ['memcached_server']); define ('TIME_ZONE', $config ['time_zone']); @@ -142,7 +143,7 @@ if (! defined ('SYS_SYS')) { print "MEMCACHED_SERVER: " . $MEMCACHED_SERVER . "\n"; // ***************** PM Paths DATA ************************** - define ('PATH_DATA_SITE', PATH_DATA . 'sites/' . SYS_SYS . '/'); + define ('PATH_DATA_SITE', PATH_DATA . 'sites/' . config("system.workspace") . '/'); define ('PATH_DOCUMENT', PATH_DATA_SITE . 'files/'); define ('PATH_DATA_MAILTEMPLATES', PATH_DATA_SITE . 'mailTemplates/'); define ('PATH_DATA_PUBLIC', PATH_DATA_SITE . 'public/'); @@ -337,7 +338,7 @@ function displayMissingCases($aAppUidsDB, $aAppUidsSolr) function getListUids($usrUid, $action) { - if (($solrConf = System::solrEnv (SYS_SYS)) !== false) { + if (($solrConf = System::solrEnv (config("system.workspace"))) !== false) { print "Solr Configuration file: " . PATH_DATA_SITE . "env.ini\n"; print "solr_enabled: " . $solrConf ['solr_enabled'] . "\n"; diff --git a/workflow/engine/classes/ActionsByEmailCoreClass.php b/workflow/engine/classes/ActionsByEmailCoreClass.php index 88c11bafe..8fec488f0 100644 --- a/workflow/engine/classes/ActionsByEmailCoreClass.php +++ b/workflow/engine/classes/ActionsByEmailCoreClass.php @@ -160,7 +160,7 @@ class ActionsByEmailCoreClass extends PMPlugin if (!empty($envPort) && strpos($envHost, $envPort) === false) { $envHost = $envHost . $envPort; } - $link = (G::is_https() || $envProtocol ? 'https://' : 'http://') . $envHost . '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . $envSkin . '/services/ActionsByEmail'; + $link = (G::is_https() || $envProtocol ? 'https://' : 'http://') . $envHost . '/sys' . config("system.workspace") . '/' . SYS_LANG . '/' . $envSkin . '/services/ActionsByEmail'; switch ($configuration['ABE_TYPE']) { case 'CUSTOM': diff --git a/workflow/engine/classes/Applications.php b/workflow/engine/classes/Applications.php index 2cc198869..7479c55e6 100644 --- a/workflow/engine/classes/Applications.php +++ b/workflow/engine/classes/Applications.php @@ -110,8 +110,10 @@ class Applications $sqlData .= " AND APPLICATION.APP_STATUS = 'TO_DO'"; break; default: //All status + //When the status is TO_DO, we will get all the open threads $sqlData .= " AND (APP_DELEGATION.DEL_THREAD_STATUS = 'OPEN' "; - $sqlData .= " OR (APP_DELEGATION.DEL_THREAD_STATUS = 'CLOSED' AND APP_DELEGATION.DEL_LAST_INDEX = 1)) "; + //When the status is COMPLETED, we will get the last task that with completed the case + $sqlData .= " OR (APP_DELEGATION.DEL_THREAD_STATUS = 'CLOSED' AND APP_DELEGATION.DEL_LAST_INDEX = 1 AND APPLICATION.APP_STATUS_ID = 3)) "; break; } @@ -703,7 +705,7 @@ class Applications $tableName = implode( '', $newTableName ); // so the pm table class can be invoqued from the pm table model clases if (! class_exists( $tableName )) { - require_once (PATH_DB . SYS_SYS . PATH_SEP . "classes" . PATH_SEP . $tableName . ".php"); + require_once (PATH_DB . config("system.workspace") . PATH_SEP . "classes" . PATH_SEP . $tableName . ".php"); } } $totalCount = AppCacheViewPeer::doCount($CriteriaCount, $distinct); diff --git a/workflow/engine/classes/Cases.php b/workflow/engine/classes/Cases.php index df5b01b34..9eccb3e89 100644 --- a/workflow/engine/classes/Cases.php +++ b/workflow/engine/classes/Cases.php @@ -1068,7 +1068,7 @@ class Cases $oDerivation->verifyIsCaseChild($sAppUid); } } catch (Exception $e) { - Bootstrap::registerMonolog('DeleteCases', 200, 'Error in sub-process when trying to route a child case related to the case', ['application_uid' => $sAppUid, 'error' => $e->getMessage()], SYS_SYS, 'processmaker.log'); + Bootstrap::registerMonolog('DeleteCases', 200, 'Error in sub-process when trying to route a child case related to the case', ['application_uid' => $sAppUid, 'error' => $e->getMessage()], config("system.workspace"), 'processmaker.log'); } //Delete the registries in the table SUB_APPLICATION @@ -2211,7 +2211,7 @@ class Cases "delIndex" => $iDelIndex, "appInitDate" => $Fields['APP_INIT_DATE'] ]; - Bootstrap::registerMonolog('CreateCase', 200, "Create case", $data, SYS_SYS, 'processmaker.log'); + Bootstrap::registerMonolog('CreateCase', 200, "Create case", $data, config("system.workspace"), 'processmaker.log'); //call plugin if (class_exists('folderData')) { @@ -3375,7 +3375,7 @@ class Cases $oPMScript->setFields($aFields); /*----------------------------------********---------------------------------*/ - $cs = new CodeScanner(SYS_SYS); + $cs = new CodeScanner(config("system.workspace")); $strFoundDisabledCode = ""; /*----------------------------------********---------------------------------*/ diff --git a/workflow/engine/classes/ConsolidatedCases.php b/workflow/engine/classes/ConsolidatedCases.php index f3ffd8453..304c340d1 100644 --- a/workflow/engine/classes/ConsolidatedCases.php +++ b/workflow/engine/classes/ConsolidatedCases.php @@ -146,7 +146,7 @@ class ConsolidatedCases } $sClassName = $TableName; - $sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP; + $sPath = PATH_DB . config("system.workspace") . PATH_SEP . 'classes' . PATH_SEP; @unlink($sPath . $sClassName . '.php'); @unlink($sPath . $sClassName . 'Peer.php'); diff --git a/workflow/engine/classes/Derivation.php b/workflow/engine/classes/Derivation.php index 8e5326f42..45e980a42 100644 --- a/workflow/engine/classes/Derivation.php +++ b/workflow/engine/classes/Derivation.php @@ -856,7 +856,7 @@ class Derivation */ function derivate(array $currentDelegation, array $nextDelegations, $removeList = true) { - $this->sysSys = (defined("SYS_SYS"))? SYS_SYS : "Undefined"; + $this->sysSys = (!empty(config("system.workspace")))? config("system.workspace") : "Undefined"; $this->context = Bootstrap::getDefaultContextLog(); $aContext = $this->context; $this->removeList = $removeList; diff --git a/workflow/engine/classes/EnterpriseClass.php b/workflow/engine/classes/EnterpriseClass.php index d09621f22..e47b22b44 100644 --- a/workflow/engine/classes/EnterpriseClass.php +++ b/workflow/engine/classes/EnterpriseClass.php @@ -101,11 +101,11 @@ class EnterpriseClass extends PMPlugin { $oServerConf = &ServerConf::getSingleton(); $infoLicense =$oServerConf->getProperty('LICENSE_INFO'); - if (isset($infoLicense[SYS_SYS]['LIMIT_USERS'])) { + if (isset($infoLicense[config("system.workspace")]['LIMIT_USERS'])) { $criteria = new Criteria('workflow'); $criteria->add(UsersPeer::USR_STATUS, 'CLOSED', Criteria::NOT_EQUAL); $count = UsersPeer::doCount($criteria); - if ($count >= $infoLicense[SYS_SYS]['LIMIT_USERS'] ) { + if ($count >= $infoLicense[config("system.workspace")]['LIMIT_USERS'] ) { throw new Exception("You can\'t add more users to the System, this reach the limit of allowed users by license that it has installed now"); } } diff --git a/workflow/engine/classes/IndicatorsCalculator.php b/workflow/engine/classes/IndicatorsCalculator.php index d62e7b1f6..ad3bdb05b 100644 --- a/workflow/engine/classes/IndicatorsCalculator.php +++ b/workflow/engine/classes/IndicatorsCalculator.php @@ -650,7 +650,7 @@ class IndicatorsCalculator } private function pdoConnection() { - $currentWS = defined('SYS_SYS') ? SYS_SYS : 'Wokspace Undefined'; + $currentWS = !empty(config("system.workspace")) ? config("system.workspace") : 'Wokspace Undefined'; $workSpace = new WorkspaceTools($currentWS); $arrayHost = explode(':', $workSpace->dbHost); $host = "host=".$arrayHost[0]; diff --git a/workflow/engine/classes/LdapAdvanced.php b/workflow/engine/classes/LdapAdvanced.php index 57a6fba15..5b74ed0b6 100644 --- a/workflow/engine/classes/LdapAdvanced.php +++ b/workflow/engine/classes/LdapAdvanced.php @@ -470,7 +470,7 @@ class LdapAdvanced } //log format: date hour ipaddress workspace ldapErrorNr - fwrite($fpt, sprintf("%s %s %s %s %s \n", date("Y-m-d H:i:s"), getenv("REMOTE_ADDR"), SYS_SYS, $ldapErrorNr, $text)); + fwrite($fpt, sprintf("%s %s %s %s %s \n", date("Y-m-d H:i:s"), getenv("REMOTE_ADDR"), config("system.workspace"), $ldapErrorNr, $text)); fclose($fpt); } else { error_log("file $logFile is not writable "); diff --git a/workflow/engine/classes/PMLicensedFeatures.php b/workflow/engine/classes/PMLicensedFeatures.php index 0673c7be8..2b6cd7425 100644 --- a/workflow/engine/classes/PMLicensedFeatures.php +++ b/workflow/engine/classes/PMLicensedFeatures.php @@ -337,7 +337,7 @@ class PMLicensedFeatures /*----------------------------------********---------------------------------*/ public function verifyfeature ($featureName) { - $cached = Cache::get(PmLicenseManager::CACHE_KEY . '.' . SYS_SYS, []); + $cached = Cache::get(PmLicenseManager::CACHE_KEY . '.' . config("system.workspace"), []); if (isset($cached[$featureName])) { return $cached[$featureName]; } @@ -360,7 +360,7 @@ class PMLicensedFeatures $this->featuresDetails[$value[0]]->enabled = $enable; $cached[$featureName] = $enable; - Cache::put(PmLicenseManager::CACHE_KEY . '.' . SYS_SYS, $cached, Carbon::now()->addDay(1)); + Cache::put(PmLicenseManager::CACHE_KEY . '.' . config("system.workspace"), $cached, Carbon::now()->addDay(1)); return $enable; } diff --git a/workflow/engine/classes/PMPluginRegistry.php b/workflow/engine/classes/PMPluginRegistry.php index 6136b662a..13e6deae8 100644 --- a/workflow/engine/classes/PMPluginRegistry.php +++ b/workflow/engine/classes/PMPluginRegistry.php @@ -1103,7 +1103,7 @@ class PMPluginRegistry try { $iPlugins = 0; $oServerConf = & ServerConf::getSingleton(); - $oServerConf->addPlugin( SYS_SYS, $this->_aPluginDetails ); + $oServerConf->addPlugin( config("system.workspace"), $this->_aPluginDetails ); foreach ($this->_aPluginDetails as $namespace => $detail) { if (isset( $detail->enabled ) && $detail->enabled) { if (! empty( $detail->sFilename ) && file_exists( $detail->sFilename )) { diff --git a/workflow/engine/classes/PmDrive.php b/workflow/engine/classes/PmDrive.php index 20cc3d455..16fe5c179 100644 --- a/workflow/engine/classes/PmDrive.php +++ b/workflow/engine/classes/PmDrive.php @@ -31,7 +31,7 @@ class PmDrive extends PmGoogleApi $this->folderIdPMDrive = empty($dataUser['USR_PMDRIVE_FOLDER_UID']) ? '' : $dataUser['USR_PMDRIVE_FOLDER_UID']; $conf = $this->getConfigGmail(); - $this->folderNamePMDrive = empty($conf->aConfig['folderNamePMDrive']) ? 'PMDrive (' . SYS_SYS . ')' : $conf->aConfig['folderNamePMDrive']; + $this->folderNamePMDrive = empty($conf->aConfig['folderNamePMDrive']) ? 'PMDrive (' . config("system.workspace") . ')' : $conf->aConfig['folderNamePMDrive']; if ($this->folderIdPMDrive == '') { $folderid = $this->createFolder($this->folderNamePMDrive); diff --git a/workflow/engine/classes/PmDynaform.php b/workflow/engine/classes/PmDynaform.php index 83bfbd01d..3ad5a2cf0 100644 --- a/workflow/engine/classes/PmDynaform.php +++ b/workflow/engine/classes/PmDynaform.php @@ -35,7 +35,7 @@ class PmDynaform public function __construct($fields = array()) { - $this->sysSys = (defined("SYS_SYS")) ? SYS_SYS : "Undefined"; + $this->sysSys = (!empty(config("system.workspace"))) ? config("system.workspace") : "Undefined"; $this->context = \Bootstrap::getDefaultContextLog(); $this->dataSources = array("database", "dataVariable"); $this->pathRTLCss = '/lib/pmdynaform/build/css/PMDynaform-rtl.css'; @@ -1007,7 +1007,7 @@ class PmDynaform var app_uid = \"" . $this->fields["APP_UID"] . "\"; var prj_uid = \"" . $this->fields["PRO_UID"] . "\"; var step_mode = \"\"; - var workspace = \"" . SYS_SYS . "\"; + var workspace = \"" . config("system.workspace") . "\"; var credentials = " . G::json_encode($this->credentials) . "; var filePost = \"\"; var fieldsRequired = null; @@ -1068,7 +1068,7 @@ class PmDynaform "var app_uid = '" . $this->fields["APP_UID"] . "';\n" . "var prj_uid = '" . $this->fields["PRO_UID"] . "';\n" . "var step_mode = null;\n" . - "var workspace = '" . SYS_SYS . "';\n" . + "var workspace = '" . config("system.workspace") . "';\n" . "var credentials = " . G::json_encode($this->credentials) . ";\n" . "var filePost = null;\n" . "var fieldsRequired = null;\n" . @@ -1147,7 +1147,7 @@ class PmDynaform "var app_uid = '" . $this->fields["APP_UID"] . "';\n" . "var prj_uid = '" . $this->fields["PRO_UID"] . "';\n" . "var step_mode = '" . $this->fields["STEP_MODE"] . "';\n" . - "var workspace = '" . SYS_SYS . "';\n" . + "var workspace = '" . config("system.workspace") . "';\n" . "var credentials = " . G::json_encode($this->credentials) . ";\n" . "var filePost = null;\n" . "var fieldsRequired = null;\n" . @@ -1204,7 +1204,7 @@ class PmDynaform var app_uid = \"" . $this->fields["APP_UID"] . "\"; var prj_uid = \"" . $this->fields["PRO_UID"] . "\"; var step_mode = null; - var workspace = \"" . SYS_SYS . "\"; + var workspace = \"" . config("system.workspace") . "\"; var credentials = " . G::json_encode($this->credentials) . "; var filePost = \"cases_SaveDataSupervisor?UID=" . $this->fields["CURRENT_DYNAFORM"] . "\"; var fieldsRequired = null; @@ -1248,7 +1248,7 @@ class PmDynaform "var app_uid = null;\n" . "var prj_uid = '" . $this->record["PRO_UID"] . "';\n" . "var step_mode = null;\n" . - "var workspace = '" . SYS_SYS . "';\n" . + "var workspace = '" . config("system.workspace") . "';\n" . "var credentials = " . G::json_encode($this->credentials) . ";\n" . "var filePost = '" . $filename . "';\n" . "var fieldsRequired = " . G::json_encode(array()) . ";\n" . @@ -1290,7 +1290,7 @@ class PmDynaform "var app_uid = '" . G::decrypt($record['APP_UID'], URL_KEY) . "';\n" . "var prj_uid = '" . $this->record["PRO_UID"] . "';\n" . "var step_mode = null;\n" . - "var workspace = '" . SYS_SYS . "';\n" . + "var workspace = '" . config("system.workspace") . "';\n" . "var credentials = " . G::json_encode($this->credentials) . ";\n" . "var filePost = '" . $filename . "';\n" . "var fieldsRequired = " . G::json_encode(array()) . ";\n" . @@ -1354,7 +1354,7 @@ class PmDynaform "var app_uid = null;\n" . "var prj_uid = '" . $this->record["PRO_UID"] . "';\n" . "var step_mode = null;\n" . - "var workspace = '" . SYS_SYS . "';\n" . + "var workspace = '" . config("system.workspace") . "';\n" . "var credentials = " . G::json_encode($this->credentials) . ";\n" . "var fieldsRequired = " . G::json_encode(array()) . ";\n" . "var triggerDebug = null;\n" . @@ -2100,7 +2100,7 @@ class PmDynaform 400, 'JSON encoded string error ' . $jsonLastError . ': ' . $jsonLastErrorMsg, ['token' => $token, 'projectUid' => $this->record['PRO_UID'], 'dynaFormUid' => $this->record['DYN_UID']], - SYS_SYS, + config("system.workspace"), 'processmaker.log' ); } diff --git a/workflow/engine/classes/PmLicenseManager.php b/workflow/engine/classes/PmLicenseManager.php index 355142318..9e09571a0 100644 --- a/workflow/engine/classes/PmLicenseManager.php +++ b/workflow/engine/classes/PmLicenseManager.php @@ -26,11 +26,11 @@ class PmLicenseManager $activeLicenseSetting = $oServerConf->getProperty('ACTIVE_LICENSE'); - if ((isset($activeLicenseSetting[SYS_SYS])) && (file_exists($activeLicenseSetting[SYS_SYS]))) { - $licenseFile = $activeLicenseSetting[SYS_SYS]; + if ((isset($activeLicenseSetting[config("system.workspace")])) && (file_exists($activeLicenseSetting[config("system.workspace")]))) { + $licenseFile = $activeLicenseSetting[config("system.workspace")]; } else { $activeLicense = $this->getActiveLicense(); - $oServerConf->setProperty('ACTIVE_LICENSE', [SYS_SYS => $activeLicense['LICENSE_PATH']]); + $oServerConf->setProperty('ACTIVE_LICENSE', [config("system.workspace") => $activeLicense['LICENSE_PATH']]); $licenseFile = $activeLicense['LICENSE_PATH']; } @@ -77,7 +77,7 @@ class PmLicenseManager $this->supportEndDate = date("Y-m-d H:i:s", strtotime($this->supportEndDate)); $conf = new Configurations(); - if (defined('SYS_SYS') && $conf->exists("ENVIRONMENT_SETTINGS")) { + if (!empty(config("system.workspace")) && $conf->exists("ENVIRONMENT_SETTINGS")) { $this->supportStartDate = $conf->getSystemDate($this->supportStartDate); $this->supportEndDate = $conf->getSystemDate($this->supportEndDate); } else { @@ -103,14 +103,14 @@ class PmLicenseManager $licInfoA = $oServerConf->getProperty('LICENSE_INFO'); // The HUMAN attribute varies according to the timezone configured in the server, therefore it does not need // to be considered in the comparison if the value was changed or not, it is only comparing with te "timestamp" - if (isset($licInfoA[SYS_SYS]['date']['HUMAN'])) { - unset($licInfoA[SYS_SYS]['date']['HUMAN']); + if (isset($licInfoA[config("system.workspace")]['date']['HUMAN'])) { + unset($licInfoA[config("system.workspace")]['date']['HUMAN']); } } else { $licInfoA = []; } - if (empty($licInfoA[SYS_SYS]) || ($licInfoA[SYS_SYS] != $resultsRegister)) { - $licInfoA[SYS_SYS] = $resultsRegister; + if (empty($licInfoA[config("system.workspace")]) || ($licInfoA[config("system.workspace")] != $resultsRegister)) { + $licInfoA[config("system.workspace")] = $resultsRegister; $oServerConf->setProperty('LICENSE_INFO', $licInfoA); } } @@ -337,11 +337,11 @@ class PmLicenseManager } if (class_exists('pmTrialPlugin')) { - $linkText = $linkText . " "; + $linkText = $linkText . " "; } if (isset($_SESSION["__ENTERPRISE_SYSTEM_UPDATE__"]) && $_SESSION["__ENTERPRISE_SYSTEM_UPDATE__"] == 1) { - $aOnclick = "onclick=\"this.href='" . EnterpriseUtils::getUrlServerName() . "/sys" . SYS_SYS . "/" . SYS_LANG . "/" . SYS_SKIN . "/setup/main?s=PMENTERPRISE';\""; + $aOnclick = "onclick=\"this.href='" . EnterpriseUtils::getUrlServerName() . "/sys" . config("system.workspace") . "/" . SYS_LANG . "/" . SYS_SKIN . "/setup/main?s=PMENTERPRISE';\""; if (EnterpriseUtils::skinIsUx() == 1) { $aOnclick = "onclick=\"Ext.ComponentMgr.get('mainTabPanel').setActiveTab('pm-option-setup'); Ext.ComponentMgr.get('pm-option-setup').setLocation(Ext.ComponentMgr.get('pm-option-setup').defaultSrc + 's=PMENTERPRISE', true); return (false);\""; } @@ -385,7 +385,7 @@ class PmLicenseManager } else { $oServerConf = &ServerConf::getSingleton(); - $oServerConf->setProperty('ACTIVE_LICENSE', [SYS_SYS => $path]); + $oServerConf->setProperty('ACTIVE_LICENSE', [config("system.workspace") => $path]); $this->saveDataLicense($results, $path, $redirect); if ($redirect) { G::Header('location: ../enterprise/addonsStore'); @@ -482,7 +482,7 @@ class PmLicenseManager $tr->setLicenseType($LicenseType); $res = $tr->save(); - Cache::forget(PmLicenseManager::CACHE_KEY . '.' . SYS_SYS); + Cache::forget(PmLicenseManager::CACHE_KEY . '.' . config("system.workspace")); } catch (Exception $e) { G::pr($e); } diff --git a/workflow/engine/classes/PmTable.php b/workflow/engine/classes/PmTable.php index e0c592910..8101ceac2 100644 --- a/workflow/engine/classes/PmTable.php +++ b/workflow/engine/classes/PmTable.php @@ -212,7 +212,7 @@ class PmTable } $this->schemaFilename = 'schema.xml'; - $this->baseDir = PATH_DB . SYS_SYS . PATH_SEP; + $this->baseDir = PATH_DB . config("system.workspace") . PATH_SEP; $this->targetDir = $this->baseDir . 'pmt-propel' . PATH_SEP . $this->dataSource . PATH_SEP; $this->configDir = $this->targetDir . 'config' . PATH_SEP; $this->dataDir = $this->targetDir . 'data' . PATH_SEP; diff --git a/workflow/engine/classes/ProcessMap.php b/workflow/engine/classes/ProcessMap.php index 798e7e893..727c3aa74 100644 --- a/workflow/engine/classes/ProcessMap.php +++ b/workflow/engine/classes/ProcessMap.php @@ -2755,7 +2755,7 @@ class ProcessMap $http = 'http://'; } - $link = $http . $_SERVER['HTTP_HOST'] . '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/' . $sProcessUID . '/'; + $link = $http . $_SERVER['HTTP_HOST'] . '/sys' . config("system.workspace") . '/' . SYS_LANG . '/' . SYS_SKIN . '/' . $sProcessUID . '/'; $row = array(); $c = 0; @@ -2767,8 +2767,8 @@ class ProcessMap $TaskFields['TAS_ASSIGN_TYPE'] = ''; $row[] = array('W_TITLE' => '', 'W_DELETE' => '', 'TAS_ASSIGN_TYPE' => $TaskFields['TAS_ASSIGN_TYPE'] ); - if (is_dir(PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP . "public" . PATH_SEP . $sProcessUID)) { - $dir = opendir(PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP . "public" . PATH_SEP . $sProcessUID); + if (is_dir(PATH_DATA . "sites" . PATH_SEP . config("system.workspace") . PATH_SEP . "public" . PATH_SEP . $sProcessUID)) { + $dir = opendir(PATH_DATA . "sites" . PATH_SEP . config("system.workspace") . PATH_SEP . "public" . PATH_SEP . $sProcessUID); while ($archivo = readdir($dir)) { //print $archivo." ****
"; if ($archivo != '.') { @@ -3115,7 +3115,7 @@ class ProcessMap public function listNoProcessesUser($sProcessUID) { - $memcache = & PMmemcached::getSingleton(SYS_SYS); + $memcache = & PMmemcached::getSingleton(config("system.workspace")); $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(ProcessUserPeer::USR_UID); @@ -4777,7 +4777,7 @@ class ProcessMap $http = 'http://'; } - $link = $http . $_SERVER['HTTP_HOST'] . '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/' . $sProcessUID . '/'; + $link = $http . $_SERVER['HTTP_HOST'] . '/sys' . config("system.workspace") . '/' . SYS_LANG . '/' . SYS_SKIN . '/' . $sProcessUID . '/'; $row = array(); $c = 0; @@ -4790,8 +4790,8 @@ class ProcessMap //$row [] = array ('W_TITLE' => '', 'W_DELETE' => '', 'TAS_ASSIGN_TYPE' => $TaskFields ['TAS_ASSIGN_TYPE'] ); - if (is_dir(PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP . "public" . PATH_SEP . $sProcessUID)) { - $dir = opendir(PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP . "public" . PATH_SEP . $sProcessUID); + if (is_dir(PATH_DATA . "sites" . PATH_SEP . config("system.workspace") . PATH_SEP . "public" . PATH_SEP . $sProcessUID)) { + $dir = opendir(PATH_DATA . "sites" . PATH_SEP . config("system.workspace") . PATH_SEP . "public" . PATH_SEP . $sProcessUID); $dynTitle = str_replace(' ', '_', str_replace('/', '_', $dynTitle)); $arlink = $link . $dynTitle . '.php'; //$arlink = "" . $alink . ""; @@ -5812,7 +5812,7 @@ class ProcessMap public function listExtNoProcessesUser($sProcessUID) { - $memcache = & PMmemcached::getSingleton(SYS_SYS); + $memcache = & PMmemcached::getSingleton(config("system.workspace")); $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(ProcessUserPeer::USR_UID); diff --git a/workflow/engine/classes/Processes.php b/workflow/engine/classes/Processes.php index acb3056a9..3ad46b442 100644 --- a/workflow/engine/classes/Processes.php +++ b/workflow/engine/classes/Processes.php @@ -4131,7 +4131,7 @@ class Processes try { $result = $scriptTask->create($processUid, $record); } catch (Exception $e) { - Bootstrap::registerMonolog('DataError', 400, $e->getMessage(), $record, SYS_SYS, 'processmaker.log'); + Bootstrap::registerMonolog('DataError', 400, $e->getMessage(), $record, config("system.workspace"), 'processmaker.log'); } } } catch (Exception $e) { @@ -4499,7 +4499,7 @@ class Processes $proTitle = (substr(G::inflect($data->process['PRO_TITLE']), 0, 245)); $proTitle = preg_replace("/[^A-Za-z0-9_]/", "", $proTitle); //Calculating the maximum length of file name - $pathLength = strlen(PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP . "files" . PATH_SEP . "output" . PATH_SEP); + $pathLength = strlen(PATH_DATA . "sites" . PATH_SEP . config("system.workspace") . PATH_SEP . "files" . PATH_SEP . "output" . PATH_SEP); $length = strlen($proTitle) + $pathLength; $limit = 200; if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { @@ -4578,7 +4578,7 @@ class Processes // for mailtemplates files - $MAILS_ROOT_PATH = PATH_DATA . 'sites' . PATH_SEP . SYS_SYS . PATH_SEP . 'mailTemplates' . PATH_SEP . $data->process['PRO_UID']; + $MAILS_ROOT_PATH = PATH_DATA . 'sites' . PATH_SEP . config("system.workspace") . PATH_SEP . 'mailTemplates' . PATH_SEP . $data->process['PRO_UID']; $isMailTempSent = false; $isPublicSent = false; @@ -4615,7 +4615,7 @@ class Processes } // for public files - $PUBLIC_ROOT_PATH = PATH_DATA . 'sites' . PATH_SEP . SYS_SYS . PATH_SEP . 'public' . PATH_SEP . $data->process['PRO_UID']; + $PUBLIC_ROOT_PATH = PATH_DATA . 'sites' . PATH_SEP . config("system.workspace") . PATH_SEP . 'public' . PATH_SEP . $data->process['PRO_UID']; //Get WebEntry file names $arrayWebEntryFile = array(); @@ -4671,7 +4671,7 @@ class Processes /* // for public files - $PUBLIC_ROOT_PATH = PATH_DATA.'sites'.PATH_SEP.SYS_SYS.PATH_SEP.'public'.PATH_SEP.$data->process['PRO_UID']; + $PUBLIC_ROOT_PATH = PATH_DATA.'sites'.PATH_SEP.config("system.workspace").PATH_SEP.'public'.PATH_SEP.$data->process['PRO_UID']; //if this process have any mailfile if ( is_dir( $PUBLIC_ROOT_PATH ) ) { //get mail files list from this directory @@ -5067,7 +5067,7 @@ class Processes $context['url'] = SYS_CURRENT_URI . '?' . SYS_CURRENT_PARMS; } $context['usrUid'] = isset($_SESSION['USER_LOGGED']) ? $_SESSION['USER_LOGGED'] : ''; - $sysSys = defined("SYS_SYS") ? SYS_SYS : "Undefined"; + $sysSys = !empty(config("system.workspace")) ? config("system.workspace") : "Undefined"; $message = 'The imported template has a number of byes different than the original template, please verify if the file \'' . $newFileName . '\' is correct.'; $level = 400; Bootstrap::registerMonolog($channel, $level, $message, $context, $sysSys, 'processmaker.log'); @@ -6079,7 +6079,7 @@ class Processes } //Set variables - $cs = new CodeScanner((!is_null($workspaceName))? $workspaceName : SYS_SYS); + $cs = new CodeScanner((!is_null($workspaceName))? $workspaceName : config("system.workspace")); $delimiter = DBAdapter::getStringDelimiter(); diff --git a/workflow/engine/classes/ReportTables.php b/workflow/engine/classes/ReportTables.php index fe424dad3..528f58197 100644 --- a/workflow/engine/classes/ReportTables.php +++ b/workflow/engine/classes/ReportTables.php @@ -605,7 +605,7 @@ class ReportTables try { $rs = $stmt->executeQuery($sQuery); } catch (Exception $e) { - Bootstrap::registerMonolog('sqlExecution', 400, 'Sql Execution', ['sql' => $sQuery,'error' => $e->getMessage()], SYS_SYS, 'processmaker.log'); + Bootstrap::registerMonolog('sqlExecution', 400, 'Sql Execution', ['sql' => $sQuery,'error' => $e->getMessage()], config("system.workspace"), 'processmaker.log'); } } @@ -644,7 +644,7 @@ class ReportTables try { $rs = $stmt->executeQuery($sQuery); } catch (Exception $e) { - Bootstrap::registerMonolog('sqlExecution', 400, 'Sql Execution', ['sql' => $sQuery,'error' => $e->getMessage()], SYS_SYS, 'processmaker.log'); + Bootstrap::registerMonolog('sqlExecution', 400, 'Sql Execution', ['sql' => $sQuery,'error' => $e->getMessage()], config("system.workspace"), 'processmaker.log'); } } } else { diff --git a/workflow/engine/classes/ServerConf.php b/workflow/engine/classes/ServerConf.php index a5cb68e6b..ad65c9699 100644 --- a/workflow/engine/classes/ServerConf.php +++ b/workflow/engine/classes/ServerConf.php @@ -152,12 +152,12 @@ class ServerConf public function sucessfulLogin() { $this->logins++; - if (isset($this->workspaces[SYS_SYS]) && isset($this->workspaces[SYS_SYS]['WSP_LOGINS'])) { - $this->workspaces[SYS_SYS]['WSP_LOGINS']++; + if (isset($this->workspaces[config("system.workspace")]) && isset($this->workspaces[config("system.workspace")]['WSP_LOGINS'])) { + $this->workspaces[config("system.workspace")]['WSP_LOGINS']++; } - if (isset($this->workspaces[SYS_SYS]) && !isset($this->workspaces[SYS_SYS]['WSP_LOGINS'])) { - $this->workspaces[SYS_SYS]['WSP_LOGINS'] = 1; + if (isset($this->workspaces[config("system.workspace")]) && !isset($this->workspaces[config("system.workspace")]['WSP_LOGINS'])) { + $this->workspaces[config("system.workspace")]['WSP_LOGINS'] = 1; } $this->saveSingleton(); diff --git a/workflow/engine/classes/Upgrade.php b/workflow/engine/classes/Upgrade.php index 2721186ec..67fa51dcf 100644 --- a/workflow/engine/classes/Upgrade.php +++ b/workflow/engine/classes/Upgrade.php @@ -100,7 +100,7 @@ class Upgrade try { $num += 1; printf("Upgrading workspaces ($num/$count): {$workspace->name}\n"); - $workspace->upgrade(false, SYS_SYS, false, 'en', ['updateXml' => $first, 'updateMafe' => $first]); + $workspace->upgrade(false, config("system.workspace"), false, 'en', ['updateXml' => $first, 'updateMafe' => $first]); $workspace->close(); $first = false; } catch (Exception $e) { diff --git a/workflow/engine/classes/WorkspaceTools.php b/workflow/engine/classes/WorkspaceTools.php index 6edfc8bce..849c22241 100644 --- a/workflow/engine/classes/WorkspaceTools.php +++ b/workflow/engine/classes/WorkspaceTools.php @@ -99,8 +99,11 @@ class WorkspaceTools * * @return void */ - public function upgrade($buildCacheView = false, $workSpace = SYS_SYS, $onedb = false, $lang = 'en', array $arrayOptTranslation = null) + public function upgrade($buildCacheView = false, $workSpace = null, $onedb = false, $lang = 'en', array $arrayOptTranslation = null) { + if ($workSpace === null) { + $workSpace = config("system.workspace"); + } if (is_null($arrayOptTranslation)) { $arrayOptTranslation = ['updateXml' => true, 'updateMafe' => true]; } @@ -220,8 +223,11 @@ class WorkspaceTools * Updating cases directories structure * */ - public function updateStructureDirectories($workSpace = SYS_SYS) + public function updateStructureDirectories($workSpace = null) { + if ($workSpace === null) { + $workSpace = config("system.workspace"); + } $start = microtime(true); CLI::logging("> Updating cases directories structure...\n"); $this->upgradeCasesDirectoryStructure($workSpace); @@ -470,8 +476,11 @@ class WorkspaceTools /** * Upgrade this workspace Content. */ - public function upgradeContent($workSpace = SYS_SYS) + public function upgradeContent($workSpace = null) { + if ($workSpace === null) { + $workSpace = config("system.workspace"); + } $this->initPropel(true); //require_once 'classes/model/Translation.php'; $translation = new Translation(); @@ -1739,12 +1748,13 @@ class WorkspaceTools $aParameters = array('dbHost' => $dbHost, 'dbUser' => $dbUser, 'dbPass' => $dbPass); //Restore - if (!defined("SYS_SYS")) { + if (empty(config("system.workspace"))) { define("SYS_SYS", $workspaceName); + config(["system.workspace" => $workspaceName]); } if (!defined("PATH_DATA_SITE")) { - define("PATH_DATA_SITE", PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP); + define("PATH_DATA_SITE", PATH_DATA . "sites" . PATH_SEP . config("system.workspace") . PATH_SEP); } $pmVersionWorkspaceToRestore = (preg_match("/^([\d\.]+).*$/", $metadata->PM_VERSION, $arrayMatch)) ? $arrayMatch[1] : ""; @@ -3937,8 +3947,11 @@ class WorkspaceTools * Updating framework directory structure * */ - private function updateFrameworkPaths($workSpace = SYS_SYS) + private function updateFrameworkPaths($workSpace = null) { + if ($workSpace === null) { + $workSpace = config("system.workspace"); + } $paths = [ PATH_DATA.'framework' => 0770, PATH_DATA.'framework' . DIRECTORY_SEPARATOR . 'cache' => 0770, diff --git a/workflow/engine/classes/WsBase.php b/workflow/engine/classes/WsBase.php index 4040fb5da..890a595b2 100644 --- a/workflow/engine/classes/WsBase.php +++ b/workflow/engine/classes/WsBase.php @@ -2033,15 +2033,23 @@ class WsBase * This function is used when the case is derived from abe, Soap, PMFDerivateCase * * @param string $caseId, Uid related to the case - * @param array $appData, contain all the information about the case + * @param array $appData, contain all the information about the case related to the index [APP_DATA] * @param string $tasUid, Uid related to the task * @param string $stepType, before or after step * @param string $stepUidObj, can be -1, -2 * @param string $triggerType, can be BEFORE, AFTER - * @param string $labelAssigment, label related to the triggerType + * @param string $labelAssignment, label related to the triggerType + * + * @return string $varTriggers updated */ public function executeTriggerFromDerivate( - $caseId, $appData, $tasUid, $stepType, $stepUidObj, $triggerType, $labelAssigment = '' + $caseId, + $appData, + $tasUid, + $stepType, + $stepUidObj, + $triggerType, + $labelAssignment = '' ) { $varTriggers = ""; $oCase = new Cases(); @@ -2050,7 +2058,7 @@ class WsBase $aTriggers = $oCase->loadTriggers($tasUid, $stepType, $stepUidObj, $triggerType); if (count($aTriggers) > 0) { - $varTriggers = $varTriggers . "
" . $labelAssigment . "
"; + $varTriggers = $varTriggers . "
" . $labelAssignment . "
"; $oPMScript = new PMScript(); @@ -2064,6 +2072,7 @@ class WsBase $params->SID = $this->wsSessionId; } + //We can set the index APP_DATA $appFields["APP_DATA"] = array_merge($appData, G::getSystemConstants($params)); //PMScript @@ -2089,6 +2098,9 @@ class WsBase unset($appFields['APP_PROC_CODE']); unset($appFields['APP_PIN']); $oCase->updateCase($caseId, $appFields); + + //We need to update the variable $appData for use the new variables in the next trigger + $appData = array_merge($appData, $appFields['APP_DATA']); } } } diff --git a/workflow/engine/classes/class.pmFunctions.php b/workflow/engine/classes/class.pmFunctions.php index 14f5896b9..fea760df5 100644 --- a/workflow/engine/classes/class.pmFunctions.php +++ b/workflow/engine/classes/class.pmFunctions.php @@ -239,7 +239,7 @@ function literalDate ($date, $lang = 'en') */ function executeQuery ($SqlStatement, $DBConnectionUID = 'workflow', $aParameter = array()) { - $sysSys = (defined("SYS_SYS"))? SYS_SYS : "Undefined"; + $sysSys = (!empty(config("system.workspace")))? config("system.workspace") : "Undefined"; $aContext = \Bootstrap::getDefaultContextLog(); $con = Propel::getConnection( $DBConnectionUID ); $con->begin(); @@ -537,7 +537,7 @@ function WSOpen ($force = false) ); if (! isset( $_SESSION["WS_END_POINT"] )) { - $defaultEndpoint = $_SERVER["REQUEST_SCHEME"] . "://" . $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] . "/sys" . SYS_SYS . "/en/classic/services/wsdl2"; + $defaultEndpoint = $_SERVER["REQUEST_SCHEME"] . "://" . $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] . "/sys" . config("system.workspace") . "/en/classic/services/wsdl2"; } $endpoint = isset( $_SESSION["WS_END_POINT"] ) ? $_SESSION["WS_END_POINT"] : $defaultEndpoint; @@ -2098,7 +2098,7 @@ function PMFDerivateCase ($caseId, $delIndex, $bExecuteTriggersBeforeAssignment * @param string(32) | $processId | Process ID | The unique ID of the process. * @param string(32) | $userId | User ID | The unique ID of the user. * @param array | $variables | Array of variables | An associative array of the variables which will be sent to the case. - * @param string(32) | $taskId | The unique ID of the task taha is in the starting group. + * @param string(32) | $taskId | The unique ID of the task that is in the starting group. * @return int | $result | Result | Returns 1 if new case was created successfully; otherwise, returns 0 if an error occurred. * */ @@ -3455,7 +3455,7 @@ function PMFCaseLink($caseUid, $workspace = null, $language = null, $skin = null if ($arrayApplicationData === false) { return false; } - $workspace = (!empty($workspace)) ? $workspace : SYS_SYS; + $workspace = (!empty($workspace)) ? $workspace : config("system.workspace"); $language = (!empty($language)) ? $language : SYS_LANG; $skin = (!empty($skin)) ? $skin : SYS_SKIN; diff --git a/workflow/engine/classes/class.pmScript.php b/workflow/engine/classes/class.pmScript.php index 6e786a1aa..2b8179bed 100644 --- a/workflow/engine/classes/class.pmScript.php +++ b/workflow/engine/classes/class.pmScript.php @@ -45,16 +45,16 @@ use ProcessMaker\Plugins\PluginRegistry; */ function __autoload ($sClassName) { - if (defined( 'SYS_SYS' )) { - $sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP; + if (!empty(config("system.workspace"))) { + $sPath = PATH_DB . config("system.workspace") . PATH_SEP . 'classes' . PATH_SEP; if (file_exists( $sPath . $sClassName . '.php' )) { require_once $sPath . $sClassName . '.php'; } } } -if (defined('SYS_SYS') && (!defined('PATH_DATA_SITE') || !defined('PATH_WORKSPACE'))) { - Bootstrap::setConstantsRelatedWs(SYS_SYS); +if (!empty(config("system.workspace")) && (!defined('PATH_DATA_SITE') || !defined('PATH_WORKSPACE'))) { + Bootstrap::setConstantsRelatedWs(config("system.workspace")); } //Add External Triggers diff --git a/workflow/engine/classes/class.webdav.php b/workflow/engine/classes/class.webdav.php index 9f509d560..059742da9 100644 --- a/workflow/engine/classes/class.webdav.php +++ b/workflow/engine/classes/class.webdav.php @@ -39,7 +39,7 @@ class ProcessMakerWebDav extends HTTP_WebDAV_Server public function ServeRequest($base = false) { //$this->base = '/'; - $this->uriBase = '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/webdav/'; + $this->uriBase = '/sys' . config("system.workspace") . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/webdav/'; // let the base class do all the work parent::ServeRequest(); @@ -72,7 +72,7 @@ class ProcessMakerWebDav extends HTTP_WebDAV_Server // prepare property array $files["files"] = array(); - $pathClasses = PATH_DB . PATH_SEP . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP; + $pathClasses = PATH_DB . PATH_SEP . config("system.workspace") . PATH_SEP . 'classes' . PATH_SEP; if (count($paths) == 0 && is_dir($pathClasses)) { $props = array(); $props[] = $this->mkprop("displayname", 'Classes'); @@ -110,7 +110,7 @@ class ProcessMakerWebDav extends HTTP_WebDAV_Server } //path classes - $pathProcesses = PATH_DB . SYS_SYS . PATH_SEP; + $pathProcesses = PATH_DB . config("system.workspace") . PATH_SEP; if (count($paths) == 0 && is_dir($pathProcesses)) { $props = array(); $props[] = $this->mkprop("displayname", 'Processes'); @@ -404,7 +404,7 @@ class ProcessMakerWebDav extends HTTP_WebDAV_Server $options = $filter->xssFilterHard($options); $paths = $filter->xssFilterHard($this->paths); - $pathClasses = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP; + $pathClasses = PATH_DB . config("system.workspace") . PATH_SEP . 'classes' . PATH_SEP; if (count($paths) > 0 && $paths[0] == 'classes' && is_dir($pathClasses)) { $fsFile = $pathClasses . $paths[1]; $fsFile = $filter->xssFilterHard($fsFile); @@ -419,7 +419,7 @@ class ProcessMakerWebDav extends HTTP_WebDAV_Server } } - $pathProcesses = PATH_DB . SYS_SYS . PATH_SEP; + $pathProcesses = PATH_DB . config("system.workspace") . PATH_SEP; if (count($paths) > 0 && $paths[0] == 'processes' && is_dir($pathProcesses)) { if (count($paths) == 4 && $paths[2] == 'xmlforms') { $pathXmlform = $pathProcesses . 'xmlForms' . PATH_SEP . $paths[1] . PATH_SEP; @@ -636,7 +636,7 @@ class ProcessMakerWebDav extends HTTP_WebDAV_Server } } - $pathProcesses = PATH_DB . SYS_SYS . PATH_SEP; + $pathProcesses = PATH_DB . config("system.workspace") . PATH_SEP; if (count($paths) > 0 && $paths[0] == 'processes' && is_dir($pathProcesses)) { if ($paths[2] == 'xmlforms') { $pathTemplates = $pathProcesses . 'xmlForms' . PATH_SEP . $paths[1] . PATH_SEP; diff --git a/workflow/engine/classes/model/AdditionalTables.php b/workflow/engine/classes/model/AdditionalTables.php index 0f22d1c55..3422cf0ca 100644 --- a/workflow/engine/classes/model/AdditionalTables.php +++ b/workflow/engine/classes/model/AdditionalTables.php @@ -332,7 +332,7 @@ class AdditionalTables extends BaseAdditionalTables { try { $aData = $this->load($sUID, true); - $sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP; + $sPath = PATH_DB . config("system.workspace") . PATH_SEP . 'classes' . PATH_SEP; $sClassName = ($aData['ADD_TAB_CLASS_NAME'] != '' ? $aData['ADD_TAB_CLASS_NAME'] : $this->getPHPName($aData['ADD_TAB_NAME'])); @@ -383,7 +383,7 @@ class AdditionalTables extends BaseAdditionalTables $_SESSION["PROCESS"] = $aData['PRO_UID']; } $aData['DBS_UID'] = $aData['DBS_UID'] ? $aData['DBS_UID'] : 'workflow'; - $sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP; + $sPath = PATH_DB . config("system.workspace") . PATH_SEP . 'classes' . PATH_SEP; $sClassName = ($aData['ADD_TAB_CLASS_NAME'] != '' ? $aData['ADD_TAB_CLASS_NAME'] : $this->getPHPName($aData['ADD_TAB_NAME'])); @@ -531,7 +531,7 @@ class AdditionalTables extends BaseAdditionalTables { try { $aData = $this->load($sUID, true); - $sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP; + $sPath = PATH_DB . config("system.workspace") . PATH_SEP . 'classes' . PATH_SEP; $sClassName = ($aData['ADD_TAB_CLASS_NAME'] != '' ? $aData['ADD_TAB_CLASS_NAME'] : $this->getPHPName($aData['ADD_TAB_NAME'])); @@ -550,7 +550,7 @@ class AdditionalTables extends BaseAdditionalTables { try { $aData = $this->load($sUID, true); - $sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP; + $sPath = PATH_DB . config("system.workspace") . PATH_SEP . 'classes' . PATH_SEP; $sClassName = ($aData['ADD_TAB_CLASS_NAME'] != '' ? $aData['ADD_TAB_CLASS_NAME'] : $this->getPHPName($aData['ADD_TAB_NAME'])); @@ -604,7 +604,7 @@ class AdditionalTables extends BaseAdditionalTables { try { $aData = $this->load($sUID, true); - $sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP; + $sPath = PATH_DB . config("system.workspace") . PATH_SEP . 'classes' . PATH_SEP; $sClassName = ($aData['ADD_TAB_CLASS_NAME'] != '' ? $aData['ADD_TAB_CLASS_NAME'] : $this->getPHPName($aData['ADD_TAB_NAME'])); @@ -632,7 +632,7 @@ class AdditionalTables extends BaseAdditionalTables try { //$sPMUID = $aFields['PM_UNIQUE_ID']; $aData = $this->load($sUID, true); - $sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP; + $sPath = PATH_DB . config("system.workspace") . PATH_SEP . 'classes' . PATH_SEP; $sClassName = ($aData['ADD_TAB_CLASS_NAME'] != '' ? $aData['ADD_TAB_CLASS_NAME'] : $this->getPHPName($aData['ADD_TAB_NAME'])); @@ -679,7 +679,7 @@ class AdditionalTables extends BaseAdditionalTables { try { $aData = $this->load($sUID, true); - $sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP; + $sPath = PATH_DB . config("system.workspace") . PATH_SEP . 'classes' . PATH_SEP; $sClassName = ($aData['ADD_TAB_CLASS_NAME'] != '' ? $aData['ADD_TAB_CLASS_NAME'] : $this->getPHPName($aData['ADD_TAB_NAME'])); @@ -1159,7 +1159,7 @@ class AdditionalTables extends BaseAdditionalTables $sClassName = $this->getPHPName($sTableName); } - $sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP; + $sPath = PATH_DB . config("system.workspace") . PATH_SEP . 'classes' . PATH_SEP; if (!file_exists($sPath)) { G::mk_dir($sPath); } diff --git a/workflow/engine/classes/model/AddonsStore.php b/workflow/engine/classes/model/AddonsStore.php index 06eefcd05..b5d286826 100644 --- a/workflow/engine/classes/model/AddonsStore.php +++ b/workflow/engine/classes/model/AddonsStore.php @@ -367,7 +367,7 @@ class AddonsStore extends BaseAddonsStore $sStatus = $oDetails->isEnabled() ? G::LoadTranslation('ID_ENABLED') : G::LoadTranslation('ID_DISABLED'); if ($oDetails->getWorkspaces()) { - if (!in_array(SYS_SYS, $oDetails->getWorkspaces())) { + if (!in_array(config("system.workspace"), $oDetails->getWorkspaces())) { continue; } } diff --git a/workflow/engine/classes/model/CaseScheduler.php b/workflow/engine/classes/model/CaseScheduler.php index a5577b78d..bd9833fef 100644 --- a/workflow/engine/classes/model/CaseScheduler.php +++ b/workflow/engine/classes/model/CaseScheduler.php @@ -332,7 +332,7 @@ class CaseScheduler extends BaseCaseScheduler } } - $url = SERVER_NAME . $port . "/sys" . SYS_SYS . "/" . SYS_LANG . "/classic/services/wsdl2"; + $url = SERVER_NAME . $port . "/sys" . config("system.workspace") . "/" . SYS_LANG . "/classic/services/wsdl2"; $testConnection = true; try { diff --git a/workflow/engine/classes/model/Content.php b/workflow/engine/classes/model/Content.php index 900b12d6d..86180e6e8 100644 --- a/workflow/engine/classes/model/Content.php +++ b/workflow/engine/classes/model/Content.php @@ -312,8 +312,11 @@ class Content extends BaseContent * * @param array $langs */ - public function regenerateContent ($langs, $workSpace = SYS_SYS) + public function regenerateContent ($langs, $workSpace = null) { + if ($workSpace === null) { + $workSpace = config("system.workspace"); + } //Search the language $key = array_search( 'en', $langs ); if ($key === false) { diff --git a/workflow/engine/classes/model/Process.php b/workflow/engine/classes/model/Process.php index 9e772037a..4ae0c0030 100644 --- a/workflow/engine/classes/model/Process.php +++ b/workflow/engine/classes/model/Process.php @@ -739,7 +739,7 @@ class Process extends BaseProcess } - $memcache = & PMmemcached::getSingleton( SYS_SYS ); + $memcache = & PMmemcached::getSingleton( config("system.workspace") ); if (isset($memcache) && $memcache->enabled == 1 ) { return $aProcesses; } @@ -766,7 +766,7 @@ class Process extends BaseProcess GROUP BY PRO_UID, APP_STATUS*/ require_once 'classes/model/Application.php'; - $memcache = & PMmemcached::getSingleton( SYS_SYS ); + $memcache = & PMmemcached::getSingleton( config("system.workspace") ); $memkey = 'getCasesCountInAllProcesses'; if (($aProcesses = $memcache->get( $memkey )) === false) { $oCriteria = new Criteria( 'workflow' ); @@ -877,7 +877,7 @@ class Process extends BaseProcess $limit = 25; $start = 0; - $memcache = PMmemcached::getSingleton( SYS_SYS ); + $memcache = PMmemcached::getSingleton( config("system.workspace") ); for ($start = 0; $start <= 50 - 1; $start ++) { $memkey = "processList-allProcesses-" . ($start * $limit) . "-" . $limit; diff --git a/workflow/engine/classes/model/UsersProperties.php b/workflow/engine/classes/model/UsersProperties.php index b4e55a196..784bb0d1e 100644 --- a/workflow/engine/classes/model/UsersProperties.php +++ b/workflow/engine/classes/model/UsersProperties.php @@ -258,10 +258,10 @@ class UsersProperties extends BaseUsersProperties $url = $this->_getDefaultLocation(); return $url; } else { - $url = '/sys' . SYS_SYS . '/' . $this->lang . '/' . $_COOKIE['workspaceSkin'] . '/main'; + $url = '/sys' . config("system.workspace") . '/' . $this->lang . '/' . $_COOKIE['workspaceSkin'] . '/main'; } } else { - $url = '/sys' . SYS_SYS . '/' . $this->lang . '/' . SYS_SKIN . '/main'; + $url = '/sys' . config("system.workspace") . '/' . $this->lang . '/' . SYS_SKIN . '/main'; } global $RBAC; $oConf = new Configurations(); @@ -330,9 +330,9 @@ class UsersProperties extends BaseUsersProperties $pathMethod = $detail->getPathMethod(); if (isset($pathMethod) && $detail->equalRoleCodeTo($userRole)) { if (isset($_COOKIE['workspaceSkin'])) { - $url = '/sys' . SYS_SYS . '/' . $this->lang . '/' . $_COOKIE['workspaceSkin'] . '/' . $pathMethod; + $url = '/sys' . config("system.workspace") . '/' . $this->lang . '/' . $_COOKIE['workspaceSkin'] . '/' . $pathMethod; } else { - $url = '/sys' . SYS_SYS . '/' . $this->lang . '/' . SYS_SKIN . '/' . $pathMethod; + $url = '/sys' . config("system.workspace") . '/' . $this->lang . '/' . SYS_SKIN . '/' . $pathMethod; } } } @@ -376,7 +376,7 @@ class UsersProperties extends BaseUsersProperties case 'SINGLE': $_SESSION['user_experience'] = $uxType; $_SESSION['user_last_skin'] = SYS_SKIN; - $url = '/sys' . SYS_SYS . '/' . $this->lang . '/uxs/' . 'home'; + $url = '/sys' . config("system.workspace") . '/' . $this->lang . '/uxs/' . 'home'; break; } @@ -393,11 +393,10 @@ class UsersProperties extends BaseUsersProperties $oConf = new Configurations(); $oConf->loadConfig( $x, 'USER_PREFERENCES', '', '', $_SESSION['USER_LOGGED'], '' ); - //$baseUrl = '/sys' . SYS_SYS . '/' . $this->lang . '/' . SYS_SKIN . '/'; if (isset($_COOKIE['workspaceSkin'])) { - $baseUrl = '/sys' . SYS_SYS . '/' . $this->lang . '/' . $_COOKIE['workspaceSkin'] . '/'; + $baseUrl = '/sys' . config("system.workspace") . '/' . $this->lang . '/' . $_COOKIE['workspaceSkin'] . '/'; } else { - $baseUrl = '/sys' . SYS_SYS . '/' . $this->lang . '/' . SYS_SKIN . '/'; + $baseUrl = '/sys' . config("system.workspace") . '/' . $this->lang . '/' . SYS_SKIN . '/'; } $url = ''; diff --git a/workflow/engine/classes/triggers/class.pmAlfrescoFunctions.php b/workflow/engine/classes/triggers/class.pmAlfrescoFunctions.php index bff416aeb..209f617c7 100644 --- a/workflow/engine/classes/triggers/class.pmAlfrescoFunctions.php +++ b/workflow/engine/classes/triggers/class.pmAlfrescoFunctions.php @@ -305,10 +305,10 @@ function getFolderChildren($alfrescoServerUrl, $folderId, $user, $pwd) /** * @method * - * Uplaod file/document in Alfresco Repository + * Upload file/document in Alfresco Repository * * @name uploadDoc - * @label Uplaod file/document in Alfresco Repository + * @label Upload file/document in Alfresco Repository * * @param string | $alfrescoServerUrl | Server name and port where Alfresco exists | http://localhost:8080/alfresco * @param string | $fileSource | File Source diff --git a/workflow/engine/config/databases.php b/workflow/engine/config/databases.php index b15d65731..c6d8c3761 100644 --- a/workflow/engine/config/databases.php +++ b/workflow/engine/config/databases.php @@ -23,12 +23,12 @@ * */ -if (defined('PATH_DB') && defined('SYS_SYS')) { +if (defined('PATH_DB') && !empty(config("system.workspace"))) { - if (!file_exists(PATH_DB . SYS_SYS . '/db.php')) - throw new Exception("Could not find db.php in current workspace " . SYS_SYS); + if (!file_exists(PATH_DB . config("system.workspace") . '/db.php')) + throw new Exception("Could not find db.php in current workspace " . config("system.workspace")); - require_once(PATH_DB . SYS_SYS . '/db.php'); + require_once(PATH_DB . config("system.workspace") . '/db.php'); //to do: enable for other databases $dbType = DB_ADAPTER; $dsn = DB_ADAPTER . '://' . DB_USER . ':' . urlencode(DB_PASS) . '@' . DB_HOST . '/' . DB_NAME; diff --git a/workflow/engine/content/translations/english/processmaker.en.po b/workflow/engine/content/translations/english/processmaker.en.po index bf7890e93..c4a5e3303 100644 --- a/workflow/engine/content/translations/english/processmaker.en.po +++ b/workflow/engine/content/translations/english/processmaker.en.po @@ -1750,8 +1750,62 @@ msgstr "Changes saved" # TRANSLATION # LABEL/ID_EMAILS #: LABEL/ID_EMAILS -msgid "EMAILS" -msgstr "EMAILS" +msgid "Emails" +msgstr "Emails" + +# TRANSLATION +# LABEL/ID_NO_PREVIOUS_USR_UID +#: LABEL/ID_NO_PREVIOUS_USR_UID +msgid "The previous task doesn't have any users." +msgstr "The previous task doesn't have any users." + +# TRANSLATION +# LABEL/ID_SET_NO_MANAGER +#: LABEL/ID_SET_NO_MANAGER +msgid "Unassign Manager" +msgstr "Unassign Manager" + +# TRANSLATION +# LABEL/ID_ERROR_EMAIL +#: LABEL/ID_ERROR_EMAIL +msgid "Error" +msgstr "Error" + +# TRANSLATION +# LABEL/ID_CASE_SCHEDULER_CLASSIC +#: LABEL/ID_CASE_SCHEDULER_CLASSIC +msgid "Case Scheduler (classic processes)" +msgstr "Case Scheduler (classic processes)" + +# TRANSLATION +# LABEL/ID_PROCESS_IS_REQUIRED +#: LABEL/ID_PROCESS_IS_REQUIRED +msgid "Process field is required" +msgstr "Process field is required" + +# TRANSLATION +# LABEL/ID_DELEGATE_DATE_FROM +#: LABEL/ID_DELEGATE_DATE_FROM +msgid "Date from" +msgstr "Date from" + +# TRANSLATION +# LABEL/ID_REASSIGN_CONFIRM +#: LABEL/ID_REASSIGN_CONFIRM +msgid "Do you want to reassign the case?" +msgstr "Do you want to reassign the case?" + +# TRANSLATION +# LABEL/ID_MESSAGE_SUBJECT_NOTE_NOTIFICATION +#: LABEL/ID_MESSAGE_SUBJECT_NOTE_NOTIFICATION +msgid "A note has been added to the case" +msgstr "A note has been added to the case" + +# TRANSLATION +# LABEL/ID_EVENTS_CLASSIC +#: LABEL/ID_EVENTS_CLASSIC +msgid "Events (classic processes)" +msgstr "Events (classic processes)" # TRANSLATION # LABEL/ID_REPORT2 @@ -5360,12 +5414,6 @@ msgstr "Can not save, because, there is an Output Document with the same name in msgid "User or password is empty." msgstr "User or password is empty." -# TRANSLATION -# LABEL/ID_DELEGATE_DATE_FROM -#: LABEL/ID_DELEGATE_DATE_FROM -msgid "Delegated date from" -msgstr "Delegated date from" - # TRANSLATION # JAVASCRIPT/ID_DUPLICATE_CATEGORY_NAME #: JAVASCRIPT/ID_DUPLICATE_CATEGORY_NAME @@ -6872,12 +6920,6 @@ msgstr "Last Name" msgid "Case #{APP_NUMBER} was reassigned to user {USER}." msgstr "Case #{APP_NUMBER} was reassigned to user {USER}." -# TRANSLATION -# LABEL/ID_REASSIGN_CONFIRM -#: LABEL/ID_REASSIGN_CONFIRM -msgid "Are you sure to reassign the current case?" -msgstr "Are you sure to reassign the current case?" - # TRANSLATION # LABEL/ID_CASE_PAUSED_SUCCESSFULLY #: LABEL/ID_CASE_PAUSED_SUCCESSFULLY @@ -10508,12 +10550,6 @@ msgstr "From each table select at least one Schema/Data to export." msgid "Do you want to delete the selected skin?" msgstr "Do you want to delete the selected skin?" -# TRANSLATION -# LABEL/ID_MESSAGE_SUBJECT_NOTE_NOTIFICATION -#: LABEL/ID_MESSAGE_SUBJECT_NOTE_NOTIFICATION -msgid "A note has been added to the case." -msgstr "A note has been added to the case." - # TRANSLATION # LABEL/ID_MSG_CANNOT_EXPORT_DEFAULT_SKIN #: LABEL/ID_MSG_CANNOT_EXPORT_DEFAULT_SKIN @@ -18685,12 +18721,6 @@ msgstr "Compare" msgid "You can click on one of the dashboards to view the data or click on the favorite icon to make it your main dashboard." msgstr "You can click on one of the dashboards to view the data or click on the favorite icon to make it your main dashboard." -# TRANSLATION -# LABEL/ID_SET_NO_MANAGER -#: LABEL/ID_SET_NO_MANAGER -msgid "No set Manager" -msgstr "No set Manager" - # TRANSLATION # LABEL/ID_NO_SET_MANAGER_SUCCES #: LABEL/ID_NO_SET_MANAGER_SUCCES @@ -18895,12 +18925,6 @@ msgstr "(Goal value)" msgid "Please enter your credentials below" msgstr "Please enter your credentials below" -# TRANSLATION -# LABEL/ID_ERROR_EMAIL -#: LABEL/ID_ERROR_EMAIL -msgid "Error email" -msgstr "Error email" - # TRANSLATION # LABEL/ID_AVAILABLE_DATABASE #: LABEL/ID_AVAILABLE_DATABASE @@ -27473,12 +27497,6 @@ msgstr "Error: The application {0} is not canceled." msgid "Error: Thread status does not exist for the application {0}." msgstr "Error: Thread status does not exist for the application {0}." -# TRANSLATION -# LABEL/ID_NO_PREVIOUS_USR_UID -#: LABEL/ID_NO_PREVIOUS_USR_UID -msgid "The previuos task doesn't have any users." -msgstr "The previuos task doesn't have any users." - # TRANSLATION # LABEL/ID_WARNING_GATEWAY_CONVERGENT_WITH_CONDITION #: LABEL/ID_WARNING_GATEWAY_CONVERGENT_WITH_CONDITION diff --git a/workflow/engine/controllers/admin.php b/workflow/engine/controllers/admin.php index aa87d89ca..d5fe5ff68 100644 --- a/workflow/engine/controllers/admin.php +++ b/workflow/engine/controllers/admin.php @@ -314,7 +314,7 @@ class Admin extends Controller ); } - $properties[] = array ( G::LoadTranslation('ID_WORKSPACE') ,defined( "SYS_SYS" ) ? SYS_SYS : "Not defined",$pmSection + $properties[] = array(G::LoadTranslation('ID_WORKSPACE'), !empty(config("system.workspace")) ? config("system.workspace") : "Not defined", $pmSection ); $properties[] = array ( G::LoadTranslation('ID_SERVER_PROTOCOL') ,getenv( 'SERVER_PROTOCOL' ),$sysSection diff --git a/workflow/engine/controllers/adminProxy.php b/workflow/engine/controllers/adminProxy.php index e1a5e54c7..660de524f 100644 --- a/workflow/engine/controllers/adminProxy.php +++ b/workflow/engine/controllers/adminProxy.php @@ -117,7 +117,7 @@ class adminProxy extends HttpProxyController $this->success = true; $this->restart = $restart; - $this->url = "/sys" . SYS_SYS . "/" . (($sysConf["default_lang"] != "")? $sysConf["default_lang"] : ((defined("SYS_LANG") && SYS_LANG != "")? SYS_LANG : "en")) . "/" . $sysConf["default_skin"] . $urlPart; + $this->url = "/sys" . config("system.workspace") . "/" . (($sysConf["default_lang"] != "")? $sysConf["default_lang"] : ((defined("SYS_LANG") && SYS_LANG != "")? SYS_LANG : "en")) . "/" . $sysConf["default_skin"] . $urlPart; $this->message = 'Saved Successfully'; $msg = ""; if ($httpData->proxy_host != '' || $httpData->proxy_port != '' || $httpData->proxy_user != '') { @@ -1191,7 +1191,7 @@ class adminProxy extends HttpProxyController $snameLogo = self::changeNamelogo($snameLogo); $oConf = new Configurations; $aConf = Array( - 'WORKSPACE_LOGO_NAME' => SYS_SYS, + 'WORKSPACE_LOGO_NAME' => config("system.workspace"), 'DEFAULT_LOGO_NAME' => $snameLogo ); @@ -1356,7 +1356,7 @@ class adminProxy extends HttpProxyController '%s://%s/sys%s/%s/%s/oauth2/grant', $http, $host, - SYS_SYS, + config("system.workspace"), $lang, SYS_SKIN ); @@ -1416,7 +1416,7 @@ class adminProxy extends HttpProxyController //On premise or cloud $licInfo = $oServerConf->getProperty( 'LICENSE_INFO' ); - $params['lt'] = isset($licInfo[SYS_SYS]) ? isset($licInfo[SYS_SYS]['TYPE'])? $licInfo[SYS_SYS]['TYPE'] : '' : ''; + $params['lt'] = isset($licInfo[config("system.workspace")]) ? isset($licInfo[config("system.workspace")]['TYPE'])? $licInfo[config("system.workspace")]['TYPE'] : '' : ''; //ProcessMaker Version $params['v'] = System::getVersion(); @@ -1511,7 +1511,7 @@ class adminProxy extends HttpProxyController $params['t'] = (defined('TIME_ZONE') && TIME_ZONE != "Unknown") ? TIME_ZONE : date_default_timezone_get(); $params['w'] = count(System::listWorkspaces()); - $support = PATH_DATA_SITE . G::sanitizeString($licenseManager->info['FIRST_NAME'] . '-' . $licenseManager->info['LAST_NAME'] . '-' . SYS_SYS . '-' . date('YmdHis'), false, false) . '.spm'; + $support = PATH_DATA_SITE . G::sanitizeString($licenseManager->info['FIRST_NAME'] . '-' . $licenseManager->info['LAST_NAME'] . '-' . config("system.workspace") . '-' . date('YmdHis'), false, false) . '.spm'; file_put_contents($support, serialize($params)); G::streamFile($support, true); G::rm_dir($support); diff --git a/workflow/engine/controllers/caseSchedulerProxy.php b/workflow/engine/controllers/caseSchedulerProxy.php index 0707cecfe..428a007ae 100644 --- a/workflow/engine/controllers/caseSchedulerProxy.php +++ b/workflow/engine/controllers/caseSchedulerProxy.php @@ -97,7 +97,7 @@ class caseSchedulerProxy extends HttpProxyController } else { $http = 'http://'; } - $endpoint = $http . $_SERVER['HTTP_HOST'] . '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/wsdl2'; + $endpoint = $http . $_SERVER['HTTP_HOST'] . '/sys' . config("system.workspace") . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/wsdl2'; @$client = new SoapClient( $endpoint ); $user = $sWS_USER; diff --git a/workflow/engine/controllers/designer.php b/workflow/engine/controllers/designer.php index efa0d8ccb..d1fee5cda 100644 --- a/workflow/engine/controllers/designer.php +++ b/workflow/engine/controllers/designer.php @@ -62,7 +62,7 @@ class Designer extends Controller $this->setVar('credentials', base64_encode(json_encode($clientToken))); $this->setVar('isDebugMode', $debug); $this->setVar("distribution", $distribution); - $this->setVar("SYS_SYS", SYS_SYS); + $this->setVar("SYS_SYS", config("system.workspace")); $this->setVar("SYS_LANG", SYS_LANG); $this->setVar("SYS_SKIN", SYS_SKIN); $this->setVar('HTTP_SERVER_HOSTNAME', System::getHttpServerHostnameRequestsFrontEnd()); @@ -219,7 +219,7 @@ class Designer extends Controller } Tracker::authentication($_SESSION['CASE'], $_SESSION['PIN']); } catch (\Exception $e) { - Bootstrap::registerMonolog('CaseTracker', 400, $e->getMessage(), [], SYS_SYS, 'processmaker.log'); + Bootstrap::registerMonolog('CaseTracker', 400, $e->getMessage(), [], config("system.workspace"), 'processmaker.log'); \G::header('Location: /errors/error403.php'); die(); } diff --git a/workflow/engine/controllers/home.php b/workflow/engine/controllers/home.php index c3e9d8ea7..33bac845e 100644 --- a/workflow/engine/controllers/home.php +++ b/workflow/engine/controllers/home.php @@ -131,7 +131,7 @@ class Home extends Controller if (!isset($_COOKIE['workspaceSkin'])) { if (substr( $sysConf['default_skin'], 0, 2 ) == 'ux') { $_SESSION['_defaultUserLocation'] = $switchLink; - $switchLink = '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . $sysConf['default_skin'] . '/main'; + $switchLink = '/sys' . config("system.workspace") . '/' . SYS_LANG . '/' . $sysConf['default_skin'] . '/main'; } } @@ -531,7 +531,7 @@ class Home extends Controller $conf = new Configurations(); $generalConfCasesList = $conf->getConfiguration( 'ENVIRONMENT_SETTINGS', '' ); $cases['data'][$i]['DEL_DELEGATE_DATE'] = ''; - if (defined('SYS_SYS')) { + if (!empty(config("system.workspace"))) { if (isset( $generalConfCasesList['casesListDateFormat'] ) && ! empty( $generalConfCasesList['casesListDateFormat'] )) { $cases['data'][$i]['DEL_DELEGATE_DATE'] = $conf->getSystemDate($row['DEL_DELEGATE_DATE'], 'casesListDateFormat'); } diff --git a/workflow/engine/controllers/installer.php b/workflow/engine/controllers/installer.php index aca7f0526..df9c986b0 100644 --- a/workflow/engine/controllers/installer.php +++ b/workflow/engine/controllers/installer.php @@ -919,6 +919,7 @@ class InstallerModule extends Controller define( 'SYSTEM_HASH', $sh ); define( 'PATH_DB', $pathShared . 'sites' . PATH_SEP ); define( 'SYS_SYS', $workspace ); + config(["system.workspace" => $workspace]); require_once ("propel/Propel.php"); diff --git a/workflow/engine/controllers/main.php b/workflow/engine/controllers/main.php index a7a35c9e8..64023e66f 100644 --- a/workflow/engine/controllers/main.php +++ b/workflow/engine/controllers/main.php @@ -17,7 +17,7 @@ class Main extends Controller public function __construct () { - $this->memcache = & PMmemcached::getSingleton( defined( 'SYS_SYS' ) ? SYS_SYS : '' ); + $this->memcache = & PMmemcached::getSingleton( !empty(config("system.workspace")) ? config("system.workspace") : '' ); define( 'ERROR_EXCEPTION', 1 ); define( 'INFO_EXCEPTION', 3 ); @@ -40,7 +40,7 @@ class Main extends Controller $this->setVar( 'pipe', isset( $_SESSION['USR_USERNAME'] ) ? ' | ' : '' ); $this->setVar( 'rolename', $this->getUserRole() ); $this->setVar( 'logout', G::LoadTranslation( 'ID_LOGOUT' ) ); - $this->setVar( 'workspace', defined( 'SYS_SYS' ) ? ucfirst( SYS_SYS ) : '' ); + $this->setVar( 'workspace', !empty(config("system.workspace")) ? ucfirst( config("system.workspace") ) : '' ); $this->setVar( 'user_avatar', 'users/users_ViewPhotoGrid?pUID=' . $_SESSION['USER_LOGGED'] . '&h=' . rand() ); // license notification @@ -464,7 +464,7 @@ class Main extends Controller { $sCompanyLogo = '/images/processmaker2.logo2.png'; - if (defined( "SYS_SYS" )) { + if (!empty(config("system.workspace"))) { if (($aFotoSelect = $this->memcache->get( 'aFotoSelect' )) === false) { $oLogoR = new ReplacementLogo(); $aFotoSelect = $oLogoR->getNameLogo( (isset( $_SESSION['USER_LOGGED'] )) ? $_SESSION['USER_LOGGED'] : '' ); @@ -480,9 +480,9 @@ class Main extends Controller $logoPlugin = $oPluginRegistry->getCompanyLogo( $sCompanyLogo ); if ($logoPlugin != '/images/processmaker2.logo2.png') { $sCompanyLogo = $logoPlugin; - } elseif (isset( $sFotoSelect ) && $sFotoSelect != '' && ! (strcmp( $sWspaceSelect, SYS_SYS ))) { + } elseif (isset( $sFotoSelect ) && $sFotoSelect != '' && ! (strcmp( $sWspaceSelect, config("system.workspace") ))) { $sCompanyLogo = $oPluginRegistry->getCompanyLogo( $sFotoSelect ); - $sCompanyLogo = "/sys" . SYS_SYS . "/" . SYS_LANG . "/" . SYS_SKIN . "/adminProxy/showLogoFile?id=" . base64_encode( $sCompanyLogo ); + $sCompanyLogo = "/sys" . config("system.workspace") . "/" . SYS_LANG . "/" . SYS_SKIN . "/adminProxy/showLogoFile?id=" . base64_encode( $sCompanyLogo ); } } return $sCompanyLogo; @@ -778,7 +778,7 @@ class Main extends Controller ); } - $properties[] = array ( G::LoadTranslation('ID_WORKSPACE') ,defined( "SYS_SYS" ) ? SYS_SYS : "Not defined",$pmSection + $properties[] = array ( G::LoadTranslation('ID_WORKSPACE') ,!empty(config("system.workspace")) ? config("system.workspace") : "Not defined",$pmSection ); $properties[] = array ( G::LoadTranslation('ID_SERVER_PROTOCOL') ,getenv( 'SERVER_PROTOCOL' ),$sysSection diff --git a/workflow/engine/controllers/pmTables.php b/workflow/engine/controllers/pmTables.php index 65a58531c..06607a2de 100644 --- a/workflow/engine/controllers/pmTables.php +++ b/workflow/engine/controllers/pmTables.php @@ -147,7 +147,7 @@ class pmTables extends Controller public function streamExported ($httpData) { - $PUBLIC_ROOT_PATH = PATH_DATA . 'sites' . PATH_SEP . SYS_SYS . PATH_SEP . 'public' . PATH_SEP; + $PUBLIC_ROOT_PATH = PATH_DATA . 'sites' . PATH_SEP . config("system.workspace") . PATH_SEP . 'public' . PATH_SEP; $sFileName = $httpData->f; $realPath = $PUBLIC_ROOT_PATH . $sFileName; diff --git a/workflow/engine/controllers/pmTablesProxy.php b/workflow/engine/controllers/pmTablesProxy.php index 41243e7f2..a0d1582fa 100644 --- a/workflow/engine/controllers/pmTablesProxy.php +++ b/workflow/engine/controllers/pmTablesProxy.php @@ -117,7 +117,7 @@ class pmTablesProxy extends HttpProxyController $dbConn = new DbConnections(); $dbConnections = $dbConn->getConnectionsProUid( $proUid, array('mysql') ); - $workSpace = new WorkspaceTools(SYS_SYS); + $workSpace = new WorkspaceTools(config("system.workspace")); $workspaceDB = $workSpace->getDBInfo(); if ($workspaceDB['DB_NAME'] == $workspaceDB['DB_RBAC_NAME']) { @@ -399,7 +399,7 @@ class pmTablesProxy extends HttpProxyController $primaryKeys = $oAdditionalTables->getPrimaryKeys( 'keys' ); $this->className = $table['ADD_TAB_CLASS_NAME']; $this->classPeerName = $this->className . 'Peer'; - $sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP; + $sPath = PATH_DB . config("system.workspace") . PATH_SEP . 'classes' . PATH_SEP; if (! file_exists( $sPath . $this->className . '.php' )) { throw new Exception( 'Update:: ' . G::loadTranslation( 'ID_PMTABLE_CLASS_DOESNT_EXIST', $this->className ) ); @@ -440,7 +440,7 @@ class pmTablesProxy extends HttpProxyController $table = $oAdditionalTables->load( $httpData->id, true ); $this->className = $table['ADD_TAB_CLASS_NAME']; $this->classPeerName = $this->className . 'Peer'; - $sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP; + $sPath = PATH_DB . config("system.workspace") . PATH_SEP . 'classes' . PATH_SEP; if (! file_exists( $sPath . $this->className . '.php' )) { throw new Exception( 'Destroy:: ' . G::loadTranslation( 'ID_PMTABLE_CLASS_DOESNT_EXIST', $this->className ) ); @@ -664,7 +664,7 @@ class pmTablesProxy extends HttpProxyController $rows = $resultData['rows']; $count = $resultData['count']; - $PUBLIC_ROOT_PATH = PATH_DATA . 'sites' . PATH_SEP . SYS_SYS . PATH_SEP . 'public' . PATH_SEP; + $PUBLIC_ROOT_PATH = PATH_DATA . 'sites' . PATH_SEP . config("system.workspace") . PATH_SEP . 'public' . PATH_SEP; $filenameOnly = strtolower($aAdditionalTables['ADD_TAB_NAME'] . "_" . date("Y-m-d") . '_' . date("Hi") . ".csv"); $filename = $PUBLIC_ROOT_PATH . $filenameOnly; $fp = fopen($filename, "wb"); @@ -733,7 +733,7 @@ class pmTablesProxy extends HttpProxyController $_SESSION['FILES_FORM'] = $_FILES['form']; - $PUBLIC_ROOT_PATH = PATH_DATA . 'sites' . PATH_SEP . SYS_SYS . PATH_SEP . 'public' . PATH_SEP; + $PUBLIC_ROOT_PATH = PATH_DATA . 'sites' . PATH_SEP . config("system.workspace") . PATH_SEP . 'public' . PATH_SEP; $filename = $_FILES['form']['name']['FILENAME']; $tempName = $_FILES['form']['tmp_name']['FILENAME']; @@ -923,7 +923,7 @@ class pmTablesProxy extends HttpProxyController $result = new stdClass(); $net = new Net( G::getIpAddress() ); - $META = " \n-----== ProcessMaker Open Source Private Tables ==-----\n" . " @Ver: 1.0 Oct-2009\n" . " @Processmaker version: " . System::getVersion() . "\n" . " -------------------------------------------------------\n" . " @Export Date: " . date( "l jS \of F Y h:i:s A" ) . "\n" . " @Server address: " . getenv( 'SERVER_NAME' ) . " (" . getenv( 'SERVER_ADDR' ) . ")\n" . " @Client address: " . $net->hostname . "\n" . " @Workspace: " . SYS_SYS . "\n" . " @Export trace back:\n\n"; + $META = " \n-----== ProcessMaker Open Source Private Tables ==-----\n" . " @Ver: 1.0 Oct-2009\n" . " @Processmaker version: " . System::getVersion() . "\n" . " -------------------------------------------------------\n" . " @Export Date: " . date( "l jS \of F Y h:i:s A" ) . "\n" . " @Server address: " . getenv( 'SERVER_NAME' ) . " (" . getenv( 'SERVER_ADDR' ) . ")\n" . " @Client address: " . $net->hostname . "\n" . " @Workspace: " . config("system.workspace") . "\n" . " @Export trace back:\n\n"; $EXPORT_TRACEBACK = Array (); $c = 0; @@ -947,9 +947,9 @@ class pmTablesProxy extends HttpProxyController $META .= $sTrace; ///////////////EXPORT PROCESS - $PUBLIC_ROOT_PATH = PATH_DATA . 'sites' . PATH_SEP . SYS_SYS . PATH_SEP . 'public' . PATH_SEP; + $PUBLIC_ROOT_PATH = PATH_DATA . 'sites' . PATH_SEP . config("system.workspace") . PATH_SEP . 'public' . PATH_SEP; - $filenameOnly = strtolower( 'SYS-' . SYS_SYS . "_" . date( "Y-m-d" ) . '_' . date( "Hi" ) . ".pmt" ); + $filenameOnly = strtolower( 'SYS-' . config("system.workspace") . "_" . date( "Y-m-d" ) . '_' . date( "Hi" ) . ".pmt" ); $filename = $PUBLIC_ROOT_PATH . $filenameOnly; $fp = fopen( $filename, "wb" ); diff --git a/workflow/engine/controllers/strategicDashboard.php b/workflow/engine/controllers/strategicDashboard.php index 0a39b6a24..80bb1d0c7 100644 --- a/workflow/engine/controllers/strategicDashboard.php +++ b/workflow/engine/controllers/strategicDashboard.php @@ -33,7 +33,7 @@ class StrategicDashboard extends Controller $user = new Users(); $user = $user->load($RBAC->aUserInfo['USER_INFO']['USR_UID']); $this->usrUnitCost = $this->currencySymbolToShow($user); - $this->urlProxy = System::getHttpServerHostnameRequestsFrontEnd() . '/api/1.0/' . SYS_SYS . '/'; + $this->urlProxy = System::getHttpServerHostnameRequestsFrontEnd() . '/api/1.0/' . config("system.workspace") . '/'; //change $clientId = 'x-pm-local-client'; $client = $this->getClientCredentials($clientId); @@ -194,7 +194,7 @@ class StrategicDashboard extends Controller $this->setView( 'strategicDashboard/viewDashboard' ); $this->setVar('urlProxy', $this->urlProxy); - $this->setVar('SYS_SYS', SYS_SYS); + $this->setVar('SYS_SYS', config("system.workspace")); $this->setVar('usrId', $this->usrId); $this->setVar('credentials', $this->clientToken); $this->setVar('unitCost', $this->usrUnitCost); diff --git a/workflow/engine/controllers/webEntryProxy.php b/workflow/engine/controllers/webEntryProxy.php index 1b350e04e..20ea01856 100644 --- a/workflow/engine/controllers/webEntryProxy.php +++ b/workflow/engine/controllers/webEntryProxy.php @@ -21,8 +21,8 @@ class webEntryProxy extends HttpProxyController $editEvent['EVN_CONDITIONS'] = null; $event->update( $editEvent ); - unlink( PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP . "public" . PATH_SEP . $pro_uid . PATH_SEP . $filename ); - unlink( PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP . "public" . PATH_SEP . $pro_uid . PATH_SEP . str_replace( ".php", "Post", $filename ) . ".php" ); + unlink( PATH_DATA . "sites" . PATH_SEP . config("system.workspace") . PATH_SEP . "public" . PATH_SEP . $pro_uid . PATH_SEP . $filename ); + unlink( PATH_DATA . "sites" . PATH_SEP . config("system.workspace") . PATH_SEP . "public" . PATH_SEP . $pro_uid . PATH_SEP . str_replace( ".php", "Post", $filename ) . ".php" ); $this->success = true; $this->msg = G::LoadTranslation( 'ID_WEB_ENTRY_SUCCESS_DELETE' ); @@ -46,7 +46,7 @@ class webEntryProxy extends HttpProxyController $http = 'http://'; } - $endpoint = $http . $_SERVER['HTTP_HOST'] . '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/wsdl2'; + $endpoint = $http . $_SERVER['HTTP_HOST'] . '/sys' . config("system.workspace") . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/wsdl2'; @$client = new SoapClient( $endpoint ); $user = $sWS_USER; @@ -122,8 +122,8 @@ class webEntryProxy extends HttpProxyController $pro_uid = $params->pro_uid; $filename = $xDYNA; $filename = $filename . '.php'; - unlink( PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP . "public" . PATH_SEP . $pro_uid . PATH_SEP . $filename ); - unlink( PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP . "public" . PATH_SEP . $pro_uid . PATH_SEP . str_replace( ".php", "Post", $filename ) . ".php" ); + unlink( PATH_DATA . "sites" . PATH_SEP . config("system.workspace") . PATH_SEP . "public" . PATH_SEP . $pro_uid . PATH_SEP . $filename ); + unlink( PATH_DATA . "sites" . PATH_SEP . config("system.workspace") . PATH_SEP . "public" . PATH_SEP . $pro_uid . PATH_SEP . str_replace( ".php", "Post", $filename ) . ".php" ); } $pathProcess = PATH_DATA_SITE . 'public' . PATH_SEP . $sPRO_UID . PATH_SEP; @@ -167,8 +167,8 @@ class webEntryProxy extends HttpProxyController $pluginTpl = PATH_CORE . 'templates' . PATH_SEP . 'processes' . PATH_SEP . 'webentryPost.tpl'; $template = new TemplatePower( $pluginTpl ); $template->prepare(); - $template->assign( 'wsdlUrl', $http . $_SERVER['HTTP_HOST'] . '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/wsdl2' ); - $template->assign( 'wsUploadUrl', $http . $_SERVER['HTTP_HOST'] . '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/upload' ); + $template->assign( 'wsdlUrl', $http . $_SERVER['HTTP_HOST'] . '/sys' . config("system.workspace") . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/wsdl2' ); + $template->assign( 'wsUploadUrl', $http . $_SERVER['HTTP_HOST'] . '/sys' . config("system.workspace") . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/upload' ); $template->assign( 'processUid', $sPRO_UID ); $template->assign( 'dynaformUid', $sDYNAFORM ); $template->assign( 'taskUid', $sTASKS ); @@ -184,7 +184,7 @@ class webEntryProxy extends HttpProxyController $template->assign( 'dynaform', $dynTitle ); $template->assign( 'timestamp', date( 'l jS \of F Y h:i:s A' ) ); - $template->assign( 'ws', SYS_SYS ); + $template->assign( 'ws', config("system.workspace") ); $template->assign( 'version', System::getVersion() ); $fileName = $pathProcess . $dynTitle . 'Post.php'; @@ -218,7 +218,7 @@ class webEntryProxy extends HttpProxyController $aDataEvent['EVN_CONDITIONS'] = $sWS_USER; $output = $oEvent->update( $aDataEvent ); - $link = $http . $_SERVER['HTTP_HOST'] . '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/' . $sPRO_UID . '/' . $dynTitle . '.php'; + $link = $http . $_SERVER['HTTP_HOST'] . '/sys' . config("system.workspace") . '/' . SYS_LANG . '/' . SYS_SKIN . '/' . $sPRO_UID . '/' . $dynTitle . '.php'; $this->success = true; $this->msg = G::LoadTranslation( 'ID_WEB_ENTRY_SUCCESS_NEW' ); diff --git a/workflow/engine/data/mysql/insert.sql b/workflow/engine/data/mysql/insert.sql index 524d1777b..c36449fee 100644 --- a/workflow/engine/data/mysql/insert.sql +++ b/workflow/engine/data/mysql/insert.sql @@ -44,6 +44,7 @@ INSERT INTO CONTENT (CON_CATEGORY,CON_PARENT,CON_ID,CON_LANG,CON_VALUE) VALUES ('PER_NAME','','00000000000000000000000000000036','en','Delete process cases'), ('PER_NAME','','00000000000000000000000000000037','en','Edit personal info Calendar'), ('PER_NAME','','00000000000000000000000000000038','en','Undo cancel case'), +('PER_NAME','','00000000000000000000000000000039','en','Register External Applications'), ('PER_NAME','','00000000000000000000000000000040','en','Edit User profile First Name'), ('PER_NAME','','00000000000000000000000000000041','en','Edit User profile Last Name'), ('PER_NAME','','00000000000000000000000000000042','en','Edit User profile Username'), @@ -1730,7 +1731,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ( 'JAVASCRIPT','ID_DBS_NEW','en','Add new Database Source','2014-01-15') , ( 'JAVASCRIPT','ID_DBS_LIST','en','Databases Source List','2014-01-15') , ( 'LABEL','ID_CHANGES_SAVED','en','Changes saved','2014-01-15') , -( 'LABEL','ID_EMAILS','en','EMAILS','2014-01-15') , +( 'LABEL','ID_EMAILS','en','Emails','2017-10-18') , ( 'LABEL','ID_REPORT2','en','Number of cases per process','2014-01-15') , ( 'LABEL','ID_REPORT1','en','Case duration by process and task','2014-01-15') , ( 'LABEL','ID_IUD','en','#','2014-01-15') , @@ -2346,7 +2347,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ( 'JAVASCRIPT','ID_EXIST_INPUTDOCUMENT','en','Can not save, because there is an Input Document with the same name in this process.','2014-01-15') , ( 'JAVASCRIPT','ID_EXIST_OUTPUTDOCUMENT','en','Can not save, because, there is an Output Document with the same name in this process.','2014-01-15') , ( 'LABEL','ID_CASE_SCHEDULER_VALIDATE_ALERT','en','User or password is empty.','2014-10-21') , -( 'LABEL','ID_DELEGATE_DATE_FROM','en','Delegated date from','2014-01-15') , +( 'LABEL','ID_DELEGATE_DATE_FROM','en','Date from','2017-10-18') , ( 'JAVASCRIPT','ID_DUPLICATE_CATEGORY_NAME','en','Duplicate category name.','2014-01-15') ; INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ) VALUES @@ -2606,7 +2607,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ( 'LABEL','ID_FIRSTNAME','en','First Name','2014-01-15') , ( 'LABEL','ID_LASTNAME','en','Last Name','2014-01-15') , ( 'LABEL','ID_REASSIGNMENT_SUCCESS','en','Case #{APP_NUMBER} was reassigned to user {USER}.','2014-01-15') , -( 'LABEL','ID_REASSIGN_CONFIRM','en','Are you sure to reassign the current case?','2014-01-15') , +( 'LABEL','ID_REASSIGN_CONFIRM','en','Do you want to reassign the case?','2017-10-18') , ( 'LABEL','ID_CASE_PAUSED_SUCCESSFULLY','en','The Case {APP_NUMBER} was paused successfully and it will be unpaused on date {UNPAUSE_DATE}','2014-01-15') , ( 'LABEL','ID_VACATION','en','Vacation','2014-01-15') , ( 'JAVASCRIPT','ID_DB_CONNECTION_ASSIGN','en','You cannot delete this database connection. It is assigned to a step.','2014-01-15') , @@ -3226,7 +3227,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ( 'LABEL','ID_TABLES_TO_EXPORT','en','Tables To Export','2014-01-15') , ( 'LABEL','ID_PMTABLES_NOTICE_EXPORT','en','From each table select at least one Schema/Data to export.','2014-10-21') , ( 'LABEL','ID_CONFIRM_DELETE_SKIN','en','Do you want to delete the selected skin?','2017-04-21') , -( 'LABEL','ID_MESSAGE_SUBJECT_NOTE_NOTIFICATION','en','A note has been added to the case.','2014-10-21') , +( 'LABEL','ID_MESSAGE_SUBJECT_NOTE_NOTIFICATION','en','A note has been added to the case','2017-10-18') , ( 'LABEL','ID_MSG_CANNOT_EXPORT_DEFAULT_SKIN','en','Default skin can''t be exported. Instead create new one based on default','2014-01-15') , ( 'LABEL','ID_MSG_CANNOT_EXPORT_SKIN','en','Can''t export skin. Server Error','2014-01-15') , ( 'LABEL','ID_NEW_SKIN','en','New Skin','2014-01-15') , @@ -3867,6 +3868,9 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ( 'LABEL','ID_EVENT_DESCRIPTION','en','Event Description','2014-01-15') , ( 'LABEL','ID_EVENT_ACTION','en','Event Type','2014-01-15') , ( 'LABEL','ID_EVENTS','en','Events','2014-01-15') , +( 'LABEL','ID_EVENTS_CLASSIC','en','Events (classic processes)','2017-13-10') , +( 'LABEL','ID_CASE_SCHEDULER_CLASSIC','en','Case Scheduler (classic processes)','2017-13-10') , +( 'LABEL','ID_PROCESS_IS_REQUIRED','en','Process field is required','2017-13-10') , ( 'LABEL','ID_EVENT_LIST','en','Log of events','2014-01-15') , ( 'LABEL','ID_EMPTY_TYPE','en','Select a Type','2014-01-15') , ( 'LABEL','ID_GRID_PAGE_NO_EVENT_MESSAGE','en','No Events to display','2014-01-15') , @@ -4624,7 +4628,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ( 'LABEL','ID_DASH_COMPARE_MONTH','en','Compare this month with','2015-05-26') , ( 'LABEL','ID_DASH_COMPARE','en','Compare','2015-03-18') , ( 'LABEL','ID_DASH_CLICK_TO_VIEW','en','You can click on one of the dashboards to view the data or click on the favorite icon to make it your main dashboard.','2015-03-18') , -( 'LABEL','ID_SET_NO_MANAGER','en','No set Manager','2015-03-18') , +( 'LABEL','ID_SET_NO_MANAGER','en','Unassign Manager','2017-10-18') , ( 'LABEL','ID_NO_SET_MANAGER_SUCCES','en','Manager unassigned correctly','2015-03-18') , ( 'LABEL','ID_INDICATOR_PROCESS_REQUIRED','en','The field Process of indicator "{0}" is required.','2015-03-18') , ( 'LABEL','ID_INDICATOR_TITLE_REQUIRED','en','The field Title of indicator "{0}" is required.','2015-03-18') , @@ -4661,7 +4665,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ( 'LABEL','ID_UNTITLED_TASK','en','Untitled task','2015-04-01') , ( 'LABEL','ID_GOAL_HELP','en','(Goal value)','2015-04-06') , ( 'LABEL','ID_PLEASE_ENTER_CREDENTIALS','en','Please enter your credentials below','2015-04-09') , -( 'LABEL','ID_ERROR_EMAIL','en','Error email','2015-04-20') , +( 'LABEL','ID_ERROR_EMAIL','en','Error','2017-10-18') , ( 'LABEL','ID_AVAILABLE_DATABASE','en','Available.','2015-04-21') , ( 'LABEL','ID_NOT_AVAILABLE_DATABASE','en','Not available.','2015-04-21') , ( 'LABEL','ID_WRONG_USER_PASS','en','Wrong username or password.','2015-04-22') , @@ -6124,7 +6128,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ( 'LABEL','ID_YOU_DO_NOT_HAVE_PERMISSION','en','Error: You do not have permission.','2016-06-15') , ( 'LABEL','ID_THE_APPLICATION_IS_NOT_CANCELED','en','Error: The application {0} is not canceled.','2016-06-15') , ( 'LABEL','ID_THREAD_STATUS_DOES_NOT_EXIST_FOR_THE_APPLICATION','en','Error: Thread status does not exist for the application {0}.','2016-06-15') , -( 'LABEL','ID_NO_PREVIOUS_USR_UID','en','The previuos task doesn''t have any users.','2016-06-17') , +( 'LABEL','ID_NO_PREVIOUS_USR_UID','en','The previous task doesn''t have any users.','2017-10-18') , ( 'LABEL','ID_WARNING_GATEWAY_CONVERGENT_WITH_CONDITION','en','Your Gateway Convergent has a condition, save again your process.','2016-06-23') , ( 'LABEL','ID_RT_RENAME_NAME_TABLE','en','All references to the previous table name are going to be invalid. Do you really want to change the table name?','2016-06-29') , ( 'LABEL','ID_RT_CONTINUE_TABLE_RENAME','en','Continue renaming the table','2016-06-30') ; diff --git a/workflow/engine/menus/setup.php b/workflow/engine/menus/setup.php index 50caffa9a..f0173beef 100644 --- a/workflow/engine/menus/setup.php +++ b/workflow/engine/menus/setup.php @@ -202,10 +202,10 @@ if ($RBAC->userCanAccess('PM_SETUP_ADVANCE') === 1 && $RBAC->userCanAccess('PM_U } if ($RBAC->userCanAccess('PM_SETUP') === 1 && $RBAC->userCanAccess('PM_SETUP_LOGS') === 1) { - $G_TMP_MENU->AddIdRawOption('EVENT', '../events/eventList', G::LoadTranslation('ID_EVENTS'), '', '', 'logs'); + $G_TMP_MENU->AddIdRawOption('EVENT', '../events/eventList', G::LoadTranslation('ID_EVENTS_CLASSIC'), '', '', 'logs'); $G_TMP_MENU->AddIdRawOption( 'LOG_CASE_SCHEDULER', '../cases/cases_Scheduler_Log', - G::LoadTranslation('ID_CASE_SCHEDULER'), + G::LoadTranslation('ID_CASE_SCHEDULER_CLASSIC'), "icon-logs-list.png", '', 'logs' ); $G_TMP_MENU->AddIdRawOption("CRON", "../setup/cron", G::LoadTranslation("ID_CRON_ACTIONS"), null, null, 'logs'); diff --git a/workflow/engine/methods/cases/caseConsolidated.php b/workflow/engine/methods/cases/caseConsolidated.php index 07e5aea99..699a96237 100644 --- a/workflow/engine/methods/cases/caseConsolidated.php +++ b/workflow/engine/methods/cases/caseConsolidated.php @@ -263,7 +263,7 @@ if ($sStatus == '1') { $oAdditionalTables->createPropelClasses($tableName, $sClassName, $aFieldsClases, $sTasUid); } else { - $sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP; + $sPath = PATH_DB . config("system.workspace") . PATH_SEP . 'classes' . PATH_SEP; @unlink($sPath . $sClassName . '.php'); @unlink($sPath . $sClassName . 'Peer.php'); @unlink($sPath . PATH_SEP . 'map' . PATH_SEP . $sClassName . 'MapBuilder.php'); diff --git a/workflow/engine/methods/cases/casesConsolidatedListExtJs.php b/workflow/engine/methods/cases/casesConsolidatedListExtJs.php index 58d21dfa9..3a9cd1309 100644 --- a/workflow/engine/methods/cases/casesConsolidatedListExtJs.php +++ b/workflow/engine/methods/cases/casesConsolidatedListExtJs.php @@ -71,7 +71,7 @@ while ($rsSql->next()) { } if (count($arrayTabItem) > 0) { - $urlProxy = System::getHttpServerHostnameRequestsFrontEnd() . '/api/1.0/' . SYS_SYS . '/consolidated/'; + $urlProxy = System::getHttpServerHostnameRequestsFrontEnd() . '/api/1.0/' . config("system.workspace") . '/consolidated/'; $clientId = 'x-pm-local-client'; $client = getClientCredentials($clientId); $authCode = getAuthorizationCode($client); diff --git a/workflow/engine/methods/cases/casesListExtJs.php b/workflow/engine/methods/cases/casesListExtJs.php index 962779261..6fd980d3b 100644 --- a/workflow/engine/methods/cases/casesListExtJs.php +++ b/workflow/engine/methods/cases/casesListExtJs.php @@ -176,9 +176,9 @@ if ($licensedFeatures->verifyfeature('r19Vm5DK1UrT09MenlLYjZxejlhNUZ1b1NhV0JHWjB if (isset($_COOKIE['dashboardListInbox'])) { $oHeadPublisher->assign('valueFilterStatus', $_COOKIE['dashboardListInbox']); if (PHP_VERSION < 5.2) { - setcookie("dashboardListInbox", '', time() + (24 * 60 * 60), "/sys" . SYS_SYS, "; HttpOnly"); + setcookie("dashboardListInbox", '', time() + (24 * 60 * 60), "/sys" . config("system.workspace"), "; HttpOnly"); } else { - setcookie("dashboardListInbox", '', time() + (24 * 60 * 60), "/sys" . SYS_SYS, null, false, true); + setcookie("dashboardListInbox", '', time() + (24 * 60 * 60), "/sys" . config("system.workspace"), null, false, true); } } } diff --git a/workflow/engine/methods/cases/cases_SaveDataSupervisor.php b/workflow/engine/methods/cases/cases_SaveDataSupervisor.php index 70a6487df..e12d94aa1 100644 --- a/workflow/engine/methods/cases/cases_SaveDataSupervisor.php +++ b/workflow/engine/methods/cases/cases_SaveDataSupervisor.php @@ -142,8 +142,8 @@ if (isset( $_FILES["form"]["name"] ) && count( $_FILES["form"]["name"] ) > 0) { if($res->status == 0){ $message = $res->message; G::SendMessageText( $message, "ERROR" ); - $backUrlObj = explode( "sys" . SYS_SYS, $_SERVER['HTTP_REFERER'] ); - G::header( "location: " . "/sys" . SYS_SYS . $backUrlObj[1] ); + $backUrlObj = explode( "sys" . config("system.workspace"), $_SERVER['HTTP_REFERER'] ); + G::header( "location: " . "/sys" . config("system.workspace") . $backUrlObj[1] ); die(); } @@ -156,8 +156,8 @@ if (isset( $_FILES["form"]["name"] ) && count( $_FILES["form"]["name"] ) > 0) { if ($inpDocMaxFilesize > 0 && $fileSizeByField > 0) { if ($fileSizeByField > $inpDocMaxFilesize) { G::SendMessageText(G::LoadTranslation("ID_SIZE_VERY_LARGE_PERMITTED"), "ERROR"); - $arrayAux1 = explode("sys" . SYS_SYS, $_SERVER["HTTP_REFERER"]); - G::header("location: /sys" . SYS_SYS . $arrayAux1[1]); + $arrayAux1 = explode("sys" . config("system.workspace"), $_SERVER["HTTP_REFERER"]); + G::header("location: /sys" . config("system.workspace") . $arrayAux1[1]); exit(0); } } diff --git a/workflow/engine/methods/cases/cases_SaveDocument.php b/workflow/engine/methods/cases/cases_SaveDocument.php index ae948fc46..02c544479 100644 --- a/workflow/engine/methods/cases/cases_SaveDocument.php +++ b/workflow/engine/methods/cases/cases_SaveDocument.php @@ -54,8 +54,8 @@ if ((isset( $_FILES['form'] )) && ($_FILES['form']['error']['APP_DOC_FILENAME'] break; } G::SendMessageText( $message, "ERROR" ); - $backUrlObj = explode( "sys" . SYS_SYS, $_SERVER['HTTP_REFERER'] ); - G::header( "location: " . "/sys" . SYS_SYS . $backUrlObj[1] ); + $backUrlObj = explode( "sys" . config("system.workspace"), $_SERVER['HTTP_REFERER'] ); + G::header( "location: " . "/sys" . config("system.workspace") . $backUrlObj[1] ); die(); } @@ -106,8 +106,8 @@ if(isset($_FILES["form"]["name"]["APP_DOC_FILENAME"]) && isset($_FILES["form"][" if($res->status == 0){ $message = $res->message; G::SendMessageText( $message, "ERROR" ); - $backUrlObj = explode( "sys" . SYS_SYS, $_SERVER['HTTP_REFERER'] ); - G::header( "location: " . "/sys" . SYS_SYS . $backUrlObj[1] ); + $backUrlObj = explode( "sys" . config("system.workspace"), $_SERVER['HTTP_REFERER'] ); + G::header( "location: " . "/sys" . config("system.workspace") . $backUrlObj[1] ); die(); } @@ -134,8 +134,8 @@ if (isset($_FILES) && isset($_FILES["form"]) && count($_FILES["form"]) > 0) { } catch (Exception $e) { G::SendMessageText($e->getMessage(), "ERROR"); - $arrayAux = explode("sys" . SYS_SYS, $_SERVER["HTTP_REFERER"]); - G::header("location: /sys" . SYS_SYS . $arrayAux[1]); + $arrayAux = explode("sys" . config("system.workspace"), $_SERVER["HTTP_REFERER"]); + G::header("location: /sys" . config("system.workspace") . $arrayAux[1]); exit(0); } } diff --git a/workflow/engine/methods/cases/cases_SchedulerValidateUser.php b/workflow/engine/methods/cases/cases_SchedulerValidateUser.php index 752c4ff38..3edaa6f64 100644 --- a/workflow/engine/methods/cases/cases_SchedulerValidateUser.php +++ b/workflow/engine/methods/cases/cases_SchedulerValidateUser.php @@ -40,7 +40,7 @@ if (G::is_https()) { $http = 'http://'; } -$endpoint = $http . $_SERVER['HTTP_HOST'] . '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/wsdl2'; +$endpoint = $http . $_SERVER['HTTP_HOST'] . '/sys' . config("system.workspace") . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/wsdl2'; $client = new SoapClient($endpoint, $streamContext); $user = $sWS_USER; diff --git a/workflow/engine/methods/cases/cases_ShowDocument.php b/workflow/engine/methods/cases/cases_ShowDocument.php index 702135e6b..178d52697 100644 --- a/workflow/engine/methods/cases/cases_ShowDocument.php +++ b/workflow/engine/methods/cases/cases_ShowDocument.php @@ -109,8 +109,8 @@ if (! $sw_file_exists) { print G::json_encode( $res ); } else { G::SendMessageText( $error_message, "ERROR" ); - $backUrlObj = explode( "sys" . SYS_SYS, $_SERVER['HTTP_REFERER'] ); - G::header( "location: " . "/sys" . SYS_SYS . $backUrlObj[1] ); + $backUrlObj = explode( "sys" . config("system.workspace"), $_SERVER['HTTP_REFERER'] ); + G::header( "location: " . "/sys" . config("system.workspace") . $backUrlObj[1] ); die(); } diff --git a/workflow/engine/methods/cases/cases_ShowOutputDocument.php b/workflow/engine/methods/cases/cases_ShowOutputDocument.php index 27f8d0e2f..9436daea4 100644 --- a/workflow/engine/methods/cases/cases_ShowOutputDocument.php +++ b/workflow/engine/methods/cases/cases_ShowOutputDocument.php @@ -122,8 +122,8 @@ if (!$sw_file_exists) { print G::json_encode( $res ); } else { G::SendMessageText( $error_message, "ERROR" ); - $backUrlObj = explode( "sys" . SYS_SYS, $_SERVER['HTTP_REFERER'] ); - G::header( "location: " . "/sys" . SYS_SYS . $backUrlObj[1] ); + $backUrlObj = explode( "sys" . config("system.workspace"), $_SERVER['HTTP_REFERER'] ); + G::header( "location: " . "/sys" . config("system.workspace") . $backUrlObj[1] ); die(); } diff --git a/workflow/engine/methods/cases/main_init.php b/workflow/engine/methods/cases/main_init.php index f401a5239..812390384 100644 --- a/workflow/engine/methods/cases/main_init.php +++ b/workflow/engine/methods/cases/main_init.php @@ -29,7 +29,7 @@ $oHeadPublisher->addExtJsScript( "cases/main", false ); //Adding a javascript fi $oHeadPublisher->addContent( "cases/main" ); //Adding a html file .html. $keyMem = "USER_PREFERENCES" . $_SESSION["USER_LOGGED"]; -$memcache = &PMmemcached::getSingleton( SYS_SYS ); +$memcache = &PMmemcached::getSingleton( config("system.workspace") ); if (($arrayConfig = $memcache->get( $keyMem )) === false) { $conf->loadConfig( $x, "USER_PREFERENCES", "", "", $_SESSION["USER_LOGGED"], "" ); diff --git a/workflow/engine/methods/enterprise/addonsStore.php b/workflow/engine/methods/enterprise/addonsStore.php index b078b4d23..62b412c9c 100644 --- a/workflow/engine/methods/enterprise/addonsStore.php +++ b/workflow/engine/methods/enterprise/addonsStore.php @@ -9,7 +9,7 @@ $oHeadPublisher = &headPublisher::getSingleton(); if (isset($licenseManager->date) && is_array($licenseManager->date)) { $conf = new Configurations(); - if ( defined('SYS_SYS') && $conf->exists("ENVIRONMENT_SETTINGS")) { + if (!empty(config("system.workspace")) && $conf->exists("ENVIRONMENT_SETTINGS")) { $licenseManager->date['START'] = date("Y-m-d H:i:s", strtotime($licenseManager->date['HUMAN']['START'])); $licenseManager->date['END'] = date("Y-m-d H:i:s", strtotime($licenseManager->date['HUMAN']['END'])); $licenseManager->date['START'] = $conf->getSystemDate($licenseManager->date['START']); @@ -63,7 +63,7 @@ $oHeadPublisher->assign("supportStartDate", (isset($licenseManager->supportStart $oHeadPublisher->assign("supportEndDate", (isset($licenseManager->supportEndDate))? $licenseManager->supportEndDate : ''); $oHeadPublisher->assign("PROCESSMAKER_VERSION", System::getVersion()); -$oHeadPublisher->assign("PROCESSMAKER_URL", "/sys" . SYS_SYS . "/" . SYS_LANG . "/" . SYS_SKIN ); +$oHeadPublisher->assign("PROCESSMAKER_URL", "/sys" . config("system.workspace") . "/" . SYS_LANG . "/" . SYS_SKIN ); $oHeadPublisher->assign("SYS_SKIN", SYS_SKIN); $oHeadPublisher->assign("URL_PART_LOGIN", ((substr(SYS_SKIN, 0, 2) == "ux" && SYS_SKIN != "uxs")? "main/login" : "login/login")); $oHeadPublisher->assign("URL_PART_SETUP", EnterpriseUtils::getUrlPartSetup()); diff --git a/workflow/engine/methods/enterprise/addonsStoreAction.php b/workflow/engine/methods/enterprise/addonsStoreAction.php index 36a95c0e7..0172149e2 100644 --- a/workflow/engine/methods/enterprise/addonsStoreAction.php +++ b/workflow/engine/methods/enterprise/addonsStoreAction.php @@ -160,7 +160,7 @@ try { } /////// - $workspace = SYS_SYS; + $workspace = config("system.workspace"); $dbAdapter = DB_ADAPTER; $addon->setAddonState("download-start"); diff --git a/workflow/engine/methods/enterprise/enterprise.php b/workflow/engine/methods/enterprise/enterprise.php index 824b58bdc..7487de8d4 100644 --- a/workflow/engine/methods/enterprise/enterprise.php +++ b/workflow/engine/methods/enterprise/enterprise.php @@ -8,7 +8,7 @@ if (!defined("PATH_PM_ENTERPRISE")) { } if (!defined("PATH_DATA_SITE")) { - define("PATH_DATA_SITE", PATH_DATA . "sites/" . SYS_SYS . "/"); + define("PATH_DATA_SITE", PATH_DATA . "sites/" . config("system.workspace") . "/"); } set_include_path(PATH_PM_ENTERPRISE . PATH_SEPARATOR . get_include_path()); @@ -78,12 +78,10 @@ class enterprisePlugin extends PMPlugin unset($_SESSION["__EE_SW_PMLICENSEMANAGER__"]); /////// - $js = "window.open(\"/sys" . SYS_SYS . "/" . SYS_LANG . "/" . SYS_SKIN . "/setup/main?s=PLUGINS\", \"_top\", \"\");"; + $js = "window.open(\"/sys" . config("system.workspace") . "/" . SYS_LANG . "/" . SYS_SKIN . "/setup/main?s=PLUGINS\", \"_top\", \"\");"; if (substr(SYS_SKIN, 0, 2) == "ux" && SYS_SKIN != "uxs") { - //$js = "parent.window.location.href = \"/sys" . SYS_SYS . "/" . SYS_LANG . "/" . SYS_SKIN . "/setup/main_init?s=PLUGINS\";"; - //$js = "window.location.href = \"/sys" . SYS_SYS . "/" . SYS_LANG . "/" . SYS_SKIN . "/setup/pluginsImport\";"; - $js = "window.open(\"/sys" . SYS_SYS . "/" . SYS_LANG . "/" . SYS_SKIN . "/main\", \"_top\", \"\");"; + $js = "window.open(\"/sys" . config("system.workspace") . "/" . SYS_LANG . "/" . SYS_SKIN . "/main\", \"_top\", \"\");"; } /////// diff --git a/workflow/engine/methods/enterprise/processMakerAjax.php b/workflow/engine/methods/enterprise/processMakerAjax.php index e034d2ae6..d68088a97 100644 --- a/workflow/engine/methods/enterprise/processMakerAjax.php +++ b/workflow/engine/methods/enterprise/processMakerAjax.php @@ -63,7 +63,7 @@ function install($file) $context = stream_context_create($option); /////// - $fileData = @fopen(EnterpriseUtils::getUrlServerName() . "/sys" . SYS_SYS . "/" . SYS_LANG . "/" . SYS_SKIN . "/enterprise/services/processMakerUpgrade", "rb", false, $context); + $fileData = @fopen(EnterpriseUtils::getUrlServerName() . "/sys" . config("system.workspace") . "/" . SYS_LANG . "/" . SYS_SKIN . "/enterprise/services/processMakerUpgrade", "rb", false, $context); if ($fileData === false) { throw (new Exception("Could not open services url.")); diff --git a/workflow/engine/methods/login/authentication.php b/workflow/engine/methods/login/authentication.php index 6934fe4ca..7333c57b9 100644 --- a/workflow/engine/methods/login/authentication.php +++ b/workflow/engine/methods/login/authentication.php @@ -146,7 +146,7 @@ try { $errLabel = G::LoadTranslation('ID_ACCOUNT') . ' "' . $usr . '" ' . G::LoadTranslation('ID_ACCOUNT_DISABLED_CONTACT_ADMIN'); } //Log failed authentications - $message = "| Many failed authentication attempts for USER: " . $usr . " | IP: " . G::getIpAddress() . " | WS: " . SYS_SYS; + $message = "| Many failed authentication attempts for USER: " . $usr . " | IP: " . G::getIpAddress() . " | WS: " . config("system.workspace"); $message .= " | BROWSER: " . $_SERVER['HTTP_USER_AGENT']; G::log($message, PATH_DATA, 'loginFailed.log'); @@ -171,7 +171,7 @@ try { } if (!isset( $_SESSION['WORKSPACE'] ) ) { - $_SESSION['WORKSPACE'] = SYS_SYS; + $_SESSION['WORKSPACE'] = config("system.workspace"); } //Execute the SSO Script from plugin @@ -248,7 +248,7 @@ try { $userTimeZone = $user->getUsrTimeZone(); if (trim($userTimeZone) == '') { - $arraySystemConfiguration = System::getSystemConfiguration('', '', SYS_SYS); + $arraySystemConfiguration = System::getSystemConfiguration('', '', config("system.workspace")); $userTimeZone = $arraySystemConfiguration['time_zone']; } @@ -409,7 +409,7 @@ try { die; } - $configS = System::getSystemConfiguration('', '', SYS_SYS); + $configS = System::getSystemConfiguration('', '', config("system.workspace")); $activeSession = isset($configS['session_block']) ? !(int)$configS['session_block']:true; if ($activeSession){ setcookie("PM-TabPrimary", 101010010, time() + (24 * 60 * 60), '/'); diff --git a/workflow/engine/methods/login/authenticationSso.php b/workflow/engine/methods/login/authenticationSso.php index 1d8a9cafb..a61ce62e6 100644 --- a/workflow/engine/methods/login/authenticationSso.php +++ b/workflow/engine/methods/login/authenticationSso.php @@ -20,7 +20,7 @@ try { } header( - 'Location: /sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . + 'Location: /sys' . config("system.workspace") . '/' . SYS_LANG . '/' . SYS_SKIN . '/login/login' . (($u != '')? '?u=' . $u : '') ); @@ -40,7 +40,7 @@ try { } /*----------------------------------********---------------------------------*/ - $arraySystemConfiguration = System::getSystemConfiguration('', '', SYS_SYS); + $arraySystemConfiguration = System::getSystemConfiguration('', '', config("system.workspace")); //Set User Time Zone $user = UsersPeer::retrieveByPK($userUid); diff --git a/workflow/engine/methods/login/login.php b/workflow/engine/methods/login/login.php index 8faa2997c..58abe4dc6 100644 --- a/workflow/engine/methods/login/login.php +++ b/workflow/engine/methods/login/login.php @@ -188,9 +188,9 @@ session_start(); session_regenerate_id(); if (PHP_VERSION < 5.2) { - setcookie("workspaceSkin", SYS_SKIN, time() + (24 * 60 * 60), "/sys" . SYS_SYS, "; HttpOnly"); + setcookie("workspaceSkin", SYS_SKIN, time() + (24 * 60 * 60), "/sys" . config("system.workspace"), "; HttpOnly"); } else { - setcookie("workspaceSkin", SYS_SKIN, time() + (24 * 60 * 60), "/sys" . SYS_SYS, null, false, true); + setcookie("workspaceSkin", SYS_SKIN, time() + (24 * 60 * 60), "/sys" . config("system.workspace"), null, false, true); } if (strlen($msg) > 0) { @@ -361,7 +361,7 @@ $flagForgotPassword = isset($oConf->aConfig['login_enableForgotPassword']) setcookie('PM-Warning', trim(G::LoadTranslation('ID_BLOCKER_MSG'), '*'), time() + (24 * 60 * 60), SYS_URI); -$configS = System::getSystemConfiguration('', '', SYS_SYS); +$configS = System::getSystemConfiguration('', '', config("system.workspace")); $activeSession = isset($configS['session_block']) ? !(int)$configS['session_block'] : true; if ($activeSession) { setcookie("PM-TabPrimary", 101010010, time() + (24 * 60 * 60), '/'); diff --git a/workflow/engine/methods/oauth2/grant.php b/workflow/engine/methods/oauth2/grant.php index 6d2ab8547..0fa32f861 100644 --- a/workflow/engine/methods/oauth2/grant.php +++ b/workflow/engine/methods/oauth2/grant.php @@ -9,7 +9,7 @@ if (! empty($_GET['error'])) { $http = G::is_https() ? 'https' : 'http'; $host = $_SERVER['SERVER_NAME'] . ($_SERVER['SERVER_PORT'] != '80' ? ':' . $_SERVER['SERVER_PORT'] : ''); -$endpoint = sprintf('%s://%s/%s/oauth2/token', $http, $host, SYS_SYS); +$endpoint = sprintf('%s://%s/%s/oauth2/token', $http, $host, config("system.workspace")); $code = empty($_GET['code']) ? 'NN' : $_GET['code']; $clientId = 'x-pm-local-client'; diff --git a/workflow/engine/methods/processes/consolidated.php b/workflow/engine/methods/processes/consolidated.php index 82d1692bb..ac7840550 100644 --- a/workflow/engine/methods/processes/consolidated.php +++ b/workflow/engine/methods/processes/consolidated.php @@ -19,7 +19,7 @@ class AdditionalTablesConsolidated extends AdditionalTables $sClassName = $this->getPHPName($sTableName); } - $sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP; + $sPath = PATH_DB . config("system.workspace") . PATH_SEP . 'classes' . PATH_SEP; if (!file_exists($sPath)) { G::mk_dir($sPath); G::mk_dir($sPath . 'map'); @@ -626,7 +626,7 @@ class ajax_con extends WebResource $oAdditionalTables->createPropelClasses($tableName, $sClassName, $aFieldsClases, $sTasUid); } else { - $sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP; + $sPath = PATH_DB . config("system.workspace") . PATH_SEP . 'classes' . PATH_SEP; @unlink($sPath . $sClassName . '.php'); @unlink($sPath . $sClassName . 'Peer.php'); @unlink($sPath . PATH_SEP . 'map' . PATH_SEP . $sClassName . 'MapBuilder.php'); diff --git a/workflow/engine/methods/processes/mainInit.php b/workflow/engine/methods/processes/mainInit.php index ef7697246..2253624e4 100644 --- a/workflow/engine/methods/processes/mainInit.php +++ b/workflow/engine/methods/processes/mainInit.php @@ -92,7 +92,7 @@ $oHeadPublisher->assign("arrayContextMenuOptionPlugin", $arrayContextMenuOptionP $oHeadPublisher->assign('extJsViewState', $oHeadPublisher->getExtJsViewState()); $designer = new Designer(); -$oHeadPublisher->assign('SYS_SYS', SYS_SYS); +$oHeadPublisher->assign('SYS_SYS', config("system.workspace")); $oHeadPublisher->assign('SYS_LANG', SYS_LANG); $oHeadPublisher->assign('SYS_SKIN', SYS_SKIN); $oHeadPublisher->assign('HTTP_SERVER_HOSTNAME', System::getHttpServerHostnameRequestsFrontEnd()); diff --git a/workflow/engine/methods/processes/processesList.php b/workflow/engine/methods/processes/processesList.php index fc441d0e8..347120732 100644 --- a/workflow/engine/methods/processes/processesList.php +++ b/workflow/engine/methods/processes/processesList.php @@ -33,8 +33,6 @@ $oProcess = new Process(); $oProcess->dir = $dir; $oProcess->sort = $sort; -//$memcache = & PMmemcached::getSingleton( SYS_SYS ); - $memkey = 'no memcache'; $memcacheUsed = 'not used'; $totalCount = 0; diff --git a/workflow/engine/methods/processes/processes_Ajax.php b/workflow/engine/methods/processes/processes_Ajax.php index d7bb2c1ef..15d991765 100644 --- a/workflow/engine/methods/processes/processes_Ajax.php +++ b/workflow/engine/methods/processes/processes_Ajax.php @@ -189,13 +189,13 @@ try { $filter = new InputFilter(); $form = $_REQUEST; - $filePath = PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP . "public" . PATH_SEP . $form['PRO_UID'] . PATH_SEP . $form['FILENAME']; + $filePath = PATH_DATA . "sites" . PATH_SEP . config("system.workspace") . PATH_SEP . "public" . PATH_SEP . $form['PRO_UID'] . PATH_SEP . $form['FILENAME']; if (file_exists($filePath)) { unlink($filter->validateInput($filePath, 'path')); $webEntry = new \ProcessMaker\BusinessModel\WebEntry(); $webEntry->deleteClassic($form['PRO_UID'], $filePath); } - $filePath = PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP . "public" . PATH_SEP . $form['PRO_UID'] . PATH_SEP . str_replace(".php", "Post", $form['FILENAME']) . ".php"; + $filePath = PATH_DATA . "sites" . PATH_SEP . config("system.workspace") . PATH_SEP . "public" . PATH_SEP . $form['PRO_UID'] . PATH_SEP . str_replace(".php", "Post", $form['FILENAME']) . ".php"; if (file_exists($filePath)) { unlink($filter->validateInput($filePath, 'path')); } @@ -900,8 +900,8 @@ try { $resultArray = array(); $proUid = isset($_REQUEST['PRO_UID']) ? $_REQUEST['PRO_UID'] : ''; $dynUid = isset($_REQUEST['DYN_UID']) ? $_REQUEST['DYN_UID'] : ''; - if (is_file(PATH_DATA . '/sites/' . SYS_SYS . '/xmlForms/' . $proUid . '/' . $dynUid . '.xml') && filesize(PATH_DATA . '/sites/' . SYS_SYS . '/xmlForms/' . $proUid . '/' . $dynUid . '.xml') > 0) { - $dyn = new DynaformHandler(PATH_DATA . '/sites/' . SYS_SYS . '/xmlForms/' . $proUid . '/' . $dynUid . '.xml'); + if (is_file(PATH_DATA . '/sites/' . config("system.workspace") . '/xmlForms/' . $proUid . '/' . $dynUid . '.xml') && filesize(PATH_DATA . '/sites/' . config("system.workspace") . '/xmlForms/' . $proUid . '/' . $dynUid . '.xml') > 0) { + $dyn = new DynaformHandler(PATH_DATA . '/sites/' . config("system.workspace") . '/xmlForms/' . $proUid . '/' . $dynUid . '.xml'); $dynaformFields[] = $dyn->getFields(); } foreach ($dynaformFields as $aDynFormFields) { diff --git a/workflow/engine/methods/processes/processes_DownloadFile.php b/workflow/engine/methods/processes/processes_DownloadFile.php index fee9c9c9b..68305d1c1 100644 --- a/workflow/engine/methods/processes/processes_DownloadFile.php +++ b/workflow/engine/methods/processes/processes_DownloadFile.php @@ -6,7 +6,7 @@ if (!isset($_GET["file_hash"])) { } $httpStream = new \ProcessMaker\Util\IO\HttpStream(); -$outputDir = PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP . "files" . PATH_SEP . "output" . PATH_SEP; +$outputDir = PATH_DATA . "sites" . PATH_SEP . config("system.workspace") . PATH_SEP . "files" . PATH_SEP . "output" . PATH_SEP; $fileName = urldecode(base64_decode($_GET["file_hash"])); $processFile = $outputDir . $fileName; diff --git a/workflow/engine/methods/processes/processes_Export.php b/workflow/engine/methods/processes/processes_Export.php index 99c248bfc..f4fd9a6c3 100644 --- a/workflow/engine/methods/processes/processes_Export.php +++ b/workflow/engine/methods/processes/processes_Export.php @@ -24,7 +24,7 @@ use ProcessMaker\Util\Common; $response = new StdClass(); -$outputDir = PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP . "files" . PATH_SEP . "output" . PATH_SEP; +$outputDir = PATH_DATA . "sites" . PATH_SEP . config("system.workspace") . PATH_SEP . "files" . PATH_SEP . "output" . PATH_SEP; try { if(empty($_GET)){ diff --git a/workflow/engine/methods/processes/processes_Import_Ajax.php b/workflow/engine/methods/processes/processes_Import_Ajax.php index 4b8609776..d4e7d84a1 100644 --- a/workflow/engine/methods/processes/processes_Import_Ajax.php +++ b/workflow/engine/methods/processes/processes_Import_Ajax.php @@ -70,7 +70,7 @@ if (PMLicensedFeatures::getSingleton()->verifyfeature("B0oWlBLY3hHdWY0YUNpZEtFQm if (!empty($arrayTrigger)) { - $cs = new CodeScanner(SYS_SYS); + $cs = new CodeScanner(config("system.workspace")); $strFoundDisabledCode = ""; diff --git a/workflow/engine/methods/processes/processes_webEntryGenerate.php b/workflow/engine/methods/processes/processes_webEntryGenerate.php index 1767fcf2f..7bce76c1b 100644 --- a/workflow/engine/methods/processes/processes_webEntryGenerate.php +++ b/workflow/engine/methods/processes/processes_webEntryGenerate.php @@ -68,8 +68,8 @@ try { $pluginTpl = PATH_CORE . 'templates' . PATH_SEP . 'processes' . PATH_SEP . 'webentryPost.tpl'; $template = new TemplatePower( $pluginTpl ); $template->prepare(); - $template->assign( 'wsdlUrl', $http . $_SERVER['HTTP_HOST'] . '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/wsdl2' ); - $template->assign( 'wsUploadUrl', $http . $_SERVER['HTTP_HOST'] . '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/upload' ); + $template->assign( 'wsdlUrl', $http . $_SERVER['HTTP_HOST'] . '/sys' . config("system.workspace") . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/wsdl2' ); + $template->assign( 'wsUploadUrl', $http . $_SERVER['HTTP_HOST'] . '/sys' . config("system.workspace") . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/upload' ); $template->assign( 'processUid', $sPRO_UID ); $template->assign( 'dynaformUid', $sDYNAFORM ); $template->assign( 'taskUid', $sTASKS ); @@ -88,7 +88,7 @@ try { $template->assign( 'dynaform', $dynTitle ); $template->assign( 'timestamp', date( 'l jS \of F Y h:i:s A' ) ); - $template->assign( 'ws', SYS_SYS ); + $template->assign( 'ws', config("system.workspace") ); $template->assign( 'version', System::getVersion() ); $fileName = $pathProcess . $dynTitle . 'Post.php'; @@ -134,13 +134,13 @@ try { $aDataEvent['EVN_CONDITIONS'] = $sWS_USER; $output = $oEvent->update( $aDataEvent ); //Show link - $link = $http . $_SERVER['HTTP_HOST'] . '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/' . $sPRO_UID . '/' . $dynTitle . '.php'; + $link = $http . $_SERVER['HTTP_HOST'] . '/sys' . config("system.workspace") . '/' . SYS_LANG . '/' . SYS_SKIN . '/' . $sPRO_UID . '/' . $dynTitle . '.php'; print $link; //print "\n $link "; } else { $G_FORM = new Form( $sPRO_UID . '/' . $sDYNAFORM, PATH_DYNAFORM, SYS_LANG, false ); - $G_FORM->action = $http . $_SERVER['HTTP_HOST'] . '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/cases_StartExternal.php'; + $G_FORM->action = $http . $_SERVER['HTTP_HOST'] . '/sys' . config("system.workspace") . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/cases_StartExternal.php'; $scriptCode = ''; $scriptCode = $G_FORM->render( PATH_CORE . 'templates/' . 'xmlform' . '.html', $scriptCode ); @@ -158,7 +158,7 @@ try { $template->assign("URL_MABORAK_JS", G::browserCacheFilesUrl("/js/maborak/core/maborak.js")); $template->assign("URL_TRANSLATION_ENV_JS", G::browserCacheFilesUrl("/jscore/labels/" . SYS_LANG . ".js")); $template->assign("siteUrl", $http . $_SERVER["HTTP_HOST"]); - $template->assign("sysSys", SYS_SYS); + $template->assign("sysSys", config("system.workspace")); $template->assign("sysLang", SYS_LANG); $template->assign("sysSkin", SYS_SKIN); $template->assign("processUid", $sPRO_UID); diff --git a/workflow/engine/methods/processes/processes_webEntryValidate.php b/workflow/engine/methods/processes/processes_webEntryValidate.php index bffe4fa91..5f8df8d22 100644 --- a/workflow/engine/methods/processes/processes_webEntryValidate.php +++ b/workflow/engine/methods/processes/processes_webEntryValidate.php @@ -29,7 +29,7 @@ if (G::is_https()) { $http = 'http://'; } -$endpoint = $http . $_SERVER['HTTP_HOST'] . '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/wsdl2'; +$endpoint = $http . $_SERVER['HTTP_HOST'] . '/sys' . config("system.workspace") . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/wsdl2'; $client = new SoapClient( $endpoint, $streamContext ); $user = $sWS_USER; diff --git a/workflow/engine/methods/processes/webEntry_Val_Assig.php b/workflow/engine/methods/processes/webEntry_Val_Assig.php index a5230d349..c1b0ec0ea 100644 --- a/workflow/engine/methods/processes/webEntry_Val_Assig.php +++ b/workflow/engine/methods/processes/webEntry_Val_Assig.php @@ -14,7 +14,7 @@ if (G::is_https()) else $http = 'http://'; -$endpoint = $http . $_SERVER['HTTP_HOST'] . '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/wsdl2'; +$endpoint = $http . $_SERVER['HTTP_HOST'] . '/sys' . config("system.workspace") . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/wsdl2'; @$client = new SoapClient( $endpoint ); $oTask = new Task(); diff --git a/workflow/engine/methods/services/webdav.php b/workflow/engine/methods/services/webdav.php index b833a51bc..a98a04e6e 100644 --- a/workflow/engine/methods/services/webdav.php +++ b/workflow/engine/methods/services/webdav.php @@ -37,7 +37,7 @@ function AuthenticationBasicHTTP ($realm) return false; } -$realm = 'ProcessMaker Filesystem for Workspace ' . SYS_SYS; +$realm = 'ProcessMaker Filesystem for Workspace ' . config("system.workspace"); # Choice an authentification type Digest or Basic //AuthenticationDigestHTTP($realm, $users, $phpcgi); diff --git a/workflow/engine/methods/services/wsdl2.php b/workflow/engine/methods/services/wsdl2.php index 5062aedef..db14b1b91 100644 --- a/workflow/engine/methods/services/wsdl2.php +++ b/workflow/engine/methods/services/wsdl2.php @@ -6,7 +6,7 @@ $content = file_get_contents($filewsdl); $http = G::is_https() ? 'https' : 'http'; $port = $_SERVER['SERVER_PORT'] === '80' ? '' : ':' . $_SERVER['SERVER_PORT']; $lang = defined('SYS_LANG') ? SYS_LANG : 'en'; -$endpoint = $http . '://' . $_SERVER['SERVER_NAME'] . $port . '/sys' . SYS_SYS . '/' . $lang . '/neoclassic/services/soap2'; +$endpoint = $http . '://' . $_SERVER['SERVER_NAME'] . $port . '/sys' . config("system.workspace") . '/' . $lang . '/neoclassic/services/soap2'; $content = str_replace("___SOAP_ADDRESS___", $endpoint, $content); diff --git a/workflow/engine/methods/setup/auditLogAjax.php b/workflow/engine/methods/setup/auditLogAjax.php index 236db9265..c344e7277 100644 --- a/workflow/engine/methods/setup/auditLogAjax.php +++ b/workflow/engine/methods/setup/auditLogAjax.php @@ -110,7 +110,7 @@ $response = array (); switch ($option) { case "LST": $pageSize = $_REQUEST["pageSize"]; - $workspace = SYS_SYS; + $workspace = config("system.workspace"); $action = $_REQUEST["action"]; $description = $_REQUEST["description"]; $dateFrom = $_REQUEST["dateFrom"]; diff --git a/workflow/engine/methods/setup/cronAjax.php b/workflow/engine/methods/setup/cronAjax.php index 623f2355f..a0dcc40a1 100644 --- a/workflow/engine/methods/setup/cronAjax.php +++ b/workflow/engine/methods/setup/cronAjax.php @@ -116,7 +116,7 @@ $response = array (); switch ($option) { case "LST": $pageSize = $_REQUEST["pageSize"]; - $workspace = SYS_SYS; + $workspace = config("system.workspace"); $status = $_REQUEST["status"]; $dateFrom = $_REQUEST["dateFrom"]; $dateTo = $_REQUEST["dateTo"]; diff --git a/workflow/engine/methods/setup/languages_Import.php b/workflow/engine/methods/setup/languages_Import.php index fdda4812b..79df5581b 100644 --- a/workflow/engine/methods/setup/languages_Import.php +++ b/workflow/engine/methods/setup/languages_Import.php @@ -78,7 +78,7 @@ try { $configuration = new Configurations(); $importResults = $language->import( $languageFile ); - $renegerateContent = new WorkspaceTools( SYS_SYS ); + $renegerateContent = new WorkspaceTools( config("system.workspace") ); $messs = $renegerateContent->upgradeContent(); $result->msg = G::LoadTranslation( 'IMPORT_LANGUAGE_SUCCESS' ) . "\n"; diff --git a/workflow/engine/methods/setup/loginSettingsAjax.php b/workflow/engine/methods/setup/loginSettingsAjax.php index 96bbd1319..e30e75498 100644 --- a/workflow/engine/methods/setup/loginSettingsAjax.php +++ b/workflow/engine/methods/setup/loginSettingsAjax.php @@ -19,7 +19,7 @@ switch ($request) { print (G::json_encode( $result )) ; break; case 'saveSettings': - $memcache = & PMmemcached::getSingleton( defined( 'SYS_SYS' ) ? SYS_SYS : '' ); + $memcache = & PMmemcached::getSingleton( !empty(config("system.workspace")) ? config("system.workspace") : '' ); $conf = new Configurations(); $conf->loadConfig( $obj, 'ENVIRONMENT_SETTINGS', '' ); diff --git a/workflow/engine/methods/setup/pluginsChange.php b/workflow/engine/methods/setup/pluginsChange.php index df188b24f..fae89fef1 100644 --- a/workflow/engine/methods/setup/pluginsChange.php +++ b/workflow/engine/methods/setup/pluginsChange.php @@ -56,7 +56,7 @@ if ($handle = opendir(PATH_PLUGINS)) { ) { //Check disabled code - $cs = new CodeScanner(SYS_SYS); + $cs = new CodeScanner(config("system.workspace")); $arrayFoundDisabledCode = array_merge( $cs->checkDisabledCode("FILE", PATH_PLUGINS . $pluginName . ".php"), diff --git a/workflow/engine/methods/setup/pluginsImportFile.php b/workflow/engine/methods/setup/pluginsImportFile.php index 51f29c8ef..6a194a737 100644 --- a/workflow/engine/methods/setup/pluginsImportFile.php +++ b/workflow/engine/methods/setup/pluginsImportFile.php @@ -251,7 +251,7 @@ try { if (PMLicensedFeatures::getSingleton()->verifyfeature("B0oWlBLY3hHdWY0YUNpZEtFQm5CeTJhQlIwN3IxMEkwaG4=")) { //Check disabled code - $cs = new CodeScanner(SYS_SYS); + $cs = new CodeScanner(config("system.workspace")); $arrayFoundDisabledCode = array_merge($cs->checkDisabledCode("FILE", $path . $pluginFile), $cs->checkDisabledCode("PATH", $path . $sClassName)); diff --git a/workflow/engine/methods/setup/pluginsList.php b/workflow/engine/methods/setup/pluginsList.php index 2da7e3ad7..7890039cd 100644 --- a/workflow/engine/methods/setup/pluginsList.php +++ b/workflow/engine/methods/setup/pluginsList.php @@ -24,5 +24,5 @@ */ $RBAC->requirePermissions('PM_SETUP_ADVANCE'); -$items = \PMPlugin::getListPluginsManager(SYS_SYS); +$items = \PMPlugin::getListPluginsManager(config("system.workspace")); echo G::json_encode($items); diff --git a/workflow/engine/methods/setup/pluginsMain.php b/workflow/engine/methods/setup/pluginsMain.php index 8848fb917..8d43fd7e7 100644 --- a/workflow/engine/methods/setup/pluginsMain.php +++ b/workflow/engine/methods/setup/pluginsMain.php @@ -30,7 +30,7 @@ $RBAC->requirePermissions( 'PM_SETUP' ); $headPublisher = & headPublisher::getSingleton(); $headPublisher->addExtJsScript( 'setup/pluginsMain', false ); -$headPublisher->assign( "PROCESSMAKER_URL", "/sys" . SYS_SYS . "/" . SYS_LANG . "/" . SYS_SKIN ); +$headPublisher->assign( "PROCESSMAKER_URL", "/sys" . config("system.workspace") . "/" . SYS_LANG . "/" . SYS_SKIN ); $headPublisher->assign( "SYS_SKIN", SYS_SKIN ); $oPluginRegistry = PluginRegistry::loadSingleton(); diff --git a/workflow/engine/methods/setup/replacementLogo.php b/workflow/engine/methods/setup/replacementLogo.php index 82b94d3a2..ac15b9d6d 100644 --- a/workflow/engine/methods/setup/replacementLogo.php +++ b/workflow/engine/methods/setup/replacementLogo.php @@ -63,7 +63,7 @@ try { //ini_set('display_errors','1'); $snameLogo = changeNamelogo( $snameLogo ); $oConf = new Configurations(); - $aConf = Array ('WORKSPACE_LOGO_NAME' => SYS_SYS,'DEFAULT_LOGO_NAME' => $snameLogo + $aConf = Array ('WORKSPACE_LOGO_NAME' => config("system.workspace"),'DEFAULT_LOGO_NAME' => $snameLogo ); $oConf->aConfig = $aConf; diff --git a/workflow/engine/methods/setup/skin_Ajax.php b/workflow/engine/methods/setup/skin_Ajax.php index 9e893680b..d939fac45 100644 --- a/workflow/engine/methods/setup/skin_Ajax.php +++ b/workflow/engine/methods/setup/skin_Ajax.php @@ -162,7 +162,7 @@ function newSkin ($baseSkin = 'classic') $xmlConfiguration = file_get_contents( $configFileOriginal ); - $workspace = ($_REQUEST['workspace'] == 'global') ? '' : SYS_SYS; + $workspace = ($_REQUEST['workspace'] == 'global') ? '' : config("system.workspace"); $xmlConfigurationObj = G::xmlParser($xmlConfiguration); $skinInformationArray = $xmlConfigurationObj->result["skinConfiguration"]["__CONTENT__"]["information"]["__CONTENT__"]; @@ -282,7 +282,7 @@ function importSkin () $configFileFinal = PATH_CUSTOM_SKINS . $skinName . PATH_SEP . 'config.xml'; $xmlConfiguration = file_get_contents( $configFileOriginal ); - $workspace = ($_REQUEST['workspace'] == 'global') ? '' : SYS_SYS; + $workspace = ($_REQUEST['workspace'] == 'global') ? '' : config("system.workspace"); $xmlConfigurationObj = G::xmlParser($xmlConfiguration); $skinInformationArray = $xmlConfigurationObj->result["skinConfiguration"]["__CONTENT__"]["information"]["__CONTENT__"]; diff --git a/workflow/engine/methods/setup/skinsList.php b/workflow/engine/methods/setup/skinsList.php index 4bde6da13..eba70dcf1 100644 --- a/workflow/engine/methods/setup/skinsList.php +++ b/workflow/engine/methods/setup/skinsList.php @@ -44,7 +44,7 @@ $oHeadPublisher->addExtJsScript( 'setup/skinList', false ); //adding a javascrip $oHeadPublisher->addContent( 'setup/skinList' ); //adding a html file .html. $oHeadPublisher->assign( 'CONFIG', $Config ); $oHeadPublisher->assign( 'SYS_SKIN', SYS_SKIN ); -$oHeadPublisher->assign( 'SYS_SYS', "sys".SYS_SYS ); +$oHeadPublisher->assign( 'SYS_SYS', "sys".config("system.workspace") ); $oHeadPublisher->assign( 'FORMATS', $c->getFormats() ); diff --git a/workflow/engine/methods/setup/webServicesAjax.php b/workflow/engine/methods/setup/webServicesAjax.php index 788e6518c..a4d0f2802 100644 --- a/workflow/engine/methods/setup/webServicesAjax.php +++ b/workflow/engine/methods/setup/webServicesAjax.php @@ -66,7 +66,7 @@ switch ($_POST['action']) { if (! isset( $_SESSION['END_POINT'] )) { $aFields['WS_HOST'] = $_SERVER['HTTP_HOST']; - $aFields['WS_WORKSPACE'] = SYS_SYS; + $aFields['WS_WORKSPACE'] = config("system.workspace"); } else { if (strpos( $_SESSION['END_POINT'], 'https' ) !== false) { preg_match( '@^(?:https://)?([^/]+)@i', $_SESSION['END_POINT'], $coincidencias ); @@ -94,15 +94,14 @@ switch ($_POST['action']) { $_SESSION['_DBArray'] = $_DBArray; if (! isset( $_SESSION['END_POINT'] )) { - //$wsdl = 'http://'.$_SERVER['HTTP_HOST'].'/sys'.SYS_SYS. '/'. SYS_LANG .'/classic/services/wsdl'; $wsdl = 'http://' . $_SERVER['HTTP_HOST']; - $workspace = SYS_SYS; + $workspace = config("system.workspace"); } else { $wsdl = $_SESSION['END_POINT']; $workspace = $_SESSION['WS_WORKSPACE']; } - $defaultEndpoint = 'http://' . $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT'] . '/sys' . SYS_SYS . '/' . SYS_LANG . '/classic/services/wsdl2'; + $defaultEndpoint = 'http://' . $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT'] . '/sys' . config("system.workspace") . '/' . SYS_LANG . '/classic/services/wsdl2'; $wsdl = isset( $_SESSION['END_POINT'] ) ? $_SESSION['END_POINT'] : $defaultEndpoint; @@ -144,7 +143,7 @@ try { if (isset( $_POST["epr"] )) { $_SESSION['END_POINT'] = $_POST["epr"]; } - $defaultEndpoint = 'http://' . $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT'] . '/sys' . SYS_SYS . '/' . SYS_LANG . '/classic/services/wsdl2'; + $defaultEndpoint = 'http://' . $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT'] . '/sys' . config("system.workspace") . '/' . SYS_LANG . '/classic/services/wsdl2'; $endpoint = isset( $_SESSION['END_POINT'] ) ? $_SESSION['END_POINT'] : $defaultEndpoint; @@ -616,7 +615,7 @@ try { $caseNumber = $oCases->getAppNumber(); // generating the path for the template msj - $templateFile = PATH_DB . SYS_SYS . PATH_SEP . 'mailTemplates' . PATH_SEP . $proUid . PATH_SEP . 'tempTemplate.hml'; + $templateFile = PATH_DB . config("system.workspace") . PATH_SEP . 'mailTemplates' . PATH_SEP . $proUid . PATH_SEP . 'tempTemplate.hml'; // generating the file adding the msj variable $messageBody = "message for case: " . $caseNumber . "
" . $message; file_put_contents( $templateFile, $messageBody ); @@ -1461,7 +1460,7 @@ try { function sendFile ($FILENAME, $USR_UID, $APP_UID, $DEL_INDEX = 1, $DOC_UID = null, $title = null, $comment = null) { - $defaultEndpoint = 'http://' . $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT'] . '/sys' . SYS_SYS . '/' . SYS_LANG . '/classic/services/upload'; + $defaultEndpoint = 'http://' . $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT'] . '/sys' . config("system.workspace") . '/' . SYS_LANG . '/classic/services/upload'; $upload = isset( $_SESSION['END_POINT'] ) ? $_SESSION['END_POINT'] : $defaultEndpoint; $DOC_UID = ($DOC_UID != null) ? $DOC_UID : - 1; diff --git a/workflow/engine/methods/setup/webServicesSetup.php b/workflow/engine/methods/setup/webServicesSetup.php index 71d2df3df..fc6b05036 100644 --- a/workflow/engine/methods/setup/webServicesSetup.php +++ b/workflow/engine/methods/setup/webServicesSetup.php @@ -29,7 +29,7 @@ $ses = new DBSession( $dbc ); if (! isset( $_SESSION['END_POINT'] )) { $aFields['WS_HOST'] = $_SERVER['HTTP_HOST']; - $aFields['WS_WORKSPACE'] = SYS_SYS; + $aFields['WS_WORKSPACE'] = config("system.workspace"); } else { if (strpos( $_SESSION['END_POINT'], 'https' ) !== false) { preg_match( '@^(?:https://)?([^/]+)@i', $_SESSION['END_POINT'], $coincidencias ); diff --git a/workflow/engine/methods/tracker/tracker_ShowDocument.php b/workflow/engine/methods/tracker/tracker_ShowDocument.php index 8837cdd5b..b1a532ca1 100644 --- a/workflow/engine/methods/tracker/tracker_ShowDocument.php +++ b/workflow/engine/methods/tracker/tracker_ShowDocument.php @@ -65,8 +65,8 @@ if (! $sw_file_exists) { print G::json_encode( $res ); } else { G::SendMessageText( $error_message, "ERROR" ); - $backUrlObj = explode( "sys" . SYS_SYS, $_SERVER['HTTP_REFERER'] ); - G::header( "location: " . "/sys" . SYS_SYS . $backUrlObj[1] ); + $backUrlObj = explode( "sys" . config("system.workspace"), $_SERVER['HTTP_REFERER'] ); + G::header( "location: " . "/sys" . config("system.workspace") . $backUrlObj[1] ); die(); } diff --git a/workflow/engine/methods/tracker/tracker_ShowOutputDocument.php b/workflow/engine/methods/tracker/tracker_ShowOutputDocument.php index 4aba2f5bd..c3dc3bdd3 100644 --- a/workflow/engine/methods/tracker/tracker_ShowOutputDocument.php +++ b/workflow/engine/methods/tracker/tracker_ShowOutputDocument.php @@ -68,8 +68,8 @@ if (! $sw_file_exists) { print G::json_encode( $res ); } else { G::SendMessageText( $error_message, "ERROR" ); - $backUrlObj = explode( "sys" . SYS_SYS, $_SERVER['HTTP_REFERER'] ); - G::header( "location: " . "/sys" . SYS_SYS . $backUrlObj[1] ); + $backUrlObj = explode( "sys" . config("system.workspace"), $_SERVER['HTTP_REFERER'] ); + G::header( "location: " . "/sys" . config("system.workspace") . $backUrlObj[1] ); die(); } diff --git a/workflow/engine/methods/triggers/triggers_Save.php b/workflow/engine/methods/triggers/triggers_Save.php index 7f23af6c5..a08dbbfa4 100644 --- a/workflow/engine/methods/triggers/triggers_Save.php +++ b/workflow/engine/methods/triggers/triggers_Save.php @@ -61,7 +61,7 @@ if (isset( $sfunction ) && $sfunction == 'lookforNameTrigger') { ) { //Check disabled code - $cs = new CodeScanner(SYS_SYS); + $cs = new CodeScanner(config("system.workspace")); $arrayFoundDisabledCode = $cs->checkDisabledCode("SOURCE", $value["TRI_WEBBOT"]); diff --git a/workflow/engine/methods/users/usersEdit.php b/workflow/engine/methods/users/usersEdit.php index 4148507e2..bb35d1412 100644 --- a/workflow/engine/methods/users/usersEdit.php +++ b/workflow/engine/methods/users/usersEdit.php @@ -33,7 +33,7 @@ if ($licensedFeatures->verifyfeature('w2LL3o4NFNiaDRXcFFCYVpJS3Jsall5dmh0ZWtBTkd } /*----------------------------------********---------------------------------*/ -$arraySystemConfiguration = System::getSystemConfiguration('', '', SYS_SYS); +$arraySystemConfiguration = System::getSystemConfiguration('', '', config("system.workspace")); $oHeadPublisher = & headPublisher::getSingleton(); $oHeadPublisher->addExtJsScript( 'users/users', true ); //adding a javascript file .js diff --git a/workflow/engine/methods/users/usersInit.php b/workflow/engine/methods/users/usersInit.php index 208d1197c..5d2cb136f 100644 --- a/workflow/engine/methods/users/usersInit.php +++ b/workflow/engine/methods/users/usersInit.php @@ -48,7 +48,7 @@ if ($licensedFeatures->verifyfeature('w2LL3o4NFNiaDRXcFFCYVpJS3Jsall5dmh0ZWtBTkd } /*----------------------------------********---------------------------------*/ -$arraySystemConfiguration = System::getSystemConfiguration('', '', SYS_SYS); +$arraySystemConfiguration = System::getSystemConfiguration('', '', config("system.workspace")); $oHeadPublisher = & headPublisher::getSingleton(); $oHeadPublisher->addExtJsScript( 'users/users', true ); //adding a javascript file .js diff --git a/workflow/engine/methods/users/usersNew.php b/workflow/engine/methods/users/usersNew.php index b73bf00d3..ed48f5cea 100644 --- a/workflow/engine/methods/users/usersNew.php +++ b/workflow/engine/methods/users/usersNew.php @@ -38,7 +38,7 @@ if ($licensedFeatures->verifyfeature('w2LL3o4NFNiaDRXcFFCYVpJS3Jsall5dmh0ZWtBTkd } /*----------------------------------********---------------------------------*/ -$arraySystemConfiguration = System::getSystemConfiguration('', '', SYS_SYS); +$arraySystemConfiguration = System::getSystemConfiguration('', '', config("system.workspace")); $oHeadPublisher = & headPublisher::getSingleton(); $oHeadPublisher->addExtJsScript( 'users/users', true ); //adding a javascript file .js diff --git a/workflow/engine/plugins/openFlash/class.openFlash.php b/workflow/engine/plugins/openFlash/class.openFlash.php index 381f9a089..18e5fc468 100644 --- a/workflow/engine/plugins/openFlash/class.openFlash.php +++ b/workflow/engine/plugins/openFlash/class.openFlash.php @@ -56,7 +56,7 @@ function getChart( $chartName ) { $this->readConfig(); - $prePath = '/sys' . SYS_SYS . '/' . SYS_LANG . '/blank/'; + $prePath = '/sys' . config("system.workspace") . '/' . SYS_LANG . '/blank/'; $obj = new StdClass(); $obj->title = 'Standard ProcessMaker Reports'; $obj->height = 220; diff --git a/workflow/engine/plugins/pmosCommunity/class.pmosCommunity.php b/workflow/engine/plugins/pmosCommunity/class.pmosCommunity.php index f769d6bd6..6b3b45dcd 100644 --- a/workflow/engine/plugins/pmosCommunity/class.pmosCommunity.php +++ b/workflow/engine/plugins/pmosCommunity/class.pmosCommunity.php @@ -56,7 +56,7 @@ function getChart( $chartName ) { $this->readConfig(); - $prePath = '/sys' . SYS_SYS . '/' . SYS_LANG . '/blank/'; + $prePath = '/sys' . config("system.workspace") . '/' . SYS_LANG . '/blank/'; $obj = new StdClass(); switch ($chartName) { case 'PostByForum': diff --git a/workflow/engine/skinEngine/skinEngine.php b/workflow/engine/skinEngine/skinEngine.php index 61f0e37a4..6aa861660 100644 --- a/workflow/engine/skinEngine/skinEngine.php +++ b/workflow/engine/skinEngine/skinEngine.php @@ -342,7 +342,7 @@ class SkinEngine } $smarty->assign('username', - (isset($_SESSION['USR_USERNAME']) ? '(' . $_SESSION['USR_USERNAME'] . ' ' . G::LoadTranslation('ID_IN') . ' ' . SYS_SYS . ')' : '')); + (isset($_SESSION['USR_USERNAME']) ? '(' . $_SESSION['USR_USERNAME'] . ' ' . G::LoadTranslation('ID_IN') . ' ' . config("system.workspace") . ')' : '')); $smarty->assign('header', $header); $smarty->force_compile = $this->forceTemplateCompile; @@ -378,7 +378,7 @@ class SkinEngine $header = ''; if (isset($oHeadPublisher)) { - $oHeadPublisher->title = isset($_SESSION['USR_USERNAME']) ? '(' . $_SESSION['USR_USERNAME'] . ' ' . G::LoadTranslation('ID_IN') . ' ' . SYS_SYS . ')' : ''; + $oHeadPublisher->title = isset($_SESSION['USR_USERNAME']) ? '(' . $_SESSION['USR_USERNAME'] . ' ' . G::LoadTranslation('ID_IN') . ' ' . config("system.workspace") . ')' : ''; $header = $oHeadPublisher->printHeader(); $header .= $oHeadPublisher->getExtJsStylesheets($this->cssFileName); } @@ -436,7 +436,7 @@ class SkinEngine $smarty->assign('rolename', isset($_SESSION['USR_ROLENAME']) ? $_SESSION['USR_ROLENAME'] . '' : ''); $smarty->assign('pipe', isset($_SESSION['USR_USERNAME']) ? ' | ' : ''); $smarty->assign('logout', G::LoadTranslation('ID_LOGOUT')); - $smarty->assign('workspace', defined('SYS_SYS') ? SYS_SYS : ''); + $smarty->assign('workspace', !empty(config("system.workspace")) ? config("system.workspace") : ''); $uws = (isset($_SESSION['USR_ROLENAME']) && $_SESSION['USR_ROLENAME'] != '') ? strtolower(G::LoadTranslation('ID_WORKSPACE_USING')) : G::LoadTranslation('ID_WORKSPACE_USING'); $smarty->assign('workspace_label', $uws); @@ -448,8 +448,8 @@ class SkinEngine $smarty->assign('user', $name); } - if (defined('SYS_SYS')) { - $logout = '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/login/login'; + if (!empty(config("system.workspace"))) { + $logout = '/sys' . config("system.workspace") . '/' . SYS_LANG . '/' . SYS_SKIN . '/login/login'; } else { $logout = '/sys/' . SYS_LANG . '/' . SYS_SKIN . '/login/login'; } @@ -494,7 +494,7 @@ class SkinEngine $header = ''; if (isset($oHeadPublisher)) { - $oHeadPublisher->title = isset($_SESSION['USR_USERNAME']) ? '(' . $_SESSION['USR_USERNAME'] . ' ' . G::LoadTranslation('ID_IN') . ' ' . SYS_SYS . ')' : ''; + $oHeadPublisher->title = isset($_SESSION['USR_USERNAME']) ? '(' . $_SESSION['USR_USERNAME'] . ' ' . G::LoadTranslation('ID_IN') . ' ' . config("system.workspace") . ')' : ''; $header = $oHeadPublisher->printHeader(); } @@ -694,8 +694,8 @@ class SkinEngine } if (isset($oHeadPublisher)) { - if (defined('SYS_SYS')) { - $oHeadPublisher->title = isset($_SESSION['USR_USERNAME']) ? '(' . $_SESSION['USR_USERNAME'] . ' ' . G::LoadTranslation('ID_IN') . ' ' . SYS_SYS . ')' : ''; + if (!empty(config("system.workspace"))) { + $oHeadPublisher->title = isset($_SESSION['USR_USERNAME']) ? '(' . $_SESSION['USR_USERNAME'] . ' ' . G::LoadTranslation('ID_IN') . ' ' . config("system.workspace") . ')' : ''; } $header = $enableJsScript ? $oHeadPublisher->printHeader() : ''; $header .= $oHeadPublisher->getExtJsStylesheets($this->cssFileName); @@ -765,7 +765,7 @@ class SkinEngine $smarty->assign('rolename', isset($_SESSION['USR_ROLENAME']) ? $_SESSION['USR_ROLENAME'] . '' : ''); $smarty->assign('pipe', isset($_SESSION['USR_USERNAME']) ? ' | ' : ''); $smarty->assign('logout', G::LoadTranslation('ID_LOGOUT')); - $smarty->assign('workspace', defined('SYS_SYS') ? SYS_SYS : ''); + $smarty->assign('workspace', !empty(config("system.workspace")) ? config("system.workspace") : ''); $uws = (isset($_SESSION['USR_ROLENAME']) && $_SESSION['USR_ROLENAME'] != '') ? strtolower(G::LoadTranslation('ID_WORKSPACE_USING')) : G::LoadTranslation('ID_WORKSPACE_USING'); $smarty->assign('workspace_label', $uws); @@ -777,7 +777,7 @@ class SkinEngine $smarty->assign('user', $name); } - if (defined('SYS_SYS')) { + if (!empty(config("system.workspace"))) { $pmLicenseManagerO = &PmLicenseManager::getSingleton(); $expireIn = $pmLicenseManagerO->getExpireIn(); $expireInLabel = $pmLicenseManagerO->getExpireInLabel(); @@ -793,8 +793,8 @@ class SkinEngine } } - if (defined('SYS_SYS')) { - $logout = "/sys" . SYS_SYS . "/" . SYS_LANG . "/" . SYS_SKIN . ((SYS_COLLECTION != "tracker") ? "/login/login" : "/tracker/login"); + if (!empty(config("system.workspace"))) { + $logout = "/sys" . config("system.workspace") . "/" . SYS_LANG . "/" . SYS_SKIN . ((SYS_COLLECTION != "tracker") ? "/login/login" : "/tracker/login"); } else { $logout = '/sys/' . SYS_LANG . '/' . SYS_SKIN . '/login/login'; } @@ -806,7 +806,7 @@ class SkinEngine $oLogoR = new ReplacementLogo(); - if (defined("SYS_SYS")) { + if (!empty(config("system.workspace"))) { $aFotoSelect = $oLogoR->getNameLogo((isset($_SESSION['USER_LOGGED'])) ? $_SESSION['USER_LOGGED'] : ''); if (is_array($aFotoSelect)) { @@ -814,11 +814,11 @@ class SkinEngine $sWspaceSelect = trim($aFotoSelect['WORKSPACE_LOGO_NAME']); } } - if (class_exists('ProcessMaker\Plugins\PluginRegistry') && defined("SYS_SYS")) { + if (class_exists('ProcessMaker\Plugins\PluginRegistry') && !empty(config("system.workspace"))) { $oPluginRegistry = PluginRegistry::loadSingleton(); - if (isset($sFotoSelect) && $sFotoSelect != '' && !(strcmp($sWspaceSelect, SYS_SYS))) { + if (isset($sFotoSelect) && $sFotoSelect != '' && !(strcmp($sWspaceSelect, config("system.workspace")))) { $sCompanyLogo = $oPluginRegistry->getCompanyLogo($sFotoSelect); - $sCompanyLogo = "/sys" . SYS_SYS . "/" . SYS_LANG . "/" . SYS_SKIN . "/setup/showLogoFile.php?id=" . base64_encode($sCompanyLogo); + $sCompanyLogo = "/sys" . config("system.workspace") . "/" . SYS_LANG . "/" . SYS_SKIN . "/setup/showLogoFile.php?id=" . base64_encode($sCompanyLogo); } else { $sCompanyLogo = $oPluginRegistry->getCompanyLogo('/images/processmaker.logo.jpg'); } diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/ActionsByEmail.php b/workflow/engine/src/ProcessMaker/BusinessModel/ActionsByEmail.php index fb0c7b3dd..e756f1935 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/ActionsByEmail.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/ActionsByEmail.php @@ -724,7 +724,7 @@ class ActionsByEmail if ($flagLogin) { header( - 'Location: /sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . + 'Location: /sys' . config("system.workspace") . '/' . SYS_LANG . '/' . SYS_SKIN . '/login/login?u=' . urlencode($_SERVER['REQUEST_URI']) ); diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php b/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php index 3a37ab6f0..0b712db70 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php @@ -3295,8 +3295,7 @@ class Cases } $arrayApplicationData['APP_DATA'][$key] = G::json_encode($files); } catch (Exception $e) { - Bootstrap::registerMonolog('DeleteFile', 400, $e->getMessage(), $value, SYS_SYS, - 'processmaker.log'); + Bootstrap::registerMonolog('DeleteFile', 400, $e->getMessage(), $value, config("system.workspace"), 'processmaker.log'); } } $flagDelete = true; diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Cases/InputDocument.php b/workflow/engine/src/ProcessMaker/BusinessModel/Cases/InputDocument.php index 853095c30..5dd4b5437 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Cases/InputDocument.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Cases/InputDocument.php @@ -802,8 +802,8 @@ class InputDocument break; } G::SendMessageText( $message, "ERROR" ); - $backUrlObj = explode( "sys" . SYS_SYS, $_SERVER['HTTP_REFERER'] ); - G::header( "location: " . "/sys" . SYS_SYS . $backUrlObj[1] ); + $backUrlObj = explode( "sys" . config("system.workspace"), $_SERVER['HTTP_REFERER'] ); + G::header( "location: " . "/sys" . config("system.workspace") . $backUrlObj[1] ); die(); } @@ -855,9 +855,9 @@ class InputDocument if ($msg != '') { if ($runningWorkflow) { G::SendMessageText($msg, 'ERROR'); - $backUrlObj = explode('sys' . SYS_SYS, $_SERVER['HTTP_REFERER']); + $backUrlObj = explode('sys' . config("system.workspace"), $_SERVER['HTTP_REFERER']); - G::header('location: ' . '/sys' . SYS_SYS . $backUrlObj[1]); + G::header('location: ' . '/sys' . config("system.workspace") . $backUrlObj[1]); exit(0); } else { throw new Exception($msg); @@ -1005,8 +1005,8 @@ class InputDocument } $message = $res->message; G::SendMessageText($message, "ERROR"); - $backUrlObj = explode("sys" . SYS_SYS, $_SERVER['HTTP_REFERER']); - G::header("location: " . "/sys" . SYS_SYS . $backUrlObj[1]); + $backUrlObj = explode("sys" . config("system.workspace"), $_SERVER['HTTP_REFERER']); + G::header("location: " . "/sys" . config("system.workspace") . $backUrlObj[1]); die(); } @@ -1019,8 +1019,8 @@ class InputDocument if ($inpDocMaxFilesize > 0 && $fileSizeByField > 0) { if ($fileSizeByField > $inpDocMaxFilesize) { G::SendMessageText(G::LoadTranslation("ID_SIZE_VERY_LARGE_PERMITTED"), "ERROR"); - $arrayAux1 = explode("sys" . SYS_SYS, $_SERVER["HTTP_REFERER"]); - G::header("location: /sys" . SYS_SYS . $arrayAux1[1]); + $arrayAux1 = explode("sys" . config("system.workspace"), $_SERVER["HTTP_REFERER"]); + G::header("location: /sys" . config("system.workspace") . $arrayAux1[1]); exit(0); } } @@ -1035,8 +1035,8 @@ class InputDocument $message = G::LoadTranslation('THE_UPLOAD_OF_PHP_FILES_WAS_DISABLED'); Bootstrap::registerMonologPhpUploadExecution('phpUpload', 550, $message, 'processmaker.log'); G::SendMessageText($message, "ERROR"); - $backUrlObj = explode("sys" . SYS_SYS, $_SERVER['HTTP_REFERER']); - G::header("location: " . "/sys" . SYS_SYS . $backUrlObj[1]); + $backUrlObj = explode("sys" . config("system.workspace"), $_SERVER['HTTP_REFERER']); + G::header("location: " . "/sys" . config("system.workspace") . $backUrlObj[1]); die(); } diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Consolidated.php b/workflow/engine/src/ProcessMaker/BusinessModel/Consolidated.php index c53b794c0..251ef33e5 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Consolidated.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Consolidated.php @@ -281,7 +281,7 @@ class Consolidated $className = $tableName; if (!class_exists($className)) { - require_once(PATH_DB . SYS_SYS . PATH_SEP . "classes" . PATH_SEP . $className . ".php"); + require_once(PATH_DB . config("system.workspace") . PATH_SEP . "classes" . PATH_SEP . $className . ".php"); } $oCriteria = new Criteria("workflow"); @@ -908,7 +908,7 @@ class Consolidated } } - @unlink(PATH_C . "ws" . PATH_SEP . SYS_SYS . PATH_SEP . "xmlform" . PATH_SEP . $pro_uid . PATH_SEP . $dyn_uid . "." . SYS_LANG); + @unlink(PATH_C . "ws" . PATH_SEP . config("system.workspace") . PATH_SEP . "xmlform" . PATH_SEP . $pro_uid . PATH_SEP . $dyn_uid . "." . SYS_LANG); $array ['columnModel'] = $caseColumns; diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/EmailEvent.php b/workflow/engine/src/ProcessMaker/BusinessModel/EmailEvent.php index 50fa3d84a..9992308b0 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/EmailEvent.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/EmailEvent.php @@ -475,7 +475,7 @@ class EmailEvent \PMFSendMessage($appUID, $configEmailData['MESS_ACCOUNT'], $emailTo, '', '', $subject, $contentFile['prf_filename'], array(), array(), true, 0, $configEmailData); } else { - \Bootstrap::registerMonolog('EmailEventMailError', 200, \G::LoadTranslation('ID_EMAIL_EVENT_CONFIGURATION_EMAIL', array($eventUid, $prj_uid)), ['eventUid' => $eventUid, 'prj_uid' => $prj_uid], SYS_SYS, 'processmaker.log'); + \Bootstrap::registerMonolog('EmailEventMailError', 200, \G::LoadTranslation('ID_EMAIL_EVENT_CONFIGURATION_EMAIL', array($eventUid, $prj_uid)), ['eventUid' => $eventUid, 'prj_uid' => $prj_uid], config("system.workspace"), 'processmaker.log'); } } } diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/EmailServer.php b/workflow/engine/src/ProcessMaker/BusinessModel/EmailServer.php index 309562b79..a4d762bf9 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/EmailServer.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/EmailServer.php @@ -63,7 +63,7 @@ class EmailServer $currentUser = $RBAC->aUserInfo['USER_INFO']; $info = array( 'ip' => G::getIpAddress(), - 'workspace' => (defined("SYS_SYS")) ? SYS_SYS : "Workspace undefined", + 'workspace' => (!empty(config("system.workspace"))) ? config("system.workspace") : "Workspace undefined", 'usrUid' => $currentUser['USR_UID'] ); $this->setContextLog($info); diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Light.php b/workflow/engine/src/ProcessMaker/BusinessModel/Light.php index 9a0025743..22181737f 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Light.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Light.php @@ -328,7 +328,7 @@ class Light //Log Bootstrap::registerMonolog('MobileCreateCase', 200, "Create case", - ['application_uid' => $aData['APPLICATION'], 'usr_uid' => $userId], SYS_SYS, 'processmaker.log'); + ['application_uid' => $aData['APPLICATION'], 'usr_uid' => $userId], config("system.workspace"), 'processmaker.log'); } catch (Exception $e) { $response['status'] = 'failure'; $response['message'] = $e->getMessage(); @@ -574,7 +574,7 @@ class Light //Log Bootstrap::registerMonolog('MobileRouteCase', 200, 'Route case', - ['application_uid' => $applicationUid, 'usr_uid' => $userUid], SYS_SYS, 'processmaker.log'); + ['application_uid' => $applicationUid, 'usr_uid' => $userUid], config("system.workspace"), 'processmaker.log'); } catch (Exception $e) { throw $e; } @@ -807,7 +807,7 @@ class Light session_start(); session_regenerate_id(); - setcookie("workspaceSkin", SYS_SKIN, time() + (24 * 60 * 60), "/sys" . SYS_SYS, null, false, true); + setcookie("workspaceSkin", SYS_SKIN, time() + (24 * 60 * 60), "/sys" . config("system.workspace"), null, false, true); if (strlen($msg) > 0) { $_SESSION['G_MESSAGE'] = $msg; @@ -1236,7 +1236,7 @@ class Light public function getUsersToReassign($usr_uid, $task_uid) { - $memcache = PMmemcached::getSingleton(SYS_SYS); + $memcache = PMmemcached::getSingleton(config("system.workspace")); $RBAC = RBAC::getSingleton(PATH_DATA, session_id()); $RBAC->sSystem = 'PROCESSMAKER'; $RBAC->initRBAC(); @@ -1323,7 +1323,7 @@ class Light */ public function getConfiguration($params) { - $sysConf = Bootstrap::getSystemConfiguration('', '', SYS_SYS); + $sysConf = Bootstrap::getSystemConfiguration('', '', config("system.workspace")); $multiTimeZone = false; //Set Time Zone /*----------------------------------********---------------------------------*/ diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Light/NotificationDevice.php b/workflow/engine/src/ProcessMaker/BusinessModel/Light/NotificationDevice.php index ec282273e..4d0d8d99f 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Light/NotificationDevice.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Light/NotificationDevice.php @@ -12,7 +12,7 @@ class NotificationDevice public function checkMobileNotifications() { - $conf = System::getSystemConfiguration('', '', SYS_SYS); + $conf = System::getSystemConfiguration('', '', config("system.workspace")); $activeNotifications = true; if (isset($conf['mobileNotifications'])) { $activeNotifications = $conf['mobileNotifications'] == 1 ? true : false; diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/MessageApplication.php b/workflow/engine/src/ProcessMaker/BusinessModel/MessageApplication.php index de2e7614d..05d7b2931 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/MessageApplication.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/MessageApplication.php @@ -371,7 +371,7 @@ class MessageApplication $ws = new \WsBase(); $case = new \Cases(); $common = new \ProcessMaker\Util\Common(); - $sysSys = (defined("SYS_SYS"))? SYS_SYS : "Undefined"; + $sysSys = (!empty(config("system.workspace")))? config("system.workspace") : "Undefined"; $common->setFrontEnd($frontEnd); @@ -683,7 +683,7 @@ class MessageApplication ) { try { - \Bootstrap::registerMonolog('MessageEventCron', $level, $message, $aContext, SYS_SYS, 'processmaker.log'); + \Bootstrap::registerMonolog('MessageEventCron', $level, $message, $aContext, config("system.workspace"), 'processmaker.log'); } catch (\Exception $e) { throw $e; } diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/FileHandler.php b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/FileHandler.php index bf4f9f757..de190c44c 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/FileHandler.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/FileHandler.php @@ -45,7 +45,7 @@ class FileHandler { $workflowFile = array(); $workspaceTargetDir = ($target === 'PUBLIC') ? 'public' : 'mailTemplates'; - $workspaceDir = PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP; + $workspaceDir = PATH_DATA . "sites" . PATH_SEP . config("system.workspace") . PATH_SEP; $templatesDir = $workspaceDir . $workspaceTargetDir . PATH_SEP . $prj_uid; $templatesFiles = Util\Common::rglob("$templatesDir/*", 0, true); diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/FilesMigrator.php b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/FilesMigrator.php index f8f283a2a..5c348fb34 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/FilesMigrator.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/FilesMigrator.php @@ -44,7 +44,7 @@ class FilesMigrator implements Importable, Exportable } $aPath = $data['PATH']; foreach ($aPath as $target => $files) { - $basePath = PATH_DATA . 'sites' . PATH_SEP . SYS_SYS . PATH_SEP . 'public' . PATH_SEP; + $basePath = PATH_DATA . 'sites' . PATH_SEP . config("system.workspace") . PATH_SEP . 'public' . PATH_SEP; if (strtoupper($target) === 'PUBLIC') { foreach ($files as $file) { $filename = $basePath . ((isset($file["file_path"])) ? $file["file_path"] : $file["filepath"]); diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularExporter.php b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularExporter.php index c3b670abc..33b8d785d 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularExporter.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularExporter.php @@ -65,7 +65,7 @@ class GranularExporter $projectData = $bpmnProject->getProject(); $this->prjName = $projectData['PRJ_NAME']; $getProjectName = $this->publisher->truncateName($projectData['PRJ_NAME'], false); - $outputDir = PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP . "files" . PATH_SEP . "output" . PATH_SEP; + $outputDir = PATH_DATA . "sites" . PATH_SEP . config("system.workspace") . PATH_SEP . "files" . PATH_SEP . "output" . PATH_SEP; $version = Common::getLastVersionSpecialCharacters($outputDir, $getProjectName, "pmx2") + 1; $outputFilename = $outputDir . sprintf("%s-%s.%s", str_replace(" ", "_", $getProjectName), $version, "pmx2"); @@ -143,7 +143,7 @@ class GranularExporter "export_server_os" => PHP_OS , "export_server_php_version" => PHP_VERSION_ID, ); - $data["metadata"]["workspace"] = defined("SYS_SYS") ? SYS_SYS : "Unknown"; + $data["metadata"]["workspace"] = !empty(config("system.workspace")) ? config("system.workspace") : "Unknown"; $data["metadata"]["name"] = $projectData['PRJ_NAME']; $data["metadata"]["uid"] = $projectData['PRJ_UID']; $data["metadata"]["export_version"] = $version; diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/TemplatesMigrator.php b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/TemplatesMigrator.php index 0231d6bdb..81971a218 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/TemplatesMigrator.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/TemplatesMigrator.php @@ -44,7 +44,7 @@ class TemplatesMigrator implements Importable, Exportable } $aPath = $data['PATH']; foreach ($aPath as $target => $files) { - $basePath = PATH_DATA . 'sites' . PATH_SEP . SYS_SYS . PATH_SEP . 'mailTemplates' . PATH_SEP; + $basePath = PATH_DATA . 'sites' . PATH_SEP . config("system.workspace") . PATH_SEP . 'mailTemplates' . PATH_SEP; if (strtoupper($target) === 'TEMPLATE') { foreach ($files as $file) { $filename = $basePath . ((isset($file["file_path"])) ? $file["file_path"] : $file["filepath"]); diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Process.php b/workflow/engine/src/ProcessMaker/BusinessModel/Process.php index 429661919..d75e34c5e 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Process.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Process.php @@ -964,7 +964,7 @@ class Process $process = new \Process(); - $memcache = &\PMmemcached::getSingleton(SYS_SYS); + $memcache = &\PMmemcached::getSingleton(config("system.workspace")); $memkey = "no memcache"; $memcacheUsed = "not used"; @@ -1775,8 +1775,8 @@ class Process $aInvalidTypes = array("title", "subtitle", "file", "button", "reset", "submit", "javascript"); $aMultipleSelectionFields = array("listbox", "checkgroup", "grid"); - if (is_file( PATH_DATA . '/sites/'. SYS_SYS .'/xmlForms/'. $proUid .'/'.$dynUid. '.xml' ) && filesize( PATH_DATA . '/sites/'. SYS_SYS .'/xmlForms/'. $proUid .'/'. $dynUid .'.xml' ) > 0) { - $dyn = new DynaformHandler( PATH_DATA . '/sites/'. SYS_SYS .'/xmlForms/' .$proUid. '/' . $dynUid .'.xml' ); + if (is_file( PATH_DATA . '/sites/'. config("system.workspace") .'/xmlForms/'. $proUid .'/'.$dynUid. '.xml' ) && filesize( PATH_DATA . '/sites/'. config("system.workspace") .'/xmlForms/'. $proUid .'/'. $dynUid .'.xml' ) > 0) { + $dyn = new DynaformHandler( PATH_DATA . '/sites/'. config("system.workspace") .'/xmlForms/' .$proUid. '/' . $dynUid .'.xml' ); $dynaformFields[] = $dyn->getFields(); $fields = $dyn->getFields(); diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/ProjectUser.php b/workflow/engine/src/ProcessMaker/BusinessModel/ProjectUser.php index 624882cb9..0c191b9ed 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/ProjectUser.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/ProjectUser.php @@ -227,7 +227,7 @@ class ProjectUser } else { $http = 'http://'; } - $endpoint = $http . $_SERVER['HTTP_HOST'] . '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/wsdl2'; + $endpoint = $http . $_SERVER['HTTP_HOST'] . '/sys' . config("system.workspace") . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/wsdl2'; @$client = new \SoapClient( $endpoint ); $user = $sWS_USER; $pass = $sWS_PASS; @@ -325,7 +325,7 @@ class ProjectUser try { $http = (\G::is_https())? "https://" : "http://"; - $client = new \SoapClient($http . $_SERVER["HTTP_HOST"] . "/sys" . SYS_SYS . "/" . SYS_LANG . "/" . SYS_SKIN . "/services/wsdl2"); + $client = new \SoapClient($http . $_SERVER["HTTP_HOST"] . "/sys" . config("system.workspace") . "/" . SYS_LANG . "/" . SYS_SKIN . "/services/wsdl2"); $params = array( "userid" => $username, diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Skins.php b/workflow/engine/src/ProcessMaker/BusinessModel/Skins.php index a49bf9134..6ec0bc8aa 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Skins.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Skins.php @@ -99,7 +99,7 @@ class Skins $xmlConfiguration = file_get_contents($configFileOriginal); - $workspace = ($skinWorkspace == 'global') ? '' : SYS_SYS; + $workspace = ($skinWorkspace == 'global') ? '' : config("system.workspace"); $xmlConfigurationObj = G::xmlParser($xmlConfiguration); $skinInformationArray = $xmlConfigurationObj->result["skinConfiguration"]["__CONTENT__"]["information"]["__CONTENT__"]; diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Table.php b/workflow/engine/src/ProcessMaker/BusinessModel/Table.php index 5b40de2cf..0219b47c7 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Table.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Table.php @@ -592,7 +592,7 @@ class Table } $className = $table['ADD_TAB_CLASS_NAME']; $classPeerName = $className . 'Peer'; - $sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP; + $sPath = PATH_DB . config("system.workspace") . PATH_SEP . 'classes' . PATH_SEP; if (! file_exists( $sPath . $className . '.php' )) { throw new \Exception( 'Update:: ' . G::loadTranslation( 'ID_PMTABLE_CLASS_DOESNT_EXIST', $className ) ); } @@ -684,7 +684,7 @@ class Table } $className = $table['ADD_TAB_CLASS_NAME']; $classPeerName = $className . 'Peer'; - $sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP; + $sPath = PATH_DB . config("system.workspace") . PATH_SEP . 'classes' . PATH_SEP; if (! file_exists( $sPath . $className . '.php' )) { throw new \Exception( 'Update:: ' . G::loadTranslation( 'ID_PMTABLE_CLASS_DOESNT_EXIST', $className ) ); } diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/TimerEvent.php b/workflow/engine/src/ProcessMaker/BusinessModel/TimerEvent.php index 3c840a7bb..fd2a4539e 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/TimerEvent.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/TimerEvent.php @@ -1151,7 +1151,7 @@ class TimerEvent private function log($action, $value = "", $status = "action") { try { - $workspace = (defined("SYS_SYS"))? SYS_SYS : "Wokspace Undefined"; + $workspace = (!empty(config("system.workspace")))? config("system.workspace") : "Wokspace Undefined"; $ipClient = \G::getIpAddress(); $actionTimer = "timereventcron: "; @@ -1192,7 +1192,7 @@ class TimerEvent ) { try { - \Bootstrap::registerMonolog('TimerEventCron', $level, $message, $aContext, SYS_SYS, 'processmaker.log'); + \Bootstrap::registerMonolog('TimerEventCron', $level, $message, $aContext, config("system.workspace"), 'processmaker.log'); } catch (\Exception $e) { throw $e; } @@ -1214,7 +1214,7 @@ class TimerEvent $ws = new \WsBase(); $case = new \Cases(); $common = new \ProcessMaker\Util\Common(); - $sysSys = (defined("SYS_SYS"))? SYS_SYS : "Undefined"; + $sysSys = (!empty(config("system.workspace")))? config("system.workspace") : "Undefined"; $common->setFrontEnd($frontEnd); diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Trigger.php b/workflow/engine/src/ProcessMaker/BusinessModel/Trigger.php index 8222defc9..1f54743fb 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Trigger.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Trigger.php @@ -171,7 +171,7 @@ class Trigger ) { //Check disabled code - $cs = new \CodeScanner(SYS_SYS); + $cs = new \CodeScanner(config("system.workspace")); $arrayFoundDisabledCode = $cs->checkDisabledCode("SOURCE", $dataTrigger["TRI_WEBBOT"]); diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/User.php b/workflow/engine/src/ProcessMaker/BusinessModel/User.php index 8a9860917..689cb371e 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/User.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/User.php @@ -719,7 +719,7 @@ class User $aUserProperty = $userProperty->loadOrCreateIfNotExists($userUid, array("USR_PASSWORD_HISTORY" => serialize(array(Bootstrap::hashPassword($arrayData["USR_PASSWORD"]))))); $memKey = "rbacSession" . session_id(); - $memcache = &PMmemcached::getSingleton(defined("SYS_SYS") ? SYS_SYS : ""); + $memcache = &PMmemcached::getSingleton(!empty(config("system.workspace")) ? config("system.workspace") : ""); if (($rbac->aUserInfo = $memcache->get($memKey)) == false) { $rbac->loadUserRolePermission("PROCESSMAKER", $userUidLogged); diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/WebEntry.php b/workflow/engine/src/ProcessMaker/BusinessModel/WebEntry.php index df51d4540..983a21f97 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/WebEntry.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/WebEntry.php @@ -43,7 +43,7 @@ class WebEntry { $this->pathDataPublic = defined("PATH_DATA_PUBLIC") ? PATH_DATA_PUBLIC : \G::$pathDataPublic; $this->httpHost = isset($_SERVER["HTTP_HOST"]) ? $_SERVER["HTTP_HOST"] : \G::$httpHost; - $this->sysSys = defined("SYS_SYS") ? SYS_SYS : \G::$sysSys; + $this->sysSys = !empty(config("system.workspace")) ? config("system.workspace") : \G::$sysSys; $this->sysSkin = defined("SYS_SKIN") ? SYS_SKIN : \G::$sysSkin; try { foreach ($this->arrayFieldDefinition as $key => $value) { @@ -851,7 +851,7 @@ class WebEntry try { if ((!isset($record['WE_LINK_GENERATION']) || $record['WE_LINK_GENERATION']==='DEFAULT') && $record["WE_METHOD"] == "WS") { $http = (\G::is_https())? "https://" : "http://"; - $url = $http . $_SERVER["HTTP_HOST"] . "/sys" . SYS_SYS . "/" . SYS_LANG . "/" . SYS_SKIN . "/" . $record["PRO_UID"]; + $url = $http . $_SERVER["HTTP_HOST"] . "/sys" . config("system.workspace") . "/" . SYS_LANG . "/" . SYS_SKIN . "/" . $record["PRO_UID"]; $record["WE_DATA"] = $url . "/" . $record["WE_DATA"]; } diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/WebEntryEvent.php b/workflow/engine/src/ProcessMaker/BusinessModel/WebEntryEvent.php index 62ef10aba..389b7186c 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/WebEntryEvent.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/WebEntryEvent.php @@ -1350,13 +1350,13 @@ class WebEntryEvent strpos($domain, 'https://') === 0; $url = ($hasProtocol ? '' : $http) . $domain . - "/sys" . SYS_SYS . "/" . + "/sys" . config("system.workspace") . "/" . $weLinkLanguage . "/" . $weLinkSkin . "/" . $prj_uid; return $url . "/" . $weData; } else { - $url = $http . $_SERVER["HTTP_HOST"] . "/sys" . SYS_SYS . "/" . SYS_LANG . "/" . SYS_SKIN . "/" . $prj_uid; + $url = $http . $_SERVER["HTTP_HOST"] . "/sys" . config("system.workspace") . "/" . SYS_LANG . "/" . SYS_SKIN . "/" . $prj_uid; return $url . "/" . $weData; } diff --git a/workflow/engine/src/ProcessMaker/Core/System.php b/workflow/engine/src/ProcessMaker/Core/System.php index e5b0e9837..55bd16502 100644 --- a/workflow/engine/src/ProcessMaker/Core/System.php +++ b/workflow/engine/src/ProcessMaker/Core/System.php @@ -1060,7 +1060,7 @@ class System $workspace = explode("|", $res['SKIN_WORKSPACE']); $swWS = false; foreach ($workspace as $key => $value) { - if ($value == SYS_SYS) { + if ($value == config("system.workspace")) { $swWS = true; break; } diff --git a/workflow/engine/src/ProcessMaker/Exporter/Exporter.php b/workflow/engine/src/ProcessMaker/Exporter/Exporter.php index 22a5a6a46..a22613946 100644 --- a/workflow/engine/src/ProcessMaker/Exporter/Exporter.php +++ b/workflow/engine/src/ProcessMaker/Exporter/Exporter.php @@ -92,7 +92,7 @@ abstract class Exporter $data = array(); $data["metadata"] = $this->getMetadata(); - $data["metadata"]["workspace"] = defined("SYS_SYS") ? SYS_SYS : "Unknown"; + $data["metadata"]["workspace"] = !empty(config("system.workspace")) ? config("system.workspace") : "Unknown"; $data["metadata"]["name"] = $this->getProjectName(); $data["metadata"]["uid"] = $this->getProjectUid(); diff --git a/workflow/engine/src/ProcessMaker/Importer/Importer.php b/workflow/engine/src/ProcessMaker/Importer/Importer.php index fecb7e164..cf98c2e0e 100644 --- a/workflow/engine/src/ProcessMaker/Importer/Importer.php +++ b/workflow/engine/src/ProcessMaker/Importer/Importer.php @@ -771,7 +771,7 @@ abstract class Importer $exporter = new \ProcessMaker\Exporter\XmlExporter($prj_uid); $getProjectName = $exporter->truncateName($exporter->getProjectName(), false); - $outputDir = PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP . "files" . PATH_SEP . "output" . PATH_SEP; + $outputDir = PATH_DATA . "sites" . PATH_SEP . config("system.workspace") . PATH_SEP . "files" . PATH_SEP . "output" . PATH_SEP; $version = Common::getLastVersionSpecialCharacters($outputDir, $getProjectName, "pmx") + 1; $outputFilename = $outputDir . sprintf("%s-%s.%s", str_replace(" ", "_", $getProjectName), $version, "pmx"); diff --git a/workflow/engine/src/ProcessMaker/Plugins/PluginRegistry.php b/workflow/engine/src/ProcessMaker/Plugins/PluginRegistry.php index d521627fb..51d32f539 100644 --- a/workflow/engine/src/ProcessMaker/Plugins/PluginRegistry.php +++ b/workflow/engine/src/ProcessMaker/Plugins/PluginRegistry.php @@ -45,8 +45,7 @@ class PluginRegistry use PluginStructure; use Attributes; use Init; - - const NAME_CACHE = SYS_SYS . __CLASS__; + /** * Instance of de object PluginRegistry * @var PluginRegistry $instance @@ -75,9 +74,9 @@ class PluginRegistry public static function loadSingleton() { if (self::$instance === null) { - if (is_null($object = Cache::get(self::NAME_CACHE))) { + if (is_null($object = Cache::get(config("system.workspace") . __CLASS__))) { $object = new PluginRegistry(); - Cache::put(self::NAME_CACHE, $object, config('app.cache_lifetime')); + Cache::put(config("system.workspace") . __CLASS__, $object, config('app.cache_lifetime')); } self::$instance = $object; } @@ -202,7 +201,7 @@ class PluginRegistry $fieldPlugin = PluginsRegistry::loadOrCreateIfNotExists(md5($plugin['PLUGIN_NAMESPACE']), $plugin); PluginsRegistry::update($fieldPlugin); } - Cache::pull(self::NAME_CACHE); + Cache::pull(config("system.workspace") . __CLASS__); } /** * Get the plugin details, by filename diff --git a/workflow/engine/src/ProcessMaker/Project/Bpmn.php b/workflow/engine/src/ProcessMaker/Project/Bpmn.php index 7807860cc..6900d487b 100644 --- a/workflow/engine/src/ProcessMaker/Project/Bpmn.php +++ b/workflow/engine/src/ProcessMaker/Project/Bpmn.php @@ -138,7 +138,7 @@ class Bpmn extends Handler //Define the variables for the logging $info = array( 'ip' => G::getIpAddress(), - 'workspace' => (defined("SYS_SYS"))? SYS_SYS : "Workspace undefined" + 'workspace' => (!empty(config("system.workspace")))? config("system.workspace") : "Workspace undefined" ); $this->setContextLog($info); } diff --git a/workflow/engine/src/ProcessMaker/Project/Workflow.php b/workflow/engine/src/ProcessMaker/Project/Workflow.php index fce9a0965..1ac050db3 100644 --- a/workflow/engine/src/ProcessMaker/Project/Workflow.php +++ b/workflow/engine/src/ProcessMaker/Project/Workflow.php @@ -1123,10 +1123,10 @@ class Workflow extends Handler $basePath = PATH_DYNAFORM; break; case "PUBLIC": - $basePath = PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP . "public" . PATH_SEP; + $basePath = PATH_DATA . "sites" . PATH_SEP . config("system.workspace") . PATH_SEP . "public" . PATH_SEP; break; case "TEMPLATES": - $basePath = PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP . "mailTemplates" . PATH_SEP; + $basePath = PATH_DATA . "sites" . PATH_SEP . config("system.workspace") . PATH_SEP . "mailTemplates" . PATH_SEP; break; default: $basePath = ""; @@ -1213,7 +1213,7 @@ class Workflow extends Handler //Get templates and public files $workspaceTargetDirs = array("TEMPLATES" => "mailTemplates", "PUBLIC" => "public"); - $workspaceDir = PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP; + $workspaceDir = PATH_DATA . "sites" . PATH_SEP . config("system.workspace") . PATH_SEP; foreach ($workspaceTargetDirs as $target => $workspaceTargetDir) { $templatesDir = $workspaceDir . $workspaceTargetDir . PATH_SEP . $processUid; diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project.php b/workflow/engine/src/ProcessMaker/Services/Api/Project.php index 859e40511..ea6e887f7 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project.php @@ -189,7 +189,7 @@ class Project extends Api $objects = \G::json_decode($objects); $granularExporter = new GranularExporter($prj_uid); $outputFilename = $granularExporter->export($objects); - $outputFilename = PATH_DATA . 'sites' . PATH_SEP . SYS_SYS . PATH_SEP . 'files' . PATH_SEP . 'output' . + $outputFilename = PATH_DATA . 'sites' . PATH_SEP . config("system.workspace") . PATH_SEP . 'files' . PATH_SEP . 'output' . PATH_SEP . $outputFilename; $httpStream = new HttpStream(); $fileExtension = pathinfo($outputFilename, PATHINFO_EXTENSION); @@ -211,7 +211,7 @@ class Project extends Api $exporter = new \ProcessMaker\Exporter\XmlExporter($prj_uid); $getProjectName = $exporter->truncateName($exporter->getProjectName(), false); - $outputDir = PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP . "files" . PATH_SEP . "output" . PATH_SEP; + $outputDir = PATH_DATA . "sites" . PATH_SEP . config("system.workspace") . PATH_SEP . "files" . PATH_SEP . "output" . PATH_SEP; $version = Common::getLastVersionSpecialCharacters($outputDir, $getProjectName, "pmx") + 1; $outputFilename = $outputDir . sprintf("%s-%s.%s", str_replace(" ", "_", $getProjectName), $version, "pmx"); diff --git a/workflow/engine/src/ProcessMaker/Services/OAuth2/Server.php b/workflow/engine/src/ProcessMaker/Services/OAuth2/Server.php index efc47648a..9269c4dc2 100644 --- a/workflow/engine/src/ProcessMaker/Services/OAuth2/Server.php +++ b/workflow/engine/src/ProcessMaker/Services/OAuth2/Server.php @@ -144,8 +144,8 @@ class Server implements iAuthenticate $host = $_SERVER['SERVER_NAME'] . ($_SERVER['SERVER_PORT'] != '80' ? ':' . $_SERVER['SERVER_PORT'] : ''); $host = $http .'://'. $host; - $applicationsLink = sprintf('%s/%s/oauth2/apps', $host, SYS_SYS); - $authorizationLink = sprintf('%s/%s/oauth2/authorize?response_type=code&client_id=[the-client-id]&scope=*', $host, SYS_SYS); + $applicationsLink = sprintf('%s/%s/oauth2/apps', $host, config("system.workspace")); + $authorizationLink = sprintf('%s/%s/oauth2/authorize?response_type=code&client_id=[the-client-id]&scope=*', $host, config("system.workspace")); $view = new \Maveriks\Pattern\Mvc\SmartyView(PATH_CORE . "templates/oauth2/index.html"); $view->assign('host', $host); @@ -180,7 +180,7 @@ class Server implements iAuthenticate $host = $http . '://' . $_SERVER['SERVER_NAME'] . ($_SERVER['SERVER_PORT'] != '80' ? ':' . $_SERVER['SERVER_PORT'] : ''); $redirect = urlencode($host.'/'.self::$workspace.$_SERVER['REQUEST_URI']); - $loginLink = sprintf('%s/sys%s/%s/%s/login/login?u=%s', $host, SYS_SYS, SYS_LANG, SYS_SKIN, $redirect); + $loginLink = sprintf('%s/sys%s/%s/%s/login/login?u=%s', $host, config("system.workspace"), SYS_LANG, SYS_SKIN, $redirect); header('location: ' . $loginLink); die; } @@ -214,7 +214,7 @@ class Server implements iAuthenticate $view = new \Maveriks\Pattern\Mvc\SmartyView(PATH_CORE . "templates/oauth2/authorize.html"); $view->assign('user', $user); $view->assign('client', $client); - $view->assign('postUri', '/' . SYS_SYS . '/oauth2/authorize?' . $_SERVER['QUERY_STRING']); + $view->assign('postUri', '/' . config("system.workspace") . '/oauth2/authorize?' . $_SERVER['QUERY_STRING']); $view->render(); exit(); } @@ -364,7 +364,7 @@ class Server implements iAuthenticate $userTimeZone = $user->getUsrTimeZone(); if (trim($userTimeZone) == '') { - $arraySystemConfiguration = System::getSystemConfiguration('', '', SYS_SYS); + $arraySystemConfiguration = System::getSystemConfiguration('', '', config("system.workspace")); $userTimeZone = $arraySystemConfiguration['time_zone']; } diff --git a/workflow/engine/src/ProcessMaker/Util/FixReferencePath.php b/workflow/engine/src/ProcessMaker/Util/FixReferencePath.php index 94a2f8d3a..ce4614e5d 100644 --- a/workflow/engine/src/ProcessMaker/Util/FixReferencePath.php +++ b/workflow/engine/src/ProcessMaker/Util/FixReferencePath.php @@ -200,7 +200,7 @@ class FixReferencePath */ public function regeneratePropelClasses($repTabName, $className, $fields, $guid) { - $sourcePath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP; + $sourcePath = PATH_DB . config("system.workspace") . PATH_SEP . 'classes' . PATH_SEP; @unlink($sourcePath . $className . '.php'); @unlink($sourcePath . $className . 'Peer.php'); diff --git a/workflow/engine/src/ProcessMaker/Util/System.php b/workflow/engine/src/ProcessMaker/Util/System.php index 2ce9e4dcc..dad2188b3 100644 --- a/workflow/engine/src/ProcessMaker/Util/System.php +++ b/workflow/engine/src/ProcessMaker/Util/System.php @@ -27,7 +27,7 @@ class System public static function getTimeZone() { try { - $arraySystemConfiguration = PmSystem::getSystemConfiguration('', '', SYS_SYS); + $arraySystemConfiguration = PmSystem::getSystemConfiguration('', '', config("system.workspace")); //Return return $arraySystemConfiguration['time_zone']; diff --git a/workflow/engine/src/ProcessMaker/Util/helpers.php b/workflow/engine/src/ProcessMaker/Util/helpers.php index 828ef8e8d..38e948cc6 100644 --- a/workflow/engine/src/ProcessMaker/Util/helpers.php +++ b/workflow/engine/src/ProcessMaker/Util/helpers.php @@ -251,8 +251,8 @@ function getVarsGrid($proUid, $dynUid) $dynaformFields = array(); - if (is_file(PATH_DATA . '/sites/' . SYS_SYS . '/xmlForms/' . $proUid . '/' . $dynUid . '.xml') && filesize(PATH_DATA . '/sites/' . SYS_SYS . '/xmlForms/' . $proUid . '/' . $dynUid . '.xml') > 0) { - $dyn = new dynaFormHandler(PATH_DATA . '/sites/' . SYS_SYS . '/xmlForms/' . $proUid . '/' . $dynUid . '.xml'); + if (is_file(PATH_DATA . '/sites/' . config("system.workspace") . '/xmlForms/' . $proUid . '/' . $dynUid . '.xml') && filesize(PATH_DATA . '/sites/' . config("system.workspace") . '/xmlForms/' . $proUid . '/' . $dynUid . '.xml') > 0) { + $dyn = new dynaFormHandler(PATH_DATA . '/sites/' . config("system.workspace") . '/xmlForms/' . $proUid . '/' . $dynUid . '.xml'); $dynaformFields[] = $dyn->getFields(); } diff --git a/workflow/engine/templates/pmTables/edit.js b/workflow/engine/templates/pmTables/edit.js index ad56a8bcc..7e1d70bf8 100644 --- a/workflow/engine/templates/pmTables/edit.js +++ b/workflow/engine/templates/pmTables/edit.js @@ -814,18 +814,23 @@ Ext.onReady(function(){ loadTableRowsFromArray(TABLE.FIELDS); } - if (dataNumRows > 0) { - var tpl = new Ext.Template( - '' + var newEl, + tpl = new Ext.Template( + '' ); - var newEl = tpl.insertFirst(document.getElementById('assignedGrid')); - - Ext.fly('hideWarning').on('click', function() { - Ext.fly(newEl).slideOut('t',{remove:true}); + Ext.getCmp("chkKeepData").on('check', function () { + if (dataNumRows > 0 && Ext.getCmp("chkKeepData").checked === false) { + newEl = tpl.insertFirst(document.getElementById('assignedGrid')); + Ext.fly('hideWarning').on('click', function() { + Ext.fly(newEl).slideOut('t', {useDisplay:true}); + }); + Ext.fly(newEl).slideIn(); + } else if (Ext.getCmp("chkKeepData").checked === true) { + Ext.fly(newEl).slideOut('t', {useDisplay:true}); + } }); - Ext.fly(newEl).slideIn(); - } }); diff --git a/workflow/engine/templates/setup/webServicesTree.php b/workflow/engine/templates/setup/webServicesTree.php index f9ae5e77b..6f2c78d69 100644 --- a/workflow/engine/templates/setup/webServicesTree.php +++ b/workflow/engine/templates/setup/webServicesTree.php @@ -38,16 +38,15 @@ if (isset ( $_GET ['x'] )) { } } else { if (! isset ( $_SESSION ['END_POINT'] )) { - //$wsdl = 'http://'.$_SERVER['HTTP_HOST'].'/sys'.SYS_SYS.'/en/classic/services/wsdl'; $wsdl = 'http://' . $_SERVER ['HTTP_HOST']; - $workspace = SYS_SYS; + $workspace = config("system.workspace"); } else { $wsdl = $_SESSION ['END_POINT']; $workspace = $_SESSION ['WS_WORKSPACE']; } } -$defaultEndpoint = 'http://' . $_SERVER ['SERVER_NAME'] . ':' . $_SERVER ['SERVER_PORT'] . '/sys' . SYS_SYS . '/en/classic/services/wsdl2'; +$defaultEndpoint = 'http://' . $_SERVER ['SERVER_NAME'] . ':' . $_SERVER ['SERVER_PORT'] . '/sys' . config("system.workspace") . '/en/classic/services/wsdl2'; $wsdl = isset ( $_SESSION ['END_POINT'] ) ? $_SESSION ['END_POINT'] : $defaultEndpoint; diff --git a/workflow/public_html/bootstrap.php b/workflow/public_html/bootstrap.php index 9bc03c17d..ceb789db8 100644 --- a/workflow/public_html/bootstrap.php +++ b/workflow/public_html/bootstrap.php @@ -332,7 +332,7 @@ use ProcessMaker\Plugins\PluginRegistry; define ( 'SYS_SYS' , SYS_TEMP ); // defining constant for workspace shared directory - define ( 'PATH_WORKSPACE' , PATH_DB . SYS_SYS . PATH_SEP ); + define ( 'PATH_WORKSPACE' , PATH_DB . config("system.workspace") . PATH_SEP ); // including workspace shared classes -> particularlly for pmTables set_include_path(get_include_path() . PATH_SEPARATOR . PATH_WORKSPACE); } @@ -382,7 +382,7 @@ use ProcessMaker\Plugins\PluginRegistry; } // PM Paths DATA - define('PATH_DATA_SITE', PATH_DATA . 'sites/' . SYS_SYS . '/'); + define('PATH_DATA_SITE', PATH_DATA . 'sites/' . config("system.workspace") . '/'); define('PATH_DOCUMENT', PATH_DATA_SITE . 'files/'); define('PATH_DATA_MAILTEMPLATES', PATH_DATA_SITE . 'mailTemplates/'); define('PATH_DATA_PUBLIC', PATH_DATA_SITE . 'public/'); @@ -394,7 +394,7 @@ use ProcessMaker\Plugins\PluginRegistry; define('SERVER_PORT', $_SERVER ['SERVER_PORT']); // create memcached singleton - $memcache = & PMmemcached::getSingleton(SYS_SYS); + $memcache = & PMmemcached::getSingleton(config("system.workspace")); // verify configuration for rest service if ($isRestRequest) { @@ -439,7 +439,7 @@ use ProcessMaker\Plugins\PluginRegistry; // unified log file for all databases $logFile = PATH_DATA . 'log' . PATH_SEP . 'propel.log'; - $logger = Log::singleton('file', $logFile, 'wf ' . SYS_SYS, null, PEAR_LOG_INFO); + $logger = Log::singleton('file', $logFile, 'wf ' . config("system.workspace"), null, PEAR_LOG_INFO); Propel::setLogger($logger); // log file for workflow database $con = Propel::getConnection('workflow'); @@ -573,13 +573,13 @@ use ProcessMaker\Plugins\PluginRegistry; } //redirect to login, if user changed the workspace in the URL - if (! $avoidChangedWorkspaceValidation && isset($_SESSION['WORKSPACE']) && $_SESSION['WORKSPACE'] != SYS_SYS) { - $_SESSION['WORKSPACE'] = SYS_SYS; + if (! $avoidChangedWorkspaceValidation && isset($_SESSION['WORKSPACE']) && $_SESSION['WORKSPACE'] != config("system.workspace")) { + $_SESSION['WORKSPACE'] = config("system.workspace"); G::SendTemporalMessage ('ID_USER_HAVENT_RIGHTS_SYSTEM', "error"); // verify if the current skin is a 'ux' variant $urlPart = substr(SYS_SKIN, 0, 2) == 'ux' && SYS_SKIN != 'uxs' ? '/main/login' : '/login/login'; - header('Location: /sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . $urlPart); + header('Location: /sys' . config("system.workspace") . '/' . SYS_LANG . '/' . SYS_SKIN . $urlPart); die; } diff --git a/workflow/public_html/sysGeneric.php b/workflow/public_html/sysGeneric.php index d61fbc598..6fbd65b0e 100644 --- a/workflow/public_html/sysGeneric.php +++ b/workflow/public_html/sysGeneric.php @@ -39,8 +39,8 @@ function transactionLog($transactionName){ //Custom parameters - if(defined("SYS_SYS")){ - newrelic_add_custom_parameter ("workspace", SYS_SYS); + if(!empty(config("system.workspace"))){ + newrelic_add_custom_parameter ("workspace", config("system.workspace")); } if(defined("SYS_LANG")){ newrelic_add_custom_parameter ("lang", SYS_LANG); @@ -65,8 +65,8 @@ function transactionLog($transactionName){ } //Show correct transaction name - if(defined("SYS_SYS")){ - newrelic_set_appname ("PM-".SYS_SYS.";$baseName"); + if(!empty(config("system.workspace"))){ + newrelic_set_appname ("PM-".config("system.workspace").";$baseName"); } if(defined("PATH_CORE")){ $transactionName=str_replace(PATH_CORE,"",$transactionName); @@ -584,9 +584,10 @@ if (defined( 'SYS_TEMP' ) && SYS_TEMP != '') { if (file_exists( $pathFile )) { require_once ($pathFile); define( 'SYS_SYS', SYS_TEMP ); + config(["system.workspace" => SYS_TEMP]); // defining constant for workspace shared directory - define( 'PATH_WORKSPACE', PATH_DB . SYS_SYS . PATH_SEP ); + define( 'PATH_WORKSPACE', PATH_DB . config("system.workspace") . PATH_SEP ); // including workspace shared classes -> particularlly for pmTables set_include_path( get_include_path() . PATH_SEPARATOR . PATH_WORKSPACE ); } else { @@ -637,7 +638,7 @@ if (defined( 'SYS_TEMP' ) && SYS_TEMP != '') { } // PM Paths DATA -define( 'PATH_DATA_SITE', PATH_DATA . 'sites/' . SYS_SYS . '/' ); +define( 'PATH_DATA_SITE', PATH_DATA . 'sites/' . config("system.workspace") . '/' ); define( 'PATH_DOCUMENT', PATH_DATA_SITE . 'files/' ); define( 'PATH_DATA_MAILTEMPLATES', PATH_DATA_SITE . 'mailTemplates/' ); define( 'PATH_DATA_PUBLIC', PATH_DATA_SITE . 'public/' ); @@ -651,7 +652,7 @@ define( 'SERVER_PORT', $_SERVER['SERVER_PORT'] ); // create memcached singleton -$memcache = & PMmemcached::getSingleton( SYS_SYS ); +$memcache = & PMmemcached::getSingleton( config("system.workspace") ); // load Plugins base class @@ -670,7 +671,7 @@ if (defined( 'DEBUG_SQL_LOG' ) && DEBUG_SQL_LOG) { // unified log file for all databases $logFile = PATH_DATA . 'log' . PATH_SEP . 'propel.log'; - $logger = Log::singleton( 'file', $logFile, 'wf ' . SYS_SYS, null, PEAR_LOG_INFO ); + $logger = Log::singleton( 'file', $logFile, 'wf ' . config("system.workspace"), null, PEAR_LOG_INFO ); Propel::setLogger( $logger ); // log file for workflow database $con = Propel::getConnection( 'workflow' ); @@ -886,13 +887,13 @@ if (substr( SYS_COLLECTION, 0, 8 ) === 'gulliver') { } //redirect to login, if user changed the workspace in the URL -if (! $avoidChangedWorkspaceValidation && isset( $_SESSION['WORKSPACE'] ) && $_SESSION['WORKSPACE'] != SYS_SYS) { - $_SESSION['WORKSPACE'] = SYS_SYS; +if (! $avoidChangedWorkspaceValidation && isset( $_SESSION['WORKSPACE'] ) && $_SESSION['WORKSPACE'] != config("system.workspace")) { + $_SESSION['WORKSPACE'] = config("system.workspace"); Bootstrap::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', "error" ); // verify if the current skin is a 'ux' variant $urlPart = substr( SYS_SKIN, 0, 2 ) == 'ux' && SYS_SKIN != 'uxs' ? '/main/login' : '/login/login'; - header( 'Location: /sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . $urlPart ); + header( 'Location: /sys' . config("system.workspace") . '/' . SYS_LANG . '/' . SYS_SKIN . $urlPart ); die(); }