* (bug 14611) Add a global variable hook to show the extended software information...
authorShinjiman <shinjiman@users.mediawiki.org>
Fri, 17 Jul 2009 14:49:15 +0000 (14:49 +0000)
committerShinjiman <shinjiman@users.mediawiki.org>
Fri, 17 Jul 2009 14:49:15 +0000 (14:49 +0000)
  patch by OverlordQ

RELEASE-NOTES
includes/DefaultSettings.php
includes/specials/SpecialVersion.php
languages/messages/MessagesEn.php
languages/messages/MessagesLzh.php
languages/messages/MessagesYue.php
languages/messages/MessagesZh_hans.php
languages/messages/MessagesZh_hant.php
maintenance/language/messages.inc

index dbf3272..d39ddb6 100644 (file)
@@ -73,6 +73,8 @@ this. Was used when mwEmbed was going to be an extension.
 * $wgRegisterInternalExternals can be used to record external links pointing 
   to same server
 * $wgHtml5 outputs an HTML 5 doctype instead of XHTML 1.0 Transitional.
+* $wgSpecialVersionExtended shows the extended version information besides 
+  PHP and database version.
 
 === New features in 1.16 ===
 
@@ -124,7 +126,8 @@ this. Was used when mwEmbed was going to be an extension.
 * Added a PHP port of CDB (constant database), for improved local caching when
   the DBA extension is not available.
 * (bug 14611) Added support showing the version of the web server, image 
-  thumbnailing engine, diff/diff3 engine and TeX engine.
+  thumbnailing engine, diff/diff3 engine and TeX engine, enabled for sysops 
+  by default.
 * Introduced a new system for localisation caching. The system is based around 
   fast fetches of individual messages, minimising memory overhead and startup 
   time in the typical case. The database backend will be used by default, but 
index 2384130..4420988 100644 (file)
@@ -1135,6 +1135,12 @@ $wgShowDebug            = false;
  */
 $wgSpecialVersionShowHooks =  false;
 
