PM-2430 "Admin > Users > Authentication Sources > New: Se..." SOLVED

Issue:
    Admin > Users > Authentication Sources > New: Se muestra la opcion del plugin
    ldapAdvanced aun cuando este esta en estado "Disable" en el workspace
Cause:
    No se verifica si el plugin esta enabled/disabled
Solution:
    Se verifica si el plugin esta enabled/disabled
This commit is contained in:
Victor Saisa Lopez
2015-04-24 12:45:30 -04:00
parent 9e0c462247
commit 92b4b028be
2 changed files with 28 additions and 17 deletions

View File

@@ -149,16 +149,30 @@ try {
}
break;
case 'authSourcesNew':
$pluginRegistry = &PMPluginRegistry::getSingleton();
$arr = Array ();
$oDirectory = dir( PATH_RBAC . 'plugins' . PATH_SEP );
$aAuthSourceTypes = array ();
while ($sObject = $oDirectory->read()) {
if (($sObject != '.') && ($sObject != '..') && ($sObject != '.svn') && ($sObject != 'ldap')) {
if (is_file( PATH_RBAC . 'plugins' . PATH_SEP . $sObject )) {
$sType = trim( str_replace( 'class.', '', str_replace( '.php', '', $sObject ) ) );
$aAuthSourceTypes['sType'] = $sType;
$aAuthSourceTypes['sLabel'] = $sType;
$arr[] = $aAuthSourceTypes;
$sType = trim(str_replace(array("class.", ".php"), "", $sObject));
$statusPlugin = $pluginRegistry->getStatusPlugin($sType);
$flagAdd = false;
if (preg_match("/^(?:enabled|disabled)$/", $statusPlugin)) {
if ($statusPlugin == "enabled") {
$flagAdd = true;
}
} else {
$flagAdd = true;
}
if ($flagAdd) {
$arr[] = array("sType" => $sType, "sLabel" => $sType);
}
}
}
}