address_page($action = null, $aid = null)
ecommerce-5--4/address/address.module, line 215
The controller for managing addresses. Callback happens via menu().
$action String (optional), the action to be done
$aid Number (optional), the Address ID
<?php
function address_page($action = null, $aid = null) {
global $user;
$uid = $user->uid;
$access = user_access('administer users');
if (!empty($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))));
$help = t('Your address book is used to save addresses for billing and shipping of items from our store.');
switch ($action) {
case 'add':
case 'edit':
$edit = $aid && empty($edit) ? address_address_load($aid) : array();
if (empty($edit)) {
$edit['uid'] = $uid;
}
elseif (empty($access) && $edit['uid'] != $uid) {
return drupal_access_denied();
}
// The form builder is inside another file
include_once drupal_get_path('module', 'address') .'/address.inc';
$output .= drupal_get_form('_address_form', $edit);
break;
case 'delete':
db_query('DELETE FROM {ec_address} WHERE aid = %d', $aid);
drupal_set_message(t('The address has been deleted.'));
drupal_goto("user/$uid/address");
break;
default:
$output .= theme('address_overview');
}
return theme('address_page', $help, $output);
}
?>