mTables' element must not be left blank, to ensure the translate() function could...
authorPhilip Tzou <philip@users.mediawiki.org>
Thu, 29 Jan 2009 07:43:03 +0000 (07:43 +0000)
committerPhilip Tzou <philip@users.mediawiki.org>
Thu, 29 Jan 2009 07:43:03 +0000 (07:43 +0000)
languages/LanguageConverter.php

index a070f3f..63b98f1 100644 (file)
@@ -296,12 +296,19 @@ class LanguageConverter {
                        if( !in_array($v,$this->mVariants) )continue;
                        if( $action=="add" ) {
                                foreach($t as $from=>$to) {
-                                       // more efficient than array_merge(), about 2.5 times.
-                                       $this->mManualAddTables[$v][$from] = $to;
+                                       // to ensure that $from and $to not be left blank
+                                       // so $this->translate() could always return a string
+                                       if ($from || $to)
+                                               // more efficient than array_merge(), about 2.5 times.
+                                               $this->mManualAddTables[$v][$from] = $to;
+                               }
+                       }
+                       elseif ( $action=="remove" ) {
+                               foreach($t as $from=>$to) {
+                                       if ($from || $to)
+                                               $this->mManualRemoveTables[$v][$from] = $to;
                                }
                        }
-                       elseif ( $action=="remove" )
-                               $this->mManualRemoveTables[$v] = array_merge($this->mManualRemoveTables[$v], $t);
                }
        }