Index: uc_addresses.module =================================================================== --- uc_addresses.module (revision 1048) +++ uc_addresses.module (revision 1055) @@ -67,8 +67,17 @@ * @param $uid The value of the user ID in the same path. * @return FALSE if the value is a valid address, else the address object. */ -function uc_addresses_address_load($aid, $uid) { +function uc_addresses_address_load($aid, &$map = NULL, $map_index = FALSE) { + global $user; + $uid = 0; + if (!isset($aid)) return FALSE; + if ($map && sizeof($map) && $map[0] == 'user' && is_object($map[1])) { + $uid = $map[1]->uid; + } else { + $uid = $user->uid; + } + return _uc_addresses_db_get_address($uid, $aid); } @@ -135,29 +144,30 @@ 'type' => MENU_LOCAL_TASK, 'weight' => 3, ); - $items['user/%user_uid_optional/addresses/%uc_addresses_address'] = array( 'title' => 'View Address', 'description' => 'View one saved address', - 'load arguments' => array(1), + 'load arguments' => array('%map','%index'), 'page callback' => 'uc_addresses_list_addresses', 'page arguments' => array(1, arg(3)), 'access callback' => 'uc_addresses_can_view_addresses', 'access arguments' => array(1), 'type' => MENU_CALLBACK, ); + $items['user/%user_uid_optional/addresses/%uc_addresses_address/edit'] = array( 'title' => 'Edit address', - 'load arguments' => array(1), + 'load arguments' => array('%map','%index'), 'page callback' => 'drupal_get_form', 'page arguments' => array('uc_addresses_get_address_form', 1, 3, 'edit'), 'access callback' => 'uc_addresses_can_add_edit_address', 'access arguments' => array(1), 'type' => MENU_CALLBACK, ); + $items['user/%user_uid_optional/addresses/%uc_addresses_address/delete'] = array( 'title' => 'Delete address', - 'load arguments' => array(1), + 'load arguments' => array('%map','%index'), 'page callback' => 'uc_addresses_delete_address_confirm', 'page arguments' => array(1, 3), 'access callback' => 'uc_addresses_can_add_edit_address', @@ -218,7 +228,7 @@ $access = user_access(UC_ADDRESSES_ACCESS_ADD_EDIT) || $user->uid == $address_user->uid; - + return $access; } @@ -604,6 +614,7 @@ * @return The themed list (as a string). */ function uc_addresses_list_addresses($address_user, $address = NULL) { + global $user; $uid = $address_user->uid; @@ -700,6 +711,7 @@ // on whether the current user can edit the addresses if (user_access(UC_ADDRESSES_ACCESS_ADD_EDIT) || $user->uid == $uid) { + if (module_exists('me')) $uid = _me_get_me_alias(); $link = l(t('Add a new address'), 'user/'. $uid .'/addresses/add'); $output .= $link; } @@ -764,6 +776,9 @@ // We add an edit link only if the user is allowed to edit this address if (user_access(UC_ADDRESSES_ACCESS_ADD_EDIT) || $user->uid == $uid) { + + if (module_exists('me')) $uid = _me_get_me_alias(); + $output .= '' . l(t('Edit this address'), 'user/'. $uid .'/addresses/' . $aid . '/edit') . ($address->is_default ? '' : @@ -822,7 +837,7 @@ * @ingroup forms */ function uc_addresses_get_address_form(&$form_state, $address_user, $address, $view) { - + $uid = $address_user->uid; $aid = $address ? $address->aid : 0; @@ -871,6 +886,8 @@ // Edit an existing address + if (module_exists('me')) $uid = _me_get_me_alias(); + if ($view == 'edit') { $form['submit'] = array('#type' => 'submit', @@ -1417,7 +1434,6 @@ * array of objects if $aid was NULL. */ function _uc_addresses_db_get_address($uid, $aid = NULL) { - if ($aid === 0) return FALSE; // If $aid is present, return just the one address