diff options
Diffstat (limited to 'platform/www/inc/Menu/Item/Login.php')
-rw-r--r-- | platform/www/inc/Menu/Item/Login.php | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/platform/www/inc/Menu/Item/Login.php b/platform/www/inc/Menu/Item/Login.php new file mode 100644 index 0000000..671f6a7 --- /dev/null +++ b/platform/www/inc/Menu/Item/Login.php @@ -0,0 +1,29 @@ +<?php + +namespace dokuwiki\Menu\Item; + +/** + * Class Login + * + * Show a login or logout item, based on the current state + */ +class Login extends AbstractItem { + + /** @inheritdoc */ + public function __construct() { + global $INPUT; + parent::__construct(); + + $this->svg = DOKU_INC . 'lib/images/menu/login.svg'; + $this->params['sectok'] = getSecurityToken(); + if($INPUT->server->has('REMOTE_USER')) { + if(!actionOK('logout')) { + throw new \RuntimeException("logout disabled"); + } + $this->params['do'] = 'logout'; + $this->type = 'logout'; + $this->svg = DOKU_INC . 'lib/images/menu/logout.svg'; + } + } + +} |