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