From: X! Date: Sun, 28 Dec 2008 02:58:04 +0000 (+0000) Subject: Quick hack to allow disallowing local editing of the interwiki table. X-Git-Tag: 1.31.0-rc.0~43732 X-Git-Url: http://git.cyclocoop.org/%22%20.%20%20%20%24self2%20.%20%20%20%22&var_mode_affiche=boucle?a=commitdiff_plain;h=52ff27d51e6140cf66969b1161f3385a917727c2;p=lhc%2Fweb%2Fwiklou.git Quick hack to allow disallowing local editing of the interwiki table. --- diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php index d0d8132516..cc981032fc 100644 --- a/includes/DefaultSettings.php +++ b/includes/DefaultSettings.php @@ -3630,3 +3630,9 @@ $wgEdititis = false; * See http://universaleditbutton.org for more background information */ $wgUniversalEditButton = true; + +/** +* Enable the Interwiki special page. +* Disable for wikis that have their interwiki table updated automatically from a central location (like Wikimedia) +*/ +$wgEnableSpecialInterwiki = true; diff --git a/includes/specials/SpecialInterwiki.php b/includes/specials/SpecialInterwiki.php index b96ebc67b9..3470bbb9f9 100644 --- a/includes/specials/SpecialInterwiki.php +++ b/includes/specials/SpecialInterwiki.php @@ -11,7 +11,7 @@ class SpecialInterwiki extends SpecialPage { } function execute( $par ) { - global $wgRequest, $wgOut, $wgUser; + global $wgRequest, $wgOut, $wgUser, $wgEnableSpecialInterwiki; $this->setHeaders(); $this->outputHeader(); @@ -28,6 +28,10 @@ class SpecialInterwiki extends SpecialPage { case "delete": case "edit" : case "add" : + if( !$wgEnableSpecialInterwiki ) { + $wgOut->addWikiMsg( 'interwiki-not-enabled' ); + return; + } if( !$admin ){ $wgOut->permissionRequired( 'interwiki' ); return; @@ -35,6 +39,10 @@ class SpecialInterwiki extends SpecialPage { $this->showForm( $action ); break; case "submit": + if( !$wgEnableSpecialInterwiki ) { + $wgOut->addWikiMsg( 'interwiki-not-enabled' ); + return; + } if( !$admin ){ $wgOut->permissionRequired( 'interwiki' ); return; @@ -205,7 +213,7 @@ class SpecialInterwiki extends SpecialPage { } function showList( $admin ) { - global $wgUser, $wgOut; + global $wgUser, $wgOut, $wgEnableSpecialInterwiki; $prefixmessage = wfMsgHtml( 'interwiki_prefix' ); $urlmessage = wfMsgHtml( 'interwiki_url' ); $localmessage = wfMsgHtml( 'interwiki_local' ); @@ -214,7 +222,7 @@ class SpecialInterwiki extends SpecialPage { $wgOut->addWikiMsg( 'interwiki_intro' ); $selfTitle = $this->getTitle(); - if ( $admin ) { + if ( $admin && $wgEnableSpecialInterwiki ) { $skin = $wgUser->getSkin(); $addtext = wfMsgHtml( 'interwiki_addtext' ); $addlink = $skin->link( $selfTitle, $addtext, array(), array( 'action' => 'add' ) ); @@ -233,7 +241,7 @@ class SpecialInterwiki extends SpecialPage {
"; - if( $admin ) { + if( $admin && $wgEnableSpecialInterwiki ) { $deletemessage = wfMsgHtml( 'delete' ); $editmessage = wfMsgHtml( 'edit' ); $out .= ""; @@ -250,7 +258,7 @@ class SpecialInterwiki extends SpecialPage { "; - if( $admin ) { + if( $admin && $wgEnableSpecialInterwiki ) { $out .= '
$prefixmessage $urlmessage $localmessage $transmessage$editmessage$url $local $trans'; $out .= $skin->link( $selfTitle, $editmessage, array(), array( 'action' => 'edit', 'prefix' => $s->iw_prefix ) ); diff --git a/languages/messages/MessagesEn.php b/languages/messages/MessagesEn.php index 74008b391b..4d766b3959 100644 --- a/languages/messages/MessagesEn.php +++ b/languages/messages/MessagesEn.php @@ -2217,6 +2217,7 @@ There is a [[Special:Log/interwiki|log of changes]] to the interwiki table.', 'interwiki_log_deleted' => 'removed prefix "$2" from the interwiki table', 'interwiki_log_edited' => 'modified prefix "$2" : ($3) (trans: $4) (local: $5) in the interwiki table', 'interwiki_logentry' => '', # do not translate or duplicate this message to other languages +'interwiki-not-enabled' => 'Editing of the interwiki table is not on the wiki.', 'interwiki_prefix' => 'Prefix', 'interwiki_reasonfield' => 'Reason', 'interwiki_trans' => 'Allow interwiki transclusions',