protected function views_aggregator_plugin_style_table::render_new_webform_value in Views Aggregator Plus 7
Returns the rendered representation for a new webform value.
Parameters
object $field_handler: The webform handler associated with the requested field/table-column.
int $row_num: The result row number.
array $new_values: The raw value(s) to render using the webform's rounding, prefix, suffix.
string $separator: Separator to use between rendered values, when $new_values is an array.
Return value
string The rendered value.
2 calls to views_aggregator_plugin_style_table::render_new_webform_value()
- views_aggregator_plugin_style_table::set_cell in views/
views_aggregator_plugin_style_table.inc - Render and set a raw value on the table cell in specified column and row.
- views_aggregator_plugin_style_table::set_totals_row in views/
views_aggregator_plugin_style_table.inc - Write the aggregated results back into the View results totals (footer).
File
Class
- views_aggregator_plugin_style_table
- Style plugin to render each item as a row in a table.
Code
protected function render_new_webform_value($field_handler, $row_num, $new_values, $separator) {
$result_row = $field_handler->view->result[$row_num];
$nid = $field_handler->options['webform_nid'];
$cid = $field_handler->options['webform_cid'];
// Need to overwrite the submitted value on the _webform_submissions array
// before rendering it, adding rounding, prefix, suffix.
$submission = $field_handler->view->_webform_submissions[$nid][$result_row->sid];
$rendered_values = array();
$new_values = is_array($new_values) ? $new_values : array(
$new_values,
);
foreach ($new_values as $new_value) {
$submission->data[$cid][$row_num] = $new_value;
$rendered = trim($field_handler
->advanced_render($result_row));
$rendered_values[] = empty($rendered) ? $new_value : $rendered;
}
$rendered_value = implode(empty($separator) ? ' - ' : $separator, $rendered_values);
return is_array($rendered_value) ? drupal_render($rendered_value) : $rendered_value;
}