diff --git a/workflow/engine/Features/ActionsByEmail/ActionsByEmailFeature.php b/workflow/engine/Features/ActionsByEmail/ActionsByEmailFeature.php index dda882c3d..14a749421 100644 --- a/workflow/engine/Features/ActionsByEmail/ActionsByEmailFeature.php +++ b/workflow/engine/Features/ActionsByEmail/ActionsByEmailFeature.php @@ -46,10 +46,14 @@ class ActionsByEmailFeature extends PMFeature public function executeTriggers($triggerId, $data) { - $method = $this->triggers[$triggerId]; - require_once PATH_FEATURES. $this->sFeatureFolder . DS .$this->classInstance['filename']; - $actionsByEmail = new $this->classInstance['classname'](); - $actionsByEmail->$method($data); + if (PMLicensedFeatures + ::getSingleton() + ->verifyfeature('zLhSk5TeEQrNFI2RXFEVktyUGpnczV1WEJNWVp6cjYxbTU3R29mVXVZNWhZQT0=')) { + $method = $this->triggers[$triggerId]; + require_once PATH_FEATURES. $this->sFeatureFolder . DS .$this->classInstance['filename']; + $actionsByEmail = new $this->classInstance['classname'](); + $actionsByEmail->$method($data); + } } public function registerTrigger($triggerId, $method) diff --git a/workflow/engine/Features/ActionsByEmail/ActionsByEmailService.php b/workflow/engine/Features/ActionsByEmail/ActionsByEmailService.php index a722311e3..b590aa164 100644 --- a/workflow/engine/Features/ActionsByEmail/ActionsByEmailService.php +++ b/workflow/engine/Features/ActionsByEmail/ActionsByEmailService.php @@ -13,7 +13,7 @@ class ActionsByEmailService { if (\PMLicensedFeatures ::getSingleton() - ->verifyfeature('zCeazVrMjVTQVVLcTdwSHNaSzMwTGNCdXRqTm9aYlEzVnI=')) { + ->verifyfeature('zLhSk5TeEQrNFI2RXFEVktyUGpnczV1WEJNWVp6cjYxbTU3R29mVXVZNWhZQT0=')) { switch ($params['type']) { case 'configuration': require_once 'classes/model/AbeConfiguration.php'; @@ -33,11 +33,11 @@ class ActionsByEmailService public function loadConfiguration($params) { if ($params['type'] != 'activity' - || (\PMLicensedFeatures + || !\PMLicensedFeatures ::getSingleton() - ->verifyfeature('zCeazVrMjVTQVVLcTdwSHNaSzMwTGNCdXRqTm9aYlEzVnI='))) + ->verifyfeature('zLhSk5TeEQrNFI2RXFEVktyUGpnczV1WEJNWVp6cjYxbTU3R29mVXVZNWhZQT0=')) { - return NULL; + return false; } set_include_path(PATH_FEATURES . 'ActionsByEmail' . PATH_SEPARATOR . get_include_path()); require_once 'classes/model/AbeConfiguration.php'; diff --git a/workflow/engine/Features/FeaturesHandler.php b/workflow/engine/Features/FeaturesHandler.php index f303d28f9..741f82fa1 100644 --- a/workflow/engine/Features/FeaturesHandler.php +++ b/workflow/engine/Features/FeaturesHandler.php @@ -6,16 +6,10 @@ namespace Features; */ class FeaturesHandler { - public function retrieveConfigurations($params) - { - foreach ($this->getFeatureList() as $feature) { - - } - } - public function loadConfiguration($params) { $features = $this->getFeatureList(); + $configurations = array(); foreach ($features as $feature) { $service = $this->getFeatureService(array('name' => $feature->name)); $configurations[] = $service->loadConfiguration($params); diff --git a/workflow/engine/classes/class.featureRegistry.php b/workflow/engine/classes/class.featureRegistry.php index 5067a9c6d..a2b20d055 100755 --- a/workflow/engine/classes/class.featureRegistry.php +++ b/workflow/engine/classes/class.featureRegistry.php @@ -28,7 +28,7 @@ class PMFeatureRegistry { private $features = array (); - private $keys = array ('ActionsByEmail' => 'zCeazVrMjVTQVVLcTdwSHNaSzMwTGNCdXRqTm9aYlEzVnI='); + private $keys = array ('ActionsByEmail' => 'zLhSk5TeEQrNFI2RXFEVktyUGpnczV1WEJNWVp6cjYxbTU3R29mVXVZNWhZQT0='); private static $instance = null; /** @@ -171,7 +171,7 @@ class PMFeatureRegistry } } - public function validateFeatureLicense($featureName) + public function validateFeatureLicense($featureName) { if ( isset($this->keys[$featureName]) diff --git a/workflow/engine/methods/services/ActionsByEmail.php b/workflow/engine/methods/services/ActionsByEmail.php index 7163df4b9..f880dbf63 100644 --- a/workflow/engine/methods/services/ActionsByEmail.php +++ b/workflow/engine/methods/services/ActionsByEmail.php @@ -2,7 +2,7 @@ /*----------------------------------********---------------------------------*/ if (PMLicensedFeatures ::getSingleton() - ->verifyfeature('zCeazVrMjVTQVVLcTdwSHNaSzMwTGNCdXRqTm9aYlEzVnI=')) { + ->verifyfeature('zLhSk5TeEQrNFI2RXFEVktyUGpnczV1WEJNWVp6cjYxbTU3R29mVXVZNWhZQT0=')) { switch ($_REQUEST['action']) { case 'processABE' : $G_PUBLISH = new Publisher(); diff --git a/workflow/engine/src/ProcessMaker/Services/Api/System.php b/workflow/engine/src/ProcessMaker/Services/Api/System.php index aba83efad..acaba8ee2 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/System.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/System.php @@ -29,5 +29,30 @@ class System extends Api throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } } -} + /** + * @return array + * + * @author Gustavo Cruz + * @copyright Colosa - Bolivia + * + * @url GET /enabled-features + */ + public function doGetEnabledFeatures() + { + try { + $enabledFeatures = []; + $keys = array ('zLhSk5TeEQrNFI2RXFEVktyUGpnczV1WEJNWVp6cjYxbTU3R29mVXVZNWhZQT0='); + foreach ($keys as $key) { + if (\PMLicensedFeatures + ::getSingleton() + ->verifyfeature($key)) { + $enabledFeatures[] = $key; + } + } + return $enabledFeatures; + } catch (\Exception $e) { + throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); + } + } +}