File: /home/u353189757/domains/adaptia.com.br/public_html/api/form-submit.php
<?php
declare(strict_types=1);
require_once __DIR__ . '/config.php';
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
adapt_json_response(['ok' => false, 'error' => 'method_not_allowed'], 405);
}
if (adapt_clean_text($_POST['website'] ?? '', 120) !== '') {
adapt_json_response(['ok' => true, 'saved' => false]);
}
$name = adapt_clean_text($_POST['nome'] ?? '', 120);
$company = adapt_clean_text($_POST['empresa'] ?? '', 120);
$phone = adapt_clean_text($_POST['whatsapp'] ?? '', 80);
$service = adapt_clean_text($_POST['servico'] ?? '', 120);
$investment = adapt_clean_text($_POST['investimento'] ?? '', 100);
$deadline = adapt_clean_text($_POST['prazo'] ?? '', 100);
$message = adapt_clean_multiline_text($_POST['mensagem'] ?? '', 2000);
$phoneDigits = preg_replace('/\D+/', '', $phone) ?? '';
$errors = [];
if ($name === '' || strlen($name) < 2) {
$errors['nome'] = 'required';
}
if (strlen($phoneDigits) < 10 || strlen($phoneDigits) > 15) {
$errors['whatsapp'] = 'invalid';
}
if ($service === '') {
$errors['servico'] = 'required';
}
if ($errors) {
adapt_json_response(['ok' => false, 'error' => 'validation_failed', 'fields' => $errors], 422);
}
try {
$submission = [
'id' => bin2hex(random_bytes(8)),
'received_at' => gmdate('c'),
'fields' => [
'nome' => $name,
'empresa' => $company,
'whatsapp' => $phone,
'whatsapp_digits' => $phoneDigits,
'servico' => $service,
'investimento' => $investment,
'prazo' => $deadline,
'mensagem' => $message,
],
'meta' => [
'page_url' => adapt_clean_url($_POST['page_url'] ?? ''),
'referrer' => adapt_clean_url($_POST['referrer'] ?? ''),
'visit_id' => adapt_clean_token($_POST['visit_id'] ?? '', 80),
'client_time' => adapt_clean_text($_POST['client_time'] ?? '', 80),
],
];
adapt_append_submission($submission);
adapt_json_response(['ok' => true, 'saved' => true, 'id' => $submission['id']]);
} catch (Throwable $exception) {
adapt_json_response(['ok' => false, 'error' => 'private_storage_unavailable'], 500);
}