Upgrade to 3.3.0

This commit is contained in:
Bastian Allgeier
2019-11-05 09:35:58 +01:00
parent 447a9dd266
commit a431716732
186 changed files with 3068 additions and 1458 deletions

View File

@@ -1,12 +1,12 @@
<?php
use Kirby\Cms\LanguageRoutes;
use Kirby\Cms\Media;
use Kirby\Cms\Panel;
use Kirby\Cms\PanelPlugins;
use Kirby\Cms\PluginAssets;
use Kirby\Http\Response\Redirect;
use Kirby\Http\Router\Route;
use Kirby\Toolkit\F;
use Kirby\Toolkit\Str;
return function ($kirby) {
@@ -63,7 +63,7 @@ return function ($kirby) {
[
'pattern' => $media . '/plugins/(:any)/(:any)/(:all).(css|gif|js|jpg|png|svg|webp|woff2|woff)',
'env' => 'media',
'action' => function (string $provider, string $pluginName, string $filename, string $extension) use ($kirby) {
'action' => function (string $provider, string $pluginName, string $filename, string $extension) {
return PluginAssets::resolve($provider . '/' . $pluginName, $filename . '.' . $extension);
}
],
@@ -102,7 +102,7 @@ return function ($kirby) {
[
'pattern' => $media . '/assets/(:all)/(:any)/(:any)',
'env' => 'media',
'action' => function ($path, $hash, $filename) use ($kirby) {
'action' => function ($path, $hash, $filename) {
return Media::thumb($path, $hash, $filename);
}
]
@@ -110,73 +110,7 @@ return function ($kirby) {
// Multi-language setup
if ($kirby->multilang() === true) {
// Multi-language home
$after[] = [
'pattern' => '',
'method' => 'ALL',
'env' => 'site',
'action' => function () use ($kirby) {
$home = $kirby->site()->homePage();
// language detection on the home page with / as URL
if ($home && $kirby->url() !== $home->url()) {
if ($kirby->option('languages.detect') === true) {
return $kirby
->response()
->redirect($kirby->detectedLanguage()->url());
} else {
return $kirby
->response()
->redirect($kirby->site()->url());
}
// default home page
} else {
return $kirby->defaultLanguage()->router()->call();
}
}
];
foreach ($kirby->languages() as $language) {
$after[] = [
'pattern' => trim($language->pattern() . '/(:all?)', '/'),
'method' => 'ALL',
'env' => 'site',
'action' => function ($path = null) use ($kirby, $language) {
return $language->router()->call($path);
}
];
}
// fallback route for unprefixed default language URLs.
$after[] = [
'pattern' => '(:all)',
'method' => 'ALL',
'env' => 'site',
'action' => function (string $path) use ($kirby) {
// check for content representations or files
$extension = F::extension($path);
// try to redirect prefixed pages
if (empty($extension) === true && $page = $kirby->page($path)) {
$url = $kirby->request()->url([
'query' => null,
'params' => null,
'fragment' => null
]);
if ($url->toString() !== $page->url()) {
return $kirby
->response()
->redirect($page->url());
}
}
return $kirby->defaultLanguage()->router()->call($path);
}
];
$after = LanguageRoutes::create($kirby);
} else {
// Single-language home