コード例 #1
0
function views_bonus_eml_print_geographic_coverage($content)
{
    if (isset($content[0]['site_node']->nid)) {
        foreach ($content as $research_site_node) {
            $research_site_landform = $research_site_node['site_node']->field_research_site_landform;
            $research_site_geology = $research_site_node['site_node']->field_research_site_geology;
            $research_site_soils = $research_site_node['site_node']->field_research_site_soils;
            $research_site_hydrology = $research_site_node['site_node']->field_research_site_hydrology;
            $research_site_vegetation = $research_site_node['site_node']->field_research_site_vegetation;
            $research_site_climate = $research_site_node['site_node']->field_research_site_climate;
            $research_site_history = $research_site_node['site_node']->field_research_site_history;
            $research_site_siteid = $research_site_node['site_node']->field_research_site_siteid;
            $research_site_elevation = $research_site_node['site_node']->field_research_site_elevation;
            $research_site_longitude = $research_site_node['longitude'];
            $research_site_latitude = $research_site_node['latitude'];
            if ($research_site_landform[0]['value'] || $research_site_geology[0]['value'] || $research_site_soils[0]['value'] || $research_site_hydrology[0]['value'] || $research_site_vegetation[0]['value'] || $research_site_climate[0]['value'] || $research_site_history[0]['value'] || $research_site_siteid[0]['value'] || $research_site_longitude || $research_site_latitude || $research_site_elevation[0]['value']) {
                views_bonus_eml_print_open_tag('geographicCoverage');
                $geographic_coverage_terms = array('Landform', 'Geology', 'Soils', 'Hydrology', 'Vegetation', 'Climate', 'History', 'siteid');
                $geoDesc = '';
                foreach ($geographic_coverage_terms as $geographic_coverage_term) {
                    $geo_var_name = 'research_site_' . strtolower($geographic_coverage_term);
                    $geo_var = ${$geo_var_name};
                    $geoDesc .= $geographic_coverage_term . ': ' . $geo_var[0]['value'];
                    if ($geographic_coverage_term != end($geographic_coverage_terms)) {
                        $geoDesc .= ', ';
                    }
                }
                views_bonus_eml_print_line('geographicDescription', $geoDesc);
                if ($research_site_longitude || $research_site_latitude) {
                    views_bonus_eml_print_open_tag('boundingCoordinates');
                    views_bonus_eml_print_line('westBoundingCoordinate', $research_site_longitude);
                    views_bonus_eml_print_line('eastBoundingCoordinate', $research_site_longitude);
                    views_bonus_eml_print_line('northBoundingCoordinate', $research_site_latitude);
                    views_bonus_eml_print_line('southBoundingCoordinate', $research_site_latitude);
                    if ($research_site_elevation[0]['value']) {
                        views_bonus_eml_print_open_tag('boundingAltitudes');
                        views_bonus_eml_print_all_values('altitudeMinimum', $research_site_elevation);
                        views_bonus_eml_print_all_values('altitudeMaximum', $research_site_elevation);
                        views_bonus_eml_print_close_tag('boundingAltitudes');
                    }
                    views_bonus_eml_print_close_tag('boundingCoordinates');
                }
                views_bonus_eml_print_close_tag('geographicCoverage');
            }
            // endif; check if values exist
        }
        // endforeach; research_site_nid
    }
    // endif; $research_site_nid[0]['nid']
}
コード例 #2
0
 // }
 // TODO: ask Inigo if he want 'numericDomain' always, even if it is empty. If not - use code just above this line. What to check here?
 if ($attribute_unit[0]['value']) {
     views_bonus_eml_print_open_tag('ratio');
     views_bonus_eml_print_open_tag('unit');
     views_bonus_eml_print_all_values('customUnit', $attribute_unit);
     views_bonus_eml_print_close_tag('unit');
     if ($attribute_precision[0]['value']) {
         views_bonus_eml_print_all_values('precision', $attribute_precision);
     }
     views_bonus_eml_print_open_tag('numericDomain');
     views_bonus_eml_print_line('numberType', $realNumber);
     if ($attribute_maximum[0]['value'] || $attribute_minimum[0]['value']) {
         views_bonus_eml_print_open_tag('bounds');
         views_bonus_eml_print_all_values('maximum', $attribute_maximum);
         views_bonus_eml_print_all_values('minimum', $attribute_minimum);
         views_bonus_eml_print_close_tag('bounds');
     }
     views_bonus_eml_print_close_tag('numericDomain');
     views_bonus_eml_print_close_tag('ratio');
 }
 if (isset($code_definitions[0]['value'])) {
     views_bonus_eml_print_open_tag('nominal');
     views_bonus_eml_print_open_tag('nonNumericDomain');
     foreach ($code_definitions as $code_definition) {
         views_bonus_eml_print_open_tag('enumeratedDomain');
         if (preg_match("/(.+)=(.+)/", $code_definition['value'], $matches)) {
             views_bonus_eml_print_line('code', $matches[1]);
             views_bonus_eml_print_line('definition', $matches[2]);
         } else {
             views_bonus_eml_print_line('codeDefinition', $code_definition['value']);