function og_subgroups_views_handler_argument_gid::get_subgroup_tree in Subgroups for Organic groups 6
2 calls to og_subgroups_views_handler_argument_gid::get_subgroup_tree()
- og_subgroups_views_handler_argument_content::query in modules/
og_subgroups_views/ includes/ og_subgroups_views_handler_argument_content.inc - og_subgroups_views_handler_argument_gid::query in modules/
og_subgroups_views/ includes/ og_subgroups_views_handler_argument_gid.inc
File
- modules/
og_subgroups_views/ includes/ og_subgroups_views_handler_argument_gid.inc, line 38
Class
Code
function get_subgroup_tree() {
og_subgroups_include('tree');
$tree = array();
$directions = array_filter($this->options['build_directions']);
$arguments = explode(',', $this->argument);
// Get all group IDs that are in the argument's family
foreach ($arguments as $argument) {
foreach ($directions as $direction) {
// Build a group object to pass along
$group = new stdClass();
$group->nid = $argument;
// Decide the function to use based on the direction
$func = "og_subgroups_get_group_{$direction}";
// Fetch the groups
$groups = $func($group, $direction == 'children' ? FALSE : NULL);
// Add the groups to an array
foreach ($groups as $group) {
$tree[] = $group->nid;
}
}
}
return !empty($tree) ? $tree : array(
-1,
);
}