You are here

function _uc_extra_field_pane_get_uc_addresses in Extra Fields Checkout Pane 6.2

_get_uc_addresses() Returns addresses using the uc_addresses table

Parameters

int $uid:

string $type:

Return value

array

1 call to _uc_extra_field_pane_get_uc_addresses()
uc_extra_fields_pane_get_addresses in includes/address_select.inc
get_addresses() Similar to uc_get_addresses() in uc_store.module

File

includes/address_select.inc, line 35
This file contains code for getting all addresses for one user

Code

function _uc_extra_field_pane_get_uc_addresses($uid, $type) {
  $fields = UCXF_FieldList::getAllAddressFields();
  $element_type = UCXF_VALUE_ADDRESS;

  // Make queryparts
  $queryparts = _uc_extra_field_pane_get_addresses_queryparts($fields, 'uc_addresses', 'aid', $element_type);
  $uc_addresses_schema = drupal_get_schema('uc_addresses');
  $select = array();
  foreach ($uc_addresses_schema['fields'] as $fieldname => $field) {
    $select[] = $fieldname;
  }
  $select = array_merge($select, $queryparts['select']);
  $joins = $queryparts['joins'];

  // Load addresses from UC Addresses
  $query = "SELECT " . implode(", ", $select) . "\n  FROM {uc_addresses}\n  " . implode(" ", $joins) . "\n  WHERE uid = %d\n  ORDER BY created\n  ";
  $result = db_query($query, $uid);

  // --------------------------------
  // following is copied from uc_addresses.module
  // --------------------------------
  $default_aid = _uc_addresses_get_default_address_id($uid);

  // Gather up everything
  $num_rows = 0;
  while ($address = db_fetch_object($result)) {
    $num_rows++;
    $address->is_default = $default_aid == $address->aid;
    $addresses[] = $address;
  }
  if ($num_rows == 0) {
    return FALSE;
  }
  return $addresses;
}