validateStep3($data); if (!empty($errors)) { // Retourner les erreurs pour affichage return [ 'success' => false, 'errors' => $errors, 'formatted_errors' => $validator->getFormattedErrors() ]; } $this->currentCredit = $currentCredit; foreach ($data as $k => $d) { if ($d === '') { $data[$k] = null; } } $curreentUser = wp_get_current_user(); if($curreentUser->ID == 1) { echo '
';
            echo 'data';
            print_r($data);
            echo '
'; } $this->update_emprunteur($data, $currentCredit); $this->save_autre_credit_emprunteur($data,$currentCredit); // Vérifier si hascoborrower est présent dans les données // Note: pour les radio buttons, si aucun n'est coché, la clé peut être absente // On vérifie aussi s'il y a des données de co-emprunteur pour détecter sa présence $hasCoBorrowerInData = array_key_exists('hascoborrower', $data) && ($data['hascoborrower'] === '1' || $data['hascoborrower'] === 1); $hasCoBorrowerFields = !empty($data['cofirstname']) || !empty($data['colastname']) || !empty($data['coemail']) || !empty($data['cophone']); // Si hascoborrower est à '1' OU si des champs co-emprunteur sont présents, traiter le co-emprunteur if ($hasCoBorrowerInData || $hasCoBorrowerFields) { // Vérifier si le co-emprunteur existe déjà $coBorrower = $this->getCoBorrower($currentCredit); if (is_object($coBorrower)) { // Le co-emprunteur existe, on le met à jour $this->update_co_emprunteur($data, $currentCredit); } else { // Le co-emprunteur n'existe pas, on le crée seulement si hascoborrower === '1' // (pour éviter de créer un co-emprunteur par erreur) if ($hasCoBorrowerInData) { // Vérifier que le borrower existe avant d'insérer le co-emprunteur $borrower = $this->getBorrower($currentCredit); if (is_object($borrower)) { $insertId = $this->insert_co_emprunteur($data, $currentCredit); // Vérifier si l'insertion a réussi if ($insertId === false || $insertId === 0) { error_log('Erreur lors de l\'insertion du co-emprunteur pour le crédit ID: ' . $currentCredit->idCredit); error_log('Dernière erreur DB: ' . $this->wpdb->last_error); error_log('Dernière requête: ' . $this->wpdb->last_query); } else { // L'insertion a réussi, recharger le crédit pour que getCoBorrower trouve le nouveau co-emprunteur $currentCredit = $this->getCredit($currentCredit->token); } } else { error_log('Impossible de créer le co-emprunteur : borrower non trouvé pour le crédit ID: ' . $currentCredit->idCredit); } } } // Sauvegarder les autres crédits du co-emprunteur seulement si hascoborrower === '1' if ($hasCoBorrowerInData) { $this->save_autre_credit_co_emprunteur($data,$currentCredit); } } $this->wpdb->update( 'cdf_Credit', array( 'last_update_date' => (new \DateTime())->format('Y-m-d H:i:s'), 'last_step' => '3' ), array('idCredit' => $this->currentCredit->idCredit) ); } }