Extension:RedirectAfterLogout

From mediawiki.org
MediaWiki extensions manual
RedirectAfterLogout
Release status: unmaintained
Implementation User activity
Description Allows wiki administrators to redirect to a specific page after a user has logged out
Author(s) Marcel Minke (Maziminketalk)
Latest version 1.0 (2008-12-01)
MediaWiki 1.14+
Database changes No
License Public domain
Download See section code
$wgPageToRedirectAfterLogout

The RedirectAfterLogout extension is an adaption of the former RedirectOnLogin extension which allows you to redirect a user to a certain wiki page after having logged out.

Compatibility[edit]

The extension was created for MW 1.14a. Nevertheless this extension should work fine on all MediaWiki versions which support UserLogout hook and $wgOut->redirect().

Please update this page when you have tested the extension on other versions.

Tested on
  • 1.11.0
  • 1.13
  • 1.14
  • 1.17
  • 1.21.1
  • 1.25.2
  • ... (please add other tested versions)

Installation[edit]

  1. Create a page at "extensions/redirectAfterLogout.php" containing the code
  2. Add the following lines to your Localsettings.php file and adapt them:
//absolute path from web root
require_once("extensions/redirectAfterLogout.php");

//wiki page to redirect to (adjust path and page title)
$wgPageToRedirectAfterLogout = "/path_to_mediawiki/index.php?title=yourpage";

Code[edit]

<?php
//not called from the software -> show warning
if( ! defined( 'MEDIAWIKI' ) ) {
    echo( "This file is an extension to the MediaWiki software, and cannot be used standalone.\n" );
    die( 1 );
}
 
$wgExtensionCredits['other'][] = array(
    'name'=>'RedirectAfterLogout',
    'version'=> '1.0',
    'author'=>'Marcel Minke',
    'url'=>'https://www.mediawiki.org/wiki/Extension:RedirectAfterLogout',
    'description' => 'Redirect to a certain page after logout'
);
 
//wiki page to redirect to (adjust path and page title)
$wgPageToRedirectAfterLogout = "/path_to_mediawiki/index.php?title=yourpage"; 
 
$wgHooks['UserLogout'][] = 'redirectAfterLogout';
 
function redirectAfterLogout(&$user) {
        global $wgOut, $wgPageToRedirectAfterLogout;
        $wgOut->redirect( $wgPageToRedirectAfterLogout );        
        
        return true;
}