You are here

function template_preprocess_uc_addresses_list_address in Ubercart Addresses 7

Same name and namespace in other branches
  1. 6.2 uc_addresses.pages.inc \template_preprocess_uc_addresses_list_address()

Prepares variables for one address.

Parameters

array $vars: An array with the following:

  • address (instance of UcAddressesAddress)
  • options (array):
    • view_link (boolean): whether or not display a link to the address.
    • edit_link (boolean): whether or not display a link to edit the address.
    • delete_link (boolean): whether or not display a link to delete the address.
    • destination (string): path to return to after editing the address.
    • default_flags (boolean): whether or not display "default address" labels.
    • context (string): the context to use for display the addresses. This has effect on which fields are displayed. Defaults to "address_view".

Return value

void

File

./uc_addresses.pages.inc, line 155
Page callbacks for viewing, adding, editing, and deleting addresses.

Code

function template_preprocess_uc_addresses_list_address(&$vars) {
  drupal_add_css(drupal_get_path('module', 'uc_addresses') . '/uc_addresses.css');
  $address = $vars['address'];

  // Initialize variables.
  $vars['options'] += array(
    'view_link' => FALSE,
    'edit_link' => FALSE,
    'delete_link' => FALSE,
    'destination' => '',
    'default_flags' => FALSE,
    'context' => 'address_view',
  );
  $vars['label'] = NULL;
  $vars['admin_links'] = NULL;

  // Retrieve ID's.
  $vars['aid'] = $address
    ->getId();
  $vars['uid'] = $address
    ->getUserId();

  // Preprocess address fields, context is 'address_view' by default.
  $vars['fields'] = uc_addresses_preprocess_address($address, $vars['options']['context']);

  // Setup admin links.
  $link_options = array();
  $links = array();
  if ($vars['options']['destination']) {

    // Add destinations for all admin links.
    $link_options['query'] = array(
      'destination' => $vars['options']['destination'],
    );
  }
  if ($vars['options']['view_link']) {

    // Create view link.
    $vars['view_address_link'] = uc_addresses_render_link($address, 'view', $link_options);
    if ($vars['view_address_link']) {
      $links['view'] = $vars['view_address_link'];
    }
  }
  if ($vars['options']['edit_link']) {

    // Create edit link.
    $vars['edit_address_link'] = uc_addresses_render_link($address, 'edit', $link_options);
    if ($vars['edit_address_link']) {
      $links['edit'] = $vars['edit_address_link'];
    }
  }
  if ($vars['options']['delete_link']) {

    // Create delete link.
    $vars['delete_address_link'] = uc_addresses_render_link($address, 'delete', $link_options);
    if ($vars['delete_address_link']) {
      $links['delete'] = $vars['delete_address_link'];
    }
  }
  if (count($links) > 0) {

    // Combine all links into a single variable.
    $vars['admin_links'] = implode(' <span class="separator uc-addresses-separator">|</span> ', $links);
  }

  // Setup labels.
  if ($vars['options']['default_flags']) {
    $flags = array();
    if ($address
      ->isDefault('billing') && variable_get('uc_addresses_use_default_billing', TRUE)) {
      $flags['billing'] = '<span class="uc-addresses-default-address-label uc-addresses-default-billing-address-label">' . t('Default billing address') . '</span>';
    }
    if ($address
      ->isDefault('shipping') && variable_get('uc_addresses_use_default_shipping', TRUE)) {
      $flags['shipping'] = '<span class="uc-addresses-default-address-label uc-addresses-default-shipping-address-label">' . t('Default shipping address') . '</span>';
    }
    if (count($flags) > 0) {
      $vars['label'] = implode(' <span class="separator uc-addresses-separator"><br /></span> ', $flags);
    }
  }

  // CSS classes.
  $vars['classes_array'] = array();
  if ($address
    ->isDefault('billing')) {
    $vars['classes_array']['default'] = 'uc-addresses-default-address';
    $vars['classes_array']['default_billing'] = 'uc-addresses-default-billing-address';
  }
  if ($address
    ->isDefault('shipping')) {
    $vars['classes_array']['default'] = 'uc-addresses-default-address';
    $vars['classes_array']['default_shipping'] = 'uc-addresses-default-shipping-address';
  }
  $vars['classes'] = implode(' ', $vars['classes_array']);
}