Extension:Interwiki

This is an extension to add a Special:Interwiki page to MediaWiki, to view and manipulate the interwiki table, and a log of any actions made with it. It was made by Stephanie Amanda Stevens a.k.a Phroziac, because she was annoyed at forgetting the interwiki prefixes. It's made for MediaWiki 1.6 onwards, and has been reported to also work on 1.5.

Warning: this extension originally had security bugs, which are fixed in the version below:

SpecialInterwiki.php
";			}			$wgOut->addHTML($out);		}	}	SpecialPage::addPage( new Interwiki ); }

function wfInterwikiAddLogType( &$types ) { if ( !in_array( 'interwiki', $types ) ) $types[] = 'interwiki'; return true; }

function wfInterwikiAddLogName( &$names ) { $names['interwiki'] = 'interwiki_logpagename'; return true; }

function wfInterwikiAddLogHeader( &$headers ) { $headers['interwiki'] = 'interwiki_logpagetext'; return true; }

function wfInterwikiAddActionText( &$actions ) { $actions['interwiki/interwiki'] = 'interwiki_logentry'; return true; }

LocalSettings.php
You'll need something similar to this in your LocalSettings.php.

With this configuration, the "interwiki" flag is required to modify the interwiki table, this flag can be set in Special:Userrights by a bureaucrat.

Localisation

 * Go to /SpecialInterwiki.i18n.php ([ downloadable]) for the translation file.

Setting up interlanguage links
To set up interlanguage links using this extension, make sure that $wgInterwikiMagic is set to true and $wgHideInterlanguageLinks is set to false (they are like this by default, you don't need to change them usually). Then go to Special:Interwiki as a user with the appropriate permissions. For example, if the French version of your wiki was located at  http://fr.foowiki.tld/wiki/ , you could add  http://fr.foowiki.tld/wiki/$1  to the interwiki table with values trans 0 and local 0. Then the interlanguage link to the French version would work.