# fluentform/1.2.4/app/Modules/Form/FormDataParser.php

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

- Page: https://pluginprobe.com/plugins/fluentform/1.2.4/code/app/Modules/Form/FormDataParser.php
- Raw: https://pluginprobe.com/plugins/fluentform/1.2.4/raw/app/Modules/Form/FormDataParser.php
- Modified: 2018-02-03T11:29:32+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/Form/FormDataParser.php#L10-L20`.

```php
<?php

namespace FluentForm\App\Modules\Form;

class FormDataParser
{
	protected static $data = null;

	public static function parseFormEntries($entries, $form, $fields = null)
	{
		$fields = $fields ? $fields : FormFieldsParser::getEntryInputs($form);

		foreach ($entries as $entry) {
			static::parseFormEntry($entry, $form, $fields);
        }

        return $entries;
	}

	public static function parseFormEntry($entry, $form, $fields = null)
	{
		$fields = $fields ? $fields : FormFieldsParser::getEntryInputs($form);

		$entry->user_inputs = static::parseData(
			json_decode($entry->response), $fields, $form->id
		);

        return $entry;
	}

	public static function parseFormSubmission($submition, $form, $fields)
	{
		if (is_null(static::$data)) {
			static::$data = static::parseData(
				json_decode($submition->response), $fields, $form->id
			);
		}
		$submission->user_inputs = static::$data;
        
        return $submission;
	}

	public static function parseData($response, $fields, $formId)
	{
		$trans = [];
        foreach ($fields as $field_key => $field) {
            if (isset($response->$field_key)) {
                $value = apply_filters(
                    'fluentform_response_render_'.$field['element'],
                    $response->$field_key,
                    $field,
                    $formId
                );
                $trans[$field_key] = $value;
            } else {
                $trans[$field_key] = null;
            }
        }
        
        return $trans;
	}

	public static function formatValue($value)
	{
		if (is_array($value) || is_object($value)) {
            return implodeRecursive(', ', array_filter(array_values((array) $value)));
        }

        return $value;
	}
}

```
