Add closing PHP tags to JSON config files

This commit is contained in:
ArthurHoaro 2016-06-20 18:30:37 +02:00
parent b302c77c74
commit 5ff23f02b8
4 changed files with 18 additions and 2 deletions

View file

@ -17,6 +17,7 @@ function read($filepath)
} }
$data = file_get_contents($filepath); $data = file_get_contents($filepath);
$data = str_replace(self::getPhpHeaders(), '', $data); $data = str_replace(self::getPhpHeaders(), '', $data);
$data = str_replace(self::getPhpSuffix(), '', $data);
$data = json_decode($data, true); $data = json_decode($data, true);
if ($data === null) { if ($data === null) {
$error = json_last_error(); $error = json_last_error();
@ -32,7 +33,7 @@ function write($filepath, $conf)
{ {
// JSON_PRETTY_PRINT is available from PHP 5.4. // JSON_PRETTY_PRINT is available from PHP 5.4.
$print = defined('JSON_PRETTY_PRINT') ? JSON_PRETTY_PRINT : 0; $print = defined('JSON_PRETTY_PRINT') ? JSON_PRETTY_PRINT : 0;
$data = self::getPhpHeaders() . json_encode($conf, $print); $data = self::getPhpHeaders() . json_encode($conf, $print) . self::getPhpSuffix();
if (!file_put_contents($filepath, $data)) { if (!file_put_contents($filepath, $data)) {
throw new IOException( throw new IOException(
$filepath, $filepath,
@ -62,4 +63,16 @@ public static function getPhpHeaders()
{ {
return '<?php /*'. PHP_EOL; return '<?php /*'. PHP_EOL;
} }
/**
* Get PHP comment closing tags.
*
* Static method for consistency with getPhpHeaders.
*
* @return string PHP comment closing.
*/
public static function getPhpSuffix()
{
return PHP_EOL . '*/ ?>';
}
} }

View file

@ -88,7 +88,7 @@ public function testWriteNew()
} else { } else {
$expected = '{"credentials":{"login":"root"},"resource":{"datastore":"data\/datastore.php"},"redirector":{"url":"lala"},"plugins":{"WALLABAG_VERSION":"1"}}'; $expected = '{"credentials":{"login":"root"},"resource":{"datastore":"data\/datastore.php"},"redirector":{"url":"lala"},"plugins":{"WALLABAG_VERSION":"1"}}';
} }
$expected = ConfigJson::getPhpHeaders() . $expected; $expected = ConfigJson::getPhpHeaders() . $expected . ConfigJson::getPhpSuffix();
$this->assertEquals($expected, file_get_contents($dataFile)); $this->assertEquals($expected, file_get_contents($dataFile));
unlink($dataFile); unlink($dataFile);
} }

View file

@ -2,3 +2,4 @@
{ {
bad: bad, bad: bad,
} }
*/ ?>

View file

@ -30,3 +30,5 @@
"WALLABAG_VERSION": 1 "WALLABAG_VERSION": 1
} }
} }
*/ ?>