You are here

function template_preprocess_views_summarize_views_tablesummarized in Views Summarize 7

Same name and namespace in other branches
  1. 6 views_summarize.module \template_preprocess_views_summarize_views_tablesummarized()
  2. 7.2 views_summarize.module \template_preprocess_views_summarize_views_tablesummarized()

Display a view as a table summary.

File

./views_summarize.module, line 69

Code

function template_preprocess_views_summarize_views_tablesummarized(&$vars) {
  template_preprocess_views_view_table($vars);
  if (!count($vars['rows'])) {
    return;
  }
  $opts =& $vars['view']->style_plugin->options['info'];
  if (isset($vars['view']->style_plugin->options['summary_only'])) {
    $vars['summary_only'] = $vars['view']->style_plugin->options['summary_only'];
  }
  $data = array();
  foreach ($vars['rows'] as $row) {
    foreach ($row as $field => $value) {
      $data[$field][] = $value;
    }
  }
  $current_display = $vars['view']->current_display;
  if (empty($vars['view']->display[$current_display]->display_options['fields'])) {
    $display = $vars['view']->display['default'];
  }
  else {
    $display = $vars['view']->display[$current_display];
  }
  $vars['summarized'] = array();
  foreach ($opts as $field => $settings) {
    if (isset($data[$field])) {

      // Get the display style settings.
      $field_settings = array();
      if (!empty($vars['view']->field[$field]->options['settings'])) {
        $field_settings = $vars['view']->field[$field]->options['settings'];
      }

      // Get the field instance data.
      if (!empty($display->display_options['fields'][$field]['field'])) {
        $real_field_name = $display->display_options['fields'][$field]['field'];
      }
      $field_data = $vars['view']->result[0]->_field_data['nid'];
      $entity_type = $field_data['entity_type'];
      $bundle = $field_data['entity']->type;
      if (!empty($real_field_name)) {
        $field_instance = field_info_instance($entity_type, $real_field_name, $bundle);
      }
      $theme = 'views_summarize_type_' . $settings['summarize'];
      $options = array(
        'field' => $field,
        'views_field_settings' => $field_settings,
        'field_instance_settings' => empty($field_instance['settings']) ? array() : $field_instance['settings'],
      );
      $variables = array(
        'data' => $data[$field],
        'options' => $options,
      );
      $vars['summarized'][$field] = theme($theme, $variables);
    }
  }
}