<?php
defined('_JEXEC') or die;
use Joomla\CMS\Factory;
function regularlabs_php_4b1a7ad3a38bd82289c7dc3967e984a5($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;}}
<?php


// Récupérer l'application Joomla
$app = Factory::getApplication();

// 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 originale (formulaire ID 1)
$query = $db->getQuery(true)
    ->select('x.FieldValue AS token, 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', '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('s.FormId = 1'); // Formulaire original ID 1

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

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

// Comparer les tokens
if ($token === $result->token) {
    // Afficher un message de confirmation
    echo 'Bonjour ' . htmlspecialchars($result->prenom, ENT_QUOTES, 'UTF-8') . ' ' . htmlspecialchars($result->nom, ENT_QUOTES, 'UTF-8') . '';
    echo ' 
Votre lien est valide. Vous allez être redirigé vers le formulaire d\'édition... 
';
    
    // Créer un script JavaScript qui va stocker l'ID de soumission et le token en session storage
    // et ensuite rediriger vers le formulaire d'édition
    echo '
        // Stocker les informations nécessaires en session storage
        sessionStorage.setItem("originalSubmissionId", "' . $submissionId . '");
        sessionStorage.setItem("secureToken", "' . $token . '");
        
        // Rediriger vers le formulaire d'édition
        window.location.href = "/index.php?option=com_rsform&formId=5";
    ';
    
    exit;
} else {
    echo ' 
Accès refusé : Token invalide. 
';
    exit;
};  ;;
return get_defined_vars();
;}