You are here

function _location_autocomplete in Location 5.3

Same name and namespace in other branches
  1. 6.3 location.module \_location_autocomplete()
  2. 7.5 location.module \_location_autocomplete()
  3. 7.3 location.module \_location_autocomplete()
  4. 7.4 location.module \_location_autocomplete()

Create a list of states from a given country.

Parameters

$country: String. The country code

$string: String (optional). The state name typed by user

Return value

Javascript array. List of states

1 string reference to '_location_autocomplete'
location_menu in ./location.module
Implementation of hook_menu().

File

./location.module, line 867
Location module main routines. An implementation of a universal API for location manipulation. Provides functions for postal_code proximity searching, deep-linking into online mapping services. Currently, some options are configured through an…

Code

function _location_autocomplete($country, $string = '') {
  $counter = 0;
  $string = strtolower($string);
  $string = '/^' . preg_quote($string) . '/';
  $matches = array();
  if (strpos($country, ',') !== FALSE) {

    // Multiple countries specified.
    $provinces = array();
    $country = explode(',', $country);
    foreach ($country as $c) {
      $provinces = $provinces + location_get_provinces($c);
    }
  }
  else {
    $provinces = location_get_provinces($country);
  }
  if (!empty($provinces)) {
    while (list($code, $name) = each($provinces)) {
      if ($counter < 5) {
        if (preg_match($string, strtolower($name))) {
          $matches[$name] = $name;
          ++$counter;
        }
      }
    }
  }
  drupal_set_header('Content-Type: text/javascript; charset=utf-8');
  echo drupal_to_js($matches);
  return;
}