1
0
mirror of https://github.com/flarum/core.git synced 2025-08-03 15:07:53 +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)) {
$safeModeExtensions = json_decode($event->settings['safe_mode_extensions'] ?? '[]', true);
$sorted = [];
$extensions = $this->extensions->getExtensions()->filter(function ($extension) use ($safeModeExtensions) {
return in_array($extension->getId(), $safeModeExtensions);
});
if ($safeModeExtensions) {
$extensions = $this->extensions->getExtensions()->filter(function ($extension) use ($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
{
return $this->data['safe_mode_extensions'];
return $this->data['safe_mode_extensions'] ?? null;
}
private function requireKeys(mixed ...$keys): void