function commerce_addressbook_profile_page_access in Commerce Addressbook 7.2
Same name and namespace in other branches
- 7.3 commerce_addressbook.module \commerce_addressbook_profile_page_access()
Access callback: determine if the user can access the listing page of a given profile type.
1 call to commerce_addressbook_profile_page_access()
- commerce_addressbook_page_access in ./
commerce_addressbook.module - Access callback for path /user/%user/addressbook.
1 string reference to 'commerce_addressbook_profile_page_access'
- commerce_addressbook_menu in ./
commerce_addressbook.module - Implements hook_menu().
File
- ./
commerce_addressbook.module, line 153 - Defines addressbook functionality for customer profiles, allowing them to be reused and managed on a per-user basis.
Code
function commerce_addressbook_profile_page_access($account, $profile_type) {
global $user;
// The addressbook is not enabled for this profile type.
if (!variable_get('commerce_customer_profile_' . $profile_type . '_addressbook', FALSE)) {
return FALSE;
}
// Check if the user can access any page.
if (user_access('administer commerce_customer_profile entities') || user_access('view any commerce_customer_profile entity') || user_access('view any commerce_customer_profile entity of bundle ' . $profile_type) || user_access('edit any commerce_customer_profile entity') || user_access('edit any commerce_customer_profile entity of bundle ' . $profile_type)) {
return TRUE;
}
// Check if the user can access his own page.
if ($user->uid == $account->uid) {
if (user_access('view own commerce_customer_profile entities') || user_access('create commerce_customer_profile entities') || user_access('create commerce_customer_profile entities of bundle ' . $profile_type) || user_access('view own commerce_customer_profile entities of bundle ' . $profile_type) || user_access('edit own commerce_customer_profile entities') || user_access('edit own commerce_customer_profile entities of bundle ' . $profile_type)) {
return TRUE;
}
}
return FALSE;
}