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