get_ongoing_credit_token(); } if (empty($token)) { wp_redirect(home_url()); exit; } $currentCredit = $model->getCredit($token); if(isset($_GET['debug'])) { echo '
';
print_r($token);
print_r($currentCredit);
echo '';
//die();
}
/* echo ''; print_r($currentCredit); echo ''; die(); */ $is_credit_pat = $model->is_credit_pat($currentCredit); $type_credit_selected = ''; if(isset($currentCredit->sel_credit) && !empty($currentCredit->sel_credit)) { $type_credit_selected = $currentCredit->sel_credit; } if(isset($_POST['type_credit_selected']) && !empty($_POST['type_credit_selected']) || isset($_POST['sub_loan_type']) && !empty($_POST['sub_loan_type'])) $type_credit_selected = isset($_POST['sub_loan_type']) ? $_POST['sub_loan_type'] : $_POST['type_credit_selected']; if(empty($type_credit_selected)) { $type_credit_selected = $currentCredit->type_credit; } get_header(); //try to load the model $post = $_POST; if (empty($post)) { $post = array('credit-direct-token' => $token); } if (file_exists(WP_PLUGIN_DIR . '/ESI_creditDirect/app/models/credit_step3.php')) { if (is_object($currentCredit)) { // Sauvegarder l'étape 2 seulement si on vient du formulaire POST if (!empty($_POST)) { // Validation Turnstile si configuré if (\libraries\TurnstileValidator::isConfigured()) { $turnstileToken = isset($_POST['cf-turnstile-response']) ? $_POST['cf-turnstile-response'] : ''; $turnstileValidator = new \libraries\TurnstileValidator(); $turnstileResult = $turnstileValidator->validateForDisplay($turnstileToken, $_SERVER['REMOTE_ADDR'] ?? null); if (!$turnstileResult['valid']) { $turnstile_error = $turnstileResult['message']; } } // Ne traiter le formulaire que si Turnstile est valide (ou non configuré) if (!isset($turnstile_error)) { $result = $model->save_step_2($post,$currentCredit); // Vérifier s'il y a des erreurs de validation if (is_array($result) && isset($result['success']) && !$result['success']) { $validation_errors = $result['formatted_errors']; } } // Gestion générique de l'upload de fichiers $attachments = []; $upload_errors = []; /* // Exemple d'utilisation de la fonction handleUploads $allowed_types = [ 'application/pdf', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', // docx 'application/msword', // doc 'image/jpeg', 'image/png', 'image/gif', 'image/bmp', 'image/webp' ]; $max_size = 2 * 1024 * 1024; // 2 Mo $result = $model->handleUploads($_FILES, $allowed_types, $max_size, $token); $attachments = $result['files']; $upload_errors = $result['errors']; $html_links = $result['html_links']; */ $allowed_types = [ 'application/pdf', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', // docx 'application/msword', // doc 'image/jpeg', 'image/png', 'image/gif', 'image/bmp', 'image/webp' ]; $max_size = 4 * 1024 * 1024; // 4 Mo /* echo '
';
print_r($_FILES);
echo ''; */
if(!empty($_FILES)) {
foreach ($_FILES as $field => $file) {
// Traiter seulement les champs de fichiers qui ne sont pas vides
if(empty($file['name']) || empty($file['name'][0]) || $file['error'] === 4) {
continue;
}
if (isset($file['error']) && $file['error'] !== 4) { // 4 = pas de fichier uploadé
$result = $model->handleUploads($file, $allowed_types, $max_size, $token);
$attachments = array_merge($attachments, $result['files']);
$upload_errors = array_merge($upload_errors, $result['errors']);
}
}
// Affichage des erreurs d'upload
if (!empty($upload_errors)) {
foreach ($upload_errors as $err) {
echo '