44 lines
1.4 KiB
PHP
44 lines
1.4 KiB
PHP
|
<?php
|
||
|
|
||
|
use Kirby\Panel\Panel;
|
||
|
|
||
|
return function ($kirby) {
|
||
|
return [
|
||
|
'icon' => 'user',
|
||
|
'label' => t('login'),
|
||
|
'views' => [
|
||
|
'login' => [
|
||
|
'pattern' => 'login',
|
||
|
'auth' => false,
|
||
|
'action' => function () use ($kirby) {
|
||
|
$system = $kirby->system();
|
||
|
$status = $kirby->auth()->status();
|
||
|
return [
|
||
|
'component' => 'k-login-view',
|
||
|
'props' => [
|
||
|
'methods' => array_keys($system->loginMethods()),
|
||
|
'pending' => [
|
||
|
'email' => $status->email(),
|
||
|
'challenge' => $status->challenge()
|
||
|
]
|
||
|
],
|
||
|
];
|
||
|
}
|
||
|
],
|
||
|
'login.fallback' => [
|
||
|
'pattern' => '(:all)',
|
||
|
'auth' => false,
|
||
|
'action' => function ($path) use ($kirby) {
|
||
|
/**
|
||
|
* Store the current path in the session
|
||
|
* Once the user is logged in, the path will
|
||
|
* be used to redirect to that view again
|
||
|
*/
|
||
|
$kirby->session()->set('panel.path', $path);
|
||
|
Panel::go('login');
|
||
|
}
|
||
|
]
|
||
|
]
|
||
|
];
|
||
|
};
|