31 lines
1.0 KiB
PHP
31 lines
1.0 KiB
PHP
<?php
|
|
|
|
namespace FluentForm\App\Http\Controllers;
|
|
|
|
use FluentForm\App\Services\Form\SubmissionHandlerService;
|
|
use FluentForm\Framework\Validator\ValidationException;
|
|
|
|
class SubmissionHandlerController extends Controller
|
|
|
|
{
|
|
/**
|
|
* Handle form submission
|
|
*/
|
|
public function submit()
|
|
{
|
|
try {
|
|
parse_str($this->request->get('data'), $data); // Parse the url encoded data from the request object.
|
|
$data['_wp_http_referer'] = isset($data['_wp_http_referer']) ? sanitize_url(urldecode($data['_wp_http_referer'])) : '';
|
|
$this->request->merge(['data' => $data]); // Merge it back again to the request object.
|
|
|
|
$formId = intval($this->request->get('form_id'));
|
|
$response = (new SubmissionHandlerService())->handleSubmission($data, $formId);
|
|
|
|
return $this->json($response);
|
|
} catch (ValidationException $e) {
|
|
|
|
return $this->json($e->errors(), $e->getCode());
|
|
}
|
|
}
|
|
}
|