Definition

address_page($action = null, $aid = null)
ecommerce-5--3/address/address.module, line 300

Description

The controller for managing addresses. Callback happens via menu().

Code

<?php
function address_page($action = null, $aid = null) {
  global $user;
  $uid = $user->uid;
  $access = user_access('administer users');
  if ($access) {
    $uid = arg(1);
  }
  $name = db_result(db_query('SELECT name FROM {users} WHERE uid = %d', $uid));
  drupal_set_title(t('%username\'s - address book', array('%username' => check_plain($name))));

  $output = t('<p>Your address book is used to save addresses for billing and shipping of items from our store.</p>');

  switch ($action) {
    case 'add':
    case 'edit':
      $edit = $aid && !$edit ? address_load($aid) : array();
      if (!$edit) {
        $edit['uid'] = $uid;
      }
      elseif (!$access && $edit['uid'] != $uid) {
        return drupal_access_denied();
      } 
      $output .= drupal_get_form('address_form', $edit);
      break;

    case 'delete':
      address_delete($aid);
      drupal_goto("user/$uid/address");
      break;

    default:
      $output .= theme('address_overview');
  }

  return $output;
}
?>