Bolt\Storage\ContentRequest\Save::createJsonUpdate PHP Method

createJsonUpdate() private method

Build a valid AJAX response for in-place saves that account for pre/post save events.
private createJsonUpdate ( Content $content, boolean $flush ) : Symfony\Component\HttpFoundation\JsonResponse
$content Bolt\Storage\Entity\Content
$flush boolean
return Symfony\Component\HttpFoundation\JsonResponse
    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);
    }