private function createJsonUpdate(Entity\Content $content, $flush)
{
/*
* Flush any buffers from saveConent() dispatcher hooks
* and make sure our JSON output is clean.
*
* Currently occurs due to exceptions being generated in the dispatchers
* in \Bolt\Storage::saveContent()
* StorageEvents::PRE_SAVE
* StorageEvents::POST_SAVE
*/
if ($flush) {
Response::closeOutputBuffers(0, false);
}
$val = $content->toArray();
if ($val['datechanged'] instanceof Carbon) {
$val['datechanged'] = $val['datechanged']->toIso8601String();
} elseif (isset($val['datechanged'])) {
$val['datechanged'] = (new Carbon($val['datechanged']))->toIso8601String();
}
// Adjust decimal point as some locales use a comma and… JavaScript
$lc = localeconv();
$fields = $this->config->get('contenttypes/' . $content->getContenttype() . '/fields');
foreach ($fields as $key => $values) {
if ($values['type'] === 'float' && $lc['decimal_point'] === ',') {
$val[$key] = str_replace('.', ',', $val[$key]);
}
}
// Unset flashbag for ajax
$this->loggerFlash->clear();
return new JsonResponse($val);
}