You are here

function rooms_unit_rooms_entity_access_view_condition_rooms_unit_alter in Rooms - Drupal Booking for Hotels, B&Bs and Vacation Rentals 7

Implements hook_rooms_entity_access_OP_condition_ENTITY_TYPE_alter().

File

modules/rooms_unit/rooms_unit.module, line 262
Manage units - Units are things that can be booked on a nightly basis (e.g. rooms - but also villas bungalows, etc).

Code

function rooms_unit_rooms_entity_access_view_condition_rooms_unit_alter(&$conditions, $context) {
  $account = $context['account'];
  if (user_access('view any rooms_unit unpublished entity', $account)) {
    return;
  }
  $old_conditions = $conditions;
  if ($old_conditions
    ->count()) {
    $conditions = db_and();
    if ($account->uid && user_access('view own rooms_unit 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);
    }
    $conditions
      ->condition($old_conditions);
  }
}