]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blobdiff - maintenance/language/StatOutputs.php
MediaWiki 1.17.0
[autoinstallsdev/mediawiki.git] / maintenance / language / StatOutputs.php
index 169a4d410101ea6481853732543b956b6c6f7d69..b8e283025d5c3f5d45d5a87cf3bee91d994bb885 100644 (file)
@@ -1,12 +1,12 @@
 <?php
-if (!defined('MEDIAWIKI')) die();
+if ( !defined( 'MEDIAWIKI' ) ) die();
 /**
  * Statistic output classes.
  *
  * @file
  * @ingroup MaintenanceLanguage
  * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- * @author Ashar Voultoiz <thoane@altern.org>
+ * @author Ashar Voultoiz <hashar at free dot fr>
  */
 
 /** A general output object. Need to be overriden */
@@ -31,12 +31,11 @@ class statsOutput {
 /** Outputs WikiText */
 class wikiStatsOutput extends statsOutput {
        function heading() {
-               global $IP;
                $version = SpecialVersion::getVersion( 'nodb' );
                echo "'''Statistics are based on:''' <code>" . $version . "</code>\n\n";
                echo "'''Note:''' These statistics can be generated by running <code>php maintenance/language/transstat.php</code>.\n\n";
                echo "For additional information on specific languages (the message names, the actual problems, etc.), run <code>php maintenance/language/checkLanguage.php --lang=foo</code>.\n\n";
-               echo '{| class="sortable wikitable" border="2" cellpadding="4" cellspacing="0" style="background-color: #F9F9F9; border: 1px #AAAAAA solid; border-collapse: collapse; clear:both;" width="100%"'."\n";
+               echo '{| class="sortable wikitable" border="2" cellpadding="4" cellspacing="0" style="background-color: #F9F9F9; border: 1px #AAAAAA solid; border-collapse: collapse; clear:both;" width="100%"' . "\n";
        }
        function footer() {
                echo "|}\n";
@@ -48,11 +47,15 @@ class wikiStatsOutput extends statsOutput {
                echo '';
        }
        function element( $in, $heading = false ) {
-               echo ($heading ? '!' : '|') . "$in\n";
+               echo ( $heading ? '!' : '|' ) . "$in\n";
        }
        function formatPercent( $subset, $total, $revert = false, $accuracy = 2 ) {
-               $v = @round(255 * $subset / $total);
+               $v = @round( 255 * $subset / $total );
                if ( $revert ) {
+                       # Weigh reverse with factor 20 so coloring takes effect more quickly as
+                       # this option is used solely for reporting 'bad' percentages.
+                       $v = $v * 20;
+                       if ( $v > 255 ) $v = 255;
                        $v = 255 - $v;
                }
                if ( $v < 128 ) {
@@ -61,21 +64,21 @@ class wikiStatsOutput extends statsOutput {
                        $green = sprintf( '%02X', 2 * $v );
                } else {
                        # Yellow to Green
-                       $red = sprintf('%02X', 2 * ( 255 - $v ) );
+                       $red = sprintf( '%02X', 2 * ( 255 - $v ) );
                        $green = 'FF';
                }
                $blue = '00';
                $color = $red . $green . $blue;
 
-               $percent = statsOutput::formatPercent( $subset, $total, $revert, $accuracy );
-               return 'bgcolor="#'. $color .'"|'. $percent;
+               $percent = parent::formatPercent( $subset, $total, $revert, $accuracy );
+               return 'bgcolor="#' . $color . '"|' . $percent;
        }
 }
 
 /** Output text. To be used on a terminal for example. */
 class textStatsOutput extends statsOutput {
        function element( $in, $heading = false ) {
-               echo $in."\t";
+               echo $in . "\t";
        }
        function blockend() {
                echo "\n";