gid = $gid; $this->is_active = $min_is_active; $this->is_admin = $min_is_admin; $this->order_by = $order_by; } function start($pager = FALSE, $start = 0, $recs = 0){ return FALSE; } function count(){ return 0; } function next(){ return NULL; } }; /** $ms = new og_uid_table_sub_list($gid); $ms->start(); $ms->count(); while ($row = $ms->next()){ //process row objects } $ms = new og_uid_table_sub_list($form_values['gid'], 1); $ms->start(); while ($row = $ms->next()) { **/ class og_uid_table_sub_list extends og_abstract_mem_source { var $sql; var $rslt = FALSE; function og_uid_table_sub_list($gid, $min_is_active = 1, $min_is_admin = 0, $orderby='u.name ASC'){ $this->initialize($gid, $min_is_active, $min_is_admin, $orderby); $this->sql = og_list_users_sql($min_is_active, $min_is_admin, $orderby); } function start($pager = FALSE, $start = 0, $recs = 0){ if ($pager) { $this->rslt = pager_query($this->sql, $recs, $start, NULL, $this->gid); } else { $this->rslt = db_query($this->sql, $this->gid); } return $this->rslt ? TRUE : FALSE; } function count(){ return db_num_rows($this->rslt); } function next(){ return db_fetch_object($this->rslt); } };