Fixing transstats.php script.
authorRotem Liss <rotem@users.mediawiki.org>
Sat, 5 Aug 2006 11:44:13 +0000 (11:44 +0000)
committerRotem Liss <rotem@users.mediawiki.org>
Sat, 5 Aug 2006 11:44:13 +0000 (11:44 +0000)
maintenance/languages.inc
maintenance/transstat.php

index e318259..d61df62 100644 (file)
@@ -13,7 +13,7 @@ class languages {
        /** some messages for the current lang */
        var $messages = array();
 
-       function languages() {
+       function __construct() {
                $this->clear();
                $this->loadList();
        }
@@ -30,17 +30,11 @@ class languages {
                // available language files
                $dir = opendir("$IP/languages");
                while ($file = readdir($dir)) {
-                       if (preg_match("/Language([^.]*?)\.php$/", $file, $m)) {
+                       if (preg_match("/Messages([^.]*?)\.php$/", $file, $m)) {
                                $this->list[] = $m[1];
                        }
                }
                sort($this->list);
-
-               // Cleanup file list
-               foreach($this->list as $key => $lang) {
-                       if ($lang == 'Utf8' || $lang == '' || $lang == 'Converter')
-                               unset($this->list[$key]);
-               }
        }
 
        function getList() { return $this->list; }
index e54a668..2bd7b85 100644 (file)
@@ -110,13 +110,12 @@ class csvStatsOutput extends statsOutput {
 
 
 function redundant(&$arr, $langcode) {
-       global $wgAllMessagesEn;
-
        $redundant = 0;
+       $englishMessages = Language::getMessagesFor( 'en' );
        foreach(array_keys($arr) as $key) {
-               if ( @$wgAllMessagesEn[$key] === null ) {
+               if ( !isset( $englishMessages[$key] ) ) {
                        global $options;
-                       if( isset($options['showold']) ) {
+                       if( isset( $options['showold'] ) ) {
                                print "Deprecated [$langcode]: $key\n";
                        }
                        ++$redundant;
@@ -146,12 +145,11 @@ $langTool = new languages();
 $msgs = array();
 foreach($langTool->getList() as $langcode) {
        // Since they aren't loaded by default..
-       require_once( 'languages/Language' . $langcode . '.php' );
-       $arr = 'wgAllMessages'.$langcode;
-       if(@is_array($$arr)) {
+       require( 'languages/Messages' . $langcode . '.php' );
+       if( isset( $messages ) ) {
                $msgs[$wgContLang->lcfirst($langcode)] = array(
-                       'total' => count($$arr),
-                       'redundant' => redundant($$arr, $langcode),
+                       'total' => count( $messages ),
+                       'redundant' => redundant( $messages, $langcode ),
                );
        } else {
                $msgs[$wgContLang->lcfirst($langcode)] = array(
@@ -159,6 +157,7 @@ foreach($langTool->getList() as $langcode) {
                        'redundant' => 0,
                );
        }
+       unset( $messages );
 }
 
 // Top entry