You are here

function newsletter_subscriber_access in Newsletter 7.2

Determines whether the given user has access to a newsletter subscriber.

Parameters

$op: The operation being performed. One of 'view', 'update', 'create', 'delete' or just 'edit' (being the same as 'create' or 'update').

$subscriber: Optionally a subscriber or a subscriber type to check access for. If nothing is given, access for all subscribers is determined.

$account: The user to check for. Leave it to NULL to check for the global user.

Return value

boolean Whether access is allowed or not.

1 call to newsletter_subscriber_access()
newsletter_subscriber_handler_subscriber_operations_field::render in modules/subscriber/includes/views/handlers/newsletter_subscriber_handler_subscriber_operations_field.inc
Render newsletter subscriber administration links.
2 string references to 'newsletter_subscriber_access'
newsletter_subscriber_entity_info in modules/subscriber/newsletter_subscriber.module
Implements hook_entity_info().
newsletter_subscriber_menu in modules/subscriber/newsletter_subscriber.module
Implements hook_menu().

File

modules/subscriber/newsletter_subscriber.module, line 330
Module for the Newsletter Subscriber Entity

Code

function newsletter_subscriber_access($op, $subscriber = NULL, $account = NULL) {
  if (user_access('administer newsletter subscribers', $account)) {
    return TRUE;
  }
  if (isset($subscriber) && ($type_name = $subscriber->type)) {
    $op = $op == 'view' ? 'view' : 'edit';
    if (user_access("{$op} any {$type_name} newsletter subscriber", $account)) {
      return TRUE;
    }
    elseif ($subscriber->uid == $GLOBALS['user']->uid && user_access('subscribe newsletters')) {
      return TRUE;
    }
  }
  return FALSE;
}