* Rendering: MathJax (https://www.mathjax.org/)
* Bug reports:
* #2 - Incorrect closing tag - nibreh
* #8 - Rogue tag - nibreh
*/
$guiConfig = <<<'GUICONFIG'
{guiconfig}
GUICONFIG;
$settingsFilename = "peppermint.json";
$guiConfig = json_decode($guiConfig);
$settings = new stdClass();
if(!file_exists($settingsFilename))
{
// Copy the default settings over to the main settings array
foreach ($guiConfig as $key => $value)
$settings->$key = $value->default;
// Generate a random secret
$settings->secret = bin2hex(openssl_random_pseudo_bytes(16));
file_put_contents("peppermint.json", json_encode($settings, JSON_PRETTY_PRINT));
}
else
$settings = json_decode(file_get_contents("peppermint.json"));
if($settings === null)
{
header("content-type: text/plain");
exit("Error: Failed to decode the settings file! Does it contain a syntax error?");
}
// Fill in any missing properties
$settingsUpgraded = false;
foreach($guiConfig as $key => $propertyData)
{
if(!isset($settings->$key))
{
$settings->$key = $propertyData->default;
$settingsUpgraded = true;
}
}
if($settingsUpgraded)
file_put_contents("peppermint.json", json_encode($settings, JSON_PRETTY_PRINT));
// Insert the default CSS if requested
$defaultCSS = <<css === "auto")
$settings->css = $defaultCSS;
?>