/** * Get all the groups the current user has permissions to see * * @param integer $start (optional - default: 0) * @param integer $max (optional - default: 20) * @param string $orderby (optional, either 'date', 'name' or 'moddate' - default: 'date') * @param string $sort (optional, either 'ASC' or 'DESC' - default: 'DESC') * @param string $style (optional - default 'long') may be 'short' or 'long' - how much of a user's details to load (long includes: tags and groups). * @param string $q the query term(s) * @return GroupSet or Error */ function getGroupsByGlobal($start = 0, $max = 20, $orderby = 'date', $sort = 'DESC', $style = 'long', $q = '') { global $CFG, $HUB_SQL; $params = array(); $params[0] = $CFG->USER_STATUS_ACTIVE; $params[1] = $CFG->USER_STATUS_REPORTED; $params[2] = $CFG->defaultUserID; $sql = $HUB_SQL->APILIB_GROUPS_BY_GLOBAL_PART1; if ($q != "") { $querySQL = getSearchQueryString($params, $q, true, false); $sql .= $HUB_SQL->AND . $querySQL; } $gs = new GroupSet(); return $gs->loadFromUsers($sql, $params, $start, $max, $orderby, $sort, $style); }