https://www.mediawiki.org/wiki/Special:Code/MediaWiki/115044

Revision: 115044
Author:   siebrand
Date:     2012-04-25 10:42:12 +0000 (Wed, 25 Apr 2012)
Log Message:
-----------
Add global $wgInterwikiViewOnly and setup function to allow conditional adding 
of the interwiki log.

This feature is meant for a possible Wikimedia implementation, where interwiki 
entries will never be changed locally, so there is no use for a log.

Modified Paths:
--------------
    trunk/extensions/Interwiki/Interwiki.php

Modified: trunk/extensions/Interwiki/Interwiki.php
===================================================================
--- trunk/extensions/Interwiki/Interwiki.php    2012-04-25 10:31:31 UTC (rev 
115043)
+++ trunk/extensions/Interwiki/Interwiki.php    2012-04-25 10:42:12 UTC (rev 
115044)
@@ -21,16 +21,20 @@
        die( "This is not a valid entry point.\n" );
 }
 
+$wgInterwikiViewOnly = false;
+
 // Extension credits for Special:Version
 $wgExtensionCredits['specialpage'][] = array(
        'path' => __FILE__,
        'name' => 'Interwiki',
        'author' => array( 'Stephanie Amanda Stevens', 'SPQRobin', 'Siebrand 
Mazeland', 'Platonides', 'Raimond Spekking', 'Sam Reed', '...' ),
-       'version' => '2.1 20120425',
+       'version' => '2.2 20120425',
        'url' => 'https://www.mediawiki.org/wiki/Extension:Interwiki',
        'descriptionmsg' => 'interwiki-desc',
 );
 
+$wgExtensionFunctions[] = 'setupInterwikiExtension';
+
 $wgResourceModules['SpecialInterwiki'] = array(
        'styles' => 'Interwiki.css',
        'localBasePath' => dirname( __FILE__ ),
@@ -45,11 +49,21 @@
 $wgSpecialPages['Interwiki'] = 'SpecialInterwiki';
 $wgSpecialPageGroups['Interwiki'] = 'wiki';
 
-// New user right, required to modify the interwiki table through 
Special:Interwiki
-$wgAvailableRights[] = 'interwiki';
+function setupInterwikiExtension() {
+       wfProfileIn( 'setupInterwikiExtension' );
+       global $wgInterwikiViewOnly;
 
-// Set up the new log type - interwiki actions are logged to this new log
-$wgLogTypes[] = 'interwiki';
-$wgAutoloadClasses['InterwikiLogFormatter'] = $dir . 'Interwiki_body.php';
-# interwiki, iw_add, iw_delete, iw_edit
-$wgLogActionsHandlers['interwiki/*']  = 'InterwikiLogFormatter';
+       if ( $wgInterwikiViewOnly ) {
+               // New user right, required to modify the interwiki table 
through Special:Interwiki
+               $wgAvailableRights[] = 'interwiki';
+
+               // Set up the new log type - interwiki actions are logged to 
this new log
+               $wgLogTypes[] = 'interwiki';
+               $wgAutoloadClasses['InterwikiLogFormatter'] = $dir . 
'Interwiki_body.php';
+               # interwiki, iw_add, iw_delete, iw_edit
+               $wgLogActionsHandlers['interwiki/*']  = 'InterwikiLogFormatter';
+       }
+
+       wfProfileOut( 'setupInterwikiExtension' );
+       return true;
+}


_______________________________________________
MediaWiki-CVS mailing list
MediaWiki-CVS@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to