/**
  * @Route("/csv", methods="GET")
  * @Request({"options": "array"}, csrf=true)
  */
 public function indexCsvAction($options = [])
 {
     $count = 0;
     $forms = [];
     $fields = [];
     $form = ['id' => 0];
     $options = new ArrObject($options);
     if ($form_id = $options->get('form_id', 0)) {
         //get forminfo
         $form = Form::find($form_id);
         $fields = Field::where(['form_id = ?'], [$form_id])->get();
         $options->set('field_ids', array_keys($fields));
         //count exported submissions
         $query = Submission::query();
         $query->where(['form_id = ?'], [$form_id])->whereIn('status', $options->get('status', []));
         //input cleaned?
         $count = $query->count();
     } else {
         $forms = array_values(Form::findAll());
     }
     //force int
     $options->set('status', array_map(function ($id) {
         return (int) $id;
     }, $options->get('status', [])));
     $options->set('form_id', (int) $form_id);
     return ['options' => $options->toArray(), 'forms' => $forms, 'formitem' => $form, 'fields' => array_values($fields), 'count' => $count];
 }