Browse Source

allow ini files to have separators between sections for better readability

dump now makes spaces between sections in init files
euromark 13 years ago
parent
commit
5a8092fc1b

+ 6 - 1
lib/Cake/Configure/IniReader.php

@@ -173,8 +173,10 @@ class IniReader implements ConfigReaderInterface {
 	public function dump($filename, $data) {
 		$result = array();
 		foreach ($data as $key => $value) {
+			$isSection = false;
 			if ($key[0] != '[') {
 				$result[] = "[$key]";
+				$isSection = true;
 			}
 			if (is_array($value)) {
 				$keyValues = Hash::flatten($value, '.');
@@ -182,8 +184,11 @@ class IniReader implements ConfigReaderInterface {
 					$result[] = "$k = " . $this->_value($v);
 				}
 			}
+			if ($isSection) {
+				$result[] = '';
+			}
 		}
-		$contents = implode("\n", $result);
+		$contents = trim(implode("\n", $result));
 
 		if (substr($filename, -4) !== '.ini') {
 			$filename .= '.ini';

+ 1 - 0
lib/Cake/Test/Case/Configure/IniReaderTest.php

@@ -261,6 +261,7 @@ three.four = value four
 is_null = null
 bool_false = false
 bool_true = true
+
 [Asset]
 timestamp = force
 INI;