function _location_taxonomy_add_longname in Location Taxonomize 7
Same name and namespace in other branches
- 7.2 location_taxonomize.module \_location_taxonomy_add_longname()
Adds a longname field to a term
1 call to _location_taxonomy_add_longname()
- location_taxonomize_process_loc in ./
location_taxonomize.module - Determines if a location needs to be taxonomized. If so, it saves the appropriate terms Returns the number of terms added
File
- ./
location_taxonomize.module, line 220
Code
function _location_taxonomy_add_longname(&$term, $hlevel, $location) {
// get settings
$settings = variable_get('location_taxonomize_settings');
$ln_settings = $settings['longname'];
$fields = $ln_settings['fields'];
$hierarchy = _location_taxonomize_get_hierarchy();
// the name of the hierarchy level of this term (i.e. 'city')
$term_hlevel_name = $hierarchy[$hlevel];
// no Long Name if this hlevel_name is not selected in config
if (!$fields[$term_hlevel_name]) {
return '';
}
$longname = array();
// collect parts of longname
for ($i = 0; $i <= $hlevel; $i++) {
$hlevel_name = $hierarchy[$i];
$include = $fields[$hlevel_name];
if ($include) {
switch ($hlevel_name) {
case 'country':
if ($term_hlevel_name == 'country' || $ln_settings['country_naming'] == 'name') {
$longname[] = $location['country_name'];
}
elseif ($location['country'] == 'us' && $ln_settings['usa']) {
$longname[] = 'USA';
}
else {
$longname[] = drupal_strtoupper($location['country']);
}
break;
case 'province':
if ($term_hlevel_name == 'province' || $ln_settings['province_naming'] == 'name') {
$longname[] = $location['province_name'];
}
else {
$longname[] = $location['province'];
}
break;
default:
$longname[] = $location[$hlevel_name];
break;
}
}
}
// construct longname string from parts
$longname = array_reverse($longname);
$count = count($longname);
$longname_str = '';
for ($i = 0; $i < $count; $i++) {
$longname_str .= $longname[$i];
if ($i != $count - 1) {
$longname_str .= check_plain($ln_settings['separator']) . ' ';
}
}
// add the longname to the term
$term->location_taxonomize_longname['und'][0]['value'] = $longname_str;
}