annotate sites/all/modules/references/views/references_plugin_style.inc @ 6:a75ead649730

added biblio, admin_menu and reference modules
author danieleb <danielebarchiesi@me.com>
date Fri, 20 Sep 2013 11:18:21 +0100
parents
children
rev   line source
danielebarchiesi@6 1 <?php
danielebarchiesi@6 2
danielebarchiesi@6 3 /**
danielebarchiesi@6 4 * @file
danielebarchiesi@6 5 * Handler for references_plugin_style.
danielebarchiesi@6 6 */
danielebarchiesi@6 7 class references_plugin_style extends views_plugin_style {
danielebarchiesi@6 8 function render() {
danielebarchiesi@6 9 $options = $this->display->handler->get_option('references_options');
danielebarchiesi@6 10
danielebarchiesi@6 11 // Play nice with View UI 'preview' : if the view is not executed through
danielebarchiesi@6 12 // _*_reference_potential_references_views(), just display the HTML.
danielebarchiesi@6 13 if (empty($options)) {
danielebarchiesi@6 14 return parent::render();
danielebarchiesi@6 15 }
danielebarchiesi@6 16
danielebarchiesi@6 17 $title_field = $options['title_field'];
danielebarchiesi@6 18
danielebarchiesi@6 19 // Group the rows according to the grouping field, if specified.
danielebarchiesi@6 20 $sets = $this->render_grouping($this->view->result, $this->options['grouping']);
danielebarchiesi@6 21
danielebarchiesi@6 22 // Grab the alias of the 'id' field added by references_plugin_display.
danielebarchiesi@6 23 $id_field_alias = $this->display->handler->id_field_alias;
danielebarchiesi@6 24
danielebarchiesi@6 25 $results = array();
danielebarchiesi@6 26 $this->view->row_index = 0;
danielebarchiesi@6 27 foreach ($sets as $title => $records) {
danielebarchiesi@6 28 foreach ($records as $label => $values) {
danielebarchiesi@6 29 // Render the row.
danielebarchiesi@6 30 $rendered = $this->row_plugin->render($values);
danielebarchiesi@6 31 // Remove linebreaks and extra spaces introduced by templates.
danielebarchiesi@6 32 $rendered = preg_replace('/\s+/', ' ', trim($rendered));
danielebarchiesi@6 33
danielebarchiesi@6 34 // Collect the rendered row, and the raw title value.
danielebarchiesi@6 35 $results[$values->{$id_field_alias}] = array(
danielebarchiesi@6 36 'rendered' => $rendered,
danielebarchiesi@6 37 'group' => $title,
danielebarchiesi@6 38 'title' => $this->view->field[$title_field]->get_value($values),
danielebarchiesi@6 39 );
danielebarchiesi@6 40
danielebarchiesi@6 41 $this->view->row_index++;
danielebarchiesi@6 42 }
danielebarchiesi@6 43 }
danielebarchiesi@6 44 unset($this->view->row_index);
danielebarchiesi@6 45
danielebarchiesi@6 46 return $results;
danielebarchiesi@6 47 }
danielebarchiesi@6 48 }