You are here

function bat_type_bat_entity_access_view_condition_bat_type_alter in Booking and Availability Management Tools for Drupal 7

Same name and namespace in other branches
  1. 8 modules/bat_unit/bat_unit.module \bat_type_bat_entity_access_view_condition_bat_type_alter()

Implements hook_bat_entity_access_OP_condition_ENTITY_TYPE_alter().

File

modules/bat_unit/bat_unit.module, line 1338

Code

function bat_type_bat_entity_access_view_condition_bat_type_alter(&$conditions, $context) {
  $account = $context['account'];
  if (user_access('view any bat_type unpublished entity', $account)) {
    return;
  }
  $old_conditions = $conditions;
  $conditions = db_and();
  if ($account->uid && user_access('view own bat_type unpublished entities', $account)) {
    $or = db_and()
      ->condition($context['base_table'] . '.status', 0)
      ->condition($context['base_table'] . '.uid', $account->uid);
    $conditions
      ->condition(db_or()
      ->condition($or)
      ->condition($context['base_table'] . '.status', 1));
  }
  else {
    $conditions
      ->condition($context['base_table'] . '.status', 1);
  }
  if ($old_conditions
    ->count()) {
    $conditions
      ->condition($old_conditions);
  }
}