+/**
+ * By default, only show the MediaWiki, PHP, Database versions.
+ * Setting this to true will try and determine versions of all helper programs.
+ */
+$wgSpecialVersionExtended = false;
+
 /**
  * Whether to show "we're sorry, but there has been a database error" pages.
  * Displaying errors aids in debugging, but may display information useful
@@ -1341,6 +1347,7 @@ $wgGroupPermissions['sysop']['markbotedits']     = true;
 $wgGroupPermissions['sysop']['apihighlimits']    = true;
 $wgGroupPermissions['sysop']['browsearchive']    = true;
 $wgGroupPermissions['sysop']['noratelimit']      = true;
+$wgGroupPermissions['sysop']['versiondetail']    = true;
 $wgGroupPermissions['sysop']['movefile']         = true;
 #$wgGroupPermissions['sysop']['mergehistory']     = true;
 
index 9f3e84e..52b449e 100644 (file)
@@ -102,206 +102,212 @@ class SpecialVersion extends SpecialPage {
        static function softwareInformation() {
                global $wgUseImageMagick, $wgImageMagickConvertCommand, $wgDiff3, $wgDiff, $wgUseTeX;
                global $wgAllowTitlesInSVG, $wgSVGConverter, $wgSVGConverters, $wgSVGConverterPath;
+               global $wgUser, $wgSpecialVersionExtended;
                $dbr = wfGetDB( DB_SLAVE );
 
-               // Get the web server name and its version, if applicable
-               // Chop off PHP text from the string if it has the text desired
-               $serverSoftware = $_SERVER['SERVER_SOFTWARE'];
-               if ( strrpos( $serverSoftware, 'PHP' ) === false ) {
-               } else {
-                       $serverSoftware = trim( substr( $serverSoftware, 0, strrpos($serverSoftware,'PHP') - 1 ) );
-               }
-
-               // Get the web server name and its version.
-               $serverSoftwareLine = explode('/',$serverSoftware);
-               $serverSoftwareName = $serverSoftwareLine[0];
-
-               // Insert the website of the web server if applicable.
-               if ( stristr( $serverSoftwareName, 'Apache' ) )
-                       $serverSoftwareURL = 'http://httpd.apache.org/';
-               else if ( stristr( $serverSoftwareName, 'IIS' ) )
-                       $serverSoftwareURL = 'http://www.microsoft.com/iis/';
-               else if ( stristr( $serverSoftwareName, 'Cherokee' ) )
-                       $serverSoftwareURL = 'http://www.cherokee-project.com/';
-               else if ( stristr( $serverSoftwareName, 'lighttpd' ) )
-                       $serverSoftwareURL = 'http://www.lighttpd.net/';
-               else if ( stristr( $serverSoftwareName, 'Sun' ) )
-                       $serverSoftwareURL = 'http://www.sun.com/software/products/web_srvr/';
-
-               // Get the version of the web server. If does not have one,
-               // leave it as empty.
-               if ( $serverSoftwareLine[1] != '' ) {
-                       $serverSoftwareVersion = $serverSoftwareLine[1];
-               } else {
-                       $serverSoftwareVersion = '';
-               }
-
                // Put the software in an array of form 'name' => 'version'. All messages should
                // be loaded here, so feel free to use wfMsg*() in the 'name'. Raw HTML or wikimarkup
                // can be used
                $software = array();
+
                $software['[http://www.mediawiki.org/ MediaWiki]'] = self::getVersionLinked();
-               if ( isset( $serverSoftwareURL ) )
-                       $software["[$serverSoftwareURL $serverSoftwareName]"] = $serverSoftwareVersion;
-               else
-                       $software[$serverSoftwareName] = $serverSoftwareVersion;
                $software['[http://www.php.net/ PHP]'] = phpversion() . " (" . php_sapi_name() . ")";
                $software[$dbr->getSoftwareLink()] = $dbr->getServerVersion();
 
-               // Version information for diff3
-               if ( file_exists( trim( $wgDiff3, '"' ) ) ) {
-                       $swDiff3Info = self::execOutput( $wgDiff3 . ' -v' );
-                       $swDiff3Line = explode("\n",$swDiff3Info ,2);
-                       $swDiff3Ver = $swDiff3Line[0];
-                       $swDiff3Ver = str_replace( 'diff3 (GNU diffutils) ', '' , $swDiff3Ver);
-                       $software['[http://www.gnu.org/software/diffutils/diffutils.html diff3]'] = $swDiff3Ver;
-               }
+               if( $wgSpecialVersionExtended || $wgUser->isAllowed( 'versiondetail' ) ) {
+                       // Get the web server name and its version, if applicable
+                       // Chop off PHP text from the string if it has the text desired
+                       $serverSoftware = $_SERVER['SERVER_SOFTWARE'];
+                       if ( strrpos( $serverSoftware, 'PHP' ) === false ) {
+                       } else {
+                               $serverSoftware = trim( substr( $serverSoftware, 0, strrpos($serverSoftware,'PHP') - 1 ) );
+                       }
 
-               // Version information for diff
-               if ( file_exists( trim( $wgDiff, '"' ) ) ) {
-                       $swDiffInfo = self::execOutput( $wgDiff . ' -v' );
-                       $swDiffLine = explode("\n",$swDiffInfo ,2);
-                       $swDiffVer = $swDiffLine[0];
-                       $swDiffVer = str_replace( 'diff (GNU diffutils) ', '' , $swDiffVer);
-                       $software['[http://www.gnu.org/software/diffutils/diffutils.html diff]'] = $swDiffVer;
-               }
+                       // Get the web server name and its version.
+                       $serverSoftwareLine = explode('/',$serverSoftware);
+                       $serverSoftwareName = $serverSoftwareLine[0];
+
+                       // Insert the website of the web server if applicable.
+                       if ( stristr( $serverSoftwareName, 'Apache' ) )
+                               $serverSoftwareURL = 'http://httpd.apache.org/';
+                       else if ( stristr( $serverSoftwareName, 'IIS' ) )
+                               $serverSoftwareURL = 'http://www.microsoft.com/iis/';
+                       else if ( stristr( $serverSoftwareName, 'Cherokee' ) )
+                               $serverSoftwareURL = 'http://www.cherokee-project.com/';
+                       else if ( stristr( $serverSoftwareName, 'lighttpd' ) )
+                               $serverSoftwareURL = 'http://www.lighttpd.net/';
+                       else if ( stristr( $serverSoftwareName, 'Sun' ) )
+                               $serverSoftwareURL = 'http://www.sun.com/software/products/web_srvr/';
+                       else if ( stristr( $serverSoftwareName, 'nginx' ) )
+                               $serverSoftwareURL = 'http://nginx.net/';
+
+                       // Get the version of the web server. If does not have one,
+                       // leave it as empty.
+                       if ( $serverSoftwareLine[1] != '' ) {
+                               $serverSoftwareVersion = $serverSoftwareLine[1];
+                       } else {
+                               $serverSoftwareVersion = '';
+                       }
 
-               // Look for ImageMagick's version, if did not found, try to find the GD library version
-               if ( $wgUseImageMagick ) {
-                       if ( file_exists( trim( $wgImageMagickConvertCommand, '"' ) ) ) {
-                               $swImageMagickInfo = self::execOutput( $wgImageMagickConvertCommand . ' -version' );
-                               list( $head, $tail ) = explode( 'ImageMagick', $swImageMagickInfo );
-                               list( $swImageMagickVer ) = explode('http://www.imagemagick.org', $tail );
-                               $software['[http://www.imagemagick.org/ ImageMagick]'] = $swImageMagickVer;
+                       if ( isset( $serverSoftwareURL ) )
+                               $software["[$serverSoftwareURL $serverSoftwareName]"] = $serverSoftwareVersion;
+                       else
+                               $software[$serverSoftwareName] = $serverSoftwareVersion;
+
+                       // Version information for diff3
+                       if ( file_exists( trim( $wgDiff3, '"' ) ) ) {
+                               $swDiff3Info = self::execOutput( $wgDiff3 . ' -v' );
+                               $swDiff3Line = explode("\n",$swDiff3Info ,2);
+                               $swDiff3Ver = $swDiff3Line[0];
+                               $swDiff3Ver = str_replace( 'diff3 (GNU diffutils) ', '' , $swDiff3Ver);
+                               $software['[http://www.gnu.org/software/diffutils/diffutils.html diff3]'] = $swDiff3Ver;
                        }
-               } else {
-                       if( function_exists( 'gd_info' ) ) {
-                               $gdInfo = gd_info();
-                               if ( strstr( $gdInfo['GD Version'], 'bundled' ) != false ) {
-                                       $gd_URL = 'http://www.php.net/gd';
+
+                       // Version information for diff
+                       if ( file_exists( trim( $wgDiff, '"' ) ) ) {
+                               $swDiffInfo = self::execOutput( $wgDiff . ' -v' );
+                               $swDiffLine = explode("\n",$swDiffInfo ,2);
+                               $swDiffVer = $swDiffLine[0];
+                               $swDiffVer = str_replace( 'diff (GNU diffutils) ', '' , $swDiffVer);
+                               $software['[http://www.gnu.org/software/diffutils/diffutils.html diff]'] = $swDiffVer;
+                       }
+
+                       // Look for ImageMagick's version, if did not found, try to find the GD library version
+                       if ( $wgUseImageMagick ) {
+                               if ( file_exists( trim( $wgImageMagickConvertCommand, '"' ) ) ) {
+                                       $swImageMagickInfo = self::execOutput( $wgImageMagickConvertCommand . ' -version' );
+                                       list( $head, $tail ) = explode( 'ImageMagick', $swImageMagickInfo );
+                                       list( $swImageMagickVer ) = explode('http://www.imagemagick.org', $tail );
+                                       $software['[http://www.imagemagick.org/ ImageMagick]'] = $swImageMagickVer;
                                }
-                               else {
-                                       $gd_URL = 'http://www.libgd.org';
+                       } else {
+                               if( function_exists( 'gd_info' ) ) {
+                                       $gdInfo = gd_info();
+                                       if ( strstr( $gdInfo['GD Version'], 'bundled' ) != false ) {
+                                               $gd_URL = 'http://www.php.net/gd';
+                                       } else {
+                                               $gd_URL = 'http://www.libgd.org';
+                                       }
+                                       $software['[' . $gd_URL . ' GD library]'] = $gdInfo['GD Version'];
                                }
-                               $software['[' . $gd_URL . ' GD library]'] = $gdInfo['GD Version'];
                        }
-               }
 
-               // Look for SVG converter and print the version info
-               if ( $wgAllowTitlesInSVG ) {
-                       $swSVGConvName = $wgSVGConverter;
-                       $haveSVGConvVer = false;
-                       $pathVar = '$path/';
-                       $binPath = '/usr/bin/';
-                       $execPath = strtok(strstr($wgSVGConverters[$wgSVGConverter],$pathVar), ' ');
-                       $execPath = substr_replace($execPath, '', 0, strlen($pathVar));
-                       $execFullPath = trim($wgSVGConverterPath,'"') . $execPath;
-                       $execBinPath = $binPath . $execPath;
-                       if (strstr($execFullPath, ' ') != false) {
-                               $execFullPath = '"' . $execFullPath . '"';
-                       }
-                       if ( !strcmp( $wgSVGConverter, 'ImageMagick') ) {
-                               // Get version info for ImageMagick
-                               if ( file_exists( $execBinPath ) )
-                                       $swSVGConvInfo = self::execOutput( $execBinPath . ' -version' );
-                               else if ( file_exists( trim( $execFullPath, '"' ) ) || ( file_exists( trim( $execFullPath, '"' ) . '.exe' ) ) )
-                                       $swSVGConvInfo = self::execOutput( $execFullPath . ' -version' );
-                               list( $head, $tail ) = explode( 'ImageMagick', $swSVGConvInfo );
-                               list( $swSVGConvVer ) = explode('http://www.imagemagick.org', $tail );
-                               $swSVGConvURL = 'http://www.imagemagick.org/';
-                               $haveSVGConvVer = true;
-                       } else if ( strstr ($execFullPath, 'rsvg') != false ) {
-                               // Get version info for rsvg
-                               if ( file_exists( $execBinPath ) )
-                                       $swSVGConvInfo = self::execOutput( $execBinPath . ' -v' );
-                               else if ( file_exists( trim( $execFullPath, '"' ) ) || ( file_exists( trim( $execFullPath, '"' ) . '.exe' ) ) )
-                                       $swSVGConvInfo = self::execOutput( $execFullPath . ' -v' );
-                               $swSVGConvLine = explode("\n",$swSVGConvInfo ,2);
-                               $swSVGConvVer = $swSVGConvLine[0];
-                               $swSVGConvURL = 'http://librsvg.sourceforge.net/';
-                               $haveSVGConvVer = true;
-                       } else if ( strstr ($execFullPath, 'inkscape') != false ) {
-                               // Get version info for Inkscape
-                               if ( file_exists( $execBinPath ) )
-                                       $swSVGConvInfo = self::execOutput( $execBinPath . ' -z -V' );
-                               else if ( file_exists( trim( $execFullPath, '"' ) ) || ( file_exists( trim( $execFullPath, '"' ) . '.exe' ) ) )
-                                       $swSVGConvInfo = self::execOutput( $execFullPath . ' -z -V' );
-                               $swSVGConvLine = explode("\n",$swSVGConvInfo ,2);
-                               $swSVGConvVer = ltrim( $swSVGConvLine[0], 'Inkscape ' );
-                               $swSVGConvURL = 'http://www.inkscape.org/';
-                               $swSVGConvName = ucfirst( $wgSVGConverter );
-                               $haveSVGConvVer = true;
+                       // Look for SVG converter and print the version info
+                       if ( $wgAllowTitlesInSVG ) {
+                               $swSVGConvName = $wgSVGConverter;
+                               $haveSVGConvVer = false;
+                               $pathVar = '$path/';
+                               $binPath = '/usr/bin/';
+                               $execPath = strtok(strstr($wgSVGConverters[$wgSVGConverter],$pathVar), ' ');
+                               $execPath = substr_replace($execPath, '', 0, strlen($pathVar));
+                               $execFullPath = trim($wgSVGConverterPath,'"') . $execPath;
+                               $execBinPath = $binPath . $execPath;
+                               if (strstr($execFullPath, ' ') != false) {
+                                       $execFullPath = '"' . $execFullPath . '"';
+                               }
+                               if ( !strcmp( $wgSVGConverter, 'ImageMagick') ) {
+                                       // Get version info for ImageMagick
+                                       if ( file_exists( $execBinPath ) )
+                                               $swSVGConvInfo = self::execOutput( $execBinPath . ' -version' );
+                                       else if ( file_exists( trim( $execFullPath, '"' ) ) || ( file_exists( trim( $execFullPath, '"' ) . '.exe' ) ) )
+                                               $swSVGConvInfo = self::execOutput( $execFullPath . ' -version' );
+                                       list( $head, $tail ) = explode( 'ImageMagick', $swSVGConvInfo );
+                                       list( $swSVGConvVer ) = explode('http://www.imagemagick.org', $tail );
+                                       $swSVGConvURL = 'http://www.imagemagick.org/';
+                                       $haveSVGConvVer = true;
+                               } else if ( strstr ($execFullPath, 'rsvg') != false ) {
+                                       // Get version info for rsvg
+                                       if ( file_exists( $execBinPath ) )
+                                               $swSVGConvInfo = self::execOutput( $execBinPath . ' -v' );
+                                       else if ( file_exists( trim( $execFullPath, '"' ) ) || ( file_exists( trim( $execFullPath, '"' ) . '.exe' ) ) )
+                                               $swSVGConvInfo = self::execOutput( $execFullPath . ' -v' );
+                                       $swSVGConvLine = explode("\n",$swSVGConvInfo ,2);
+                                       $swSVGConvVer = $swSVGConvLine[0];
+                                       $swSVGConvURL = 'http://librsvg.sourceforge.net/';
+                                       $haveSVGConvVer = true;
+                               } else if ( strstr ($execFullPath, 'inkscape') != false ) {
+                                       // Get version info for Inkscape
+                                       if ( file_exists( $execBinPath ) )
+                                               $swSVGConvInfo = self::execOutput( $execBinPath . ' -z -V' );
+                                       else if ( file_exists( trim( $execFullPath, '"' ) ) || ( file_exists( trim( $execFullPath, '"' ) . '.exe' ) ) )
+                                               $swSVGConvInfo = self::execOutput( $execFullPath . ' -z -V' );
+                                       $swSVGConvLine = explode("\n",$swSVGConvInfo ,2);
+                                       $swSVGConvVer = ltrim( $swSVGConvLine[0], 'Inkscape ' );
+                                       $swSVGConvURL = 'http://www.inkscape.org/';
+                                       $swSVGConvName = ucfirst( $wgSVGConverter );
+                                       $haveSVGConvVer = true;
+                               }
+                               if ( $haveSVGConvVer )
+                                       $software["[$swSVGConvURL $swSVGConvName]"] = $swSVGConvVer;
                        }
-                       if ( $haveSVGConvVer )
-                               $software["[$swSVGConvURL $swSVGConvName]"] = $swSVGConvVer;
-               }
 
-               // Look for TeX support and print the software version info
-               if ( $wgUseTeX ) {
-                       $binPath = '/usr/bin/';
-                       $swMathName = Array(
-                               'ocaml'       => 'OCaml',
-                               'gs'          => 'Ghostscript',
-                               'dvips'       => 'Dvips',
-                               'latex'       => 'LaTeX',
-                               'imagemagick' => 'ImageMagick',
-                       );
-                       $swMathURL = Array(
-                               'ocaml'       => 'http://caml.inria.fr/',
-                               'gs'          => 'http://www.ghostscript.com/',
-                               'dvips'       => 'http://www.radicaleye.com/dvips.html',
-                               'latex'       => 'http://www.latex-project.org/',
-                               'imagemagick' => 'http://www.imagemagick.org/',
-                       );
-                       $swMathExec = Array(
-                               'ocaml'       => 'ocamlc',
-                               'gs'          => 'gs',
-                               'dvips'       => 'dvips',
-                               'latex'       => 'latex',
-                               'imagemagick' => 'convert',
-                       );
-                       $swMathParam = Array(
-                               'ocaml'       => '-version',
-                               'gs'          => '-v',
-                               'dvips'       => '-v',
-                               'latex'       => '-v',
-                               'imagemagick' => '-version',
-                       );
-                       foreach ( $swMathExec as $swMath => $swMathCmd ) {
-                               $wBinPath = '';
-                               if ( file_exists( $binPath . 'whereis' ) ) {
-                                       $swWhereIsInfo = self::execOutput( $binPath . 'whereis -b ' . $swMathCmd );
-                                       $swWhereIsLine = explode( "\n", $swWhereIsInfo, 2);
-                                       $swWhereIsFirstLine = $swWhereIsLine[0];
-                                       $swWhereIsBinPath = explode( ' ', $swWhereIsFirstLine, 3);
-                                       if ( count( $swWhereIsBinPath ) > 1 )
-                                               $wBinPath = dirname( $swWhereIsBinPath[1] );
-                               } else {
-                                       $swPathLine = explode( ';', $_SERVER['PATH'] );
-                                       $swPathFound = false;
-                                       foreach( $swPathLine as $swPathDir ) {
-                                               if ( file_exists( $swPathDir . '/' . $swMathCmd . '.exe' ) && ($swPathFound === false) ) {
-                                                       $wBinPath = $swPathDir . '/';
-                                                       $swPathFound = true;
+                       // Look for TeX support and print the software version info
+                       if ( $wgUseTeX ) {
+                               $binPath = '/usr/bin/';
+                               $swMathName = Array(
+                                       'ocaml'       => 'OCaml',
+                                       'gs'          => 'Ghostscript',
+                                       'dvips'       => 'Dvips',
+                                       'latex'       => 'LaTeX',
+                                       'imagemagick' => 'ImageMagick',
+                               );
+                               $swMathURL = Array(
+                                       'ocaml'       => 'http://caml.inria.fr/',
+                                       'gs'          => 'http://www.ghostscript.com/',
+                                       'dvips'       => 'http://www.radicaleye.com/dvips.html',
+                                       'latex'       => 'http://www.latex-project.org/',
+                                       'imagemagick' => 'http://www.imagemagick.org/',
+                               );
+                               $swMathExec = Array(
+                                       'ocaml'       => 'ocamlc',
+                                       'gs'          => 'gs',
+                                       'dvips'       => 'dvips',
+                                       'latex'       => 'latex',
+                                       'imagemagick' => 'convert',
+                               );
+                               $swMathParam = Array(
+                                       'ocaml'       => '-version',
+                                       'gs'          => '-v',
+                                       'dvips'       => '-v',
+                                       'latex'       => '-v',
+                                       'imagemagick' => '-version',
+                               );
+                               foreach ( $swMathExec as $swMath => $swMathCmd ) {
+                                       $wBinPath = '';
+                                       if ( file_exists( $binPath . 'whereis' ) ) {
+                                               $swWhereIsInfo = self::execOutput( $binPath . 'whereis -b ' . $swMathCmd );
+                                               $swWhereIsLine = explode( "\n", $swWhereIsInfo, 2);
+                                               $swWhereIsFirstLine = $swWhereIsLine[0];
+                                               $swWhereIsBinPath = explode( ' ', $swWhereIsFirstLine, 3);
+                                               if ( count( $swWhereIsBinPath ) > 1 )
+                                                       $wBinPath = dirname( $swWhereIsBinPath[1] );
+                                       } else {
+                                               $swPathLine = explode( ';', $_SERVER['PATH'] );
+                                               $swPathFound = false;
+                                               foreach( $swPathLine as $swPathDir ) {
+                                                       if ( file_exists( $swPathDir . '/' . $swMathCmd . '.exe' ) && ($swPathFound === false) ) {
+                                                               $wBinPath = $swPathDir . '/';
+                                                               $swPathFound = true;
+                                                       }
                                                }
                                        }
+                                       if ( file_exists( $binPath . $swMathCmd ) || file_exists( $wBinPath . $swMathCmd ) ) {
+                                               $swMathInfo = self::execOutput( $swMathCmd . ' ' . $swMathParam[$swMath] );
+                                               $swMathLine = explode( "\n", $swMathInfo, 2);
+                                               $swMathVerInfo = $swMathLine[0];
+                                               if ( !strcmp( $swMath, 'gs' ) )
+                                                       $swMathVerInfo = str_replace( 'GPL Ghostscript ', '', $swMathVerInfo );
+                                               else if ( !strcmp( $swMath, 'dvips' ) ) {
+                                                       $swMathVerParts = explode( ' ' , $swMathVerInfo );
+                                                       $swMathVerInfo = $swMathVerParts[3];
+                                               } else if ( !strcmp( $swMath, 'imagemagick' ) ) {
+                                                       list( $head, $tail ) = explode( 'ImageMagick', $swMathVerInfo );
+                                                       list( $swMathVerInfo ) = explode('http://www.imagemagick.org', $tail );
+                                               }
+                                               $swMathVer[$swMath] = trim( $swMathVerInfo );
+                                               $software["[$swMathURL[$swMath] $swMathName[$swMath]]"] = $swMathVer[$swMath];
+                                       }       
                                }
-                               if ( file_exists( $binPath . $swMathCmd ) || file_exists( $wBinPath . $swMathCmd ) ) {
-                                       $swMathInfo = self::execOutput( $swMathCmd . ' ' . $swMathParam[$swMath] );
-                                       $swMathLine = explode( "\n", $swMathInfo, 2);
-                                       $swMathVerInfo = $swMathLine[0];
-                                       if ( !strcmp( $swMath, 'gs' ) )
-                                               $swMathVerInfo = str_replace( 'GPL Ghostscript ', '', $swMathVerInfo );
-                                       else if ( !strcmp( $swMath, 'dvips' ) ) {
-                                               $swMathVerParts = explode( ' ' , $swMathVerInfo );
-                                               $swMathVerInfo = $swMathVerParts[3];
-                                       } else if ( !strcmp( $swMath, 'imagemagick' ) ) {
-                                               list( $head, $tail ) = explode( 'ImageMagick', $swMathVerInfo );
-                                               list( $swMathVerInfo ) = explode('http://www.imagemagick.org', $tail );
-                                       }
-                                       $swMathVer[$swMath] = trim( $swMathVerInfo );
-                                       $software["[$swMathURL[$swMath] $swMathName[$swMath]]"] = $swMathVer[$swMath];
-                               }       
                        }
                }
 
index 0920576..3519301 100644 (file)
@@ -1891,6 +1891,7 @@ You can also choose to let others contact you through your user or talk page wit
 'right-siteadmin'             => 'Lock and unlock the database',
 'right-reset-passwords'       => "Reset other users' passwords",
 'right-override-export-depth' => 'Export pages including linked pages up to a depth of 5',
+'right-versiondetail'         => 'Show the extended software version information',
 
 # User rights log
 'rightslog'      => 'User rights log',
index 58fb363..fc10567 100644 (file)
@@ -1145,6 +1145,7 @@ $1",
 'right-siteadmin'             => '鎖與解鎖資料庫',
 'right-reset-passwords'       => '設他簿之符節',
 'right-override-export-depth' => '出有五層深之頁',
+'right-versiondetail'         => '示延用之版',
 
 # User rights log
 'rightslog'  => '職權志',
index 6fe3b59..42b660b 100644 (file)
@@ -1303,6 +1303,7 @@ $1",
 'right-siteadmin'             => '鎖同解鎖資料庫',
 'right-reset-passwords'       => '重設其他用戶嘅密碼',
 'right-override-export-depth' => '倒出包含有五層深連版嘅頁面',
+'right-versiondetail'         => '顯示伸展軟件版本嘅資料',
 
 # User rights log
 'rightslog'      => '用戶權限日誌',
index cdf224b..fb02edb 100644 (file)
@@ -1344,6 +1344,7 @@ $1",
 'right-siteadmin'             => '锁定和解除锁定数据库',
 'right-reset-passwords'       => '重设其他用户的密码',
 'right-override-export-depth' => '导出含有五层深度链接页面之页面',
+'right-versiondetail'         => '显示延伸软件版本的资料',
 
 # User rights log
 'rightslog'      => '用户权限日志',
index 93da87d..07f2b99 100644 (file)
@@ -1321,6 +1321,7 @@ $1",
 'right-siteadmin'             => '鎖定和解除鎖定資料庫',
 'right-reset-passwords'       => '重設其他用戶的密碼',
 'right-override-export-depth' => '匯出含有五層深度連結頁面之頁面',
+'right-versiondetail'         => '顯示延伸軟件版本的資料',
 
 # User rights log
 'rightslog'      => '用戶權限日誌',
index 9d327e5..9db7294 100644 (file)
@@ -1083,6 +1083,7 @@ $wgMessageStructure = array(
                'right-siteadmin',
                'right-reset-passwords',
                'right-override-export-depth',
+               'right-versiondetail',
        ),
        'rightslog' => array(
                'rightslog',