* Introduce NUMBEROFPAGES magic word
[lhc/web/wiklou.git] / includes / Parser.php
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