diff options
Diffstat (limited to 'admin/include/plugins.class.php')
-rw-r--r-- | admin/include/plugins.class.php | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/admin/include/plugins.class.php b/admin/include/plugins.class.php index fd1700447..9c5b238df 100644 --- a/admin/include/plugins.class.php +++ b/admin/include/plugins.class.php @@ -412,6 +412,27 @@ DELETE FROM ' . PLUGINS_TABLE . ' WHERE id="' . $plugin_id . '"'; break; } } + if (file_exists($extract_path.'/obsolete.list') + and $old_files = file($extract_path.'/obsolete.list', FILE_IGNORE_NEW_LINES) + and !empty($old_files)) + { + array_push($old_files, 'obsolete.list'); + foreach($old_files as $old_file) + { + $path = $extract_path.'/'.$old_file; + if (is_file($path)) + { + @unlink($path); + } + elseif (is_dir($path)) + { + if (!$this->deltree($path)) + { + $this->send_to_trash($path); + } + } + } + } } else $status = 'extract_error'; } |