070 Gestion d'erreur mise à jour auto

This commit is contained in:
Fred Tempez 2020-04-24 09:28:44 +02:00
parent 647e0a8b5b
commit 010c2e98df
3 changed files with 42 additions and 11 deletions

View File

@ -17,6 +17,27 @@ class helper {
const FILTER_TIMESTAMP = 10; const FILTER_TIMESTAMP = 10;
const FILTER_URL = 11; const FILTER_URL = 11;
/**
* Fonction pour récupérer le numéro de version en ligne
* @param string $url à récupérer
* @return mixed données récupérées
*/
public static function urlGetContents ($url) {
if(function_exists('file_get_contents') and
ini_get('allow_url_fopen') ){
$url_get_contents_data = file_get_contents($url);
}elseif(function_exists('fopen') &&
function_exists('stream_get_contents' &&
ini_get('allow_url_fopen') )){
$handle = fopen ($url, "r");
$url_get_contents_data = stream_get_contents($handle);
}else{
$url_get_contents_data = false;
}
return $url_get_contents_data;
}
/** /**
* Retourne les valeurs d'une colonne du tableau de données * Retourne les valeurs d'une colonne du tableau de données
* @param array $array Tableau cible * @param array $array Tableau cible
@ -131,7 +152,7 @@ class helper {
* @return string * @return string
*/ */
public static function getOnlineVersion() { public static function getOnlineVersion() {
return (@file_get_contents('http://zwiicms.com/update/'. common::ZWII_UPDATE_CHANNEL . '/version')); return (helper::urlGetContents('http://zwiicms.com/update/'. common::ZWII_UPDATE_CHANNEL . '/version'));
} }

View File

@ -36,7 +36,7 @@ class common {
const THUMBS_WIDTH = 640; const THUMBS_WIDTH = 640;
// Numéro de version // Numéro de version
const ZWII_VERSION = '10.0.069'; const ZWII_VERSION = '10.0.070';
const ZWII_UPDATE_CHANNEL = "v10"; const ZWII_UPDATE_CHANNEL = "v10";
public static $actions = []; public static $actions = [];

View File

@ -219,11 +219,28 @@
<div class="col12"> <div class="col12">
<div class="block"> <div class="block">
<h4>Mise à jour</h4> <h4>Mise à jour</h4>
<?php $error = helper::urlGetContents('http://zwiicms.com/update/' . common::ZWII_UPDATE_CHANNEL . '/version');?>
<?php if ($error !== false) : ?>
<?php $error = true; ?>
<?php endif;?>
<div class="row">
<div class="col12">
<?php echo 'Vous disposez de ZwiiCMS version <strong>' . common::ZWII_VERSION . '</strong>' . '.'; ?>
<?php if ($error): ?>
<?php echo 'La version de la mise à jour en ligne est <strong>' . helper::urlGetContents('http://zwiicms.com/update/' . common::ZWII_UPDATE_CHANNEL . '/version') . '</strong>' . '.';?>
<?php else: ?>
<p>La configuration du serveur n'autorise pas la détection des mises à jour en ligne, merci d'activer l'option dans php.ini : <code>allow_url_fopen = On </code>
ou <a href="<?php echo 'http://zwiicms.com/update/' . common::ZWII_UPDATE_CHANNEL . '/version';?>" target="_blank">cliquez sur ce lien lien</a>.</p>
<?php endif;?>
</div>
</div>
<div class="row"> <div class="row">
<div class="col6"> <div class="col6">
<?php echo template::checkbox('configAutoUpdate', true, 'Recherche de mise à jour automatisée ', [ <?php echo template::checkbox('configAutoUpdate', true, 'Recherche de mise à jour automatisée ', [
'checked' => $this->getData(['config', 'autoUpdate']), 'checked' => $error ? $this->getData(['config', 'autoUpdate']) : false,
'help' => 'Vérification de l\'existence d\'une mise à jour en ligne une fois par jour.' 'help' => 'Vérification de l\'existence d\'une mise à jour en ligne une fois par jour.',
'disabled' => !$error
]); ?> ]); ?>
</div> </div>
<div class="col3"> <div class="col3">
@ -233,13 +250,6 @@
]); ?> ]); ?>
</div> </div>
</div> </div>
<div class="row">
<div class="col12">
<?php echo 'Vous disposez de ZwiiCMS version <strong>' . common::ZWII_VERSION . '</strong>';
echo '. La version de la mise à jour en ligne est <strong>' . file_get_contents('http://zwiicms.com/update/' . common::ZWII_UPDATE_CHANNEL . '/version') . '</strong>';
?>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>