function og_subgroups_get_tree in Subgroups for Organic groups 6
Get a hierarchy tree of all groups on the site
param $reset TRUE if the tree should be regenerated. Default to FALSE.
6 calls to og_subgroups_get_tree()
- og_subgroups_get_group_tree in includes/
tree.inc - Get a hierarchy tree just for a given group
- og_subgroups_group_select_options in includes/
form.inc - Create form select options for the subgroup selector
- og_subgroups_hs_hierarchical_select_item_get_label in modules/
og_subgroups_hs/ og_subgroups_hs.module - Implementation of hook_hierarchical_select_item_get_label().
- og_subgroups_hs_hierarchical_select_root_level in modules/
og_subgroups_hs/ og_subgroups_hs.module - Implementation of hook_hierarchical_select_root_level().
- og_subgroups_hs_hierarchical_select_valid_item in modules/
og_subgroups_hs/ og_subgroups_hs.module - Implementation of hook_hierarchical_select_valid_item().
File
- includes/
tree.inc, line 14 - Functions to generate and use the group hierarchy trees
Code
function og_subgroups_get_tree($reset = FALSE) {
static $tree = FALSE;
$cache_key = 'og_subgroups:tree';
// Check if our static cache hasn't yet been populated
// or if a reset has been requested
if ($reset || $tree === FALSE) {
// If no reset is requested, attempt to fetch a cached tree
// from the database
if (!$reset) {
$cache = cache_get($cache_key);
// See if the cache has data
if (isset($cache->data)) {
// Use the cached tree
$tree = $cache->data;
}
}
// If we don't yet have a tree, we must generate one
if ($reset || !$tree) {
$tree = _og_subgroups_get_tree();
// Cache this tree in the database
cache_set($cache_key, $tree);
}
}
return $tree;
}