diff --git a/app/Controllers/updateController.php b/app/Controllers/updateController.php
index 35c7d1124..7a8a3d6c0 100644
--- a/app/Controllers/updateController.php
+++ b/app/Controllers/updateController.php
@@ -59,24 +59,26 @@ class FreshRSS_update_Controller extends Minz_ActionController {
public function indexAction() {
Minz_View::prependTitle(_t('admin.update.title') . ' · ');
- if (!is_writable(FRESHRSS_PATH)) {
- $this->view->message = array(
- 'status' => 'bad',
- 'title' => _t('gen.short.damn'),
- 'body' => _t('feedback.update.file_is_nok', FRESHRSS_PATH)
- );
- } elseif (file_exists(UPDATE_FILENAME)) {
+ if (file_exists(UPDATE_FILENAME)) {
// There is an update file to apply!
$version = @file_get_contents(join_path(DATA_PATH, 'last_update.txt'));
- if (empty($version)) {
+ if ($version == '') {
$version = 'unknown';
}
- $this->view->update_to_apply = true;
- $this->view->message = array(
- 'status' => 'good',
- 'title' => _t('gen.short.ok'),
- 'body' => _t('feedback.update.can_apply', $version)
- );
+ if (is_writable(FRESHRSS_PATH)) {
+ $this->view->update_to_apply = true;
+ $this->view->message = array(
+ 'status' => 'good',
+ 'title' => _t('gen.short.ok'),
+ 'body' => _t('feedback.update.can_apply', $version),
+ );
+ } else {
+ $this->view->message = array(
+ 'status' => 'bad',
+ 'title' => _t('gen.short.damn'),
+ 'body' => _t('feedback.update.file_is_nok', $version, FRESHRSS_PATH),
+ );
+ }
}
}
diff --git a/app/i18n/cz/feedback.php b/app/i18n/cz/feedback.php
index f2bd87c77..f7b8d8c73 100644
--- a/app/i18n/cz/feedback.php
+++ b/app/i18n/cz/feedback.php
@@ -87,7 +87,7 @@ return array(
'update' => array(
'can_apply' => 'FreshRSS bude nyní upgradováno na verzi %s.',
'error' => 'Během upgrade došlo k chybě: %s',
- 'file_is_nok' => 'Zkontrolujte oprávnění adresáře %s. HTTP server musí mít do tohoto adresáře práva zápisu',
+ 'file_is_nok' => 'Verzi %s. Zkontrolujte oprávnění adresáře %s. HTTP server musí mít do tohoto adresáře práva zápisu',
'finished' => 'Upgrade hotov!',
'none' => 'Novější verze není k dispozici',
'server_not_found' => 'Nelze nalézt server s instalačním souborem. [%s]',
diff --git a/app/i18n/de/feedback.php b/app/i18n/de/feedback.php
index 195083b36..e2e9a71ba 100644
--- a/app/i18n/de/feedback.php
+++ b/app/i18n/de/feedback.php
@@ -87,7 +87,7 @@ return array(
'update' => array(
'can_apply' => 'FreshRSS wird nun auf die Version %s aktualisiert.',
'error' => 'Der Aktualisierungsvorgang stieß auf einen Fehler: %s',
- 'file_is_nok' => 'Überprüfen Sie die Berechtigungen des Verzeichnisses %s. Der HTTP-Server muss Schreibrechte besitzen',
+ 'file_is_nok' => 'Version %s. Überprüfen Sie die Berechtigungen des Verzeichnisses %s. Der HTTP-Server muss Schreibrechte besitzen',
'finished' => 'Aktualisierung abgeschlossen!',
'none' => 'Keine Aktualisierung zum Anwenden',
'server_not_found' => 'Der Aktualisierungs-Server kann nicht gefunden werden. [%s]',
diff --git a/app/i18n/en/feedback.php b/app/i18n/en/feedback.php
index 67c5fe97d..334d9a8f5 100644
--- a/app/i18n/en/feedback.php
+++ b/app/i18n/en/feedback.php
@@ -87,7 +87,7 @@ return array(
'update' => array(
'can_apply' => 'FreshRSS will now be updated to the version %s.',
'error' => 'The update process has encountered an error: %s',
- 'file_is_nok' => 'Check permissions on %s directory. HTTP server must have rights to write into',
+ 'file_is_nok' => 'New version %s available, but check permissions on %s directory. HTTP server must have rights to write into',
'finished' => 'Update completed!',
'none' => 'No update to apply',
'server_not_found' => 'Update server cannot be found. [%s]',
diff --git a/app/i18n/fr/feedback.php b/app/i18n/fr/feedback.php
index 5966fc3a7..aa19cd02b 100644
--- a/app/i18n/fr/feedback.php
+++ b/app/i18n/fr/feedback.php
@@ -87,7 +87,7 @@ return array(
'update' => array(
'can_apply' => 'FreshRSS va maintenant être mis à jour vers la version %s.',
'error' => 'La mise à jour a rencontré un problème : %s',
- 'file_is_nok' => 'Veuillez vérifier les droits sur le répertoire %s. Le serveur HTTP doit être capable d’écrire dedans',
+ 'file_is_nok' => 'Nouvelle version %s disponible, mais veuillez vérifier les droits sur le répertoire %s. Le serveur HTTP doit être capable d’écrire dedans',
'finished' => 'La mise à jour est terminée !',
'none' => 'Aucune mise à jour à appliquer',
'server_not_found' => 'Le serveur de mise à jour n’a pas été trouvé. [%s]',
diff --git a/app/i18n/it/feedback.php b/app/i18n/it/feedback.php
index 5851cb2e6..8f3cf3ed6 100644
--- a/app/i18n/it/feedback.php
+++ b/app/i18n/it/feedback.php
@@ -87,7 +87,7 @@ return array(
'update' => array(
'can_apply' => 'FreshRSS verrà aggiornato alla versione %s.',
'error' => 'Il processo di aggiornamento ha riscontrato il seguente errore: %s',
- 'file_is_nok' => 'Verifica i permessi della cartella %s. Il server HTTP deve avere i permessi per la scrittura ',
+ 'file_is_nok' => 'Nuova versione %s, ma verifica i permessi della cartella %s. Il server HTTP deve avere i permessi per la scrittura ',
'finished' => 'Aggiornamento completato con successo!',
'none' => 'Nessun aggiornamento disponibile',
'server_not_found' => 'Server per aggiornamento non disponibile. [%s]',
diff --git a/app/i18n/nl/feedback.php b/app/i18n/nl/feedback.php
index 386b8d415..3a064eb0a 100644
--- a/app/i18n/nl/feedback.php
+++ b/app/i18n/nl/feedback.php
@@ -87,7 +87,7 @@ return array(
'update' => array(
'can_apply' => 'FreshRSS word nu vernieud naar versie %s.',
'error' => 'Het vernieuwingsproces kwam een fout tegen: %s',
- 'file_is_nok' => 'Controleer permissies op %s map. HTTP server moet rechten hebben om er in te schrijven',
+ 'file_is_nok' => 'Versie %s. Controleer permissies op %s map. HTTP server moet rechten hebben om er in te schrijven',
'finished' => 'Vernieuwing compleet!',
'none' => 'Geen vernieuwing om toe te passen',
'server_not_found' => 'Vernieuwings server kan niet worden gevonden. [%s]',
diff --git a/app/i18n/ru/feedback.php b/app/i18n/ru/feedback.php
index e7f6b9f85..ffebd6dc9 100644
--- a/app/i18n/ru/feedback.php
+++ b/app/i18n/ru/feedback.php
@@ -2,108 +2,108 @@
return array(
'admin' => array(
- 'optimization_complete' => 'Optimisation complete',
+ 'optimization_complete' => 'Optimisation complete', //TODO
),
'access' => array(
- 'denied' => 'You don’t have permission to access this page',
- 'not_found' => 'You are looking for a page which doesn’t exist',
+ 'denied' => 'You don’t have permission to access this page', //TODO
+ 'not_found' => 'You are looking for a page which doesn’t exist', //TODO
),
'auth' => array(
'form' => array(
- 'not_set' => 'A problem occured during authentication system configuration. Please retry later.',
- 'set' => 'Form is now your default authentication system.',
+ 'not_set' => 'A problem occured during authentication system configuration. Please retry later.', //TODO
+ 'set' => 'Form is now your default authentication system.', //TODO
),
'login' => array(
- 'invalid' => 'Login is invalid',
- 'success' => 'You are connected',
+ 'invalid' => 'Login is invalid', //TODO
+ 'success' => 'You are connected', //TODO
),
'logout' => array(
- 'success' => 'You are disconnected',
+ 'success' => 'You are disconnected', //TODO
),
- 'no_password_set' => 'Administrator password hasn’t been set. This feature isn’t available.',
+ 'no_password_set' => 'Administrator password hasn’t been set. This feature isn’t available.', //TODO
),
'conf' => array(
- 'error' => 'An error occurred during configuration saving',
- 'query_created' => 'Query "%s" has been created.',
- 'shortcuts_updated' => 'Shortcuts have been updated',
- 'updated' => 'Configuration has been updated',
+ 'error' => 'An error occurred during configuration saving', //TODO
+ 'query_created' => 'Query "%s" has been created.', //TODO
+ 'shortcuts_updated' => 'Shortcuts have been updated', //TODO
+ 'updated' => 'Configuration has been updated', //TODO
),
'extensions' => array(
- 'already_enabled' => '%s is already enabled',
+ 'already_enabled' => '%s is already enabled', //TODO
'disable' => array(
- 'ko' => '%s cannot be disabled. Check FressRSS logs for details.',
- 'ok' => '%s is now disabled',
+ 'ko' => '%s cannot be disabled. Check FressRSS logs for details.', //TODO
+ 'ok' => '%s is now disabled', //TODO
),
'enable' => array(
- 'ko' => '%s cannot be enabled. Check FressRSS logs for details.',
- 'ok' => '%s is now enabled',
+ 'ko' => '%s cannot be enabled. Check FressRSS logs for details.', //TODO
+ 'ok' => '%s is now enabled', //TODO
),
- 'no_access' => 'You have no access on %s',
- 'not_enabled' => '%s is not enabled yet',
- 'not_found' => '%s does not exist',
+ 'no_access' => 'You have no access on %s', //TODO
+ 'not_enabled' => '%s is not enabled yet', //TODO
+ 'not_found' => '%s does not exist', //TODO
),
'import_export' => array(
- 'export_no_zip_extension' => 'ZIP extension is not present on your server. Please try to export files one by one.',
- 'feeds_imported' => 'Your feeds have been imported and will now be updated',
- 'feeds_imported_with_errors' => 'Your feeds have been imported but some errors occurred',
- 'file_cannot_be_uploaded' => 'File cannot be uploaded!',
- 'no_zip_extension' => 'ZIP extension is not present on your server.',
- 'zip_error' => 'An error occured during ZIP import.',
+ 'export_no_zip_extension' => 'ZIP extension is not present on your server. Please try to export files one by one.', //TODO
+ 'feeds_imported' => 'Your feeds have been imported and will now be updated', //TODO
+ 'feeds_imported_with_errors' => 'Your feeds have been imported but some errors occurred', //TODO
+ 'file_cannot_be_uploaded' => 'File cannot be uploaded!', //TODO
+ 'no_zip_extension' => 'ZIP extension is not present on your server.', //TODO
+ 'zip_error' => 'An error occured during ZIP import.', //TODO
),
'sub' => array(
- 'actualize' => 'Actualise',
+ 'actualize' => 'Actualise', //TODO
'category' => array(
- 'created' => 'Category %s has been created.',
- 'deleted' => 'Category has been deleted.',
- 'emptied' => 'Category has been emptied',
- 'error' => 'Category cannot be updated',
- 'name_exists' => 'Category name already exists.',
- 'no_id' => 'You must precise the id of the category.',
- 'no_name' => 'Category name cannot be empty.',
- 'not_delete_default' => 'You cannot delete the default category!',
- 'not_exist' => 'The category does not exist!',
- 'over_max' => 'You have reached your limit of categories (%d)',
- 'updated' => 'Category has been updated.',
+ 'created' => 'Category %s has been created.', //TODO
+ 'deleted' => 'Category has been deleted.', //TODO
+ 'emptied' => 'Category has been emptied', //TODO
+ 'error' => 'Category cannot be updated', //TODO
+ 'name_exists' => 'Category name already exists.', //TODO
+ 'no_id' => 'You must precise the id of the category.', //TODO
+ 'no_name' => 'Category name cannot be empty.', //TODO
+ 'not_delete_default' => 'You cannot delete the default category!', //TODO
+ 'not_exist' => 'The category does not exist!', //TODO
+ 'over_max' => 'You have reached your limit of categories (%d)', //TODO
+ 'updated' => 'Category has been updated.', //TODO
),
'feed' => array(
- 'actualized' => '%s has been updated',
- 'actualizeds' => 'RSS feeds have been updated',
- 'added' => 'RSS feed %s has been added',
- 'already_subscribed' => 'You have already subscribed to %s',
- 'deleted' => 'Feed has been deleted',
- 'error' => 'Feed cannot be updated',
- 'internal_problem' => 'The RSS feed could not be added. Check FressRSS logs for details.',
- 'invalid_url' => 'URL %s is invalid',
- 'marked_read' => 'Feeds have been marked as read',
- 'n_actualized' => '%d feeds have been updated',
- 'n_entries_deleted' => '%d articles have been deleted',
- 'no_refresh' => 'There is no feed to refresh…',
- 'not_added' => '%s could not be added',
- 'over_max' => 'You have reached your limit of feeds (%d)',
- 'updated' => 'Feed has been updated',
+ 'actualized' => '%s has been updated', //TODO
+ 'actualizeds' => 'RSS feeds have been updated', //TODO
+ 'added' => 'RSS feed %s has been added', //TODO
+ 'already_subscribed' => 'You have already subscribed to %s', //TODO
+ 'deleted' => 'Feed has been deleted', //TODO
+ 'error' => 'Feed cannot be updated', //TODO
+ 'internal_problem' => 'The RSS feed could not be added. Check FressRSS logs for details.', //TODO
+ 'invalid_url' => 'URL %s is invalid', //TODO
+ 'marked_read' => 'Feeds have been marked as read', //TODO
+ 'n_actualized' => '%d feeds have been updated', //TODO
+ 'n_entries_deleted' => '%d articles have been deleted', //TODO
+ 'no_refresh' => 'There is no feed to refresh…', //TODO
+ 'not_added' => '%s could not be added', //TODO
+ 'over_max' => 'You have reached your limit of feeds (%d)', //TODO
+ 'updated' => 'Feed has been updated', //TODO
),
- 'purge_completed' => 'Purge completed (%d articles deleted)',
+ 'purge_completed' => 'Purge completed (%d articles deleted)', //TODO
),
'update' => array(
- 'can_apply' => 'FreshRSS will now be updated to the version %s.',
- 'error' => 'The update process has encountered an error: %s',
- 'file_is_nok' => 'Check permissions on %s directory. HTTP server must have rights to write into',
- 'finished' => 'Update completed!',
- 'none' => 'No update to apply',
- 'server_not_found' => 'Update server cannot be found. [%s]',
+ 'can_apply' => 'FreshRSS will now be updated to the version %s.', //TODO
+ 'error' => 'The update process has encountered an error: %s', //TODO
+ 'file_is_nok' => 'New version %s available, but check permissions on %s directory. HTTP server must have rights to write into', //TODO
+ 'finished' => 'Update completed!', //TODO
+ 'none' => 'No update to apply', //TODO
+ 'server_not_found' => 'Update server cannot be found. [%s]', //TODO
),
'user' => array(
'created' => array(
- '_' => 'User %s has been created',
- 'error' => 'User %s cannot be created',
+ '_' => 'User %s has been created', //TODO
+ 'error' => 'User %s cannot be created', //TODO
),
'deleted' => array(
- '_' => 'User %s has been deleted',
- 'error' => 'User %s cannot be deleted',
+ '_' => 'User %s has been deleted', //TODO
+ 'error' => 'User %s cannot be deleted', //TODO
),
),
'profile' => array(
- 'error' => 'Your profile cannot be modified',
- 'updated' => 'Your profile has been modified',
+ 'error' => 'Your profile cannot be modified', //TODO
+ 'updated' => 'Your profile has been modified', //TODO
),
);
diff --git a/app/i18n/tr/feedback.php b/app/i18n/tr/feedback.php
index 87361ff51..be79630be 100644
--- a/app/i18n/tr/feedback.php
+++ b/app/i18n/tr/feedback.php
@@ -87,7 +87,7 @@ return array(
'update' => array(
'can_apply' => 'FreshRSS %s versiyonuna güncellenecek.',
'error' => 'Güncelleme işlemi sırasında hata: %s',
- 'file_is_nok' => '%s klasör yetkisini kontrol edin. HTTP yazma yetkisi olmalı',
+ 'file_is_nok' => '%s versiyonuna. %s klasör yetkisini kontrol edin. HTTP yazma yetkisi olmalı',
'finished' => 'Güncelleme tamamlandı!',
'none' => 'Güncelleme yok',
'server_not_found' => 'Güncelleme sunucusu bulunamadı. [%s]',
diff --git a/cli/README.md b/cli/README.md
index fff16f53d..c37c84dc0 100644
--- a/cli/README.md
+++ b/cli/README.md
@@ -109,7 +109,7 @@ sudo git checkout -b dev origin/dev
# Check out a specific version of FreshRSS
# See release names on https://github.com/FreshRSS/FreshRSS/releases
# You will then need to manually change version
-# or checkout master or dev to get new versions
+# or checkout master or dev branch to get new versions
cd /usr/share/FreshRSS
sudo git checkout 1.7.0