You are here

function _domain_taxonomy_access_where_sql in Domain Taxonomy 6

1 call to _domain_taxonomy_access_where_sql()
domain_taxonomy_db_rewrite_sql in ./domain_taxonomy.module

File

./domain_taxonomy.module, line 576

Code

function _domain_taxonomy_access_where_sql($table, $op = 'view', $term_access_alias = 'dta', $account = NULL) {
  global $user;
  $grants = array();
  $account = $user;
  foreach (domain_node_grants($account, $op) as $realm => $gids) {
    foreach ($gids as $gkey => $gid) {
      if (is_numeric($gkey)) {
        $grants[] = "({$term_access_alias}.gid = {$gid} AND {$term_access_alias}.realm = '{$realm}')";
      }
    }
  }
  $grants_sql = '';
  if (count($grants)) {
    $grants_sql = 'AND (' . implode(' OR ', $grants) . ')';
  }
  $sql = "{$term_access_alias}.grant_{$op} >= 1 {$grants_sql}";
  $disabled_vocs = _domain_taxonomy_get_disabled_vocabulares();
  if (count($disabled_vocs)) {
    $sql = '(' . $sql . ') OR ' . $table . '.vid IN(' . join(',', $disabled_vocs) . ')';
  }
  return $sql;
}