xref: /dokuwiki/inc/Menu/Item/Login.php (revision 368ce258641a4e8fae6b2e49c89f173d7e3ada69)
193b8c351SAndreas Gohr<?php
293b8c351SAndreas Gohr
393b8c351SAndreas Gohrnamespace dokuwiki\Menu\Item;
493b8c351SAndreas Gohr
5*368ce258SAndreas Gohr/**
6*368ce258SAndreas Gohr * Class Login
7*368ce258SAndreas Gohr *
8*368ce258SAndreas Gohr * Show a login or logout item, based on the current state
9*368ce258SAndreas Gohr */
1093b8c351SAndreas Gohrclass Login extends AbstractItem {
1193b8c351SAndreas Gohr
12b85a7f3bSAndreas Gohr    protected $svg = DOKU_INC . 'lib/images/menu/login.svg';
13b85a7f3bSAndreas Gohr
1493b8c351SAndreas Gohr    /** @inheritdoc */
1593b8c351SAndreas Gohr    public function __construct() {
1693b8c351SAndreas Gohr        global $INPUT;
1793b8c351SAndreas Gohr        parent::__construct();
1893b8c351SAndreas Gohr
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';
26b85a7f3bSAndreas Gohr            $this->svg = DOKU_INC . 'lib/images/menu/logout.svg';
2793b8c351SAndreas Gohr        }
2893b8c351SAndreas Gohr    }
2993b8c351SAndreas Gohr
3093b8c351SAndreas Gohr}
31