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