function views_calc_plugin_style_chart::query in Views Calc 6
Same name and namespace in other branches
- 6.3 views_calc_plugin_style_chart.inc \views_calc_plugin_style_chart::query()
File
- ./views_calc_plugin_style_chart.inc, line 184
- Contains the chart style plugin.
Class
- views_calc_plugin_style_chart
- Style plugin to render view as a chart.
Code
function query() {
parent::query();
$this->view->query
->clear_fields();
$this->view->query->orderby = array();
foreach ($this->view->field as $field) {
$query_field = substr($field->field, 0, 3) == 'cid' ? $field->definition['calc'] : $field->table . '.' . $field->field;
$query_alias = $field->field_alias;
if ($field->field == $this->options['aggregation_field']) {
$this->view->query
->add_orderby(NULL, NULL, 'asc', $query_alias);
$this->view->query
->add_groupby($query_field);
if (substr($field->field, 0, 3) == 'cid') {
$this->view->query
->add_field(NULL, $query_field, $field->field, array(
'aggregate' => TRUE,
));
}
else {
$this->view->query
->add_field($field->table, $field->field, NULL, array(
'aggregate' => TRUE,
));
}
}
if (in_array($field->field, $this
->calc_fields())) {
$sql = "ROUND(" . $this->options['calc'] . "({$query_field}), " . $this->options['precision'] . ")";
$this->view->query
->add_field(NULL, $sql, $field->field, array(
'aggregate' => TRUE,
));
$this->view->query
->add_table($field->table);
}
}
}