protected static function buildFieldsList($main_query = false, $mi = 'mi', $format = null, $sort = null, $custom_fields = null) { if ($main_query) { $data_fields_list = array('upd.login_name', 'upd.topo_name', 'upd.username', 'm.lon', 'm.lat', 'm.activities', 'm.category'); $data_fields_list = array_merge($data_fields_list, parent::buildGeoFieldsList()); if (in_array('mail', $custom_fields) && sfContext::getInstance()->getUser()->hasCredential('moderator')) { $data_fields_list[] = 'upd.email'; } } else { $data_fields_list = array(); } $base_fields_list = parent::buildFieldsList($main_query, $mi, $format, $sort, $custom_fields); return array_merge($base_fields_list, $data_fields_list); }