1<?php 2 3namespace dokuwiki\Action; 4 5use dokuwiki\Action\Exception\ActionException; 6 7/** 8 * Class Logout 9 * 10 * Log out a user 11 * 12 * @package dokuwiki\Action 13 */ 14class Logout extends AbstractUserAction { 15 16 /** @inheritdoc */ 17 function minimumPermission() { 18 return AUTH_NONE; 19 } 20 21 /** @inheritdoc */ 22 public function preProcess() { 23 global $ID; 24 global $INPUT; 25 26 // when logging out during an edit session, unlock the page 27 $lockedby = checklock($ID); 28 if($lockedby == $INPUT->server->str('REMOTE_USER')) { 29 unlock($ID); 30 } 31 32 // do the logout stuff and redirect to login 33 auth_logoff(); 34 send_redirect(wl($ID, array('do' => 'login'))); 35 36 // should never be reached 37 throw new ActionException('login'); 38 } 39 40} 41