<?php
defined('_JEXEC') or die;
use Joomla\CMS\Factory;
function regularlabs_php_41b9415bd4a2bed785acf8361ae90805($rl_variables, $article, $module){
$app = $mainframe = RegularLabs\Library\Php::getApplication();
$document = $doc = RegularLabs\Library\Php::getDocument();
$database = $db = Joomla\CMS\Factory::getDbo();
$user = $app->getIdentity() ?: Joomla\CMS\Factory::getUser();
$Itemid = $app->getInput()->getInt('Itemid');
if (is_array($rl_variables)) {foreach ($rl_variables as $rl_key => $rl_value) {${$rl_key} = $rl_value;}}
// Récupérer l'application Joomla
$app = Factory::getApplication();

// Traitement de la soumission du formulaire
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // Récupérer les données du formulaire
    $token = $app->input->getString('token', '');
    $submissionId = $app->input->getInt('submissionId', 0);
    $produitsSemaine = $app->input->getString('produits-semaine', '');
    $joursReception = $app->input->getString('jours-reception', '');

    // Log des données reçues
    error_log('Formulaire soumis avec les données : ' . print_r($_POST, true));

    // Connexion à la base de données
    $db = Factory::getDbo();

    // Mettre à jour les champs dans la base de données
    $fields = [
        'produits-semaine' => $produitsSemaine,
        'jours-reception' => $joursReception,
    ];

    foreach ($fields as $fieldName => $fieldValue) {
        $query = $db->getQuery(true)
            ->update($db->quoteName('#__rsform_submission_values'))
            ->set($db->quoteName('FieldValue') . ' = ' . $db->quote($fieldValue))
            ->where($db->quoteName('SubmissionId') . ' = ' . $db->quote($submissionId))
            ->where($db->quoteName('FieldName') . ' = ' . $db->quote($fieldName));

        $db->setQuery($query);
        if ($db->execute()) {
            error_log('Champ ' . $fieldName . ' mis à jour avec succès.');
        } else {
            error_log('Erreur lors de la mise à jour du champ ' . $fieldName);
        }
    }

    echo ' 
Informations mises à jour avec succès. 
';
}

// Extraire les paramètres de l'URL
$token = $app->input->getString('token', '');
$submissionId = $app->input->getInt('submissionId', 0);

// Vérifier les paramètres obligatoires
if (empty($token) || empty($submissionId)) {
    echo ' 
Erreur : Paramètres manquants dans l\'URL. 
';
    exit;
}

// Connexion à la base de données
$db = Factory::getDbo();

// Récupérer les données de la soumission
$query = $db->getQuery(true)
    ->select('x.FieldValue AS token, v.FieldValue AS inscription, s.DateSubmitted, p.FieldValue AS produits_semaine, j.FieldValue AS jours_reception, prenom.FieldValue AS prenom, nom.FieldValue AS nom')
    ->from($db->quoteName('#__rsform_submissions', 's'))
    ->join('LEFT', $db->quoteName('#__rsform_submission_extras', 'x') . ' ON s.SubmissionId = x.SubmissionId')
    ->join('LEFT', $db->quoteName('#__rsform_submission_values', 'v') . ' ON s.SubmissionId = v.SubmissionId')
    ->join('LEFT', $db->quoteName('#__rsform_submission_values', 'p') . ' ON s.SubmissionId = p.SubmissionId AND p.FieldName = ' . $db->quote('produits-semaine'))
    ->join('LEFT', $db->quoteName('#__rsform_submission_values', 'j') . ' ON s.SubmissionId = j.SubmissionId AND j.FieldName = ' . $db->quote('jours-reception'))
    ->join('LEFT', $db->quoteName('#__rsform_submission_values', 'prenom') . ' ON s.SubmissionId = prenom.SubmissionId AND prenom.FieldName = ' . $db->quote('prenom'))
    ->join('LEFT', $db->quoteName('#__rsform_submission_values', 'nom') . ' ON s.SubmissionId = nom.SubmissionId AND nom.FieldName = ' . $db->quote('nom'))
    ->where('s.SubmissionId = ' . $db->quote($submissionId))
    ->where('x.FieldName = ' . $db->quote('token'))
    ->where('v.FieldName = ' . $db->quote('inscription'));

$db->setQuery($query);
$result = $db->loadObject();

// Vérifier les résultats de la requête
if (!$result) {
    echo ' 
Erreur : Soumission non trouvée. 
';
    exit;
}

// Comparer les tokens
if ($token === $result->token) {
    // Afficher le message personnalisé
    echo 'Bonjour ' . htmlspecialchars($result->prenom, ENT_QUOTES, 'UTF-8') . ' ' . htmlspecialchars($result->nom, ENT_QUOTES, 'UTF-8') . '';
    echo ' 
Votre abonnement : ' . htmlspecialchars($result->inscription, ENT_QUOTES, 'UTF-8') . ' 
';
    echo ' 
Date de soumission : ' . htmlspecialchars($result->DateSubmitted, ENT_QUOTES, 'UTF-8') . ' 
';

    // Afficher un formulaire personnalisé
    echo '
        
        
        
        Produits disponibles cette semaine :
        ' . htmlspecialchars($result->produits_semaine ?? '', ENT_QUOTES, 'UTF-8') . '
        
        Jours de réception :
        
        
        Enregistrer
    ';
} else {
    echo ' 
Accès refusé : Tokens ne correspondent pas. 
';
};  ;;
return get_defined_vars();
;}