MediaWiki  master
StatOutputs.php
Go to the documentation of this file.
1 <?php
27 class StatsOutput {
28  function formatPercent( $subset, $total, $revert = false, $accuracy = 2 ) {
29  Wikimedia\suppressWarnings();
30  $return = sprintf( '%.' . $accuracy . 'f%%', 100 * $subset / $total );
31  Wikimedia\restoreWarnings();
32 
33  return $return;
34  }
35 
36  # Override the following methods
37  function heading() {
38  }
39 
40  function footer() {
41  }
42 
43  function blockstart() {
44  }
45 
46  function blockend() {
47  }
48 
49  function element( $in, $heading = false ) {
50  }
51 }
52 
55  function heading() {
56  global $wgDummyLanguageCodes;
57  $version = SpecialVersion::getVersion( 'nodb' );
58  echo "'''Statistics are based on:''' <code>" . $version . "</code>\n\n";
59  echo "'''Note:''' These statistics can be generated by running " .
60  "<code>php maintenance/language/transstat.php</code>.\n\n";
61  echo "For additional information on specific languages (the message names, the actual " .
62  "problems, etc.), run <code>php maintenance/language/checkLanguage.php --lang=foo</code>.\n\n";
63  echo 'English (en) is excluded because it is the default localization';
64  if ( is_array( $wgDummyLanguageCodes ) ) {
65  $dummyCodes = [];
66  foreach ( $wgDummyLanguageCodes as $dummyCode => $correctCode ) {
67  $dummyCodes[] = Language::fetchLanguageName( $dummyCode ) . ' (' . $dummyCode . ')';
68  }
69  echo ', as well as the following languages that are not intended for ' .
70  'system message translations, usually because they redirect to other ' .
71  'language codes: ' . implode( ', ', $dummyCodes );
72  }
73  echo ".\n\n"; # dot to end sentence
74  echo '{| class="sortable wikitable" border="2" style="background-color: #F9F9F9; ' .
75  'border: 1px #AAAAAA solid; border-collapse: collapse; clear:both; width:100%;"' . "\n";
76  }
77 
78  function footer() {
79  echo "|}\n";
80  }
81 
82  function blockstart() {
83  echo "|-\n";
84  }
85 
86  function blockend() {
87  echo '';
88  }
89 
90  function element( $in, $heading = false ) {
91  echo ( $heading ? '!' : '|' ) . "$in\n";
92  }
93 
94  function formatPercent( $subset, $total, $revert = false, $accuracy = 2 ) {
95  Wikimedia\suppressWarnings();
96  $v = round( 255 * $subset / $total );
97  Wikimedia\restoreWarnings();
98 
99  if ( $revert ) {
100  # Weigh reverse with factor 20 so coloring takes effect more quickly as
101  # this option is used solely for reporting 'bad' percentages.
102  $v = $v * 20;
103  if ( $v > 255 ) {
104  $v = 255;
105  }
106  $v = 255 - $v;
107  }
108  if ( $v < 128 ) {
109  # Red to Yellow
110  $red = 'FF';
111  $green = sprintf( '%02X', 2 * $v );
112  } else {
113  # Yellow to Green
114  $red = sprintf( '%02X', 2 * ( 255 - $v ) );
115  $green = 'FF';
116  }
117  $blue = '00';
118  $color = $red . $green . $blue;
119 
120  $percent = parent::formatPercent( $subset, $total, $revert, $accuracy );
121 
122  return 'style="background-color:#' . $color . ';"|' . $percent;
123  }
124 }
125 
128  function element( $in, $heading = false ) {
129  echo $in . "\t";
130  }
131 
132  function blockend() {
133  echo "\n";
134  }
135 }
136 
139  function element( $in, $heading = false ) {
140  echo $in . ";";
141  }
142 
143  function blockend() {
144  echo "\n";
145  }
146 }
Output text.
element( $in, $heading=false)
Definition: StatOutputs.php:49
formatPercent( $subset, $total, $revert=false, $accuracy=2)
Definition: StatOutputs.php:28
static getVersion( $flags='', $lang=null)
Return a string of the MediaWiki version with Git revision if available.
$wgDummyLanguageCodes
Functionally the same as $wgExtraLanguageCodes, but deprecated.
element( $in, $heading=false)
Definition: StatOutputs.php:90
csv output.
static fetchLanguageName( $code, $inLanguage=self::AS_AUTONYMS, $include=self::ALL)
Definition: Language.php:828
A general output object.
Definition: StatOutputs.php:27
element( $in, $heading=false)
formatPercent( $subset, $total, $revert=false, $accuracy=2)
Definition: StatOutputs.php:94
element( $in, $heading=false)
Outputs WikiText.
Definition: StatOutputs.php:54