private static function outputJSON($statusCode, array $data = null)
{
// redefine
$statusCode = (int) $statusCode;
// init vars
$charset = BackendModel::getContainer()->getParameter('kernel.charset');
$pathChunks = explode(DIRECTORY_SEPARATOR, trim(__DIR__, DIRECTORY_SEPARATOR));
$version = $pathChunks[count($pathChunks) - 2];
$version = mb_strtolower($version);
// build array
$JSON = array();
$JSON['meta']['status_code'] = $statusCode;
$JSON['meta']['status'] = $statusCode === 200 ? 'ok' : 'error';
$JSON['meta']['version'] = FORK_VERSION;
$JSON['meta']['endpoint'] = SITE_URL . '/api/' . $version;
// add data
if ($data !== null) {
$JSON['data'] = $data;
}
// set correct headers
header('HTTP/1.1 ' . self::getHeaderMessage($statusCode));
header('content-type: application/json;charset=' . $charset);
// output JSON
self::$content = json_encode($JSON);
}