views-views-json-style-simple.tpl.php in Views Datasource 7
File
views/theme/views-views-json-style-simple.tpl.php
View source
<?php
if (!empty($options["grouping"][0]["field"])) {
$group = $options["grouping"][0]["field"];
$group_label = $view->query->pager->display->handler->handlers['field'][$group]->options['label'];
if (strlen($group_label) > 0) {
$group = $group_label;
}
$root = $options["root_object"];
$top_child = $options["top_child_object"];
$grouped = array();
foreach ($rows[$root] as $key => $array) {
$groupnode = $array[$top_child][$group];
foreach ($array[$top_child] as $prop => $value) {
if ($prop != $group) {
$grouped[$root][$groupnode][$prop][$key] = $value;
}
}
}
$rows = $grouped;
}
$jsonp_prefix = $options['jsonp_prefix'];
if ($view->override_path) {
$json = _views_json_encode_formatted($rows, $options);
if ($jsonp_prefix) {
$json = "{$jsonp_prefix}({$json})";
}
print "<code>{$json}</code>";
}
else {
$json = _views_json_json_encode($rows, $bitmask);
if ($options['remove_newlines']) {
$json = preg_replace(array(
'/\\\\n/',
), '', $json);
}
if (isset($_GET[$jsonp_prefix]) && $jsonp_prefix) {
$json = check_plain($_GET[$jsonp_prefix]) . '(' . $json . ')';
}
if ($options['using_views_api_mode']) {
print $json;
}
else {
$content_type = $options['content_type'] == 'default' ? 'application/json' : $options['content_type'];
drupal_add_http_header("Content-Type", "{$content_type}; charset=utf-8");
print $json;
drupal_page_footer();
exit;
}
}