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

function regularlabs_php_37fa377e46f6c97a672f54c3b72040e8($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;

$db = JFactory::getDbo();

// Récupérer les soumissions avec leur token et email
$query = $db->getQuery(true)
    ->select(['s.SubmissionId', 'v1.FieldValue AS email', 'v2.FieldValue AS token'])
    ->from('#__rsform_submissions AS s')
    ->join('INNER', '#__rsform_submission_values AS v1 ON s.SubmissionId = v1.SubmissionId')
    ->join('LEFT', '#__rsform_submission_values AS v2 ON s.SubmissionId = v2.SubmissionId AND v2.FieldName = "token"')
    ->where('v1.FieldName = "email"')
    ->where('s.FormId = 8'); // Formulaire ID 8

$db->setQuery($query);
$users = $db->loadObjectList();

if (!empty($users)) {
    echo "Liens sécurisés des soumissions";
    foreach ($users as $user) {
        // Si le token est vide, en générer un et le sauvegarder
        if (empty($user->token)) {
            $user->token = bin2hex(random_bytes(16)); // Génère un token sécurisé

            // Mettre à jour la base de données avec le nouveau token
            $query = $db->getQuery(true)
                ->insert($db->quoteName('#__rsform_submission_values'))
                ->columns([$db->quoteName('SubmissionId'), $db->quoteName('FormId'), $db->quoteName('FieldName'), $db->quoteName('FieldValue')])
                ->values(implode(',', [$db->quote($user->SubmissionId), 8, $db->quote('token'), $db->quote($user->token)]))
                ->onDuplicateKeyUpdate(['FieldValue = VALUES(FieldValue)']);

            $db->setQuery($query);
            $db->execute();
        }

        // Générer le lien sécurisé
        $url = 'https://lebiolela.re/formulaire?id=8&sid=' . $user->SubmissionId . '&token=' . $user->token;
        echo 'Email: ' . htmlspecialchars($user->email) . ' - ' . $url . '';
    }
    echo "";
} else {
    echo " 
Aucune soumission trouvée. 
";
};  ;;
return get_defined_vars();
;}