TechGeek

helpers.php

Sep 16th, 2020 (edited)
763
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2. if (! function_exists('check_auth')) {
  3.     function check_auth(): bool
  4.     {
  5.         if (! isset($_SESSION['user_id'])) {
  6.             return false;
  7.         }
  8.  
  9.         if (! file_exists('current_user.txt') || filesize('current_user.txt') === 0) {
  10.             return true;
  11.         }
  12.  
  13.         $trace = json_decode(file_get_contents('current_user.txt'));
  14.  
  15.         // You can write your own logic here.
  16.         return (int) $trace->user_id === $_SESSION['user_id'] && (new DateTime($trace->created_at))->modify('+12 hours') > new Datetime('now');
  17.     }
  18. }
  19.  
  20. if (! function_exists('logout'))
  21. {
  22.     function logout()
  23.     {
  24.         if (isset($_SESSION['user_id'])) {
  25.             $trace = json_decode(file_get_contents('current_user.txt'));
  26.  
  27.             if ((int) $trace->user_id === $_SESSION['user_id']) {
  28.                 file_put_contents('current_user.txt', '');
  29.             }
  30.  
  31.             unset($_SESSION['user_id']);
  32.         }
  33.     }
  34. }
  35.  
  36. if (! function_exists('redirect')) {
  37.     function redirect(string $url, int $status_code = 303): void
  38.     {
  39.         header('Location: ' . $url, true, $status_code);
  40.         die();
  41.     }
  42. }
  43. ?>
RAW Paste Data