summaryrefslogtreecommitdiff
path: root/maintenance/language/StatOutputs.php
diff options
context:
space:
mode:
Diffstat (limited to 'maintenance/language/StatOutputs.php')
-rw-r--r--maintenance/language/StatOutputs.php47
1 files changed, 34 insertions, 13 deletions
diff --git a/maintenance/language/StatOutputs.php b/maintenance/language/StatOutputs.php
index e9d8c86d..31ce7024 100644
--- a/maintenance/language/StatOutputs.php
+++ b/maintenance/language/StatOutputs.php
@@ -1,7 +1,4 @@
<?php
-if ( !defined( 'MEDIAWIKI' ) ) {
- die();
-}
/**
* Statistic output classes.
*
@@ -27,57 +24,78 @@ if ( !defined( 'MEDIAWIKI' ) ) {
*/
/** A general output object. Need to be overriden */
-class statsOutput {
+class StatsOutput {
function formatPercent( $subset, $total, $revert = false, $accuracy = 2 ) {
- return @sprintf( '%.' . $accuracy . 'f%%', 100 * $subset / $total );
+ wfSuppressWarnings();
+ $return = sprintf( '%.' . $accuracy . 'f%%', 100 * $subset / $total );
+ wfRestoreWarnings();
+
+ return $return;
}
# Override the following methods
function heading() {
}
+
function footer() {
}
+
function blockstart() {
}
+
function blockend() {
}
+
function element( $in, $heading = false ) {
}
}
/** Outputs WikiText */
-class wikiStatsOutput extends statsOutput {
+class WikiStatsOutput extends StatsOutput {
function heading() {
global $wgDummyLanguageCodes;
$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 "'''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 'English (en) is excluded because it is the default localization';
if ( is_array( $wgDummyLanguageCodes ) ) {
$dummyCodes = array();
foreach ( $wgDummyLanguageCodes as $dummyCode => $correctCode ) {
$dummyCodes[] = Language::fetchLanguageName( $dummyCode ) . ' (' . $dummyCode . ')';
}
- echo ', as well as the following languages that are not intended for system message translations, usually because they redirect to other language codes: ' . implode( ', ', $dummyCodes );
+ echo ', as well as the following languages that are not intended for ' .
+ 'system message translations, usually because they redirect to other ' .
+ 'language codes: ' . implode( ', ', $dummyCodes );
}
echo ".\n\n"; # dot to end sentence
- echo '{| class="sortable wikitable" border="2" style="background-color: #F9F9F9; border: 1px #AAAAAA solid; border-collapse: collapse; clear:both; width:100%;"' . "\n";
+ echo '{| class="sortable wikitable" border="2" style="background-color: #F9F9F9; ' .
+ 'border: 1px #AAAAAA solid; border-collapse: collapse; clear:both; width:100%;"' . "\n";
}
+
function footer() {
echo "|}\n";
}
+
function blockstart() {
echo "|-\n";
}
+
function blockend() {
echo '';
}
+
function element( $in, $heading = false ) {
echo ( $heading ? '!' : '|' ) . "$in\n";
}
+
function formatPercent( $subset, $total, $revert = false, $accuracy = 2 ) {
- $v = @round( 255 * $subset / $total );
+ wfSuppressWarnings();
+ $v = round( 255 * $subset / $total );
+ wfRestoreWarnings();
+
if ( $revert ) {
# Weigh reverse with factor 20 so coloring takes effect more quickly as
# this option is used solely for reporting 'bad' percentages.
@@ -100,25 +118,28 @@ class wikiStatsOutput extends statsOutput {
$color = $red . $green . $blue;
$percent = parent::formatPercent( $subset, $total, $revert, $accuracy );
+
return 'style="background-color:#' . $color . ';"|' . $percent;
}
}
/** Output text. To be used on a terminal for example. */
-class textStatsOutput extends statsOutput {
+class TextStatsOutput extends StatsOutput {
function element( $in, $heading = false ) {
echo $in . "\t";
}
+
function blockend() {
echo "\n";
}
}
/** csv output. Some people love excel */
-class csvStatsOutput extends statsOutput {
+class CsvStatsOutput extends StatsOutput {
function element( $in, $heading = false ) {
echo $in . ";";
}
+
function blockend() {
echo "\n";
}