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:
Victor Saisa Lopez
2014-12-09 10:50:14 -04:00
parent 30ee02266e
commit da7f546ade
2 changed files with 8 additions and 5 deletions

View File

@@ -68,7 +68,8 @@ class PMLicensedFeatures
if (!class_exists("pmLicenseManager")) {
require_once ("classes" . PATH_SEP . "class.pmLicenseManager.php");
}
$licenseManager = pmLicenseManager::getSingleton();
$licenseManager = pmLicenseManager::getSingleton(false);
$_SESSION['__sw__'] = true;
$padl = new padl();

View File

@@ -10,7 +10,7 @@ class pmLicenseManager
private static $instance = null;
public function __construct()
public function __construct($flagActivatePlugins = true)
{
G::LoadClass('serverConfiguration');
$oServerConf = &serverConf::getSingleton();
@@ -109,13 +109,15 @@ class pmLicenseManager
$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) {
self::$instance = new pmLicenseManager();
self::$instance = new pmLicenseManager($flagActivatePlugins);
}
return self::$instance;
}