Example #1
0
<?php

use_helper('Field');
$activities = $document->getRaw('activities');
// put here meta tags for microdata that cannot be inside ul tags
echo microdata_meta('name', $document->getName());
if (isset($nb_comments) && $nb_comments) {
    echo microdata_meta('interactionCount', $nb_comments . ' UserComments');
    echo microdata_meta('discussionUrl', url_for('@document_comment?module=routes&id=' . $sf_params->get('id') . '&lang=' . $sf_params->get('lang')));
}
?>
<ul class="data col_left col_33">
    <?php 
li(field_activities_data($document));
li(field_data_range_if_set($document, 'min_elevation', 'max_elevation', array('separator' => 'elevation separator', 'suffix' => 'meters')));
$min_elevation = $document->get('min_elevation');
$difficulties_start_elevation = $document->get('elevation');
$has_approach_height = !empty($min_elevation) && !empty($difficulties_start_elevation);
if (array_intersect(array(1, 2, 3, 6, 7), $activities) || !$has_approach_height) {
    li(field_data_range_if_set($document, 'height_diff_up', 'height_diff_down', array('separator' => 'height diff separator', 'prefix_min' => '+', 'prefix_max' => '-', 'suffix' => 'meters', 'range_only' => true)));
}
if (array_intersect(array(1, 2, 3, 4, 6, 7), $activities)) {
    li(field_data_if_set($document, 'route_length', array('suffix' => 'kilometers')));
}
if (array_intersect(array(1, 2, 3, 4, 5), $activities)) {
    li(field_data_arg_if_set('difficulties_start_elevation', $difficulties_start_elevation, array('suffix' => 'meters')));
    li(field_data_if_set($document, 'difficulties_height', array('suffix' => 'meters')));
    if ($has_approach_height) {
        li(field_data_arg('approach_height', $difficulties_start_elevation - $min_elevation, array('suffix' => 'meters')));
    }
}
Example #2
0
function field_coord_data_if_set($document, $name, $options = array())
{
    $microdata = _option($options, 'microdata', null);
    $raw_value = $document->get($name);
    if (empty($raw_value)) {
        return '';
    }
    switch ($name) {
        case 'lat':
            $suffix = $raw_value < 0 ? '°S' : '°N';
            break;
        case 'lon':
            $suffix = $raw_value < 0 ? '°W' : '°E';
            break;
        default:
            $suffix = '';
    }
    $value = abs($raw_value);
    $deg = floor($value);
    $minTemp = 60 * ($value - $deg);
    $min = floor($minTemp);
    $sec = floor(60 * 100 * ($minTemp - $min)) / 100;
    $value = $deg . '° ' . $min . "' " . $sec . '" ' . str_replace('°', '', $suffix);
    return _format_data($name, $value) . ($microdata ? microdata_meta($microdata, $raw_value) : '');
}