aboutsummaryrefslogtreecommitdiff
path: root/app/Controllers/extensionController.php
diff options
context:
space:
mode:
authorGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2015-01-14 21:38:35 +0100
committerGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2015-01-14 21:38:35 +0100
commit806b4de54ffd1dd682ec7b42a5be8343a464e5f0 (patch)
tree05e74724c0c80d32c2073d51d06c3bc9cd4b2f33 /app/Controllers/extensionController.php
parentf1ffdd8b9d1f3d8742f1328dfa805664a66e34aa (diff)
Add mechanism at (un)install of an extension
Test if the install or uninstall has been successfully performed. If these methods return true, all is ok but if a string is returned, the string must explain the problem. This problem is stored in log file. A feedback is given to explain to check log file. This commit fix a problem in the english translation of feedback.sub.feed.internal_problem.
Diffstat (limited to 'app/Controllers/extensionController.php')
-rw-r--r--app/Controllers/extensionController.php40
1 files changed, 26 insertions, 14 deletions
diff --git a/app/Controllers/extensionController.php b/app/Controllers/extensionController.php
index e013bb369..692595a4c 100644
--- a/app/Controllers/extensionController.php
+++ b/app/Controllers/extensionController.php
@@ -88,15 +88,21 @@ class FreshRSS_extension_Controller extends Minz_ActionController {
$url_redirect);
}
- $ext->install();
+ $res = $ext->install();
- $ext_list = $conf->extensions_enabled;
- array_push_unique($ext_list, $ext_name);
- $conf->extensions_enabled = $ext_list;
- $conf->save();
+ if ($res === true) {
+ $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::good(_t('feedback.extensions.enable.ok', $ext_name),
+ $url_redirect);
+ } else {
+ Minz_Log::warning('Can not enable extension ' . $ext_name . ': ' . $res);
+ Minz_Request::bad(_t('feedback.extensions.enable.ko', $ext_name, _url('index', 'logs')),
+ $url_redirect);
+ }
}
Minz_Request::forward($url_redirect, true);
@@ -138,15 +144,21 @@ class FreshRSS_extension_Controller extends Minz_ActionController {
$url_redirect);
}
- $ext->uninstall();
+ $res = $ext->uninstall();
- $ext_list = $conf->extensions_enabled;
- array_remove($ext_list, $ext_name);
- $conf->extensions_enabled = $ext_list;
- $conf->save();
+ if ($res === true) {
+ $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::good(_t('feedback.extensions.disable.ok', $ext_name),
+ $url_redirect);
+ } else {
+ Minz_Log::warning('Can not unable extension ' . $ext_name . ': ' . $res);
+ Minz_Request::bad(_t('feedback.extensions.disable.ko', $ext_name, _url('index', 'logs')),
+ $url_redirect);
+ }
}
Minz_Request::forward($url_redirect, true);