<?php
defined('_JEXEC') or die;

function regularlabs_php_9a5efdda92410b081624f1c1287d59f0($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;}}
defined('_JEXEC') or die;

// Récupérer les paramètres URL
$token = JFactory::getApplication()->input->getString('token', '');
$submissionId = JFactory::getApplication()->input->getInt('id', 0);

// Débogage : Afficher les paramètres reçus
JFactory::getApplication()->enqueueMessage('Token reçu : ' . $token, 'notice');
JFactory::getApplication()->enqueueMessage('ID de soumission reçu : ' . $submissionId, 'notice');

// Vérifier en base de données
$db = JFactory::getDbo();
$query = $db->getQuery(true)
    ->select('s.SubmissionId, x.FieldValue AS token, v.FieldValue AS inscription, s.DateSubmitted')
    ->from($db->qn('#__rsform_submissions', 's'))
    ->join('LEFT', $db->qn('#__rsform_submission_extras', 'x') . ' ON s.SubmissionId = x.SubmissionId')
    ->join('LEFT', $db->qn('#__rsform_submission_values', 'v') . ' ON s.SubmissionId = v.SubmissionId')
    ->where('s.SubmissionId = ' . (int)$submissionId)
    ->where('x.FieldName = ' . $db->q('token'))
    ->where('v.FieldName = ' . $db->q('inscription'));

// Débogage : Afficher la requête SQL
JFactory::getApplication()->enqueueMessage('Requête SQL : ' . (string)$query, 'notice');

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

// Débogage : Afficher le résultat de la requête
JFactory::getApplication()->enqueueMessage('Résultat de la requête : ' . print_r($result, true), 'notice');

// Vérifications
if ($result && hash_equals($result->token, $token)) {
    $abonnement_valide = in_array($result->inscription, ['25€/mois', '35€/mois', '45€/mois']);
    $date_expiration = strtotime($result->DateSubmitted) + (7 * 86400); // 7 jours
    
    if ($abonnement_valide && time() < $date_expiration) {
        // Afficher le formulaire RSForm en édition
        echo RSFormProHelper::displayForm(FORM_ID, true, false, 'submissionId='.$submissionId);
    } else {
        echo 'Lien expiré ou abonnement invalide';
    }
} else {
    echo 'Accès refusé';
};  ;;
return get_defined_vars();
;}