rewrote this function to make it safer

This commit is contained in:
Andy Miller
2023-05-11 11:37:24 -06:00
parent e926a28122
commit 3f37e2c350

View File

@@ -1440,23 +1440,22 @@ class Admin
{ {
$backup_file = $this->grav['locator']->findResource('log://backup.log'); $backup_file = $this->grav['locator']->findResource('log://backup.log');
if (!file_exists($backup_file)) { $file = JsonFile::instance($backup_file);
$content = $file->content() ?? null;
if (!file_exists($backup_file) || is_null($content) || !isset($content['time'])) {
return [ return [
'days' => '∞', 'days' => '∞',
'chart_fill' => 100, 'chart_fill' => 100,
'chart_empty' => 0 'chart_empty' => 0
]; ];
} }
$file = JsonFile::instance($backup_file);
$content = $file->content();
$backup = new \DateTime(); $backup = new \DateTime();
$backup->setTimestamp($content['time']); $backup->setTimestamp($content['time']);
$diff = $backup->diff(new \DateTime()); $diff = $backup->diff(new \DateTime());
$days = $diff->days; $days = $diff->days;
$chart_fill = $days > 30 ? 100 : round($days / 30 * 100); $chart_fill = $days > 30 ? 100 : round($days / 30 * 100);
return [ return [
'days' => $days, 'days' => $days,
'chart_fill' => $chart_fill, 'chart_fill' => $chart_fill,