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)
{
try {
//Verify data
if (!isset($args[0])) {
throw new Exception("Error: You must specify the name of a plugin");
}
//Set variables
$pluginName = $args[0];
// virtual SYS_SYS for cache
$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
$pmPluginRegistry = PluginRegistry::newInstance();
$pmPluginRegistry->updatePluginAttributesInAllWorkspaces($value->name, $pluginName);
}
// Commented out due to cnn.php deletion
// function run_update_plugin_attributes($task, $args)
// {
// try {
// //Verify data
// if (!isset($args[0])) {
// throw new Exception("Error: You must specify the name of a plugin");
// }
// //Set variables
// $pluginName = $args[0];
// // virtual SYS_SYS for cache
// $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
// $pmPluginRegistry = PluginRegistry::newInstance();
// $pmPluginRegistry->updatePluginAttributesInAllWorkspaces($value->name, $pluginName);
// }
echo "Done!\n";
} catch (Exception $e) {
error_log($e->getMessage() . "\n");
}
}
// echo "Done!\n";
// } catch (Exception $e) {
// error_log($e->getMessage() . "\n");
// }
// }
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;
}
}