You are here

location_taxonomize_location.inc in Location Taxonomize 7.2

Some useful functions for Location taxonomize

File

location_taxonomize_location/location_taxonomize_location.inc
View source
<?php

/**
 * @file
 * Some useful functions for Location taxonomize
 */
define('LT_LOC_MODULE_ID', 'location_taxonomize_location');
define('LT_LOC_MODULE_NAME', 'Location Taxonomize Location');

/**
 * Keeps a list of all the variables maintained by this module, with their
 * default values.
 */
function _location_taxonomize_location_variables() {
  $fields = location_taxonomize_location_get_fields();

  // set field defaults
  foreach ($fields as $key => $value) {
    if ($key != 'country' && $key != 'province' && $key != 'city') {
      $fields[$key] = 0;
    }
  }
  return array(
    'location_taxonomize_location_settings' => array(
      'fields' => $fields,
    ),
  );
}

/**
 * Returns the Location module fields that can be used for the Location Vocabulary
 * @param $assoc - whether to return an associative array (TRUE) or just an
 *                 indexed array (FALSE)
 * @param $labels - not implemented
 */
function location_taxonomize_location_get_fields($assoc = TRUE, $labels = FALSE) {

  // get names of fields in the location table
  $fields = drupal_schema_fields_sql('location');
  $return = array();

  // remove unsupported fields
  foreach ($fields as $field) {

    /* formatted this way to try to preserve readability as well as accpetable
       line lengths */
    if ($field != 'lid' && $field != 'additional' && $field != 'latitude' && $field != 'longitude' && $field != 'source' && $field != 'is_primary' && $field != 'postal_code') {
      if ($assoc) {
        $return[$field] = $field;
      }
      else {
        $return[] = $field;
      }
    }
  }
  return array_reverse($return);
}

/**
 * Sets all this module's variables to their default values
 */
function _location_taxonomize_location_set_defaults() {
  $defaults = _location_taxonomize_location_variables();
  foreach ($defaults as $key => $value) {
    if ($value) {
      variable_set($key, $value);
    }
    else {
      variable_del($key);
    }
  }
}

/**
 * Deletes all variables set by this module
 */
function _location_taxonomize_location_del_variables() {
  $vars = _location_taxonomize_location_variables();
  foreach ($vars as $key => $value) {
    variable_del($key);
  }
}

/**
 * Adds the country name and province name fields to a Location
 */
function location_taxonomize_location_fixup($loc) {
  if (isset($loc['country'])) {
    $loc['country_name'] = location_country_name($loc['country']);
    if (isset($loc['province'])) {
      $loc['province_name'] = location_province_name($loc['country'], $loc['province']);
    }
  }
  return $loc;
}

/**
 * Tells Location Taxonomize the names used in this module for the 'Primary
 * Fields' Country, State/Province, City
 */
function location_taxonomize_location_primary_field_names() {
  return array(
    'country',
    'country_name',
    'province',
    'province_name',
    'city',
  );
}

Functions

Namesort descending Description
location_taxonomize_location_fixup Adds the country name and province name fields to a Location
location_taxonomize_location_get_fields Returns the Location module fields that can be used for the Location Vocabulary
location_taxonomize_location_primary_field_names Tells Location Taxonomize the names used in this module for the 'Primary Fields' Country, State/Province, City
_location_taxonomize_location_del_variables Deletes all variables set by this module
_location_taxonomize_location_set_defaults Sets all this module's variables to their default values
_location_taxonomize_location_variables Keeps a list of all the variables maintained by this module, with their default values.

Constants

Namesort descending Description
LT_LOC_MODULE_ID @file Some useful functions for Location taxonomize
LT_LOC_MODULE_NAME