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:
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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
|
||||||
|
Reference in New Issue
Block a user