function image_gallery_handler_field_gallery_cover::get_cover_node_nid_recurse in Image 7
Same name and namespace in other branches
- 6 contrib/image_gallery/views/image_gallery_handler_field_gallery_cover.inc \image_gallery_handler_field_gallery_cover::get_cover_node_nid_recurse()
Recursively query descendant tids until we get a cover nid.
Warning! This is probably quite intensive, as it drills down the term hierarchy doing a query on each term until it finds a node -- and this is done for EVERY row of the main gallery term view!
Parameters
$tid The tid whose children we should investigate for a cover nid.:
$recurse The current recursion depth.:
1 call to image_gallery_handler_field_gallery_cover::get_cover_node_nid_recurse()
- image_gallery_handler_field_gallery_cover::get_cover_node_nid in contrib/
image_gallery/ views/ image_gallery_handler_field_gallery_cover.inc - Get the cover nid for the current tid.
File
- contrib/
image_gallery/ views/ image_gallery_handler_field_gallery_cover.inc, line 185
Class
- image_gallery_handler_field_gallery_cover
- Parent class for field handlers that gives us a gallery cover.
Code
function get_cover_node_nid_recurse($tid, $recurse) {
$tree = taxonomy_get_tree($this->vid, $tid, -1, 1);
foreach ($tree as $term) {
$where_clause = 'tn.tid = ' . $term->tid;
$query = str_replace('***WHERE_CLAUSE***', $where_clause, $this->basic_query);
if ($nid = db_result(db_query_range(db_rewrite_sql($query), '', 0, 1))) {
return $nid;
}
// Recurse into this gallery, if we may.
if ($this->options['depth'] > $recurse) {
if ($nid = $this
->get_cover_node_nid_recurse($term->tid, $recurse + 1)) {
return $nid;
}
}
}
}