grublox/games.php

127 lines
4.7 KiB
PHP

<?php
require_once 'core/classes.php';
headStart();?>
<!DOCTYPE html>
<html data-bs-theme="dark">
<head>
<?php
require_once 'core/classes.php';
require_once 'core/classes/user.php';
if(isset($_SESSION['user'])) {
$user = new User($con, $_SESSION['user']);
$loggedIn = true;
} else {
$loggedIn = false;
}
$getitstarted = new PartyStarter;
$getitstarted->header();
if(isset($_GET['p'])) {
$page = $_GET['p'];
} else {
$page = 1;
}
$limit = 18;
$page -= 1;
$offset = $page * $limit;
$sql = "SELECT allStar FROM games ORDER BY RAND() LIMIT 1";
$q = $con->prepare(str_replace('allStar', 'name', $sql));
$q->execute();
$random_search_array = $q->fetch();
if($random_search_array || is_array($random_search_array)) {
$random_search = array_rand($random_search_array, 1);
}
?>
</head>
<title><?php echo $pagename; ?> | <?php echo $sitename; ?></title>
<body>
<main class="container d-flex flex-column mt-4 mb-2" style="height: 90vh;">
<div class="d-flex flex-row justify-content-between mb-3">
<h3 class="text-white">Games</h3>
<form role="search" class="w-75">
<div class="input-group shadow-sm mt-1">
<input class="form-control rounded-end-0" type="search" placeholder="<?php if(is_array($random_search_array)) { echo htmlspecialchars($random_search_array[$random_search]); } else { echo "Search a game..."; }; ?>" name="search" aria-label="Search">
<button id="search" type="submit" class="btn btn-primary rounded-start-0 text-white"><i class="bi bi-search"></i> Search</button>
</div>
</form>
<?php
if($loggedIn) {
echo '
<div class="dropdown mt-1">
<button class="btn btn-success dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">
<i class="bi bi-download"></i>
</button>
<ul class="dropdown-menu dropdown-menu-lg-end anim-dropdown-2 bg-dark">
<li><a class="dropdown-item" href="/download?client=2016&type=player">Client <small class="float-end">2016</small></a></li>
<li><a class="dropdown-item" href="/download?client=2016&type=studio">Studio <small class="float-end">2016</small></a></li>
</ul>
</div>';
}
?>
</div>
<div class="row row-cols-xs-2 row-cols-sm-3 row-cols-md-4 row-cols-lg-5 row-cols-xl-6 g-4">
<?php
$sql = "SELECT allStar FROM games";
$q = $con->prepare(str_replace('allStar', 'count(*)', $sql));
$q->execute();
$numberOfGames = $q->fetchColumn();
$q = $con->prepare(str_replace('allStar', '*', $sql));
$q->execute();
if ($numberOfGames >= 1) {
$rows = array_slice($q->fetchAll(), $offset, $limit);
foreach($rows as $game) {
$sql = "SELECT allStar FROM games WHERE id=:id";
$q = $con->prepare(str_replace('allStar', 'count(*)', $sql));
$q->bindParam(':id',$game["id"],PDO::PARAM_INT);
$q->execute();
$playingCount = 0;
?>
<div class="col">
<div class="card bg-dark border-start rounded shadow-sm" style="min-width: 140px; max-width: 220px; margin-right: 9px;">
<a href="place?id=<?php echo (int)htmlspecialchars($game["id"]); ?>" style="text-decoration: none; text-align: left; margin-bottom: 9px;">
<img src="<?php if (!empty($game["thumbnail"])) {echo htmlspecialchars($game["thumbnail"]);} else {echo "/assets/placeholder2.png";} ?>" class="card-img-top rounded-top" alt="<?php echo htmlspecialchars($game["name"]); ?>">
<div class="card-body">
<small class="card-title text-white" style="font-size: 1rem;"><?php echo htmlspecialchars($game["name"]); ?></small>
<br>
<small class="card-text text-muted"><?php echo (int)$playingCount; ?> playing</small> </div>
</a>
</div>
</div>
<?php
}
echo "</div>";
} else {
echo "</div> <br><br><h4 class='text-muted text-center'><i class='bi bi-egg-fried' style='font-size: 6rem;'></i><br> Looks like there are no games, sad.</h4>";} ?>
<?php
$numberOfPages = ceil($numberOfGames / $limit);
?>
<?php if(is_array($random_search_array)) { ?>
<div class="d-flex flex-row justify-content-center mb-3">
<ul class="pagination mt-3">
<li class="page-item"><a class="page-link" href="?p=<?php if($page > 0) { echo $page; } else { echo 1; } ?>">Previous</a></li>
<?php
for ($i=1; $i<=$numberOfPages; $i++) {
if($page == $i){
$class = 'active';
}else{
$class = '';
}
if ($page > -1) {
$i - 1;
echo "<li class='page-item'><a class='page-link' href='?p=$i'>$i</a></li>";
}
}
?>
<li class="page-item"><a class="page-link" href="?p=<?php if($page < $numberOfPages) { echo $page + 1; } else { echo $numberOfPages; } ?>">Next</a></li>
</ul>
</div>
<?php }
$getitstarted->footer();
?>
</main>
</body>
</html>