The following files exists in this folder. Click to view.
index.php111 lines UTF-8 Unix (LF) 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
<?php
session_start();
// Startar sessionen för att kunna använda $_SESSION
if (!isset($_SESSION["userID"]))
header("location: login.php");
// Om användaren inte är inloggad, omdirigera till login-sidan
require_once "functions/database.php";
// Inkluderar databashanteringsfilen
?>
<!DOCTYPE html>
<html lang="en" data-bs-theme="dark">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>HogeNView</title>
<!-- Bootstrap CSS från CDN -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-sRIl4kxILFvY47J16cr9ZwB07vP4J8+LH7qKQnuqkuIAvNWLzeN8tE5YBujZqJLB" crossorigin="anonymous">
<!-- Bootstrap JS-bundle från CDN -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/js/bootstrap.bundle.min.js"
integrity="sha384-FKyoEForCGlyvwx9Hj09JcYn3nv7wiPVlz7YYwJrWVcXK/BmnVDxM+D2scQbITxI"
crossorigin="anonymous"></script>
<style>
.link-unchanged {
text-decoration: unset;
color: unset;
}
/* Klass för att behålla länkutseende oförändrat */
</style>
</head>
<body>
<?php include "page/navbar.php" ?>
<!-- Inkluderar navigationsfältet -->
<div class="container">
<br>
<?php
$userData = $db->query(
"SELECT * FROM accountData WHERE userID=:userID",
array("userID" => $_SESSION["userID"])
);
echo "<h1>Filmkategorier för ";
echo htmlspecialchars($userData["username"], ENT_QUOTES, "UTF-8");
echo "</h1>";
?>
<br>
<?php
if ($userData["isAdmin"])
$data = $db->queryAll(
"SELECT c.* FROM category c"
);
else
$data = $db->queryAll(
"SELECT c.* FROM allowedIDs a INNER JOIN category c ON a.categoryID = c.categoryID WHERE a.userID=:userID AND hasAccess",
array("userID" => $_SESSION["userID"])
);
// Hämtar alla kategorier som användaren har tillgång till
if (!$data) {
echo '<h5 class="text-center" style="color: rgb(100,100,100)";>Du har inga tillgängliga filmer.</h5>';
// Om inga kategorier finns, visa meddelande
}
$cardRowSize = 2;
// Antal kolumner per rad i kort-layouten
function print_cell($data)
{
// Funktion för att skriva ut ett kort med kategori
if (isset($data)) {
$name = htmlspecialchars($data["name"]);
$description = htmlspecialchars($data["description"]);
echo <<<EOD
<div class="col">
<a href="category.php?id={$data['categoryID']}" class="link-unchanged">
<div class="card">
<div class="card-body">
<h5 class="card-title">{$name}</h5>
<p class="card-text">{$description}</p>
</div>
</div>
</a>
</div>
EOD;
} else
echo '<div class="col"></div>';
// Tom kolumn om ingen data finns
}
for ($row = 0; $row < ceil(sizeof($data) / $cardRowSize); $row++) {
echo '<div class="row">';
for ($col = 0; $col < $cardRowSize; $col++) {
if (isset($data[$row * $cardRowSize + $col]))
print_cell($data[$row * $cardRowSize + $col]);
else
print_cell(null);
// Loopar igenom data och skriver ut rader/kolumner med kort
}
echo '</div><br>';
}
?>
</div>
</body>
</html>