[ Index ]

PHP Cross Reference of MediaWiki-1.24.0

title

Body

[close]

/maintenance/ -> initSiteStats.php (source)

   1  <?php
   2  /**
   3   * Re-initialise or update the site statistics table.
   4   *
   5   * This program is free software; you can redistribute it and/or modify
   6   * it under the terms of the GNU General Public License as published by
   7   * the Free Software Foundation; either version 2 of the License, or
   8   * (at your option) any later version.
   9   *
  10   * This program is distributed in the hope that it will be useful,
  11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13   * GNU General Public License for more details.
  14   *
  15   * You should have received a copy of the GNU General Public License along
  16   * with this program; if not, write to the Free Software Foundation, Inc.,
  17   * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  18   * http://www.gnu.org/copyleft/gpl.html
  19   *
  20   * @file
  21   * @ingroup Maintenance
  22   * @author Brion Vibber
  23   * @author Rob Church <[email protected]>
  24   */
  25  
  26  require_once  __DIR__ . '/Maintenance.php';
  27  
  28  /**
  29   * Maintenance script to re-initialise or update the site statistics table
  30   *
  31   * @ingroup Maintenance
  32   */
  33  class InitSiteStats extends Maintenance {
  34  	public function __construct() {
  35          parent::__construct();
  36          $this->mDescription = "Re-initialise the site statistics tables";
  37          $this->addOption(
  38              'update',
  39              'Update the existing statistics (preserves the ss_total_views field)'
  40          );
  41          $this->addOption( 'noviews', "Don't update the page view counter" );
  42          $this->addOption( 'active', 'Also update active users count' );
  43          $this->addOption( 'use-master', 'Count using the master database' );
  44      }
  45  
  46  	public function execute() {
  47          $this->output( "Refresh Site Statistics\n\n" );
  48          $counter = new SiteStatsInit( $this->hasOption( 'use-master' ) );
  49  
  50          $this->output( "Counting total edits..." );
  51          $edits = $counter->edits();
  52          $this->output( "{$edits}\nCounting number of articles..." );
  53  
  54          $good = $counter->articles();
  55          $this->output( "{$good}\nCounting total pages..." );
  56  
  57          $pages = $counter->pages();
  58          $this->output( "{$pages}\nCounting number of users..." );
  59  
  60          $users = $counter->users();
  61          $this->output( "{$users}\nCounting number of images..." );
  62  
  63          $image = $counter->files();
  64          $this->output( "{$image}\n" );
  65  
  66          if ( !$this->hasOption( 'noviews' ) ) {
  67              $this->output( "Counting total page views..." );
  68              $views = $counter->views();
  69              $this->output( "{$views}\n" );
  70          }
  71  
  72          if ( $this->hasOption( 'update' ) ) {
  73              $this->output( "\nUpdating site statistics..." );
  74              $counter->refresh();
  75              $this->output( "done.\n" );
  76          }
  77  
  78          if ( $this->hasOption( 'active' ) ) {
  79              $this->output( "\nCounting and updating active users..." );
  80              $active = SiteStatsUpdate::cacheUpdate( wfGetDB( DB_MASTER ) );
  81              $this->output( "{$active}\n" );
  82          }
  83  
  84          $this->output( "\nDone.\n" );
  85      }
  86  }
  87  
  88  $maintClass = "InitSiteStats";
  89  require_once RUN_MAINTENANCE_IF_MAIN;


Generated: Fri Nov 28 14:03:12 2014 Cross-referenced by PHPXref 0.7.1