diff options
| author | 2014-12-08 13:36:08 +0100 | |
|---|---|---|
| committer | 2014-12-08 13:36:08 +0100 | |
| commit | 76358846abe2eba95668d66d3847cbdfe3f8bcdc (patch) | |
| tree | be190958f4527725ac2ba18ffe6baa9b433f4b62 /app/Controllers/extensionController.php | |
| parent | 0543f96a97fa860fdec38d61b117e6b5addf94b6 (diff) | |
Implement extension deletion
See https://github.com/FreshRSS/FreshRSS/issues/252
Diffstat (limited to 'app/Controllers/extensionController.php')
| -rw-r--r-- | app/Controllers/extensionController.php | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/app/Controllers/extensionController.php b/app/Controllers/extensionController.php index cd56de9eb..adb3e1864 100644 --- a/app/Controllers/extensionController.php +++ b/app/Controllers/extensionController.php @@ -172,6 +172,26 @@ class FreshRSS_extension_Controller extends Minz_ActionController { } $url_redirect = array('c' => 'extension', 'a' => 'index'); - Minz_Request::bad('not implemented yet!', $url_redirect); + + if (Minz_Request::isPost()) { + $ext_name = urldecode(Minz_Request::param('e')); + $ext = Minz_ExtensionManager::find_extension($ext_name); + + if (is_null($ext)) { + Minz_Request::bad(_t('feedback.extensions.not_found', $ext_name), + $url_redirect); + } + + $res = recursive_unlink($ext->getPath()); + if ($res) { + Minz_Request::good(_t('feedback.extensions.removed', $ext_name), + $url_redirect); + } else { + Minz_Request::bad(_t('feedback.extensions.cannot_delete', $ext_name), + $url_redirect); + } + } + + Minz_Request::forward($url_redirect, true); } } |
