1) actually do what it says (only use external diff when set in user prefs)
authorErik Moeller <erik@users.mediawiki.org>
Wed, 13 Apr 2005 21:06:09 +0000 (21:06 +0000)
committerErik Moeller <erik@users.mediawiki.org>
Wed, 13 Apr 2005 21:06:09 +0000 (21:06 +0000)
2) fix metafile (Special namespace is transferred, it's up to the script
whether it wants to log in, not really needed for diffs, though perhaps if
rollback etc. is to be implemented)

includes/DifferenceEngine.php

index c871eb9..c6f58d2 100644 (file)
@@ -72,17 +72,19 @@ class DifferenceEngine {
                # If external diffs are enabled both globally and for the user,
                # we'll use the application/x-external-editor interface to call
                # an external diff tool like kompare, kdiff3, etc.
-               if($wgUseExternalEditor) {
-                       global $wgInputEncoding,$wgServer,$wgScript;
+               if($wgUseExternalEditor && $wgUser->getOption('externaldiff')) {
+                       global $wgInputEncoding,$wgServer,$wgScript,$wgLang;
                        $wgOut->disable();
                        header ( "Content-type: application/x-external-editor; charset=".$wgInputEncoding );
-                       $url1=$wgTitle->getFullURL("action=raw&oldid=".$this->mOldid);
+                       $url1=$wgTitle->getFullURL("action=raw&oldid=".$this->mOldid);                  
                        $url2=$wgTitle->getFullURL("action=raw&oldid=".$this->mNewid);
+                       $special=$wgLang->getNsText(NS_SPECIAL);
                        $control=<<<CONTROL
 [Process]
 Type=Diff text
 Engine=MediaWiki
 Script={$wgServer}{$wgScript}
+Special namespace={$special}
 
 [File]
 Extension=wiki