From de8ccb885f38e6e182a22e80c854f9dfd7183fd2 Mon Sep 17 00:00:00 2001 From: "Paula V. Quispe" Date: Thu, 21 May 2015 11:28:38 -0400 Subject: [PATCH 01/13] PM-2795: al autenficarse con REST no verifica contra el LdapAdvanced --- workflow/engine/src/ProcessMaker/Services/OAuth2/PmPdo.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/Services/OAuth2/PmPdo.php b/workflow/engine/src/ProcessMaker/Services/OAuth2/PmPdo.php index efdf78e59..f722501d5 100644 --- a/workflow/engine/src/ProcessMaker/Services/OAuth2/PmPdo.php +++ b/workflow/engine/src/ProcessMaker/Services/OAuth2/PmPdo.php @@ -190,8 +190,11 @@ class PmPdo implements \OAuth2\Storage\AuthorizationCodeInterface, /* OAuth2_Storage_UserCredentialsInterface */ public function checkUserCredentials($username, $password) { - if ($user = $this->getUser($username)) { - return $this->checkPassword($user, $password); + $RBAC = \RBAC::getSingleton(); + $RBAC->initRBAC(); + $uid = $RBAC->VerifyLogin($username , $password); + if($uid != ''){ + return true; } return false; } From b55eb92644fbe7a1a59c0be106e28c2f2818b08e Mon Sep 17 00:00:00 2001 From: "Paula V. Quispe" Date: Thu, 21 May 2015 14:01:28 -0400 Subject: [PATCH 02/13] PM-2795: I validated when is < 0 --- workflow/engine/src/ProcessMaker/Services/OAuth2/PmPdo.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/workflow/engine/src/ProcessMaker/Services/OAuth2/PmPdo.php b/workflow/engine/src/ProcessMaker/Services/OAuth2/PmPdo.php index f722501d5..89e7aeed6 100644 --- a/workflow/engine/src/ProcessMaker/Services/OAuth2/PmPdo.php +++ b/workflow/engine/src/ProcessMaker/Services/OAuth2/PmPdo.php @@ -193,6 +193,9 @@ class PmPdo implements \OAuth2\Storage\AuthorizationCodeInterface, $RBAC = \RBAC::getSingleton(); $RBAC->initRBAC(); $uid = $RBAC->VerifyLogin($username , $password); + if($uid < 0){ + return false; + } if($uid != ''){ return true; } From d1a7e5c9ab283339865ec945fc32277c4cc6b2ec Mon Sep 17 00:00:00 2001 From: dheeyi Date: Thu, 21 May 2015 15:01:53 -0400 Subject: [PATCH 03/13] PM-2325 0017197: Unneccessary vertical scroll bar in Step 5 of the Manual Installer Wizard --- workflow/engine/skinEngine/base/css/xtheme-gray.css | 1 + workflow/engine/skinEngine/neoclassic/css/xtheme-gray.css | 2 ++ 2 files changed, 3 insertions(+) diff --git a/workflow/engine/skinEngine/base/css/xtheme-gray.css b/workflow/engine/skinEngine/base/css/xtheme-gray.css index 947474ffb..17debd275 100755 --- a/workflow/engine/skinEngine/base/css/xtheme-gray.css +++ b/workflow/engine/skinEngine/base/css/xtheme-gray.css @@ -304,6 +304,7 @@ ul.x-tab-strip-bottom{ .x-fieldset { border-color:#CCCCCC; + margin-top: -5px; } .x-fieldset legend { diff --git a/workflow/engine/skinEngine/neoclassic/css/xtheme-gray.css b/workflow/engine/skinEngine/neoclassic/css/xtheme-gray.css index 5eadb6da4..5d7446257 100644 --- a/workflow/engine/skinEngine/neoclassic/css/xtheme-gray.css +++ b/workflow/engine/skinEngine/neoclassic/css/xtheme-gray.css @@ -431,6 +431,7 @@ textarea.x-form-inner-invalid { } .x-fieldset { border-color: #CCCCCC; + margin-top: -5px; } .x-fieldset legend { font: bold 11px "Open Sans", Tahoma, sans-serif, MiscFixed; @@ -1465,6 +1466,7 @@ a.x-menu-item { } .x-panel-body .x-panel-body { border: #dddddd 1px solid; + overflow: hidden !important; } .x-panel-bbar .x-toolbar, .x-panel-tbar .x-toolbar { From 81315f825701aae90a7805a27fee5f2b4165b0db Mon Sep 17 00:00:00 2001 From: dheeyi Date: Fri, 22 May 2015 09:39:58 -0400 Subject: [PATCH 04/13] PM-2800 --- workflow/public_html/Web.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/public_html/Web.config b/workflow/public_html/Web.config index 7d43ba287..2e853663c 100755 --- a/workflow/public_html/Web.config +++ b/workflow/public_html/Web.config @@ -5,7 +5,7 @@ - + From 9e0e005c37a56a82e926b0fe93dca2b9020318b0 Mon Sep 17 00:00:00 2001 From: dheeyi Date: Fri, 22 May 2015 11:35:51 -0400 Subject: [PATCH 05/13] PM-2762 --- gulliver/system/class.g.php | 2 ++ .../engine/src/ProcessMaker/BusinessModel/ActionsByEmail.php | 4 ++++ workflow/engine/src/ProcessMaker/Services/Api/System.php | 4 +++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gulliver/system/class.g.php b/gulliver/system/class.g.php index 69feae7d6..e8928a7ed 100644 --- a/gulliver/system/class.g.php +++ b/gulliver/system/class.g.php @@ -5354,11 +5354,13 @@ class G $ipClient = G::getIpAddress(); $licensedFeatures = PMLicensedFeatures::getSingleton(); + /*----------------------------------********---------------------------------*/ if ($sflagAudit && $licensedFeatures->verifyfeature('vtSeHNhT0JnSmo1bTluUVlTYUxUbUFSVStEeXVqc1pEUG5EeXc0MGd2Q3ErYz0=')) { $username = isset($_SESSION['USER_LOGGED']) && $_SESSION['USER_LOGGED'] != '' ? $_SESSION['USER_LOGGED'] : 'Unknow User'; $fullname = isset($_SESSION['USR_FULLNAME']) && $_SESSION['USR_FULLNAME'] != '' ? $_SESSION['USR_FULLNAME'] : '-'; G::log("|". $workspace ."|". $ipClient ."|". $username . "|" . $fullname ."|" . $actionToLog . "|" . $valueToLog, PATH_DATA, "audit.log"); } + /*----------------------------------********---------------------------------*/ } /** diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/ActionsByEmail.php b/workflow/engine/src/ProcessMaker/BusinessModel/ActionsByEmail.php index 6fde65015..611d81910 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/ActionsByEmail.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/ActionsByEmail.php @@ -11,6 +11,7 @@ class ActionsByEmail public function saveConfiguration($params) { + /*----------------------------------********---------------------------------*/ if (\PMLicensedFeatures ::getSingleton() ->verifyfeature('zLhSk5TeEQrNFI2RXFEVktyUGpnczV1WEJNWVp6cjYxbTU3R29mVXVZNWhZQT0=')) { @@ -31,10 +32,12 @@ class ActionsByEmail break; } } + /*----------------------------------********---------------------------------*/ } public function loadConfiguration($params) { + /*----------------------------------********---------------------------------*/ if ($params['type'] != 'activity' || !\PMLicensedFeatures ::getSingleton() @@ -42,6 +45,7 @@ class ActionsByEmail { return false; } + /*----------------------------------********---------------------------------*/ require_once 'classes/model/AbeConfiguration.php'; $criteria = new \Criteria(); diff --git a/workflow/engine/src/ProcessMaker/Services/Api/System.php b/workflow/engine/src/ProcessMaker/Services/Api/System.php index 2c43cd0f7..f7106fed6 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/System.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/System.php @@ -52,7 +52,7 @@ class System extends Api } } - /** + /**t * @return array * * @author Gustavo Cruz @@ -64,6 +64,7 @@ class System extends Api { try { $enabledFeatures = array(); + /*----------------------------------********---------------------------------*/ $keys = array ('zLhSk5TeEQrNFI2RXFEVktyUGpnczV1WEJNWVp6cjYxbTU3R29mVXVZNWhZQT0='); foreach ($keys as $key) { if (\PMLicensedFeatures @@ -72,6 +73,7 @@ class System extends Api $enabledFeatures[] = $key; } } + /*----------------------------------********---------------------------------*/ return $enabledFeatures; } catch (\Exception $e) { throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); From f63be7127563153aa0f52b5b6d8823b7fd701088 Mon Sep 17 00:00:00 2001 From: dheeyi Date: Fri, 22 May 2015 11:40:01 -0400 Subject: [PATCH 06/13] PM-2762 --- workflow/engine/src/ProcessMaker/Services/Api/System.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/System.php b/workflow/engine/src/ProcessMaker/Services/Api/System.php index f7106fed6..9e49e74ae 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/System.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/System.php @@ -52,7 +52,7 @@ class System extends Api } } - /**t + /** * @return array * * @author Gustavo Cruz From f9f2baecc511fbcb3466038a2a9ae88641cd8c8d Mon Sep 17 00:00:00 2001 From: Marco Antonio Nina Mena Date: Fri, 22 May 2015 11:51:19 -0400 Subject: [PATCH 07/13] PM-2789 Implementar una forma de subir el archivo... SOLVED - Al tener solo el tar con todos los plugins no se tenia implementado esta opcion para la instalacion. - Se agrego el metodo para poder verificar el tar de plugins y hacer una correcta instalacion de los plugins con la licencia. --- .../methods/setup/pluginsImportFile.php | 75 +++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/workflow/engine/methods/setup/pluginsImportFile.php b/workflow/engine/methods/setup/pluginsImportFile.php index 69a90098e..e5745908d 100755 --- a/workflow/engine/methods/setup/pluginsImportFile.php +++ b/workflow/engine/methods/setup/pluginsImportFile.php @@ -110,6 +110,81 @@ try { $message = G::loadTranslation( 'ID_ENTERPRISE_INSTALLED') . ' ' . G::loadTranslation( 'ID_LOG_AGAIN'); G::SendMessageText($message, "INFO"); + $licenseManager = &pmLicenseManager::getSingleton(); + die(''); + } + } + + //save the packages plugins + if ($_FILES['form']['error']['PLUGIN_FILENAME'] == 0) { + $filename = $_FILES['form']['name']['PLUGIN_FILENAME']; + $path = PATH_DOCUMENT . 'input' . PATH_SEP; + if (strpos($filename, 'plugins-') !== false) { + + G::LoadThirdParty( 'pear/Archive', 'Tar' ); + $tar = new Archive_Tar( $path . $filename ); + $sFileName = substr( $filename, 0, strrpos( $filename, '.' ) ); + $sClassName = substr( $filename, 0, strpos( $filename, '-' ) ); + + $files = $tar->listContent(); + $licenseName = ''; + $listFiles = array(); + foreach ($files as $key => $val) { + if (strpos(trim($val['filename']), 'plugins/') !== false) { + $listFiles[] = trim($val['filename']); + } + if (strpos(trim($val['filename']), 'license_') !== false) { + $licenseName = trim($val['filename']); + } + } + $tar->extractList( $listFiles, PATH_PLUGINS . 'data'); + $tar->extractList( $licenseName, PATH_PLUGINS); + + $pluginRegistry = &PMPluginRegistry::getSingleton(); + $autoPlugins = glob(PATH_PLUGINS . "data/plugins/*.tar"); + $autoPluginsA = array(); + + foreach ($autoPlugins as $filePath) { + $plName = basename($filePath); + //if (!(in_array($plName, $def))) { + if (strpos($plName, 'enterprise') === false) { + $autoPluginsA[]["sFilename"] = $plName; + } + } + + $aPlugins = $autoPluginsA; + foreach ($aPlugins as $key=>$aPlugin) { + $sClassName = substr($aPlugin["sFilename"], 0, strpos($aPlugin["sFilename"], "-")); + + $oTar = new Archive_Tar(PATH_PLUGINS . "data/plugins/" . $aPlugin["sFilename"]); + $oTar->extract(PATH_PLUGINS); + + if (!(class_exists($sClassName))) { + require_once (PATH_PLUGINS . $sClassName . ".php"); + } + + $pluginDetail = $pluginRegistry->getPluginDetails($sClassName . ".php"); + $pluginRegistry->installPlugin($pluginDetail->sNamespace); //error + } + + file_put_contents(PATH_DATA_SITE . "plugin.singleton", $pluginRegistry->serializeInstance()); + + $licfile = glob(PATH_PLUGINS . "*.dat"); + + if ((isset($licfile[0])) && ( is_file($licfile[0]) )) { + $licfilename = basename($licfile[0]); + @copy($licfile[0], PATH_DATA_SITE . $licfilename); + @unlink($licfile[0]); + } + + require_once ('classes/model/AddonsStore.php'); + AddonsStore::checkLicenseStore(); + $licenseManager = &pmLicenseManager::getSingleton(); + AddonsStore::updateAll(false); + + $message = G::loadTranslation( 'ID_ENTERPRISE_INSTALLED') . ' ' . G::loadTranslation( 'ID_LOG_AGAIN'); + G::SendMessageText($message, "INFO"); + $licenseManager = &pmLicenseManager::getSingleton(); die(''); } } From 1d71964fd6b911a3072147ada674e3552261d343 Mon Sep 17 00:00:00 2001 From: dheeyi Date: Fri, 22 May 2015 12:11:41 -0400 Subject: [PATCH 08/13] PM-2762 --- gulliver/system/class.g.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gulliver/system/class.g.php b/gulliver/system/class.g.php index e8928a7ed..a9dbb3161 100644 --- a/gulliver/system/class.g.php +++ b/gulliver/system/class.g.php @@ -5353,8 +5353,8 @@ class G $sflagAudit = $oServerConf->getAuditLogProperty( 'AL_OPTION', $workspace ); $ipClient = G::getIpAddress(); - $licensedFeatures = PMLicensedFeatures::getSingleton(); /*----------------------------------********---------------------------------*/ + $licensedFeatures = PMLicensedFeatures::getSingleton(); if ($sflagAudit && $licensedFeatures->verifyfeature('vtSeHNhT0JnSmo1bTluUVlTYUxUbUFSVStEeXVqc1pEUG5EeXc0MGd2Q3ErYz0=')) { $username = isset($_SESSION['USER_LOGGED']) && $_SESSION['USER_LOGGED'] != '' ? $_SESSION['USER_LOGGED'] : 'Unknow User'; $fullname = isset($_SESSION['USR_FULLNAME']) && $_SESSION['USR_FULLNAME'] != '' ? $_SESSION['USR_FULLNAME'] : '-'; From b6a1bf7769697129dc1a3054dabb2fa2a03b1af6 Mon Sep 17 00:00:00 2001 From: dheeyi Date: Fri, 22 May 2015 12:19:43 -0400 Subject: [PATCH 09/13] PM-2762 --- .../engine/src/ProcessMaker/BusinessModel/ActionsByEmail.php | 4 ---- 1 file changed, 4 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/ActionsByEmail.php b/workflow/engine/src/ProcessMaker/BusinessModel/ActionsByEmail.php index 611d81910..6fde65015 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/ActionsByEmail.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/ActionsByEmail.php @@ -11,7 +11,6 @@ class ActionsByEmail public function saveConfiguration($params) { - /*----------------------------------********---------------------------------*/ if (\PMLicensedFeatures ::getSingleton() ->verifyfeature('zLhSk5TeEQrNFI2RXFEVktyUGpnczV1WEJNWVp6cjYxbTU3R29mVXVZNWhZQT0=')) { @@ -32,12 +31,10 @@ class ActionsByEmail break; } } - /*----------------------------------********---------------------------------*/ } public function loadConfiguration($params) { - /*----------------------------------********---------------------------------*/ if ($params['type'] != 'activity' || !\PMLicensedFeatures ::getSingleton() @@ -45,7 +42,6 @@ class ActionsByEmail { return false; } - /*----------------------------------********---------------------------------*/ require_once 'classes/model/AbeConfiguration.php'; $criteria = new \Criteria(); From b1ac3747732897dca6cd2e1e77f2d84300e55fa0 Mon Sep 17 00:00:00 2001 From: dheeyi Date: Fri, 22 May 2015 12:46:50 -0400 Subject: [PATCH 10/13] PM-2796 --- workflow/engine/src/ProcessMaker/Services/Api/Project.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project.php b/workflow/engine/src/ProcessMaker/Services/Api/Project.php index 2b30e1bc0..bcb558d51 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project.php @@ -111,7 +111,7 @@ class Project extends Api $outputDir = PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP . "files" . PATH_SEP . "output" . PATH_SEP; $version = \ProcessMaker\Util\Common::getLastVersion($outputDir . $exporter->getProjectName() . "-*.pmx") + 1; - $outputFilename = $outputDir . sprintf("%s-%s.%s", $exporter->getProjectName(), $version, "pmx"); + $outputFilename = $outputDir . sprintf("%s-%s.%s", str_replace(" ", "_", $exporter->getProjectName()), $version, "pmx"); $exporter->setMetadata("export_version", $version); $exporter->saveExport($outputFilename); From 2799f20d4665c22a48ab2a69a8f295ae1429472a Mon Sep 17 00:00:00 2001 From: dheeyi Date: Fri, 22 May 2015 13:19:52 -0400 Subject: [PATCH 11/13] PM-2325 --- workflow/engine/skinEngine/base/css/xtheme-gray.css | 1 + workflow/engine/skinEngine/neoclassic/css/xtheme-gray.css | 1 + 2 files changed, 2 insertions(+) diff --git a/workflow/engine/skinEngine/base/css/xtheme-gray.css b/workflow/engine/skinEngine/base/css/xtheme-gray.css index 17debd275..f7b78432f 100755 --- a/workflow/engine/skinEngine/base/css/xtheme-gray.css +++ b/workflow/engine/skinEngine/base/css/xtheme-gray.css @@ -221,6 +221,7 @@ ul.x-tab-strip-bottom{ .x-editor .x-form-check-wrap { background-color:#fff; + overflow:hidden !important; } .x-form-field-wrap .x-form-trigger{ diff --git a/workflow/engine/skinEngine/neoclassic/css/xtheme-gray.css b/workflow/engine/skinEngine/neoclassic/css/xtheme-gray.css index 5d7446257..39f78016e 100644 --- a/workflow/engine/skinEngine/neoclassic/css/xtheme-gray.css +++ b/workflow/engine/skinEngine/neoclassic/css/xtheme-gray.css @@ -364,6 +364,7 @@ textarea.x-form-field { } .x-editor .x-form-check-wrap { background-color: #fff; + overflow:hidden !important; } .x-form-field-wrap .x-form-trigger { background-image: url(/skins/neoclassic/images/ext/gray/form/trigger.gif); From a8ddba2dbcacf0d7f3a6e3196b14dc32009544e0 Mon Sep 17 00:00:00 2001 From: dheeyi Date: Fri, 22 May 2015 15:03:46 -0400 Subject: [PATCH 12/13] PM-2325 --- workflow/engine/skinEngine/base/css/xtheme-gray.css | 5 ++++- workflow/engine/skinEngine/neoclassic/css/xtheme-gray.css | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/workflow/engine/skinEngine/base/css/xtheme-gray.css b/workflow/engine/skinEngine/base/css/xtheme-gray.css index f7b78432f..0b76c5990 100755 --- a/workflow/engine/skinEngine/base/css/xtheme-gray.css +++ b/workflow/engine/skinEngine/base/css/xtheme-gray.css @@ -219,9 +219,12 @@ ul.x-tab-strip-bottom{ color: #333; } +.x-form-check-wrap { + overflow: hidden !important; +} + .x-editor .x-form-check-wrap { background-color:#fff; - overflow:hidden !important; } .x-form-field-wrap .x-form-trigger{ diff --git a/workflow/engine/skinEngine/neoclassic/css/xtheme-gray.css b/workflow/engine/skinEngine/neoclassic/css/xtheme-gray.css index 39f78016e..84b5d1bdd 100644 --- a/workflow/engine/skinEngine/neoclassic/css/xtheme-gray.css +++ b/workflow/engine/skinEngine/neoclassic/css/xtheme-gray.css @@ -362,9 +362,13 @@ textarea.x-form-field { border-bottom: 1px solid #dddddd; color: #333; } + +.x-form-check-wrap { + overflow: hidden !important; +} + .x-editor .x-form-check-wrap { background-color: #fff; - overflow:hidden !important; } .x-form-field-wrap .x-form-trigger { background-image: url(/skins/neoclassic/images/ext/gray/form/trigger.gif); From a20ca8983734dae290bedbfdfe0bea6f7f8309a9 Mon Sep 17 00:00:00 2001 From: Luis Fernando Saisa Lopez Date: Fri, 22 May 2015 16:07:42 -0400 Subject: [PATCH 13/13] PM-2765 "Processmaker Email Servers Disabled" SOLVED > Code Isuue: Processmaker Email Servers Disabled > Solution: Se agrega validacion cuando se realizar el upgrade de la version 2.5.2 a 3.0 community de processmaker, la configuracion de correo que se tenia en la version 2.5.2, se visualizar en la version 3.0 mostrando como unico registro, el mismo podra ser editado. --- workflow/engine/bin/tasks/cliWorkspaces.php | 52 +----------- workflow/engine/classes/class.wsTools.php | 94 ++++++++++++++++++--- 2 files changed, 85 insertions(+), 61 deletions(-) diff --git a/workflow/engine/bin/tasks/cliWorkspaces.php b/workflow/engine/bin/tasks/cliWorkspaces.php index 103e70fa2..9a3d3bdd1 100755 --- a/workflow/engine/bin/tasks/cliWorkspaces.php +++ b/workflow/engine/bin/tasks/cliWorkspaces.php @@ -327,6 +327,7 @@ function database_upgrade($command, $args) { print_r("Checking database in ".pakeColor::colorize($workspace->name, "INFO")."\n"); else print_r("Upgrading database in ".pakeColor::colorize($workspace->name, "INFO")."\n"); + try { $changes = $workspace->upgradeDatabase($checkOnly); if ($changes != false) { @@ -346,51 +347,6 @@ function database_upgrade($command, $args) { echo "> Error: ".CLI::error($e->getMessage()) . "\n"; } } - - //There records in table "EMAIL_SERVER" - $criteria = new Criteria("workflow"); - - $criteria->addSelectColumn(EmailServerPeer::MESS_UID); - $criteria->setOffset(0); - $criteria->setLimit(1); - - $rsCriteria = EmailServerPeer::doSelectRS($criteria); - - if (!$rsCriteria->next()) { - //Insert the first record - $emailSever = new \ProcessMaker\BusinessModel\EmailServer(); - - $emailConfiguration = System::getEmailConfiguration(); - - if (count($emailConfiguration) > 0) { - $arrayData = array(); - - $arrayData["MESS_ENGINE"] = $emailConfiguration["MESS_ENGINE"]; - $arrayData["MESS_SERVER"] = $emailConfiguration["MESS_SERVER"]; - $arrayData["MESS_PORT"] = (int)($emailConfiguration["MESS_PORT"]); - $arrayData["MESS_RAUTH"] = (int)($emailConfiguration["MESS_RAUTH"]); - $arrayData["MESS_ACCOUNT"] = $emailConfiguration["MESS_ACCOUNT"]; - $arrayData["MESS_PASSWORD"] = $emailConfiguration["MESS_PASSWORD"]; - $arrayData["MESS_FROM_MAIL"] = isset($emailConfiguration["MESS_FROM_MAIL"]) ? $emailConfiguration["MESS_FROM_MAIL"] : ""; - $arrayData["MESS_FROM_NAME"] = isset($emailConfiguration["MESS_FROM_NAME"]) ? $emailConfiguration["MESS_FROM_NAME"] : ""; - $arrayData["SMTPSECURE"] = $emailConfiguration["SMTPSecure"]; - $arrayData["MESS_TRY_SEND_INMEDIATLY"] = (int)($emailConfiguration["MESS_TRY_SEND_INMEDIATLY"]); - $arrayData["MAIL_TO"] = $emailConfiguration["MAIL_TO"]; - $arrayData["MESS_DEFAULT"] = (isset($emailConfiguration["MESS_ENABLED"]) && $emailConfiguration["MESS_ENABLED"] . "" == "1")? 1 : 0; - - $arrayData = $emailSever->create($arrayData); - } else { - /*----------------------------------********---------------------------------*/ - if (true) { - // - } else { - /*----------------------------------********---------------------------------*/ - $arrayData = $emailSever->create2(array("MESS_ENGINE" => "MAIL")); - /*----------------------------------********---------------------------------*/ - } - /*----------------------------------********---------------------------------*/ - } - } } function delete_app_from_table($con, $tableName, $appUid, $col="APP_UID") { @@ -680,7 +636,7 @@ function run_check_workspace_disabled_code($args, $opts) } } -function migrate_new_cases_lists($command, $args) { +function migrate_new_cases_lists($command, $args) { $workspaces = get_workspaces_from_args($args); $checkOnly = (strcmp($command, "migrate") == 0); foreach ($workspaces as $workspace) { @@ -701,11 +657,11 @@ function migrate_new_cases_lists($command, $args) { $changes = $workspace->listFirstExecution('check'); if ($workspace->onedb && $changes != true) { $workspace->migrateList($workspace->name); - } + } if ($changes) { if ($checkOnly) { echo "-> List tables are done\n"; - } + } } else { echo "> List tables are done\n"; } diff --git a/workflow/engine/classes/class.wsTools.php b/workflow/engine/classes/class.wsTools.php index 23ff0a97c..92c3c1b46 100755 --- a/workflow/engine/classes/class.wsTools.php +++ b/workflow/engine/classes/class.wsTools.php @@ -781,7 +781,75 @@ class workspaceTools $this->upgradeSchema( $systemSchema ); $this->upgradeSchema( $systemSchemaRbac, false, true, $onedb ); // perform Upgrade to Rbac $this->upgradeData(); + + //There records in table "EMAIL_SERVER" + $criteria = new Criteria("workflow"); + + $criteria->addSelectColumn(EmailServerPeer::MESS_UID); + $criteria->setOffset(0); + $criteria->setLimit(1); + + $rsCriteria = EmailServerPeer::doSelectRS($criteria); + + if (!$rsCriteria->next()) { + //Insert the first record + $arrayData = array(); + + $emailSever = new \ProcessMaker\BusinessModel\EmailServer(); + $emailConfiguration = System::getEmailConfiguration(); + + if (count($emailConfiguration) > 0) { + $arrayData["MESS_ENGINE"] = $emailConfiguration["MESS_ENGINE"]; + + switch ($emailConfiguration["MESS_ENGINE"]) { + case "PHPMAILER": + $arrayData["MESS_SERVER"] = $emailConfiguration["MESS_SERVER"]; + $arrayData["MESS_PORT"] = (int)($emailConfiguration["MESS_PORT"]); + $arrayData["MESS_RAUTH"] = (is_numeric($emailConfiguration["MESS_RAUTH"]))? (int)($emailConfiguration["MESS_RAUTH"]) : (($emailConfiguration["MESS_RAUTH"] . "" == "true")? 1 : 0); + $arrayData["MESS_ACCOUNT"] = $emailConfiguration["MESS_ACCOUNT"]; + $arrayData["MESS_PASSWORD"] = $emailConfiguration["MESS_PASSWORD"]; + $arrayData["MESS_FROM_MAIL"] = (isset($emailConfiguration["MESS_FROM_MAIL"]))? $emailConfiguration["MESS_FROM_MAIL"] : ""; + $arrayData["MESS_FROM_NAME"] = (isset($emailConfiguration["MESS_FROM_NAME"]))? $emailConfiguration["MESS_FROM_NAME"] : ""; + $arrayData["SMTPSECURE"] = $emailConfiguration["SMTPSecure"]; + $arrayData["MESS_TRY_SEND_INMEDIATLY"] = (isset($emailConfiguration["MESS_TRY_SEND_INMEDIATLY"]) && ($emailConfiguration["MESS_TRY_SEND_INMEDIATLY"] . "" == "true" || $emailConfiguration["MESS_TRY_SEND_INMEDIATLY"] . "" == "1"))? 1 : 0; + $arrayData["MAIL_TO"] = $emailConfiguration["MAIL_TO"]; + $arrayData["MESS_DEFAULT"] = (isset($emailConfiguration["MESS_ENABLED"]) && $emailConfiguration["MESS_ENABLED"] . "" == "1")? 1 : 0; + break; + case "MAIL": + $arrayData["MESS_SERVER"] = ""; + $arrayData["MESS_FROM_MAIL"] = (isset($emailConfiguration["MESS_FROM_MAIL"]))? $emailConfiguration["MESS_FROM_MAIL"] : ""; + $arrayData["MESS_FROM_NAME"] = (isset($emailConfiguration["MESS_FROM_NAME"]))? $emailConfiguration["MESS_FROM_NAME"] : ""; + $arrayData["MESS_TRY_SEND_INMEDIATLY"] = (isset($emailConfiguration["MESS_TRY_SEND_INMEDIATLY"]) && ($emailConfiguration["MESS_TRY_SEND_INMEDIATLY"] . "" == "true" || $emailConfiguration["MESS_TRY_SEND_INMEDIATLY"] . "" == "1"))? 1 : 0; + $arrayData["MESS_ACCOUNT"] = ""; + $arrayData["MESS_PASSWORD"] = ""; + $arrayData["MAIL_TO"] = (isset($emailConfiguration["MAIL_TO"]))? $emailConfiguration["MAIL_TO"] : ""; + $arrayData["MESS_DEFAULT"] = (isset($emailConfiguration["MESS_ENABLED"]) && $emailConfiguration["MESS_ENABLED"] . "" == "1")? 1 : 0; + break; + } + + $arrayData = $emailSever->create($arrayData); + } else { + /*----------------------------------********---------------------------------*/ + if (true) { + // + } else { + /*----------------------------------********---------------------------------*/ + $arrayData["MESS_ENGINE"] = "MAIL"; + $arrayData["MESS_SERVER"] = ""; + $arrayData["MESS_ACCOUNT"] = ""; + $arrayData["MESS_PASSWORD"] = ""; + $arrayData["MAIL_TO"] = ""; + $arrayData["MESS_DEFAULT"] = 1; + + $arrayData = $emailSever->create2($arrayData); + /*----------------------------------********---------------------------------*/ + } + /*----------------------------------********---------------------------------*/ + } + } + p11835::execute(); + return true; } @@ -1886,7 +1954,7 @@ class workspaceTools $users = new Users(); G::LoadClass("case"); $case = new Cases(); - + //Select data CANCELLED $canCriteria = $appCache->getSelAllColumns(); $canCriteria->add(AppCacheViewPeer::APP_STATUS, "CANCELLED", CRITERIA::EQUAL); @@ -1902,7 +1970,7 @@ class workspaceTools $listCanceled->create($row); } CLI::logging("> Completed table LIST_CANCELED\n"); - + //Select data COMPLETED $comCriteria = $appCache->getSelAllColumns(); $comCriteria->add(AppCacheViewPeer::APP_STATUS, "COMPLETED", CRITERIA::EQUAL); @@ -1918,7 +1986,7 @@ class workspaceTools $listCompleted->create($row); } CLI::logging("> Completed table LIST_COMPLETED\n"); - + //Select data TO_DO OR DRAFT $inbCriteria = $appCache->getSelAllColumns(); $rsCriteria = AppCacheViewPeer::doSelectRS($inbCriteria); @@ -1967,14 +2035,14 @@ class workspaceTools $listParticipatedLast = new ListParticipatedLast(); $listParticipatedLast->refresh($row); } - + } CLI::logging("> Completed table LIST_INBOX\n"); //With this List is populated the LIST_PARTICIPATED_HISTORY and LIST_PARTICIPATED_LAST CLI::logging("> Completed table LIST_PARTICIPATED_HISTORY\n"); CLI::logging("> Completed table LIST_PARTICIPATED_LAST\n"); - + //Select data TO_DO OR DRAFT CASES CREATED BY AN USER $myiCriteria = $appCache->getSelAllColumns(); $myiCriteria->add(AppCacheViewPeer::DEL_INDEX, "1", CRITERIA::EQUAL); @@ -1982,14 +2050,14 @@ class workspaceTools $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC); //Insert new data LIST_MY_INBOX while ($rsCriteria->next()) { - $row = $rsCriteria->getRow(); + $row = $rsCriteria->getRow(); $listMyInbox = new ListMyInbox(); $listMyInbox ->remove($row["APP_UID"],$row["USR_UID"]); $listMyInbox->setDeleted(false); $listMyInbox->create($row); } CLI::logging("> Completed table LIST_MY_INBOX\n"); - + //Select data PAUSED $delaycriteria = new Criteria("workflow"); $delaycriteria->addSelectColumn(AppDelayPeer::APP_UID); @@ -2015,7 +2083,7 @@ class workspaceTools $listPaused->create($data); } CLI::logging("> Completed table LIST_PAUSED\n"); - + //Select and Insert LIST_UNASSIGNED $unaCriteria = $appCache->getSelAllColumns(); $unaCriteria->add(AppCacheViewPeer::USR_UID, "", CRITERIA::EQUAL); @@ -2024,12 +2092,12 @@ class workspaceTools $del = new ListUnassignedPeer(); $del->doDeleteAll(); $del = new ListUnassignedGroupPeer(); - $del->doDeleteAll(); + $del->doDeleteAll(); while ($rsCriteria->next()) { $row = $rsCriteria->getRow(); $listUnassigned = new ListUnassigned(); - $unaUid = $listUnassigned->generateData($row["APP_UID"],$row["PREVIOUS_USR_UID"]); - } + $unaUid = $listUnassigned->generateData($row["APP_UID"],$row["PREVIOUS_USR_UID"]); + } CLI::logging("> Completed table LIST_UNASSIGNED\n"); CLI::logging("> Completed table LIST_UNASSIGNED_GROUP\n"); @@ -2070,7 +2138,7 @@ class workspaceTools } /** - * This function checks if List tables are going to migrated + * This function checks if List tables are going to migrated * * return boolean value */ @@ -2109,6 +2177,6 @@ class workspaceTools default: return true; } - } + } }