You are here

function _location_token_values in Location 7.5

Same name and namespace in other branches
  1. 5.3 location.token.inc \_location_token_values()
  2. 6.3 location.token.inc \_location_token_values()
  3. 7.3 location.token.inc \_location_token_values()
  4. 7.4 location.token.inc \_location_token_values()

Implementation of hook_token_values().

1 call to _location_token_values()
location_token_values in ./location.module
Implements hook_token_values().

File

./location.token.inc, line 12
Short description.

Code

function _location_token_values($type, $object = NULL) {
  if ($type == 'node' || $type == 'user') {
    if (!empty($object->locations)) {

      // @@@ Strip virtual fields?
      foreach ($object->locations as $key => $location) {

        // Normally, location_load_location() will take care of this.
        // However, token is commonly used during *saving*.
        // See #322328.
        if (empty($location['country_name'])) {
          if (!empty($location['country'])) {
            $location['country_name'] = location_country_name($location['country']);
            if (!empty($location['province'])) {
              $location['province_name'] = location_province_name($location['country'], $location['province']);
            }
          }
        }
        foreach ($location as $field => $value) {
          if (!is_array($value)) {
            $values["location-{$field}_{$key}"] = check_plain($value);
          }
        }

        // Backwards compatibility.
        $values["location-provincename_{$key}"] = $values["location-province_name_{$key}"];
        $values["location-countryname_{$key}"] = $values["location-country_name_{$key}"];
      }
      return $values;
    }
  }
}