# fluentform/1.2.4/app/Modules/Entries/Export.php

Fluent Forms – Customizable Contact Forms, Survey, Quiz, &amp; Conversational Form Builder, version 1.2.4. 75 lines.

- Page: https://pluginprobe.com/plugins/fluentform/1.2.4/code/app/Modules/Entries/Export.php
- Raw: https://pluginprobe.com/plugins/fluentform/1.2.4/raw/app/Modules/Entries/Export.php
- Modified: 2018-01-01T13:31:34+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/fluentform/1.2.4/code/app/Modules/Entries/Export.php#L10-L20`.

```php
<?php

namespace FluentForm\App\Modules\Entries;

use SplTempFileObject;
use FluentForm\App\Services\FormParser;
use FluentForm\Framework\Helpers\ArrayHelper;
use FluentForm\App\Services\FormResponseParser;
use FluentForm\Framework\Foundation\Application;

class Export
{
    /**
     * @var \FluentForm\Framework\Request\Request
     */
    protected $request;

    /**
     * Export constructor.
     *
     * @param \FluentForm\Framework\Foundation\Application $application
     */
    public function __construct(Application $application)
    {
        $this->request = $application->request;
    }

    /**
     * Exports form entries as CSV.
     *
     * @todo:: refactor.
     */
    public function index()
    {
        $formId = intval($this->request->get('form_id'));

        $form = wpFluent()->table('fluentform_forms')->find($formId);

        $formParser = new FormParser($form);

        $formInputs = $formParser->getEntryInputs();

        $inputLabels = $formParser->getAdminLabels($formInputs);

        $submissions = wpFluent()->table('fluentform_submissions')->where('form_id', $formId)->get();

        $submissions = FormResponseParser::transformSubmissions($submissions, $formInputs, $formId);

        $exportData = [];

        foreach ($submissions as $submission) {
            $responses = json_decode($submission->response, true);

            $temp = [];

            foreach ($inputLabels as $field => $label) {
                $value = ArrayHelper::get($responses, $field);

                $temp[] = is_array($value) ? implode(', ', $value) : $value;
            }

            $exportData[] = $temp;
        }

        $fileName = 'export-data-'.date('d-m-Y');

        $writer = \League\Csv\Writer::createFromFileObject(new SplTempFileObject());
        $writer->setDelimiter(",");
        $writer->setNewline("\r\n");
        $writer->insertOne($inputLabels);
        $writer->insertAll($exportData);
        $writer->output($fileName.'.csv');
        die();
    }
}
```
