[ Index ] |
PHP Cross Reference of DokuWiki |
[Summary view] [Print] [Text view]
1 <?php 2 3 namespace dokuwiki\Action; 4 5 use dokuwiki\Action\Exception\ActionDisabledException; 6 use dokuwiki\Action\Exception\ActionException; 7 8 /** 9 * Class Logout 10 * 11 * Log out a user 12 * 13 * @package dokuwiki\Action 14 */ 15 class Logout extends AbstractUserAction { 16 17 /** @inheritdoc */ 18 public function minimumPermission() { 19 return AUTH_NONE; 20 } 21 22 /** @inheritdoc */ 23 public function checkPreconditions() { 24 parent::checkPreconditions(); 25 26 /** @var \dokuwiki\Extension\AuthPlugin $auth */ 27 global $auth; 28 if(!$auth->canDo('logout')) throw new ActionDisabledException(); 29 } 30 31 /** @inheritdoc */ 32 public function preProcess() { 33 global $ID; 34 global $INPUT; 35 36 // when logging out during an edit session, unlock the page 37 $lockedby = checklock($ID); 38 if($lockedby == $INPUT->server->str('REMOTE_USER')) { 39 unlock($ID); 40 } 41 42 // do the logout stuff and redirect to login 43 auth_logoff(); 44 send_redirect(wl($ID, array('do' => 'login'), true, '&')); 45 46 // should never be reached 47 throw new ActionException('login'); 48 } 49 50 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body