xref: /dokuwiki/inc/Menu/Item/Login.php (revision e44b94a4bd0679ff22e14add34b60590fe7077d3)
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 */
1033b91513SAndreas Gohrclass Login extends AbstractItem
1133b91513SAndreas Gohr{
1293b8c351SAndreas Gohr    /** @inheritdoc */
1333b91513SAndreas Gohr    public function __construct()
1433b91513SAndreas Gohr    {
1593b8c351SAndreas Gohr        global $INPUT;
1693b8c351SAndreas Gohr        parent::__construct();
1793b8c351SAndreas Gohr
18*e44b94a4SAndreas Gohr        $this->svg = DOKU_INC . 'lib/images/menu/login.svg';
1993b8c351SAndreas Gohr        $this->params['sectok'] = getSecurityToken();
2093b8c351SAndreas Gohr        if ($INPUT->server->has('REMOTE_USER')) {
2193b8c351SAndreas Gohr            if (!actionOK('logout')) {
2293b8c351SAndreas Gohr                throw new \RuntimeException("logout disabled");
2393b8c351SAndreas Gohr            }
2493b8c351SAndreas Gohr            $this->params['do'] = 'logout';
2593b8c351SAndreas Gohr            $this->type = 'logout';
26*e44b94a4SAndreas Gohr            $this->svg = DOKU_INC . 'lib/images/menu/logout.svg';
2793b8c351SAndreas Gohr        }
2893b8c351SAndreas Gohr    }
2993b8c351SAndreas Gohr}
30