function _term_reference_tree_get_term_hierarchy in Taxonomy Term Reference Tree Widget 8
Same name and namespace in other branches
- 7.2 term_reference_tree.module \_term_reference_tree_get_term_hierarchy()
- 7 term_reference_tree.module \_term_reference_tree_get_term_hierarchy()
This function returns a taxonomy term hierarchy in a nested array.
Parameters
$tid: The ID of the root term.
$vid: The vocabulary ID to restrict the child search.
Return value
A nested array of the term's child objects.
1 call to _term_reference_tree_get_term_hierarchy()
- CheckboxTree::processCheckboxTree in src/
Element/ CheckboxTree.php - Processes a checkboxes form element.
File
- ./
term_reference_tree.module, line 165
Code
function _term_reference_tree_get_term_hierarchy($tid, $vid, &$allowed, $filter, $label, $default = []) {
$terms = _term_reference_tree_get_children($tid, $vid);
$result = [];
if ($filter != '') {
foreach ($allowed as $k => $v) {
if (array_key_exists($k, $terms)) {
$term =& $terms[$k];
$children = _term_reference_tree_get_term_hierarchy($term->tid, $vid, $allowed, $filter, $label, $default);
if (is_array($children)) {
$term->children = $children;
$term->children_selected = _term_reference_tree_children_selected($term, $default);
}
else {
$term->children_selected = FALSE;
}
$term->TEST = $label;
array_push($result, $term);
}
}
}
else {
foreach ($terms as &$term) {
if ($filter == '' || array_key_exists($term->tid, $allowed)) {
$children = _term_reference_tree_get_term_hierarchy($term->tid, $vid, $allowed, $filter, $label, $default);
if (is_array($children)) {
$term->children = $children;
$term->children_selected = _term_reference_tree_children_selected($term, $default);
}
else {
$term->children_selected = FALSE;
}
$term->TEST = $label;
array_push($result, $term);
}
}
}
return $result;
}