function traverse($fields = null, $all_fields = null, $params = null)
{
$joins = array();
if (null === $fields) {
$fields = $this->traverse_build($all_fields, $params);
}
foreach ((array) $fields as $field_group) {
$traverse_recurse = array('pod' => $this->pod, 'fields' => $fields, 'params' => $params, 'last_table_info' => $this->pod_data, 'joined_id' => $this->pod_data['field_id'], 'joined_index' => $this->pod_data['field_index']);
if (is_array($field_group)) {
$traverse_recurse['fields'] = $field_group;
$joins = array_merge($joins, $this->traverse_recurse($traverse_recurse));
} else {
$joins = array_merge($joins, $this->traverse_recurse($traverse_recurse));
$joins = array_filter($joins);
return $joins;
}
}
$joins = array_filter($joins);
return $joins;
}