-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathLogoutTemplate.php
89 lines (72 loc) · 1.84 KB
/
LogoutTemplate.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<?php
namespace Charcoal\Admin\Template;
// From PSR-7
use Psr\Http\Message\RequestInterface;
// From 'charcoal-admin'
use Charcoal\Admin\AdminTemplate;
use Charcoal\Admin\Template\AuthTemplateTrait;
/**
* Log Out template
*/
class LogoutTemplate extends AdminTemplate
{
use AuthTemplateTrait {
AuthTemplateTrait::avatarImage as loginLogo;
}
/**
* @param RequestInterface $request The request to initialize.
* @return boolean
*/
public function init(RequestInterface $request)
{
$authenticator = $this->authenticator();
if ($authenticator->check()) {
$authenticator->logout();
}
return parent::init($request);
}
/**
* Authentication is obviously never required for the login page.
*
* @return boolean
*/
protected function authRequired()
{
return false;
}
/**
* @return string
*/
public function avatarImage()
{
$logo = $this->adminConfig('logout.logo') ?:
$this->adminConfig('logout_logo', 'assets/admin/images/avatar.jpg');
if (empty($logo)) {
return $this->loginLogo();
}
return $this->baseUrl($logo);
}
/**
* Retrieve the title of the page.
*
* @return \Charcoal\Translator\Translation|string|null
*/
public function title()
{
if ($this->title === null) {
$this->setTitle($this->translator()->translation('auth.logout.title'));
}
return $this->title;
}
// Templating
// =========================================================================
/**
* Determine if main & secondary menu should appear as mobile in a desktop resolution.
*
* @return boolean
*/
public function isFullscreenTemplate()
{
return true;
}
}