BUG 5978 Added uninstall method in PluginRegistry

This commit is contained in:
Alexandre Rosenfeld
2011-04-06 09:07:54 -04:00
parent 29d065f9f1
commit 35d119cc4f

View File

@@ -134,6 +134,14 @@ class PMPluginRegistry {
self::$instance = $instance;
}
/**
* Save the current instance to the plugin singleton
*
*/
function save() {
file_put_contents ( PATH_DATA_SITE . 'plugin.singleton', $this->serializeInstance() );
}
//delete this function, it was here, only for test and debug purposes
function showArrays () {
krumo ( $this->_aPluginDetails);
@@ -372,6 +380,24 @@ class PMPluginRegistry {
$size = file_put_contents ( PATH_DATA_SITE . 'plugin.singleton', $oPluginRegistry->serializeInstance() );
}
function uninstallPlugin($sNamespace) {
$this->enablePlugin($sNamespace);
$this->disablePlugin($sNamespace);
$this->save();
foreach ($this->_aPluginDetails as $namespace=>$detail) {
if ( $sNamespace == $namespace ) {
$pluginDir = PATH_PLUGINS . $detail->sPluginFolder;
var_dump($pluginDir);
var_dump($detail->sFilename);
if (isset($detail->sPluginFolder) && !empty($detail->sPluginFolder) && file_exists($plugin_dir))
G::rm_dir($plugin_dir);
if (isset($detail->sFilename) && !empty($detail->sFilename) && file_exists($detail->sFilename))
unlink(PATH_PLUGINS . $detail->sFilename);
}
}
}
/**
* install the plugin
*