static function &GetAllCustomFields($values = true) { $values = true; $db = JFactory::getDBO(); if (empty(FSSCF::$allfields)) { // get a list of all available fields $qry = "SELECT * FROM #__fss_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"); FSS_Translate_Helper::Tr($rows); $indexes = array(); if (count($rows) > 0) { foreach ($rows as $index => &$row) { $indexes[] = FSSJ3Helper::getEscaped($db, $index); } } if ($values) { $indexlist = implode(",", $indexes); if (count($indexes) == 0) { $indexlist = "0"; } $qry = "SELECT * FROM #__fss_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']; if ($value['data']) { $rows[$field_id]['values'][] = 'plugindata=' . $value['data']; } } } } FSSCF::$allfields = $rows; } return FSSCF::$allfields; }