Mediawiki: Difference between revisions
m (Make link work.) |
(Removing "log out" from the title/menu bar.) |
||
Line 59: | Line 59: | ||
$t = $r; | $t = $r; | ||
} | } | ||
</pre> | |||
===<tt>SkinTemplate.php</tt>=== | |||
To remove the "log out" link at the top of the page, comment out the following section like so: | |||
<pre> | |||
# $personal_urls['logout'] = array( | |||
# 'text' => wfMsg('userlogout'), | |||
# 'href' => $this->makeSpecialUrl('Userlogout','returnto=' . $this->thisurl ) | |||
# ); | |||
</pre> | </pre> |
Revision as of 14:21, 9 January 2006
Mediawiki is the wiki software powering wikipedia. It can fairly easily be made to work with Raven. The Computing Service has been using a Raven-enabled copy of Mediawiki internally for some time. CARET have a Raven-enabled copy of Mediawiki that is available to the university - see http://wiki.caret.cam.ac.uk/
Software hacks, 1.5.2
These hacks all assume that the Mediawiki application is first protected by something that sets the REMOTE_USER apache server variable, such as the Raven Apache authentication module.
User.php
Line 60, newFromName, replace:
$t = Title::newFromText( $name );
with:
$t = Title::newFromText( $name , NS_USER );
To explicitly specify the namespace. This will be used to check in the hack in Title.php, below.
Line 153, idFromName:
$s = $dbr->selectRow( 'user', array( 'user_id' ), array( 'user_name' => $name ), $fname );
... and in the function loadFromSession():
if ( isset( $_SERVER["REMOTE_USER"] ) ) { $sName = $_SERVER["REMOTE_USER"]; $sId = User::idFromName($sName); $user = new User(); if ( $sId == 0 ) { /* User doesn't exist here yet. */ $user->setName($sName); $user->addToDatabase(); } else { $user->mId = $sId; $user->loadFromDatabase(); } return $user; }
Title.php
Stop the first letter of userpages being capitalised, so we can stick with CRSIDs being all lowercase everywhere. To do this, in the (private) function function secureAndSplit(), replace:
if( $wgCapitalLinks && $this->mInterwiki == '' ) { $t = $wgContLang->ucfirst( $r ); } else { $t = $r; }
With:
if( $wgCapitalLinks && $this->mInterwiki == '' && NS_USER != $this->mNamespace ) { $t = $wgContLang->ucfirst( $r ); } else { $t = $r; }
SkinTemplate.php
To remove the "log out" link at the top of the page, comment out the following section like so:
# $personal_urls['logout'] = array( # 'text' => wfMsg('userlogout'), # 'href' => $this->makeSpecialUrl('Userlogout','returnto=' . $this->thisurl ) # );