aboutsummaryrefslogtreecommitdiff
path: root/app/Controllers/extensionController.php
diff options
context:
space:
mode:
authorGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2014-12-08 13:36:08 +0100
committerGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2014-12-08 13:36:08 +0100
commit76358846abe2eba95668d66d3847cbdfe3f8bcdc (patch)
treebe190958f4527725ac2ba18ffe6baa9b433f4b62 /app/Controllers/extensionController.php
parent0543f96a97fa860fdec38d61b117e6b5addf94b6 (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.php22
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);
}
}