mirror of
https://github.com/getgrav/grav.git
synced 2025-10-26 00:46:07 +02:00
more fixes for recovery.window and recovery.flag
Signed-off-by: Andy Miller <rhuk@mac.com>
This commit is contained in:
@@ -303,7 +303,7 @@ class RecoveryManager
|
||||
*/
|
||||
private function windowPath(): string
|
||||
{
|
||||
return $this->rootPath . '/system/recovery.window';
|
||||
return $this->userPath . '/data/recovery.window';
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -403,7 +403,9 @@ class RecoveryManager
|
||||
'expires_at' => $createdAt + $ttl,
|
||||
];
|
||||
|
||||
file_put_contents($this->windowPath(), json_encode($payload, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES) . "\n");
|
||||
$path = $this->windowPath();
|
||||
Folder::create(dirname($path));
|
||||
file_put_contents($path, json_encode($payload, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES) . "\n");
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -418,9 +418,15 @@ class SafeUpgradeService
|
||||
*/
|
||||
public function clearRecoveryFlag(): void
|
||||
{
|
||||
$flag = $this->rootPath . '/user/data/recovery.flag';
|
||||
if (is_file($flag)) {
|
||||
@unlink($flag);
|
||||
$paths = [
|
||||
$this->rootPath . '/user/data/recovery.flag',
|
||||
$this->rootPath . '/user/data/recovery.window',
|
||||
];
|
||||
|
||||
foreach ($paths as $path) {
|
||||
if (is_file($path)) {
|
||||
@unlink($path);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -235,6 +235,8 @@ class UpdateCommand extends GpmCommand
|
||||
return 1;
|
||||
}
|
||||
|
||||
$recovery->closeUpgradeWindow();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -187,8 +187,11 @@ PHP;
|
||||
{
|
||||
[$root] = $this->prepareLiveEnvironment();
|
||||
$flag = $root . '/user/data/recovery.flag';
|
||||
$window = $root . '/user/data/recovery.window';
|
||||
Folder::create(dirname($flag));
|
||||
file_put_contents($flag, 'flag');
|
||||
Folder::create(dirname($window));
|
||||
file_put_contents($window, json_encode(['expires_at' => time() + 120]));
|
||||
|
||||
$service = new SafeUpgradeService([
|
||||
'root' => $root,
|
||||
@@ -196,6 +199,7 @@ PHP;
|
||||
$service->clearRecoveryFlag();
|
||||
|
||||
self::assertFileDoesNotExist($flag);
|
||||
self::assertFileDoesNotExist($window);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user