public function uc_addresses_views_plugin_argument_address_access::validate_argument in Ubercart Addresses 6.2
Same name and namespace in other branches
- 7 views/uc_addresses_views_plugin_argument_address_access.inc \uc_addresses_views_plugin_argument_address_access::validate_argument()
Validates if argument is a valid user and if the current user has access to addresses of the given user.
File
- views/
uc_addresses_views_plugin_argument_address_access.inc, line 78 - Definition of uatest_views_plugin_argument_address_access.
Class
- uc_addresses_views_plugin_argument_address_access
- Checks if the current user has access to addresses of the given user.
Code
public function validate_argument($argument) {
// Check for address access.
$address = UcAddressesAddressBook::loadAddress($argument);
if (!$address) {
// Address does not exist.
return FALSE;
}
$access_type = 'view';
if (isset($this->argument->options['validate_uc_addresses_address_access_type'])) {
$access_type = $this->argument->options['validate_uc_addresses_address_access_type'];
}
elseif (isset($this->options['access_type'])) {
$access_type = $this->options['access_type'];
}
$address_user = user_load($address
->getUserId());
switch ($access_type) {
case 'view':
return UcAddressesPermissions::canViewAddress($address_user, $address);
case 'edit':
return UcAddressesPermissions::canEditAddress($address_user, $address);
case 'delete':
return UcAddressesPermissions::canDeleteAddress($address_user, $address);
}
return FALSE;
}