summaryrefslogtreecommitdiff
path: root/app/Controllers/extensionController.php
diff options
context:
space:
mode:
authorGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2015-01-08 14:18:32 +0100
committerGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2015-01-08 14:18:32 +0100
commit73023bc12b81a27045703e1f733faeb2b4e02cec (patch)
tree14aca1a1953d0a813c06794e48a63738abccdcea /app/Controllers/extensionController.php
parent26da4aa448906f857a252507b34d369a386043c6 (diff)
parent0e4e16ac55097aa173c7c439367294ebd7645562 (diff)
Merge branch 'dev' into 252-extensions
Conflicts: app/FreshRSS.php app/Models/Configuration.php app/views/index/index.phtml app/views/index/normal.phtml lib/Minz/Configuration.php lib/Minz/Translate.php lib/lib_rss.php
Diffstat (limited to 'app/Controllers/extensionController.php')
-rw-r--r--app/Controllers/extensionController.php54
1 files changed, 26 insertions, 28 deletions
diff --git a/app/Controllers/extensionController.php b/app/Controllers/extensionController.php
index adb3e1864..3eedcd949 100644
--- a/app/Controllers/extensionController.php
+++ b/app/Controllers/extensionController.php
@@ -81,26 +81,25 @@ class FreshRSS_extension_Controller extends Minz_ActionController {
$url_redirect);
}
+ $conf = null;
if ($ext->getType() === 'system' && FreshRSS_Auth::hasAccess('admin')) {
- $ext->install();
-
- Minz_Configuration::addExtension($ext_name);
- Minz_Configuration::writeFile();
-
- Minz_Request::good(_t('feedback.extensions.enabled', $ext_name),
- $url_redirect);
+ $conf = FreshRSS_Context::$system_conf;
} elseif ($ext->getType() === 'user') {
- $ext->install();
-
- FreshRSS_Context::$conf->addExtension($ext_name);
- FreshRSS_Context::$conf->save();
-
- Minz_Request::good(_t('feedback.extensions.enabled', $ext_name),
- $url_redirect);
+ $conf = FreshRSS_Context::$user_conf;
} else {
Minz_Request::bad(_t('feedback.extensions.no_access', $ext_name),
$url_redirect);
}
+
+ $ext->install();
+
+ $ext_list = $conf->extensions_enabled;
+ array_push_unique($ext_list, $ext_name);
+ $conf->extensions_enabled = $ext_list;
+ $conf->save();
+
+ Minz_Request::good(_t('feedback.extensions.enabled', $ext_name),
+ $url_redirect);
}
Minz_Request::forward($url_redirect, true);
@@ -132,26 +131,25 @@ class FreshRSS_extension_Controller extends Minz_ActionController {
$url_redirect);
}
+ $conf = null;
if ($ext->getType() === 'system' && FreshRSS_Auth::hasAccess('admin')) {
- $ext->uninstall();
-
- Minz_Configuration::removeExtension($ext_name);
- Minz_Configuration::writeFile();
-
- Minz_Request::good(_t('feedback.extensions.disabled', $ext_name),
- $url_redirect);
+ $conf = FreshRSS_Context::$system_conf;
} elseif ($ext->getType() === 'user') {
- $ext->uninstall();
-
- FreshRSS_Context::$conf->removeExtension($ext_name);
- FreshRSS_Context::$conf->save();
-
- Minz_Request::good(_t('feedback.extensions.disabled', $ext_name),
- $url_redirect);
+ $conf = FreshRSS_Context::$user_conf;
} else {
Minz_Request::bad(_t('feedback.extensions.no_access', $ext_name),
$url_redirect);
}
+
+ $ext->uninstall();
+
+ $ext_list = $conf->extensions_enabled;
+ array_remove($ext_list, $ext_name);
+ $conf->extensions_enabled = $ext_list;
+ $conf->save();
+
+ Minz_Request::good(_t('feedback.extensions.disabled', $ext_name),
+ $url_redirect);
}
Minz_Request::forward($url_redirect, true);