Introduce svn-revision in $wgExtensionCredits for fast extension version specification.
authorTim Starling <tstarling@users.mediawiki.org>
Tue, 6 May 2008 11:54:20 +0000 (11:54 +0000)
committerTim Starling <tstarling@users.mediawiki.org>
Tue, 6 May 2008 11:54:20 +0000 (11:54 +0000)
includes/DefaultSettings.php
includes/SpecialVersion.php

index 42ee7b5..23c9f5c 100644 (file)
@@ -2203,7 +2203,8 @@ $wgAutoloadClasses = array();
  * <code>
  * $wgExtensionCredits[$type][] = array(
  *     'name' => 'Example extension',
- *      'version' => 1.9,
+ *  'version' => 1.9,
+ *  'svn-revision' => '$LastChangedRevision$',
  *     'author' => 'Foo Barstein',
  *     'url' => 'http://wwww.example.com/Example%20Extension/',
  *     'description' => 'An example extension',
index ef4da5e..38dd335 100644 (file)
@@ -135,9 +135,20 @@ class SpecialVersion {
                                usort( $wgExtensionCredits[$type], array( $this, 'compare' ) );
 
                                foreach ( $wgExtensionCredits[$type] as $extension ) {
+                                       if ( isset( $extension['version'] ) ) {
+                                               $version = $extension['version'];
+                                       } elseif ( isset( $extension['svn-revision'] ) && 
+                                               preg_match( '/\$(?:Rev|LastChangedRevision|Revision): *(\d+)/', 
+                                                       $extension['svn-revision'], $m ) ) 
+                                       {
+                                               $version = 'r' . $m[1];
+                                       } else {
+                                               $version = null;
+                                       }
+
                                        $out .= $this->formatCredits(
                                                isset ( $extension['name'] )           ? $extension['name']        : '',
-                                               isset ( $extension['version'] )        ? $extension['version']     : null,
+                                               $version,
                                                isset ( $extension['author'] )         ? $extension['author']      : '',
                                                isset ( $extension['url'] )            ? $extension['url']         : null,
                                                isset ( $extension['description'] )    ? $extension['description'] : '',