function _filter_ratings_data($document, $name, $json_name, $config, $format, $add_tooltips = false, $use_raw_value = false, $raw_value_prefix = null, $alternate_name = null, $tooltip_config = null) { $raw_value = !empty($document[$name]) ? $document[$name] : $document->get($name, 'ESC_RAW'); $value = _get_field_value_in_list(sfConfig::get($config), $raw_value); if (empty($value)) { if ($format == 'json' || $format == 'jsonkeys') { return array(); } else { return null; } } $string_value = $use_raw_value ? $raw_value_prefix . $raw_value : $value; if ($format == 'json') { return array($json_name => $string_value); } elseif ($format == 'jsonkeys') { return array($json_name => $raw_value); } elseif ($add_tooltips) { if (!empty($tooltip_config)) { $tooltip_value = _get_field_value_in_list(sfConfig::get($tooltip_config), $raw_value); } else { $tooltip_value = $value; } $string_value = '<span title="' . __(empty($alternate_name) ? $name : $alternate_name) . ' ' . $tooltip_value . '">' . $string_value . '</span>'; } return $string_value; }
<?php use_helper('Field'); $doc_id = $data->get('id'); $ratings = field_route_ratings_data($data); $facing = _get_field_value_in_list(sfConfig::get('app_routes_facings'), $data->get('facing')); $height = $data->get('height_diff_up'); if ($height) { $height .= ' ' . __('meters'); } $data = array(); if ($facing) { $data[] = $facing; } if ($height) { $data[] = $height; } if ($ratings) { $data[] = $ratings; } $link = link_to(__('Show the route'), '@document_by_id?module=routes&id=' . $doc_id, array('onclick' => "window.open(this.href);return false;")); echo __('Short description: '), implode(' - ', $data), ' (', $link, '</a>)';