static function &GetAllCustomFields($values = true) { $values = true; $db = JFactory::getDBO(); if (empty(FSTCF::$allfields)) { // get a list of all available fields $qry = "SELECT * FROM #__fst_field as f WHERE f.published = 1 AND f.ident = 0 "; $qry .= " ORDER BY f.grouping, f.ordering "; $db->setQuery($qry); $rows = $db->loadAssocList("id"); $indexes = array(); if (count($rows) > 0) { foreach ($rows as $index => &$row) { $indexes[] = FSTJ3Helper::getEscaped($db, $index); } } if ($values) { $indexlist = implode(",", $indexes); if (count($indexes) == 0) { $indexlist = "0"; } $qry = "SELECT * FROM #__fst_field_values WHERE field_id IN ({$indexlist})"; $db->setQuery($qry); $values = $db->loadAssocList(); if (count($values) > 0) { foreach ($values as &$value) { $field_id = $value['field_id']; $rows[$field_id]['values'][] = $value['value']; } } } FSTCF::$allfields = $rows; } return FSTCF::$allfields; }