* Escape '$' also for double quotes
authorAryeh Gregor <simetrical@users.mediawiki.org>
Thu, 11 Jan 2007 20:55:27 +0000 (20:55 +0000)
committerAryeh Gregor <simetrical@users.mediawiki.org>
Thu, 11 Jan 2007 20:55:27 +0000 (20:55 +0000)
* This appears to be ready for mass production use.  Any objections to committing php rebuildLanguage.php --lang=all?

maintenance/language/writeMessagesArray.inc

index 1084b8f..184e4d6 100644 (file)
@@ -99,8 +99,10 @@ function writeMessagesBlock( $name, $comment, $messages, $ignoredComments ) {
                        $blockText .= "\"$value\"";
                } else {
                        # Pick the less numerous one to escape
-                       $quote = substr_count( $value, '"' ) >= substr_count( $value, "'" ) ? "'" : '"';
-                       $blockText .= $quote . addcslashes( $value, $quote.'\\' ) . $quote;
+                       $quote = substr_count( $value, '"' ) + substr_count( $value, '$' ) >= substr_count( $value, "'" ) ? "'" : '"';
+                       if ('"' == $quote) { $extra = '$'; }
+                       else { $extra = ''; }
+                       $blockText .= $quote . addcslashes( $value, $quote.'\\'.$extra ) . $quote;
                }
 
                # Comma