Upgrade to 3.8.3

This commit is contained in:
Bastian Allgeier
2022-12-06 15:37:13 +01:00
parent f9e812cb0c
commit 8381ccb96c
69 changed files with 752 additions and 966 deletions

View File

@@ -212,6 +212,15 @@ class Language extends Model
$language = new static($props);
// trigger before hook
$kirby->trigger(
'language.create:before',
[
'input' => $props,
'language' => $language
]
);
// validate the new language
LanguageRules::create($language);
@@ -222,7 +231,16 @@ class Language extends Model
}
// update the main languages collection in the app instance
App::instance()->languages(false)->append($language->code(), $language);
$kirby->languages(false)->append($language->code(), $language);
// trigger after hook
$kirby->trigger(
'language.create:after',
[
'input' => $props,
'language' => $language
]
);
return $language;
}
@@ -242,6 +260,11 @@ class Language extends Model
$code = $this->code();
$isLast = $languages->count() === 1;
// trigger before hook
$kirby->trigger('language.delete:before', [
'language' => $this
]);
if (F::remove($this->root()) !== true) {
throw new Exception('The language could not be deleted');
}
@@ -255,6 +278,11 @@ class Language extends Model
// get the original language collection and remove the current language
$kirby->languages(false)->remove($code);
// trigger after hook
$kirby->trigger('language.delete:after', [
'language' => $this
]);
return true;
}
@@ -660,6 +688,12 @@ class Language extends Model
// validate the updated language
LanguageRules::update($updated);
// trigger before hook
$kirby->trigger('language.update:before', [
'language' => $this,
'input' => $props
]);
// convert the current default to a non-default language
if ($updated->isDefault() === true) {
$kirby->defaultLanguage()?->clone(['default' => false])->save();
@@ -687,6 +721,13 @@ class Language extends Model
// make sure the language is also updated in the Kirby language collection
App::instance()->languages(false)->set($language->code(), $language);
// trigger after hook
$kirby->trigger('language.update:after', [
'newLanguage' => $language,
'oldLanguage' => $this,
'input' => $props
]);
return $language;
}
}