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);
 }