xref: /dokuwiki/inc/Menu/Item/Login.php (revision 4bb2fc4a55c12e16c9272726ea842cce055177a2)
193b8c351SAndreas Gohr<?php
293b8c351SAndreas Gohr
393b8c351SAndreas Gohrnamespace dokuwiki\Menu\Item;
493b8c351SAndreas Gohr
5368ce258SAndreas Gohr/**
6368ce258SAndreas Gohr * Class Login
7368ce258SAndreas Gohr *
8368ce258SAndreas Gohr * Show a login or logout item, based on the current state
9368ce258SAndreas Gohr */
1093b8c351SAndreas Gohrclass Login extends AbstractItem {
1193b8c351SAndreas Gohr
1293b8c351SAndreas Gohr    /** @inheritdoc */
1393b8c351SAndreas Gohr    public function __construct() {
1493b8c351SAndreas Gohr        global $INPUT;
1593b8c351SAndreas Gohr        parent::__construct();
1693b8c351SAndreas Gohr
17*4bb2fc4aSAndreas Gohr        $this->svg = DOKU_INC . 'lib/images/menu/login.svg';
1893b8c351SAndreas Gohr        $this->params['sectok'] = getSecurityToken();
1993b8c351SAndreas Gohr        if($INPUT->server->has('REMOTE_USER')) {
2093b8c351SAndreas Gohr            if(!actionOK('logout')) {
2193b8c351SAndreas Gohr                throw new \RuntimeException("logout disabled");
2293b8c351SAndreas Gohr            }
2393b8c351SAndreas Gohr            $this->params['do'] = 'logout';
2493b8c351SAndreas Gohr            $this->type = 'logout';
25b85a7f3bSAndreas Gohr            $this->svg = DOKU_INC . 'lib/images/menu/logout.svg';
2693b8c351SAndreas Gohr        }
2793b8c351SAndreas Gohr    }
2893b8c351SAndreas Gohr
2993b8c351SAndreas Gohr}
30