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 @@ class ConfigJson implements ConfigIO
}
$data = file_get_contents($filepath);
$data = str_replace(self::getPhpHeaders(), '', $data);
$data = str_replace(self::getPhpSuffix(), '', $data);
$data = json_decode($data, true);
if ($data === null) {
$error = json_last_error();
@ -32,7 +33,7 @@ class ConfigJson implements ConfigIO
{
// JSON_PRETTY_PRINT is available from PHP 5.4.
$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)) {
throw new IOException(
$filepath,
@ -62,4 +63,16 @@ class ConfigJson implements ConfigIO
{
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 @@ class ConfigJsonTest extends PHPUnit_Framework_TestCase
} else {
$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));
unlink($dataFile);
}

View file

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

View file

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