'Dados não recebidos.']);
return;
}
$teste = "";
console . log("UTM Source:", $teste);
parse_str($_POST['formData'], $formData);
// Verifique se o usuário concordou com os termos de uso
// if (!isset($formData['agree-terms'])) {
// wp_send_json_error(['error_message' => 'Você precisa concordar com os termos de uso para criar uma conta.']);
// return;
//}
if (!isset($formData['password']) || !isset($formData['passwordConfirm'])) {
wp_send_json_error(['error_message' => 'Dados de senha ausentes.']);
return;
}
$password = $formData['password'];
$passwordConfirm = $formData['passwordConfirm'];
$name = $formData['name'];
if ($password !== $passwordConfirm) {
wp_send_json_error(['error_message' => 'As senhas não coincidem.']);
return;
}
if (!isValidPassword($password)) {
wp_send_json_error([
'error_message' => 'A senha não atende aos requisitos.
Pelo menos 1 letra.
Pelo menos 1 vogal.
Pelo menos um símbolo.
Deve possuir 8 ou mais caracteres'
]);
}
$email = $formData['email'];
$phone = $formData['cel'];
if (!is_valid_email($email)) {
wp_send_json_error(['error_message' => 'Formato de e-mail inválido..']);
return;
}
$phoneComponents = extractPhoneComponents($phone);
if (!$phoneComponents) {
wp_send_json_error(['error_message' => 'Formato de telefone inválido.']);
return;
}
// Se o checkbox foi marcado, o valor é true (ou "true" como string), caso contrário é false.
$termsOfUseAccepted = "true";
// Dados para a chamada da API
$email = strtolower($formData['email']);
$api_endpoint = "https://ibox6-wordpress.ue.r.appspot.com/api/auth/register/";
//$api_endpoint = "https://django.iainvest.com.br/api/auth/register/";
$api_data = [
"Name" => $name,
"username" => $email, // username é o mesmo que o email
"email" => $email,
"password" => $password,
"ddd" => $phoneComponents['ddd'],
"telefone" => $phoneComponents['mainNumber'],
"utm_medium" => $utm_medium,
"utm_campaign" => $utm_campaign,
"utm_source" => $utm_source,
"step" => '3',
"termsofuse" => $termsOfUseAccepted
];
// Fazendo a chamada da API
$response = wp_remote_post($api_endpoint, [
'body' => json_encode($api_data),
'headers' => [
'Content-Type' => 'application/json'
]
]);
// Lidando com a resposta
$body = wp_remote_retrieve_body($response);
$data = json_decode($body);
if (isset($data->token) && !empty(trim($data->token))) {
// Se temos um token (e ele não está vazio), redirecionamos para app.ibox6.com.br
wp_send_json_success(['redirect_url' => "https://ibox6.com.br/obrigado/?existing_code={$data->token}&utm_source={$utm_source}&utm_medium={$utm_medium}&utm_campaign={$utm_campaign}"]);
//wp_send_json_success(['redirect_url' => "https://app.iainvest.com.br/login?existing_code={$data->token}&utm_source={$utm_source}&utm_medium={$utm_medium}&utm_campaign={$utm_campaign}"]);
} elseif (isset($data->message)) {
// Se temos uma mensagem de erro vinda da API, retornamos ela
wp_send_json_error(['error_message' => $data->message]);
} else {
// Se algo deu errado com a chamada da API ou o formato da resposta foi inesperado
wp_send_json_error(['error_message' => 'Erro desconhecido ao processar o registro.']);
}
// Continuar com sua lógica de validação e chamada da API aqui...
// ...
// if(isset($data->refresh) && $data->refresh) {
// wp_send_json_success(['redirect_url' => "https://app.ibox6.com.br/?existing_token={$data->refresh}"]);
// } else {
// wp_send_json_error(['error_message' => 'Erro ao processar a solicitação da api.']);
// }
}
add_action('wp_ajax_handle_custom_registration', 'handle_registration');
add_action('wp_ajax_nopriv_handle_custom_registration', 'handle_registration');
function enqueue_custom_register_scripts()
{
wp_enqueue_script('jquery');
wp_enqueue_script('jquery-mask', 'https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.16/jquery.mask.min.js', array('jquery'), '1.14.16', true);
wp_enqueue_script('custom-register-ajax', plugin_dir_url(__FILE__) . 'custom-register-ajax1_03.js', array('jquery'), null, true);
wp_localize_script('custom-register-ajax', 'customRegister', array('ajax_url' => admin_url('admin-ajax.php')));
// Enfileirando estilos
// wp_enqueue_style('custom-register-style', plugin_dir_url( __FILE__ ) . 'custom-register-style.css');
}
add_action('wp_enqueue_scripts', 'enqueue_custom_register_scripts');
function enqueue_mask_scripts()
{
wp_enqueue_script('mask-script', plugin_dir_url(__FILE__) . 'mask.js', array('jquery'), '1.0.0', true);
}
add_action('wp_enqueue_scripts', 'enqueue_mask_scripts');
?>