xref: /dokuwiki/inc/Action/Logout.php (revision 6e4bf08e063f1f0b061525dfad582869333287e7)
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