<?php
  if (!isset($_SESSION)) {
    session_start();
  }
  include('config.php');
  include('secrets.php');
  include('functions.php');
?>

<!DOCTYPE html>
<html lang="en" data-theme="light">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <!-- Stylesheets, fonts, and favicon-->
    <link rel="stylesheet" href="/style.css">
    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=IBM+Plex+Mono">
    <link rel="icon" type="image/x-icon" href="/favicon.ico">

    <!-- Page preview -->
    <meta property="og:type" content="website">
    <meta property="og:url" content="https://www.nixfox.ca">
    <meta property="og:image" content="/nixfoxlogo.png">
    <meta property="og:title" content="NixFox Guestbook PHP">
    <meta property="og:description" content="The evil PHP backend to the fun little guestbook">

    <!-- Prevent page flashing -->
    <script src="/js/nofade.js"></script>

    <title><?= htmlspecialchars($title) ?></title>
  </head>

  <script src="/js/darkmode.js"> </script>
  <script>
  window.addEventListener("message", (event) => {
    if (event.data === "set-dark" || event.data === "set-light") {
      document.documentElement.setAttribute("data-theme", event.data.replace("set-", ""));
    }
  });
  </script>
  
  <body id="guestbook" class="preload">
    <div class="container">
      <form action="/guestbook/message.php" method="post">
	<p>Name:<br>
	  <input type="text" name="name" class="inputfields" maxlength="60" placeholder="Your Name">
        </p>
        <p>Message:<br>
	  <textarea name="message" rows="3" maxlength="600" class="inputfields" placeholder="Your Message
Offensive / bigoted comments will be removed."></textarea>
        </p>
  
        <input class="sendbutton" type="submit" value="Send" title="Send your message!">
        <input type="hidden" name="action" value="sendmessage">
      </form>
  
      <p id="sessionmsg">
        <?php
          if (isset($_SESSION['msg'])) {
            echo htmlspecialchars($_SESSION['msg']);
            unset($_SESSION['msg']);
          }
        ?>
      </p>
  
      <?php
        // Get the current page number
        $page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
        $start = ($page - 1) * $per_page;
  
        // Get the total number of messages
        $showMessage = "SELECT * FROM `$dbname`.`$tablename` ORDER BY id DESC";
        $execMessage = mysqli_query($dbconnect, $showMessage);
        $total = mysqli_num_rows($execMessage);
  
        // Calculate the total number of pages
        $num_pages = ceil($total / $per_page);
  
        // Select messages for current page
        $showPageMessage = "SELECT * FROM `$dbname`.`$tablename` ORDER BY id DESC LIMIT $start, $per_page";
        $execPage = mysqli_query($dbconnect, $showPageMessage);
  
        while ($result = mysqli_fetch_assoc($execPage)):
      ?>
  
      <div class="outputarea">
        <div class="user">
          <p><?= htmlspecialchars($result['name']) ?><span class="subtitle"> - <?= htmlspecialchars(date("F j Y, \a\\t h:ia", strtotime($result['date']))) ?></span></p>
        </div>
        <p><?= nl2br(htmlspecialchars($result['message'])) ?></p>
      </div>
  
      <?php endwhile; ?>
  
      <div class="pagination">
        <?php
          if ($page > 1) {
            echo '<a href="?page='.($page - 1).'">« prev</a> ';
          }
  
          echo 'Page '.$page.' of '.$num_pages.' ('.$total.' messages)';
          echo '<span> </span>';
  
          if ($page < $num_pages) {
            echo '<a href="?page='.($page + 1).'">next »</a>';
          }
        ?>
      </div>
  
      <p class="credits">Based on <a href="https://codeberg.org/whoisyoges/simple-guestbook" target="_blank">whoisYoges' simple guestbook</a>.</p>
    </div>
  </body>
</html>

<?php
// Close the connection
mysqli_close($dbconnect);
?>
