|
|
@@ -52,16 +52,23 @@ class FreshRSS_extension_Controller extends Minz_ActionController {
|
|
|
Minz_Request::bad('feedback.extension.already_enabled', $url_redirect);
|
|
|
}
|
|
|
|
|
|
- if ($ext->getType() === 'system' && !FreshRSS_Auth::hasAccess('admin')) {
|
|
|
- Minz_Request::bad('feedback.extension.no_access', $url_redirect);
|
|
|
- }
|
|
|
+ if ($ext->getType() === 'system' && FreshRSS_Auth::hasAccess('admin')) {
|
|
|
+ $ext->install();
|
|
|
+
|
|
|
+ Minz_Configuration::addExtension($ext_name);
|
|
|
+ Minz_Configuration::writeFile();
|
|
|
|
|
|
- $ext->install();
|
|
|
+ Minz_Request::good('feedback.extension.enabled', $url_redirect);
|
|
|
+ } elseif ($ext->getType() === 'user') {
|
|
|
+ $ext->install();
|
|
|
|
|
|
- FreshRSS_Context::$conf->addExtension($ext_name);
|
|
|
- FreshRSS_Context::$conf->save();
|
|
|
+ FreshRSS_Context::$conf->addExtension($ext_name);
|
|
|
+ FreshRSS_Context::$conf->save();
|
|
|
|
|
|
- Minz_Request::good('feedback.extension.enabled', $url_redirect);
|
|
|
+ Minz_Request::good('feedback.extension.enabled', $url_redirect);
|
|
|
+ } else {
|
|
|
+ Minz_Request::bad('feedback.extension.no_access', $url_redirect);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
Minz_Request::forward($url_redirect, true);
|
|
|
@@ -90,16 +97,23 @@ class FreshRSS_extension_Controller extends Minz_ActionController {
|
|
|
Minz_Request::bad('feedback.extension.not_enabled', $url_redirect);
|
|
|
}
|
|
|
|
|
|
- if ($ext->getType() === 'system' && !FreshRSS_Auth::hasAccess('admin')) {
|
|
|
- Minz_Request::bad('feedback.extension.no_access', $url_redirect);
|
|
|
- }
|
|
|
+ if ($ext->getType() === 'system' && FreshRSS_Auth::hasAccess('admin')) {
|
|
|
+ $ext->uninstall();
|
|
|
+
|
|
|
+ Minz_Configuration::removeExtension($ext_name);
|
|
|
+ Minz_Configuration::writeFile();
|
|
|
|
|
|
- $ext->uninstall();
|
|
|
+ Minz_Request::good('feedback.extension.disabled', $url_redirect);
|
|
|
+ } elseif ($ext->getType() === 'user') {
|
|
|
+ $ext->uninstall();
|
|
|
|
|
|
- FreshRSS_Context::$conf->removeExtension($ext_name);
|
|
|
- FreshRSS_Context::$conf->save();
|
|
|
+ FreshRSS_Context::$conf->removeExtension($ext_name);
|
|
|
+ FreshRSS_Context::$conf->save();
|
|
|
|
|
|
- Minz_Request::good('feedback.extension.disabled', $url_redirect);
|
|
|
+ Minz_Request::good('feedback.extension.disabled', $url_redirect);
|
|
|
+ } else {
|
|
|
+ Minz_Request::bad('feedback.extension.no_access', $url_redirect);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
Minz_Request::forward($url_redirect, true);
|