Message if last update checking is close

last_update.txt is updated even if there is no update
If last_update.txt has been modified during last hour, show a message

See https://github.com/marienfressinaud/FreshRSS/issues/480#issuecomment-55765373
This commit is contained in:
Marien Fressinaud
2014-09-16 18:30:24 +02:00
parent c2ca9805fa
commit a4e43e9c53
4 changed files with 21 additions and 11 deletions

View File

@@ -12,9 +12,11 @@ class FreshRSS_update_Controller extends Minz_ActionController {
Minz_View::prependTitle(_t('update_system') . ' · ');
$this->view->last_update_time = 'unknown';
$this->view->check_last_hour = false;
$timestamp = (int)@file_get_contents(DATA_PATH . '/last_update.txt');
if (is_numeric($timestamp) && $timestamp > 0) {
$this->view->last_update_time = timestamptodate($timestamp);
$this->view->check_last_hour = (time() - 3600) <= $timestamp;
}
}
@@ -38,13 +40,10 @@ class FreshRSS_update_Controller extends Minz_ActionController {
public function checkAction() {
$this->view->change_view('update', 'index');
// Get the last update. If already check during the last hour, do nothing.
$last_update = (int)@file_get_contents(DATA_PATH . '/last_update.txt');
$check_last_hour = (time() - 3600) <= $last_update;
if (file_exists(UPDATE_FILENAME) || $check_last_hour) {
if (file_exists(UPDATE_FILENAME) || $this->view->check_last_hour) {
// There is already an update file to apply: we don't need to check
// the webserver!
// Or if already check during the last hour, do nothing.
Minz_Request::forward(array('c' => 'update'));
return;
@@ -81,6 +80,8 @@ class FreshRSS_update_Controller extends Minz_ActionController {
'body' => _t('no_update')
);
@file_put_contents(DATA_PATH . '/last_update.txt', time());
return;
}

View File

@@ -424,7 +424,7 @@ return array (
'update' => 'Update',
'update_system' => 'Update system',
'update_check' => 'Check for new updates',
'update_last' => 'Last update: %s',
'update_last' => 'Last verification: %s',
'update_can_apply' => 'There is an available update. <a class="btn" href="%s">Apply</a>',
'update_server_not_found' => 'Update server cannot be found. [%s]',
'no_update' => 'No update to apply',

View File

@@ -424,7 +424,7 @@ return array (
'update' => 'Mise à jour',
'update_system' => 'Système de mise à jour',
'update_check' => 'Vérifier les mises à jour',
'update_last' => 'Dernière mise à jour : %s',
'update_last' => 'Dernière vérification : %s',
'update_can_apply' => 'Il ya une mise à jour à appliquer. <a class="btn" href="%s">Appliquer la mise à jour</a>',
'update_server_not_found' => 'Le serveur de mise à jour na pas été trouvé. [%s]',
'no_update' => 'Aucune mise à jour à appliquer',

View File

@@ -5,17 +5,26 @@
<h1><?php echo _t('update_system'); ?></h1>
<p>
<?php echo _i('help'); ?> <?php echo _t('update_last', $this->last_update_time); ?>
</p>
<?php if (!empty($this->message)) { ?>
<p class="alert <?php echo $this->message['status'] === 'bad' ? 'alert-error' : 'alert-warn'; ?>">
<span class="alert-head"><?php echo $this->message['title']; ?></span>
<?php echo $this->message['body']; ?>
</p>
<?php } elseif ($this->check_last_hour) { ?>
<p class="alert alert-warn">
<span class="alert-head"><?php echo _t('damn'); ?></span>
<?php echo _t('no_update'); ?>
</p>
<?php } ?>
<?php if (empty($this->message) || $this->message['status'] !== 'good') { ?>
<p>
<?php echo _i('help'); ?> <?php echo _t('update_last', $this->last_update_time); ?>
</p>
<?php
if (!$this->check_last_hour &&
(empty($this->message) || $this->message['status'] !== 'good')) {
?>
<p>
<a href="<?php echo _url('update', 'check'); ?>" class="btn"><?php echo _t('update_check'); ?></a>
</p>