From d6afffd4aacb655e7f3c36519e7f5e721b5ae0e7 Mon Sep 17 00:00:00 2001 From: SatoshiDark Date: Mon, 20 Jun 2016 14:29:26 -0400 Subject: [PATCH] ALF-16: Disable function from plugins fix --- workflow/engine/classes/class.pluginRegistry.php | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/workflow/engine/classes/class.pluginRegistry.php b/workflow/engine/classes/class.pluginRegistry.php index b0b1c547d..55c50635e 100755 --- a/workflow/engine/classes/class.pluginRegistry.php +++ b/workflow/engine/classes/class.pluginRegistry.php @@ -316,14 +316,16 @@ class PMPluginRegistry if ($eventPlugin == 1) { //$plugin = new $detail->sClassName( $detail->sNamespace, $detail->sFilename ); $this->_aPlugins[$detail->sNamespace] = $detail; - if (method_exists( $detail, "disable" )) { - $detail->disable(); + // If plugin class exists check if disable method exist, + // otherwise use default plugin details + if (class_exists($detail->sClassName)) { + $plugin = new $detail->sClassName($detail->sNamespace, $detail->sFilename); + } else { + $plugin = $detail; + } + if (method_exists($plugin, "disable")) { + $plugin->disable(); } - //flag Only Plugin actionsByEmail - if($detail->sNamespace == 'actionsByEmail'){ - $plugin = new $detail->sClassName( $detail->sNamespace, $detail->sFilename ); - $plugin->disable(); - } } $sw = true;