This commit is contained in:
Roly Rudy Gutierrez Pinto
2017-05-19 16:20:44 -04:00
parent 23fad3c548
commit 23a928c7e0
3 changed files with 31 additions and 7 deletions

View File

@@ -74,15 +74,18 @@ function flush_cache($args, $opts)
Bootstrap::setConstantsRelatedWs($workspace->name);
$pathSingleton = PATH_DATA . "sites" . PATH_SEP . $workspace->name . PATH_SEP . "plugin.singleton";
$oPluginRegistry = PMPluginRegistry::loadSingleton($pathSingleton);
$items = \PMPlugin::getlist($workspace->name);
$items = \PMPlugin::getListAllPlugins($workspace->name);
foreach ($items as $item) {
if ($item["sStatusFile"] === true) {
$path = PATH_PLUGINS . $item["sFile"];
require_once($path);
$details = $oPluginRegistry->getPluginDetails($item["sFile"]);
if ($item->enabled === true) {
require_once($item->sFilename);
$details = $oPluginRegistry->getPluginDetails(basename($item->sFilename));
//Only if the API directory structure is defined
$pathApiDirectory = PATH_PLUGINS . $details->sPluginFolder . PATH_SEP . "src" . PATH_SEP . "Services" . PATH_SEP . "Api";
if (is_dir($pathApiDirectory)) {
$pluginSrcDir = PATH_PLUGINS . $details->sNamespace . PATH_SEP . 'src';
$loader = \Maveriks\Util\ClassLoader::getInstance();
$loader->add($pluginSrcDir);
$oPluginRegistry->registerRestService($details->sNamespace);
if (class_exists($details->sClassName)) {
$oPlugin = new $details->sClassName($details->sNamespace, $details->sFilename);
$oPlugin->setup();

View File

@@ -520,7 +520,7 @@ class PMPlugin
* @param string $workspace
* @return array
*/
public static function getList($workspace)
public static function getListPluginsManager($workspace)
{
$items = Array();
$aPluginsPP = array();
@@ -576,6 +576,27 @@ class PMPlugin
}
return $items;
}
public static function getListAllPlugins($workspace)
{
$pathSingleton = PATH_DATA . "sites" . PATH_SEP . $workspace . PATH_SEP . "plugin.singleton";
$oPluginRegistry = PMPluginRegistry::loadSingleton($pathSingleton);
//$oPluginRegistry = PMPluginRegistry::getSingleton();
$items = [];
if ($handle = opendir(PATH_PLUGINS)) {
while (false !== ($file = readdir($handle))) {
if (strpos($file, '.php', 1) && is_file(PATH_PLUGINS . $file)) {
include_once (PATH_PLUGINS . $file);
$detail = $oPluginRegistry->getPluginDetails($file);
if ($detail !== null) {
$items[] = $detail;
}
}
}
closedir($handle);
}
return $items;
}
}

View File

@@ -25,5 +25,5 @@
$RBAC->requirePermissions('PM_SETUP_ADVANCE');
G::LoadClass('plugin');
$items = \PMPlugin::getlist(SYS_SYS);
$items = \PMPlugin::getListPluginsManager(SYS_SYS);
echo G::json_encode($items);