function get_group_children_tree($var_1 = null, $var_2 = null, $var_3 = null, $var_4 = null) { global $_CB_database; if (!$var_4) { $var_4 = true; } if (checkJversion() == 2) { $query = 'SELECT a.' . $_CB_database->NameQuote('id') . ' AS value' . ', a.' . $_CB_database->NameQuote('title') . ' AS text' . ', COUNT( DISTINCT b.' . $_CB_database->NameQuote('id') . ' ) AS level' . "\n FROM " . $_CB_database->NameQuote('#__usergroups') . " AS a" . "\n LEFT JOIN " . $_CB_database->NameQuote('#__usergroups') . " AS b" . ' ON a.' . $_CB_database->NameQuote('lft') . ' > b.' . $_CB_database->NameQuote('lft') . ' AND a.' . $_CB_database->NameQuote('rgt') . ' < b.' . $_CB_database->NameQuote('rgt') . "\n GROUP BY a." . $_CB_database->NameQuote('id') . "\n ORDER BY a." . $_CB_database->NameQuote('lft') . " ASC"; $_CB_database->setQuery($query); $groups = $_CB_database->loadObjectList(); $user_groups = array(); for ($i = 0, $n = count($groups); $i < $n; $i++) { $groups[$i]->text = str_repeat('- ', $groups[$i]->level) . JText::_($groups[$i]->text); if ($var_4) { $user_groups[$i] = JHtml::_('select.option', $groups[$i]->value, $groups[$i]->text); } else { $user_groups[$i] = array('value' => $groups[$i]->value, 'text' => $groups[$i]->text); } } $return = $user_groups; } else { if (!$var_3) { $var_3 = true; } $return = $this->_acl->get_group_children_tree($var_1, $var_2, $var_3, $var_4); } return $return; }