* Introduce NUMBEROFPAGES magic word
authorRob Church <robchurch@users.mediawiki.org>
Sat, 13 May 2006 17:30:42 +0000 (17:30 +0000)
committerRob Church <robchurch@users.mediawiki.org>
Sat, 13 May 2006 17:30:42 +0000 (17:30 +0000)
* (bug 5833) Introduce CURRENTVERSION magic word

RELEASE-NOTES
includes/MagicWord.php
includes/Parser.php
languages/Language.php

index 7feeecf..fc3a93e 100644 (file)
@@ -253,6 +253,8 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
 * (bug 5806) {{plural:}} support instead of "twin" MediaWiki messages
 * (bug 5931) Update for Polish language (pl)
 * Ignore the user and user talk namespaces on Special:Wantedpages
+* Introduce NUMBEROFPAGES magic word
+* (bug 5833) Introduce CURRENTVERSION magic word
 
 == Compatibility ==
 
index 1dfadfe..2c8b8bd 100644 (file)
@@ -84,6 +84,8 @@ $magicWords = array(
        'MAG_NUMBEROFUSERS',
        'MAG_RAWSUFFIX',
        'MAG_NEWSECTIONLINK',
+       'MAG_NUMBEROFPAGES',
+       'MAG_CURRENTVERSION',
 );
 if ( ! defined( 'MEDIAWIKI_INSTALL' ) )
        wfRunHooks( 'MagicWordMagicWords', array( &$magicWords ) );
@@ -130,6 +132,8 @@ $wgVariableIDs = array(
        MAG_NUMBEROFUSERS,
        MAG_RAWSUFFIX,
        MAG_NEWSECTIONLINK,
+       MAG_NUMBEROFPAGES,
+       MAG_CURRENTVERSION,
 );
 if ( ! defined( 'MEDIAWIKI_INSTALL' ) )
        wfRunHooks( 'MagicWordwgVariableIDs', array( &$wgVariableIDs ) );
index 8976971..4564871 100644 (file)
@@ -2150,6 +2150,11 @@ class Parser
                                return $varCache[$index] = $wgContLang->formatNum( wfNumberOfFiles() );
                        case MAG_NUMBEROFUSERS:
                                return $varCache[$index] = $wgContLang->formatNum( wfNumberOfUsers() );
+                       case MAG_NUMBEROFPAGES:
+                               return $varCache[$index] = $wgContLang->formatNum( wfNumberOfPages() );
+                       case MAG_CURRENTVERSION:
+                               global $wgVersion;
+                               return $wgVersion;
                        case MAG_SITENAME:
                                return $wgSitename;
                        case MAG_SERVER:
@@ -2664,9 +2669,12 @@ class Parser
                        }
                }               
 
-               # NUMBEROFUSERS, NUMBEROFARTICLES, and NUMBEROFFILES
+               # NUMBEROFPAGES, NUMBEROFUSERS, NUMBEROFARTICLES, and NUMBEROFFILES
                if( !$found ) {
-                       $mwWordsToCheck = array( MAG_NUMBEROFUSERS => 'wfNumberOfUsers', MAG_NUMBEROFARTICLES => 'wfNumberOfArticles', MAG_NUMBEROFFILES => 'wfNumberOfFiles' );
+                       $mwWordsToCheck = array( MAG_NUMBEROFPAGES => 'wfNumberOfPages',
+                                                                        MAG_NUMBEROFUSERS => 'wfNumberOfUsers',
+                                                                        MAG_NUMBEROFARTICLES => 'wfNumberOfArticles',
+                                                                        MAG_NUMBEROFFILES => 'wfNumberOfFiles' );
                        foreach( $mwWordsToCheck as $word => $func ) {
                                $mwCurrentWord =& MagicWord::get( $word );
                                if( $mwCurrentWord->matchStartAndRemove( $part1 ) ) {
@@ -4317,6 +4325,18 @@ function wfNumberOfUsers() {
        return (int)$count;
 }
 
+/**
+ * Return the total number of pages
+ * @return integer
+ */
+function wfNumberOfPages() {
+       wfProfileIn( 'wfNumberOfPages' );
+       $dbr =& wfGetDB( DB_SLAVE );
+       $count = $dbr->selectField( 'site_stats', 'ss_total_pages', array(), 'wfNumberOfPages' );
+       wfProfileOut( 'wfNumberOfPages' );
+       return (int)$count;
+}
+
 /**
  * Get various statistics from the database
  * @private
index 17b5d12..0bf85b9 100644 (file)
@@ -226,6 +226,7 @@ $wgLanguageNamesEn =& $wgLanguageNames;
        MAG_CURRENTDAYNAME       => array( 1,    'CURRENTDAYNAME'         ),
        MAG_CURRENTYEAR          => array( 1,    'CURRENTYEAR'            ),
        MAG_CURRENTTIME          => array( 1,    'CURRENTTIME'            ),
+       MAG_NUMBEROFPAGES                => array( 1,    'NUMBEROFPAGES'                  ),
        MAG_NUMBEROFARTICLES     => array( 1,    'NUMBEROFARTICLES'       ),
        MAG_NUMBEROFFILES        => array( 1,    'NUMBEROFFILES'          ),
        MAG_NUMBEROFUSERS                => array( 1,    'NUMBEROFUSERS'                  ),
@@ -282,6 +283,7 @@ $wgLanguageNamesEn =& $wgLanguageNames;
        MAG_DISPLAYTITLE         => array( 1,    'DISPLAYTITLE'           ),
        MAG_RAWSUFFIX                    => array( 1,    'R'                                      ),
        MAG_NEWSECTIONLINK               => array( 1,    '__NEWSECTIONLINK__'     ),
+       MAG_CURRENTVERSION               => array( 1,    'CURRENTVERSION'                 ),
 );
 
 if (!$wgCachedMessageArrays) {