PM-1099 "El archivo plugin.singleton se reescribe muchas..." SOLVED
Issue:
El archivo plugin.singleton se reescribe muchas veces para un solo request
Cause:
Al instanciar un objeto de la clase "pmLicenseManager" se hace una llamada al metodo "activateFeatures", y
este proceso ocasiona que cuando un usuario haga un request a un determinado modulo de ProcessMaker se
hagan varias llamadas al metodo "activateFeatures"
Solution:
Se ha agregado un parametro al contructor de la clase "pmLicenseManager" el cual evita la ejecucion
del metodo "activateFeatures"
This commit is contained in:
@@ -68,7 +68,8 @@ class PMLicensedFeatures
|
|||||||
if (!class_exists("pmLicenseManager")) {
|
if (!class_exists("pmLicenseManager")) {
|
||||||
require_once ("classes" . PATH_SEP . "class.pmLicenseManager.php");
|
require_once ("classes" . PATH_SEP . "class.pmLicenseManager.php");
|
||||||
}
|
}
|
||||||
$licenseManager = pmLicenseManager::getSingleton();
|
|
||||||
|
$licenseManager = pmLicenseManager::getSingleton(false);
|
||||||
|
|
||||||
$_SESSION['__sw__'] = true;
|
$_SESSION['__sw__'] = true;
|
||||||
$padl = new padl();
|
$padl = new padl();
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ class pmLicenseManager
|
|||||||
|
|
||||||
private static $instance = null;
|
private static $instance = null;
|
||||||
|
|
||||||
public function __construct()
|
public function __construct($flagActivatePlugins = true)
|
||||||
{
|
{
|
||||||
G::LoadClass('serverConfiguration');
|
G::LoadClass('serverConfiguration');
|
||||||
$oServerConf = &serverConf::getSingleton();
|
$oServerConf = &serverConf::getSingleton();
|
||||||
@@ -109,13 +109,15 @@ class pmLicenseManager
|
|||||||
$oServerConf->setProperty ( 'LICENSE_INFO', $licInfoA );
|
$oServerConf->setProperty ( 'LICENSE_INFO', $licInfoA );
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->activateFeatures ();
|
if ($flagActivatePlugins) {
|
||||||
|
$this->activateFeatures();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function getSingleton()
|
public static function getSingleton($flagActivatePlugins = true)
|
||||||
{
|
{
|
||||||
if (self::$instance == null) {
|
if (self::$instance == null) {
|
||||||
self::$instance = new pmLicenseManager();
|
self::$instance = new pmLicenseManager($flagActivatePlugins);
|
||||||
}
|
}
|
||||||
return self::$instance;
|
return self::$instance;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user