From 00cb0d116b2f75478b2d9c5989d0742a60498a1c Mon Sep 17 00:00:00 2001 From: Domas Mituzas Date: Mon, 29 May 2006 05:49:03 +0000 Subject: [PATCH] MessageCachePHP: throw out stupid RE, use simple str_replace's --- includes/MessageCache.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/includes/MessageCache.php b/includes/MessageCache.php index 35ea4d53d5..a9fa1a445a 100644 --- a/includes/MessageCache.php +++ b/includes/MessageCache.php @@ -148,16 +148,22 @@ class MessageCache { $file = fopen( $filename.'.tmp', 'w'); fwrite($file,"mCache = array("); - $re="/(? $message) { - fwrite($file, "'". preg_replace($re, "\'", $key). - "' => '" . preg_replace( $re, "\'", $message) . "',\n"); + fwrite($file, "'". $this->escapeForScript($key). + "' => '" . $this->escapeForScript($message). + "',\n"); } fwrite($file,");\n?>"); fclose($file); rename($filename.'.tmp',$filename); } + function escapeForScript($string) { + $string = str_replace( '\\', '\\\\', $string ); + $string = str_replace( '\'', '\\\'', $string ); + return $string; + } + /** * Loads messages either from memcached or the database, if not disabled * On error, quietly switches to a fallback mode -- 2.20.1