HEX
Server: LiteSpeed
System: Linux br-asc-web1311.main-hosting.eu 4.18.0-553.69.1.lve.el8.x86_64 #1 SMP Wed Aug 13 19:53:59 UTC 2025 x86_64
User: u353189757 (353189757)
PHP: 8.3.30
Disabled: NONE
Upload Files
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);
}