remove cnn.php

This commit is contained in:
IsaiDiaz
2025-06-27 12:06:00 -04:00
parent 2cfcc84510
commit 9ae42fc7e4
2 changed files with 25 additions and 146 deletions

View File

@@ -2301,31 +2301,32 @@ function run_check_standard_code($task, $options)
} }
} }
function run_update_plugin_attributes($task, $args) // Commented out due to cnn.php deletion
{ // function run_update_plugin_attributes($task, $args)
try { // {
//Verify data // try {
if (!isset($args[0])) { // //Verify data
throw new Exception("Error: You must specify the name of a plugin"); // if (!isset($args[0])) {
} // throw new Exception("Error: You must specify the name of a plugin");
//Set variables // }
$pluginName = $args[0]; // //Set variables
// virtual SYS_SYS for cache // $pluginName = $args[0];
$sys_sys = uniqid(); // // virtual SYS_SYS for cache
define('SYS_SYS', $sys_sys); // $sys_sys = uniqid();
config(["system.workspace" => $sys_sys]); // define('SYS_SYS', $sys_sys);
foreach (PmSystem::listWorkspaces() as $value) { // config(["system.workspace" => $sys_sys]);
\ProcessMaker\Util\Cnn::connect($value->name); // foreach (PmSystem::listWorkspaces() as $value) {
//Update plugin attributes // \ProcessMaker\Util\Cnn::connect($value->name);
$pmPluginRegistry = PluginRegistry::newInstance(); // //Update plugin attributes
$pmPluginRegistry->updatePluginAttributesInAllWorkspaces($value->name, $pluginName); // $pmPluginRegistry = PluginRegistry::newInstance();
} // $pmPluginRegistry->updatePluginAttributesInAllWorkspaces($value->name, $pluginName);
// }
echo "Done!\n"; // echo "Done!\n";
} catch (Exception $e) { // } catch (Exception $e) {
error_log($e->getMessage() . "\n"); // error_log($e->getMessage() . "\n");
} // }
} // }
function run_check_plugin_disabled_code($task, $args) function run_check_plugin_disabled_code($task, $args)
{ {

View File

@@ -1,122 +0,0 @@
<?php
namespace ProcessMaker\Util;
use Propel;
/**
* Class Cnn
* @package ProcessMaker\Util
*/
class Cnn
{
private $dbFile;
private $workspace;
/**
* Establishes connection for the workspace
* @param string $workspace Name workspace
*/
public static function connect($workspace)
{
$cnn = new static();
$cnn->workspace = $workspace;
Propel::initConfiguration($cnn->buildParams());
}
/**
* Loads the parameters required to connect to each workspace database
* @return array
*/
public function buildParams()
{
if ($this->readFileDBWorkspace()) {
return $this->prepareDataSources();
}
return [];
}
/**
* Reads the workspace db.php file
* @return bool
*/
private function readFileDBWorkspace()
{
if (file_exists(PATH_DB . $this->workspace . PATH_SEP . 'db.php')) {
$this->dbFile = file_get_contents(PATH_DB . $this->workspace . PATH_SEP . 'db.php');
return true;
}
return false;
}
/**
* Prepares data resources
* @return array
*/
private function prepareDataSources()
{
$phpCode = preg_replace(
'/define\s*\(\s*[\x22\x27](.*)[\x22\x27]\s*,\s*(\x22.*\x22|\x27.*\x27)\s*\)\s*;/i',
'$$1 = $2;',
$this->dbFile
);
$phpCode = str_replace(['<?php', '<?', '?>'], '', $phpCode);
eval($phpCode);
$dataSources = [];
$dataSources['datasources'] = array(
'workflow' => array(
'connection' => $this->buildDsnString(
$DB_ADAPTER,
$DB_HOST,
$DB_NAME,
$DB_USER,
urlencode($DB_PASS)
),
'adapter' => "mysql"
),
'rbac' => array(
'connection' => $this->buildDsnString(
$DB_ADAPTER,
$DB_RBAC_HOST,
$DB_RBAC_NAME,
$DB_RBAC_USER,
urlencode($DB_RBAC_PASS)
),
'adapter' => "mysql"
),
'report' => array(
'connection' => $this->buildDsnString(
$DB_ADAPTER,
$DB_REPORT_HOST,
$DB_REPORT_NAME,
$DB_REPORT_USER,
urlencode($DB_REPORT_PASS)
),
'adapter' => "mysql"
)
);
return $dataSources;
}
/**
* Builds the DSN string to be used by PROPEL
* @param string $adapter
* @param string $host
* @param string $name
* @param string $user
* @param string $pass
* @return string
*/
private function buildDsnString($adapter, $host, $name, $user, $pass)
{
$dns = $adapter . "://" . $user . ":" . $pass . "@" . $host . "/" . $name;
switch ($adapter) {
case 'mysql':
$dns .= '?encoding=utf8';
break;
}
return $dns;
}
}