BUG 8925 "PM 2.0.39 testing 3 Al eliminar el plugin enterprise desde..." SOLVED

- Al eliminar el plugin enterprise en un workspace, no se elimina del registro de plugins en los demas workspaces, quedando registros de los plugins en el "plugin.singleton" en cada workspace
- Al eliminar un plugin en un workspace se eliminan tambien los registros en los demas workspaces, se ha implementado la accion "uninstall" para los plugins, ahora al eliminar un plugin se llama a su metodo "uninstall" si esta definido
This commit is contained in:
Victor Saisa Lopez
2012-04-18 11:35:02 -04:00
parent a663188f84
commit 3f9c2fb7a0
4 changed files with 139 additions and 117 deletions

View File

@@ -361,28 +361,35 @@ if($limit != 0){
///////
if (!empty($row1["APP_DOC_PLUGIN"])) {
$pluginRegistry = &PMPluginRegistry::getSingleton();
$addonName = $row1["APP_DOC_PLUGIN"];
$pluginName = $row1["APP_DOC_PLUGIN"];
$fieldValue = "";
if (file_exists(PATH_PLUGINS . $addonName . ".php")) {
$addonDetails = $pluginRegistry->getPluginDetails($addonName . ".php");
if (file_exists(PATH_PLUGINS . $pluginName . ".php")) {
$pluginDetail = $pluginRegistry->getPluginDetails($pluginName . ".php");
if ($addonDetails) {
if ($addonDetails->enabled) {
require_once (PATH_PLUGINS . $addonName . PATH_SEP . "class." . $addonName . ".php");
if ($pluginDetail) {
if ($pluginDetail->enabled) {
require_once (PATH_PLUGINS . $pluginName . ".php");
$addonNameClass = $addonName . "Class";
$pluginNameClass = $pluginName . "Plugin";
$objClass = new $addonNameClass();
$objPluginClass = new $pluginNameClass($pluginName);
if (method_exists($objClass, "getNameMethodGetUrlDownload")) {
$addonDetails->sMethodGetUrlDownload = $objClass->getNameMethodGetUrlDownload();
if (isset($objPluginClass->sMethodGetUrlDownload) && !empty($objPluginClass->sMethodGetUrlDownload)) {
if (file_exists(PATH_PLUGINS . $pluginName . PATH_SEP . "class." . $pluginName . ".php")) {
require_once (PATH_PLUGINS . $pluginName . PATH_SEP . "class." . $pluginName . ".php");
if (!empty($addonDetails->sMethodGetUrlDownload)) {
eval("\$url = \$objClass->" . $addonDetails->sMethodGetUrlDownload . "(\"" . $row1["APP_DOC_UID"] . "\");");
$downloadLink = $url;
$pluginNameClass = $pluginName . "Class";
$fieldValue = $row1["APP_DOC_PLUGIN"];
$objClass = new $pluginNameClass();
if (method_exists($objClass, $objPluginClass->sMethodGetUrlDownload)) {
eval("\$url = \$objClass->" . $objPluginClass->sMethodGetUrlDownload . "(\"" . $row1["APP_DOC_UID"] . "\");");
$downloadLink = $url;
$fieldValue = $row1["APP_DOC_PLUGIN"];
}
}
}
}