From 72fe463f7f20ee23521666cdca4141dc584ec722 Mon Sep 17 00:00:00 2001
From: Brice Maron <brice@bmaron.net>
Date: Fri, 22 Jun 2012 12:44:17 +0200
Subject: Correct OC_Config writer. Use var_export (has support for array,...)

---
 lib/config.php | 17 +++--------------
 1 file changed, 3 insertions(+), 14 deletions(-)

(limited to 'lib/config.php')

diff --git a/lib/config.php b/lib/config.php
index 9279549b1bb..65f9fdc06ba 100644
--- a/lib/config.php
+++ b/lib/config.php
@@ -152,23 +152,12 @@ class OC_Config{
 	 *
 	 * Saves the config to the config file.
 	 *
-	 * Known flaws: Strings are not escaped properly
 	 */
 	public static function writeData(){
 		// Create a php file ...
-		$content = "<?php\n\$CONFIG = array(\n";
-
-		foreach( self::$cache as $key => $value ){
-			if( is_bool( $value )){
-				$value = $value ? 'true' : 'false';
-				$content .= "\"$key\" => $value,\n";
-			}
-			else{
-				$value = str_replace( "'", "\\'", $value );
-				$content .= "\"$key\" => '$value',\n";
-			}
-		}
-		$content .= ");\n?>\n";
+		$content = "<?php\n\$CONFIG = ";
+		$content .= var_export(self::$cache, true);
+		$content .= ";\n?>\n";
 
 		$filename = OC::$SERVERROOT."/config/config.php";
 		// Write the file
-- 
cgit v1.2.3