ÿØÿà JFIF ÿÛ „ ( %"1"%)+...383,7(-.-
![]() Server : LiteSpeed System : Linux v2202501248978307069 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 User : voirf6718 ( 1002) PHP Version : 7.3.33-1+focal Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, Directory : /home/voirfilmshd-gratuit.site/public_html/public_html/subscription/ |
<?php session_start(); require_once __DIR__ . '/init.php'; $goToPayment = false; //Défini si le formulaire Maxicash devrait être affiché sur la page //je sauve l'ID utilisateur dans la session et je le cache afin qu'il ne soit pas modifié par l'utilisateur if (isset($_GET['user_id'])) { $_SESSION['user_id'] = $_GET['user_id']; header('Location: index.php'); } $req = $db->query('SELECT * FROM pack_table'); $packs = $req->fetchAll(PDO::FETCH_ASSOC); $req->closeCursor(); $req = $db->prepare('SELECT * FROM fos_user_table where id = ?'); $req->execute(array($_SESSION['user_id'])); $user = $req->fetch(); $user_id = $_SESSION['user_id'] ?? 0; $req = $db->query('SELECT * FROM subscription_table WHERE user_id = ' . $user_id . " ORDER BY created DESC LIMIT 3"); $subscriptions = $req->fetchAll(); $req = $db->query('SELECT * FROM subscription_table WHERE user_id = ' . $user_id . ' AND expired IS NOT NULL AND expired > NOW() AND status = "paid"'); $active_subscriptions = $req->fetchAll(); //Le traitement lors du choix du pack se fait à partir d'ici if (!empty($_POST['pack'])) { $pack = current(array_filter($packs, function ($item) { return $item['id'] == $_POST['pack']; })); if (empty($pack)) { die('Pack invalide. Veuillez réessayer plus tard'); } $email = filter_var($user['email'], FILTER_VALIDATE_EMAIL) ? $user['email'] : null; $sql = sprintf( 'INSERT INTO subscription_table SET user_id = %d, created = NOW(), duration = %d, method = "maxicash", pack= %d, status = "pedding", currency = "USD", price = %d, email = "' . $email . '"', $user['id'], $pack['duration'], $pack['id'], $pack['price'] ); if ($db->exec( $sql )) { $req = $db->query("SELECT MAX(id) FROM subscription_table LIMIT 1"); $subscription = $req->fetch(); $goToPayment = true; unset($_SESSION['user_id']); //je déconnecte l'utilisateur } } ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Tarif</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"> <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"> <link rel="stylesheet" href="web/style.css"> </head> <body> <section> <div class="container-fluid"> <div class="container"> <div class="row"> <?php if (!empty($user)) : ?> <p class="text-center">Bonjour <?= $user['name'] ?></p> <hr> <?php if (!empty($subscriptions)) : ?> <div style="width: 490px; margin: auto"> <?php if (!empty($active = current($active_subscriptions))) : ?> Abonnement actif : <?= $active['price'] . '$' ?> <strong>validité</strong> : <?= date('d-m-Y', strtotime($active['expired'])) ?> <?php else : ?> <div class="alert alert-warning">Pas d'abonnement actif</div> <?php endif ?> <h4>Dernières transactions</h4> <ul class="list-group"> <?php foreach ($subscriptions as $subscription) : ?> <li class="list-group-item"> <span class="text-muted"><?= date('d-m-Y', strtotime($subscription['created'])) ?> </span> <?= $subscription['price'] ?>$ <span class="badge" <?= $subscription['status'] == "paid" ? 'style="background: green"' : "" ?>><?= $subscription['status'] ?></span> </li> <?php endforeach ?> </ul> </div> <hr> <?php endif ?> </div> <?php else : ?> <p>Veuillez cliquer sur le bouton "Payer" depuis l'application</p> <?php endif ?> </div> </div> </section> <?php if ($goToPayment) : ?> <form id="go" action="https://api-testbed.maxicashapp.com/PayEntryPost" method="POST"> <input type="hidden" name="PayType" value="MaxiCash"> <input type="hidden" name="Amount" value="<?= $pack['price'] * 100 ?>"> <input type="hidden" name="Currency" value="MaxiDollar"> <input type="hidden" name="Telephone" value=""> <input type="hidden" name="Email" value="<?= $pack['email'] ?>"> <input type="hidden" name="MerchantID" value="<?= MERCHANT_ID ?>"> <input type="hidden" name="MerchantPassword" value="<?= MERCHANT_PASSWORD ?>"> <input type="hidden" name="Language" value="Fr"> <input type="hidden" name="Reference" value="<?= $subscription[0] ?>"> <input type="hidden" name="accepturl" value="<?= SUCCESS_URL ?>"> <input type="hidden" name="cancelurl" value="<?= CANCEL_URL ?>"> <input type="hidden" name="declineurl" value="<?= FAILURE_URL ?>"> <input type="hidden" name="notifyurl" value="<?= NOTIFY_URL ?>"> </form> <script> document.addEventListener('DOMContentLoaded', function(e) { document.getElementById('go').submit(); }); </script> <?php endif ?> <script> for (let item of document.querySelectorAll('img.submit')) { item.addEventListener('click', e => { alert('go') }) } </script> </body> </html>