/**#@+
* Give information about the version of MediaWiki, PHP, the DB and extensions
*
- * @package MediaWiki
- * @subpackage SpecialPage
- *
- * @bug 2019, 4531
+ * @addtogroup SpecialPage
*
* @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
* @copyright Copyright © 2005, Ævar Arnfjörð Bjarmason
*/
function MediaWikiCredits() {
$version = self::getVersion();
- $dbr =& wfGetDB( DB_SLAVE );
-
- global $wgLanguageNames, $wgLanguageCode;
- $mwlang = $wgLanguageNames[$wgLanguageCode];
+ $dbr = wfGetDB( DB_SLAVE );
$ret =
"__NOTOC__
This wiki is powered by '''[http://www.mediawiki.org/ MediaWiki]''',
- copyright (C) 2001-2007 Magnus Manske, Brion Vibber, Lee Daniel Crocker,
+ copyright (C) 2001-2008 Magnus Manske, Brion Vibber, Lee Daniel Crocker,
Tim Starling, Erik Möller, Gabriel Wicke, Ævar Arnfjörð Bjarmason,
Niklas Laxström, Domas Mituzas, Rob Church and others.
'specialpage' => 'Special pages',
'parserhook' => 'Parser hooks',
'variable' => 'Variables',
+ 'media' => 'Media handlers',
'other' => 'Other',
);
wfRunHooks( 'SpecialVersionExtensionTypes', array( &$this, &$extensionTypes ) );
$out .= wfOpenElement('table', array('id' => 'sv-ext') );
foreach ( $extensionTypes as $type => $text ) {
- if ( count( @$wgExtensionCredits[$type] ) ) {
+ if ( isset ( $wgExtensionCredits[$type] ) && count ( $wgExtensionCredits[$type] ) ) {
$out .= $this->openExtType( $text );
usort( $wgExtensionCredits[$type], array( $this, 'compare' ) );
foreach ( $wgExtensionCredits[$type] as $extension ) {
- wfSuppressWarnings();
$out .= $this->formatCredits(
- $extension['name'],
- $extension['version'],
- $extension['author'],
- $extension['url'],
- $extension['description']
+ isset ( $extension['name'] ) ? $extension['name'] : '',
+ isset ( $extension['version'] ) ? $extension['version'] : null,
+ isset ( $extension['author'] ) ? $extension['author'] : '',
+ isset ( $extension['url'] ) ? $extension['url'] : null,
+ isset ( $extension['description'] ) ? $extension['description'] : ''
);
- wfRestoreWarnings();
}
}
}
/** Callback to sort extensions by type */
function compare( $a, $b ) {
- if ( $a['name'] === $b['name'] )
+ global $wgLang;
+ if( $a['name'] === $b['name'] ) {
return 0;
- else
- return Language::lc( $a['name'] ) > Language::lc( $b['name'] ) ? 1 : -1;
+ } else {
+ return $wgLang->lc( $a['name'] ) > $wgLang->lc( $b['name'] )
+ ? 1
+ : -1;
+ }
}
function formatCredits( $name, $version = null, $author = null, $url = null, $description = null) {
foreach ($myWgHooks as $hook => $hooks)
$ret .= "<tr><td>$hook</td><td>" . $this->listToText( $hooks ) . "</td></tr>\n";
+ $ret .= '</table>';
return $ret;
} else
return '';
function listToText( $list ) {
$cnt = count( $list );
- if ( $cnt == 1 )
+ if ( $cnt == 1 ) {
// Enforce always returning a string
return (string)$this->arrayToString( $list[0] );
- elseif ( $cnt == 0 ) {
+ } elseif ( $cnt == 0 ) {
return '';
- else {
+ } else {
$t = array_slice( $list, 0, $cnt - 1 );
$one = array_map( array( &$this, 'arrayToString' ), $t );
$two = $this->arrayToString( $list[$cnt - 1] );
* @return mixed
*/
function arrayToString( $list ) {
- if ( ! is_array( $list ) )
+ if( is_object( $list ) ) {
+ $class = get_class( $list );
+ return "($class)";
+ } elseif ( ! is_array( $list ) ) {
return $list;
- else {
+ } else {
$class = get_class( $list[0] );
return "($class, {$list[1]})";
}
/**
* Retrieve the revision number of a Subversion working directory.
*
- * @bug 7335
- *
* @param string $dir
* @return mixed revision number as int, or false if not a SVN checkout
*/
}
/**#@-*/
-?>
+