summaryrefslogtreecommitdiff
path: root/app
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
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')
-rw-r--r--app/Controllers/extensionController.php40
-rw-r--r--app/i18n/en/feedback.php12
-rw-r--r--app/i18n/fr/feedback.php10
3 files changed, 43 insertions, 19 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);
diff --git a/app/i18n/en/feedback.php b/app/i18n/en/feedback.php
index e9499ed46..19af81e5b 100644
--- a/app/i18n/en/feedback.php
+++ b/app/i18n/en/feedback.php
@@ -31,8 +31,14 @@ return array(
),
'extensions' => array(
'already_enabled' => '%s is already enabled',
- 'disabled' => '%s is now disabled',
- 'enabled' => '%s is now enabled',
+ 'disable' => array(
+ 'ko' => '%s cannot be disabled. <a href="%s">Check FressRSS logs</a> for details.',
+ 'ok' => '%s is now disabled',
+ ),
+ 'enable' => array(
+ 'ko' => '%s cannot be enabled. <a href="%s">Check FressRSS logs</a> for details.',
+ 'ok' => '%s is now enabled',
+ ),
'no_access' => 'You have no access on %s',
'not_enabled' => '%s is not enabled yet',
'not_found' => '%s does not exist',
@@ -67,7 +73,7 @@ return array(
'already_subscribed' => 'You have already subscribed to <em>%s</em>',
'deleted' => 'Feed has been deleted',
'error' => 'Feed cannot be updated',
- 'internal_problem_feed' => 'The RSS feed could not be added. <a href="%s">Check FressRSS logs</a> for details.',
+ 'internal_problem' => 'The RSS feed could not be added. <a href="%s">Check FressRSS logs</a> for details.',
'invalid_url' => 'URL <em>%s</em> is invalid',
'marked_read' => 'Feeds have been marked as read',
'n_actualized' => '%d feeds have been updated',
diff --git a/app/i18n/fr/feedback.php b/app/i18n/fr/feedback.php
index c99314411..e2364a251 100644
--- a/app/i18n/fr/feedback.php
+++ b/app/i18n/fr/feedback.php
@@ -31,8 +31,14 @@ return array(
),
'extensions' => array(
'already_enabled' => '%s est déjà activée',
- 'disabled' => '%s est désormais désactivée',
- 'enabled' => '%s est désormais activée',
+ 'disable' => array(
+ 'ko' => '%s ne peut pas être désactivée. <a href="%s">Consulter les logs de FreshRSS</a> pour plus de détails.',
+ 'ok' => '%s est désormais désactivée',
+ ),
+ 'enable' => array(
+ 'ko' => '%s ne peut pas être activée. <a href="%s">Consulter les logs de FreshRSS</a> pour plus de détails.',
+ 'ok' => '%s est désormais activée',
+ ),
'no_access' => 'Vous n’avez aucun accès sur %s',
'not_enabled' => '%s n’est pas encore activée',
'not_found' => '%s n’existe pas',