1
0
mirror of https://github.com/flarum/core.git synced 2025-08-04 15:37:51 +02:00

fix: setting key safe_mode_extensions not exists (#3992)

This commit is contained in:
Ngô Quốc Đạt
2024-05-19 00:14:04 +07:00
committed by GitHub
parent 1e7eddb61e
commit 72f89c0209
2 changed files with 10 additions and 6 deletions

View File

@@ -36,14 +36,18 @@ class WhenSavingSettings
{ {
if (array_key_exists('safe_mode_extensions', $event->settings)) { if (array_key_exists('safe_mode_extensions', $event->settings)) {
$safeModeExtensions = json_decode($event->settings['safe_mode_extensions'] ?? '[]', true); $safeModeExtensions = json_decode($event->settings['safe_mode_extensions'] ?? '[]', true);
$sorted = [];
if ($safeModeExtensions) {
$extensions = $this->extensions->getExtensions()->filter(function ($extension) use ($safeModeExtensions) { $extensions = $this->extensions->getExtensions()->filter(function ($extension) use ($safeModeExtensions) {
return in_array($extension->getId(), $safeModeExtensions); return in_array($extension->getId(), $safeModeExtensions);
}); });
$sorted = array_map(fn (Extension $e) => $e->getId(), $this->extensions->sortDependencies($extensions->all())); $sorted = array_map(fn (Extension $e) => $e->getId(), $this->extensions->sortDependencies($extensions->all()));
$sorted = array_values($sorted);
}
$event->settings['safe_mode_extensions'] = json_encode(array_values($sorted)); $event->settings['safe_mode_extensions'] = json_encode($sorted);
} }
} }

View File

@@ -65,7 +65,7 @@ class Config implements ArrayAccess
public function safeModeExtensions(): ?array public function safeModeExtensions(): ?array
{ {
return $this->data['safe_mode_extensions']; return $this->data['safe_mode_extensions'] ?? null;
} }
private function requireKeys(mixed ...$keys): void private function requireKeys(mixed ...$keys): void