mirror of
https://github.com/nextcloud/all-in-one.git
synced 2026-05-30 15:30:08 +00:00
aio-interface: cache reads from GetDailyBackupTimeFile based on mtime
Agent-Logs-Url: https://github.com/nextcloud/all-in-one/sessions/01d18358-7a1e-4747-85f5-3f002aa59253 aio-interface: cache reads from GetDailyBackupTimeFile based on mtime Agent-Logs-Url: https://github.com/nextcloud/all-in-one/sessions/4df5e1bd-456d-4005-8432-4e9b537c8e54 fix: set dailyBackupFileMtime default to 0 instead of null Agent-Logs-Url: https://github.com/nextcloud/all-in-one/sessions/ba492f66-d5f0-450f-b0e1-658806bf070d fix: restore missing closing brace of deleteDailyBackupTime Agent-Logs-Url: https://github.com/nextcloud/all-in-one/sessions/6e5fb177-9754-4b64-8e93-b5be989f5162 Co-Authored-By: szaimen <42591237+szaimen@users.noreply.github.com>
This commit is contained in:
committed by
Simon L.
parent
d2ecff2e06
commit
ee4088744c
@@ -14,6 +14,10 @@ class ConfigurationManager
|
|||||||
|
|
||||||
private bool $noWrite = false;
|
private bool $noWrite = false;
|
||||||
|
|
||||||
|
private string $dailyBackupFileCache = '';
|
||||||
|
|
||||||
|
private int $dailyBackupFileMtime = 0;
|
||||||
|
|
||||||
public string $aioToken {
|
public string $aioToken {
|
||||||
get => $this->get('AIO_TOKEN', '');
|
get => $this->get('AIO_TOKEN', '');
|
||||||
set { $this->set('AIO_TOKEN', $value); }
|
set { $this->set('AIO_TOKEN', $value); }
|
||||||
@@ -760,23 +764,47 @@ class ConfigurationManager
|
|||||||
$time .= PHP_EOL;
|
$time .= PHP_EOL;
|
||||||
}
|
}
|
||||||
file_put_contents(DataConst::GetDailyBackupTimeFile(), $time);
|
file_put_contents(DataConst::GetDailyBackupTimeFile(), $time);
|
||||||
|
$this->dailyBackupFileCache = '';
|
||||||
|
$this->dailyBackupFileMtime = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function getDailyBackupFileContent() : string {
|
||||||
|
$file = DataConst::GetDailyBackupTimeFile();
|
||||||
|
if (!file_exists($file)) {
|
||||||
|
$this->dailyBackupFileCache = '';
|
||||||
|
$this->dailyBackupFileMtime = 0;
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
$mtime = filemtime($file);
|
||||||
|
if ($mtime !== false && $this->dailyBackupFileMtime === $mtime && $this->dailyBackupFileCache !== '') {
|
||||||
|
return $this->dailyBackupFileCache;
|
||||||
|
}
|
||||||
|
$content = file_get_contents($file);
|
||||||
|
if ($content === false || $content === '') {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
if ($mtime !== false) {
|
||||||
|
$this->dailyBackupFileCache = $content;
|
||||||
|
$this->dailyBackupFileMtime = $mtime;
|
||||||
|
}
|
||||||
|
return $content;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getDailyBackupTime() : string {
|
public function getDailyBackupTime() : string {
|
||||||
if (!file_exists(DataConst::GetDailyBackupTimeFile())) {
|
$content = $this->getDailyBackupFileContent();
|
||||||
|
if ($content === '') {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
$dailyBackupFile = (string)file_get_contents(DataConst::GetDailyBackupTimeFile());
|
$dailyBackupFileArray = explode("\n", $content);
|
||||||
$dailyBackupFileArray = explode("\n", $dailyBackupFile);
|
|
||||||
return $dailyBackupFileArray[0];
|
return $dailyBackupFileArray[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function areAutomaticUpdatesEnabled() : bool {
|
public function areAutomaticUpdatesEnabled() : bool {
|
||||||
if (!file_exists(DataConst::GetDailyBackupTimeFile())) {
|
$content = $this->getDailyBackupFileContent();
|
||||||
|
if ($content === '') {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
$dailyBackupFile = (string)file_get_contents(DataConst::GetDailyBackupTimeFile());
|
$dailyBackupFileArray = explode("\n", $content);
|
||||||
$dailyBackupFileArray = explode("\n", $dailyBackupFile);
|
|
||||||
if (isset($dailyBackupFileArray[1]) && $dailyBackupFileArray[1] === 'automaticUpdatesAreNotEnabled') {
|
if (isset($dailyBackupFileArray[1]) && $dailyBackupFileArray[1] === 'automaticUpdatesAreNotEnabled') {
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
@@ -788,11 +816,10 @@ class ConfigurationManager
|
|||||||
if (file_exists(DataConst::GetDailyBackupTimeFile())) {
|
if (file_exists(DataConst::GetDailyBackupTimeFile())) {
|
||||||
unlink(DataConst::GetDailyBackupTimeFile());
|
unlink(DataConst::GetDailyBackupTimeFile());
|
||||||
}
|
}
|
||||||
|
$this->dailyBackupFileCache = '';
|
||||||
|
$this->dailyBackupFileMtime = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @throws InvalidSettingConfigurationException
|
|
||||||
*/
|
|
||||||
public function setAdditionalBackupDirectories(string $additionalBackupDirectories) : void {
|
public function setAdditionalBackupDirectories(string $additionalBackupDirectories) : void {
|
||||||
$additionalBackupDirectoriesArray = explode("\n", $additionalBackupDirectories);
|
$additionalBackupDirectoriesArray = explode("\n", $additionalBackupDirectories);
|
||||||
$validDirectories = '';
|
$validDirectories = '';
|
||||||
|
|||||||
Reference in New Issue
Block a user