summaryrefslogtreecommitdiff
path: root/platform/www/inc/Menu/Item/Login.php
diff options
context:
space:
mode:
Diffstat (limited to 'platform/www/inc/Menu/Item/Login.php')
-rw-r--r--platform/www/inc/Menu/Item/Login.php29
1 files changed, 29 insertions, 0 deletions
diff --git a/platform/www/inc/Menu/Item/Login.php b/platform/www/inc/Menu/Item/Login.php
new file mode 100644
index 0000000..671f6a7
--- /dev/null
+++ b/platform/www/inc/Menu/Item/Login.php
@@ -0,0 +1,29 @@
+<?php
+
+namespace dokuwiki\Menu\Item;
+
+/**
+ * Class Login
+ *
+ * Show a login or logout item, based on the current state
+ */
+class Login extends AbstractItem {
+
+ /** @inheritdoc */
+ public function __construct() {
+ global $INPUT;
+ parent::__construct();
+
+ $this->svg = DOKU_INC . 'lib/images/menu/login.svg';
+ $this->params['sectok'] = getSecurityToken();
+ if($INPUT->server->has('REMOTE_USER')) {
+ if(!actionOK('logout')) {
+ throw new \RuntimeException("logout disabled");
+ }
+ $this->params['do'] = 'logout';
+ $this->type = 'logout';
+ $this->svg = DOKU_INC . 'lib/images/menu/logout.svg';
+ }
+ }
+
+}