You are here

function domain_taxonomy_select_nodes in Domain Taxonomy 7

Same name and namespace in other branches
  1. 6 domain_taxonomy.module \domain_taxonomy_select_nodes()
  2. 7.3 domain_taxonomy.module \domain_taxonomy_select_nodes()
1 call to domain_taxonomy_select_nodes()
domain_taxonomy_form_term_submit in ./domain_taxonomy.module

File

./domain_taxonomy.module, line 602

Code

function domain_taxonomy_select_nodes($tids = array(), $depth = 0) {
  if (count($tids) > 0) {

    // For each term ID, generate an array of descendant term IDs to the right depth.
    $descendant_tids = array();
    if ($depth === 'all') {
      $depth = NULL;
    }
    foreach ($tids as $index => $tid) {
      $child_terms = taxonomy_get_children($tid);
      $descendant_tids = array_merge(array(
        $tid,
      ), array_map('_taxonomy_get_tid_from_term', $child_terms), $descendant_tids);
    }
    $result = db_query('SELECT ti.nid FROM {taxonomy_index} ti WHERE ti.tid in (:tid)', array(
      ':tid' => implode(',', $descendant_tids),
    ));
    $nids = $result
      ->fetchAllAssoc('nid');
    $nodes = node_load_multiple(array_keys($nids));
  }
  return $nodes;
}