You are here

function commerce_wishlist_user_wishlist_access in Commerce Wishlist 7.2

Same name and namespace in other branches
  1. 7.3 commerce_wishlist.module \commerce_wishlist_user_wishlist_access()

Determine whether the user has a privilege to view a wishlist.

1 call to commerce_wishlist_user_wishlist_access()
commerce_wishlist_views_access_plugin::access in includes/views/commerce_wishlist.views.inc
Determine if the current user has access or not.
1 string reference to 'commerce_wishlist_user_wishlist_access'
commerce_wishlist_views_access_plugin::get_access_callback in includes/views/commerce_wishlist.views.inc
Determine the access callback and arguments.

File

./commerce_wishlist.module, line 363
Provides the wishlist for use in Drupal Commerce.

Code

function commerce_wishlist_user_wishlist_access($acting_user, $view) {
  if (!is_object($acting_user)) {
    global $user;
    $acting_user = user_load($user->uid);
  }

  // Get the wishlist owner.
  if (arg(1) && is_numeric(arg(1))) {
    $wishlist_owner = user_load(arg(1));
  }
  if ($wishlist_owner) {

    // Wishlist administrators.
    if (user_access('administer wishlists')) {
      return TRUE;
    }

    // If the user can view any active wishlist, stop here and grant access.
    if (user_access('view active wishlists', $acting_user)) {
      return TRUE;
    }

    // Check if the user can manage own wishlist AND if he is on the page of his
    // own wishlist.
    if (user_access('manage own wishlist', $acting_user)) {
      return $acting_user->uid == $wishlist_owner->uid;
    }
  }
  return FALSE;
}