aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorArthurHoaro <arthur@hoa.ro>2016-06-20 18:30:37 +0200
committerArthurHoaro <arthur@hoa.ro>2016-06-20 18:30:37 +0200
commit5ff23f02b80ec6ddee28dee869171ee8e3656b7c (patch)
treeaf02ad6c9f0f2956854f2330126c341a2896f558
parentb302c77c74a09cb271b711248b8f433555524ef0 (diff)
downloadShaarli-5ff23f02b80ec6ddee28dee869171ee8e3656b7c.tar.gz
Shaarli-5ff23f02b80ec6ddee28dee869171ee8e3656b7c.tar.zst
Shaarli-5ff23f02b80ec6ddee28dee869171ee8e3656b7c.zip
Add closing PHP tags to JSON config files
-rw-r--r--application/config/ConfigJson.php15
-rw-r--r--tests/config/ConfigJsonTest.php2
-rw-r--r--tests/utils/config/configInvalid.json.php1
-rw-r--r--tests/utils/config/configJson.json.php2
4 files changed, 18 insertions, 2 deletions
diff --git a/application/config/ConfigJson.php b/application/config/ConfigJson.php
index 94693c86..d07fefee 100644
--- a/application/config/ConfigJson.php
+++ b/application/config/ConfigJson.php
@@ -17,6 +17,7 @@ class ConfigJson implements ConfigIO
17 } 17 }
18 $data = file_get_contents($filepath); 18 $data = file_get_contents($filepath);
19 $data = str_replace(self::getPhpHeaders(), '', $data); 19 $data = str_replace(self::getPhpHeaders(), '', $data);
20 $data = str_replace(self::getPhpSuffix(), '', $data);
20 $data = json_decode($data, true); 21 $data = json_decode($data, true);
21 if ($data === null) { 22 if ($data === null) {
22 $error = json_last_error(); 23 $error = json_last_error();
@@ -32,7 +33,7 @@ class ConfigJson implements ConfigIO
32 { 33 {
33 // JSON_PRETTY_PRINT is available from PHP 5.4. 34 // JSON_PRETTY_PRINT is available from PHP 5.4.
34 $print = defined('JSON_PRETTY_PRINT') ? JSON_PRETTY_PRINT : 0; 35 $print = defined('JSON_PRETTY_PRINT') ? JSON_PRETTY_PRINT : 0;
35 $data = self::getPhpHeaders() . json_encode($conf, $print); 36 $data = self::getPhpHeaders() . json_encode($conf, $print) . self::getPhpSuffix();
36 if (!file_put_contents($filepath, $data)) { 37 if (!file_put_contents($filepath, $data)) {
37 throw new IOException( 38 throw new IOException(
38 $filepath, 39 $filepath,
@@ -62,4 +63,16 @@ class ConfigJson implements ConfigIO
62 { 63 {
63 return '<?php /*'. PHP_EOL; 64 return '<?php /*'. PHP_EOL;
64 } 65 }
66
67 /**
68 * Get PHP comment closing tags.
69 *
70 * Static method for consistency with getPhpHeaders.
71 *
72 * @return string PHP comment closing.
73 */
74 public static function getPhpSuffix()
75 {
76 return PHP_EOL . '*/ ?>';
77 }
65} 78}
diff --git a/tests/config/ConfigJsonTest.php b/tests/config/ConfigJsonTest.php
index 359e9112..99c88820 100644
--- a/tests/config/ConfigJsonTest.php
+++ b/tests/config/ConfigJsonTest.php
@@ -88,7 +88,7 @@ class ConfigJsonTest extends PHPUnit_Framework_TestCase
88 } else { 88 } else {
89 $expected = '{"credentials":{"login":"root"},"resource":{"datastore":"data\/datastore.php"},"redirector":{"url":"lala"},"plugins":{"WALLABAG_VERSION":"1"}}'; 89 $expected = '{"credentials":{"login":"root"},"resource":{"datastore":"data\/datastore.php"},"redirector":{"url":"lala"},"plugins":{"WALLABAG_VERSION":"1"}}';
90 } 90 }
91 $expected = ConfigJson::getPhpHeaders() . $expected; 91 $expected = ConfigJson::getPhpHeaders() . $expected . ConfigJson::getPhpSuffix();
92 $this->assertEquals($expected, file_get_contents($dataFile)); 92 $this->assertEquals($expected, file_get_contents($dataFile));
93 unlink($dataFile); 93 unlink($dataFile);
94 } 94 }
diff --git a/tests/utils/config/configInvalid.json.php b/tests/utils/config/configInvalid.json.php
index c53e471d..167f2168 100644
--- a/tests/utils/config/configInvalid.json.php
+++ b/tests/utils/config/configInvalid.json.php
@@ -2,3 +2,4 @@
2{ 2{
3 bad: bad, 3 bad: bad,
4} 4}
5*/ ?> \ No newline at end of file
diff --git a/tests/utils/config/configJson.json.php b/tests/utils/config/configJson.json.php
index c54882c3..06a302e8 100644
--- a/tests/utils/config/configJson.json.php
+++ b/tests/utils/config/configJson.json.php
@@ -30,3 +30,5 @@
30 "WALLABAG_VERSION": 1 30 "WALLABAG_VERSION": 1
31 } 31 }
32} 32}
33*/ ?>
34