-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.php
127 lines (114 loc) · 5.62 KB
/
index.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<?php
session_start();
include_once("storage.php");
$userStorage = new Storage(new JsonIO("users.json"));
$dateStorage = new Storage(new JsonIO("dates.json"));
$months = [1 => "Január", 2 => "Február", 3 => "Március", 4 => "Április", 5 => "Május", 6 => "Június",
7 => "Július", 8 => "Augusztus", 9 => "Szeptember", 10 => "Október", 11 => "November", 12 => "December"];
if (!isset($currentMonth)) {
$currentMonth = 1;
}
if (isset($_GET["currentMonth"])) {
$currentMonth = intval($_GET["currentMonth"]);
if ($currentMonth <= 0) {
$_SESSION["currentMonth"] = 1;
} else if ($currentMonth >= 13) {
$_SESSION["currentMonth"] = 12;
} else {
$_SESSION["currentMonth"] = $currentMonth;
}
}
$getDatesByMonth = function($date) use($currentMonth) {
return intval(explode("-", $date["date"])[1]) == $currentMonth;
};
$compareDates = function($a, $b) {
$aDay = intval(explode("-", $a["date"])[2]);
$bDay = intval(explode("-", $b["date"])[2]);
if ($aDay == $bDay) {
$aTime = explode(":", $a["time"]);
$bTime = explode(":", $b["time"]);
$aHour = intval($aTime[0]);
$bHour = intval($bTime[0]);
if ($aHour == $bHour) {
$aMin = intval($aTime[1]);
$bMin = intval($bTime[1]);
return ($aMin < $bMin) ? -1 : 1;
}
return ($aHour < $bHour) ? -1 : 1;
}
return ($aDay < $bDay) ? -1 : 1;
};
$dates = $dateStorage -> findMany($getDatesByMonth);
usort($dates, $compareDates);
?>
<!DOCTYPE html>
<html lang="hu">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css\style.css">
<title>NemKoViD - Mondj nemet a koronavírusra!</title>
</head>
<body>
<h1>Védőoltás koronavírus ellen!</h1>
<p>A Nemzeti Koronavírus Depó (NemKoViD - Mondj nemet a koronavírusra!) központi épületében különböző időpontokban oltásokat szervez.<br>
Védőoltásra való jelentkezését ezen az oldalon adhatja le. Fontos tudniuk:<br>
a koronavírus ellen védőoltással csak akkor tudunk hatékonyan védekezni, ha az emberek legalább 60%-a beoltatta magát.</p>
<?php if(!isset($_SESSION["loggedAccount"])): ?>
<a class="button" href="login.php">Bejelentkezés</a>
<a class="button" href="signup.php">Regisztráció</a>
<?php else: ?>
<span class="loggedIn">Bejelentkezve: <span><?= $_SESSION["loggedAccount"]["fullName"] ?></span> <?= " (".$_SESSION["loggedAccount"]["emailAddress"].")" ?></span><br>
<div>
<?php if(!isset(($userStorage -> findById($_SESSION["loggedAccount"]["id"]))["isAdmin"])): ?>
<?php if($_SESSION["loggedAccount"]["claimedDateId"] != ""): ?>
<h1>Az ön időpontja: <?= ($dateStorage -> findById($_SESSION["loggedAccount"]["claimedDateId"]))["date"]." ".($dateStorage -> findById($_SESSION["loggedAccount"]["claimedDateId"]))["time"] ?></h1>
<?php else: ?>
<h2>Még nincs foglalt időpontja.</h2>
<?php endif; ?>
<?php endif; ?>
</div>
<?php if (isset($_SESSION["successfulDateSubmit"])): ?>
<?php unset($_SESSION["successfulDateSubmit"]); ?>
<span id="successfulDateSubmit">Időpont sikeresen hozzáadva!</span><br>
<?php endif; ?>
<?php if($_SESSION["loggedAccount"]["claimedDateId"] != ""): ?>
<a class="button" href="checkout.php">Lemondás</a>
<?php endif; ?>
<a class="button" href="logout.php">Kijelentkezés</a>
<?php endif; ?>
<h2>Védőoltások időpontjai 2021-ben (<?= $months[$currentMonth] ?>)</h2>
<?php if(count($_SESSION) > 0 && isset($_SESSION["loggedAccount"]) && isset(($userStorage -> findById($_SESSION["loggedAccount"]["id"]))["isAdmin"]) &&
($userStorage -> findById($_SESSION["loggedAccount"]["id"]))["isAdmin"]): ?>
<a href="addnewdate.php">Új időpont meghirdetése</a>
<?php endif; ?>
<table id="dates">
<tr>
<th>Nap</th>
<th>Időpont</th>
<th>Szabad hely / Összes hely</th>
<?php if(isset($_SESSION["loggedAccount"]["claimedDateId"]) && $_SESSION["loggedAccount"]["claimedDateId"] == ""): ?>
<th>Link</th>
<?php endif; ?>
</tr>
<?php foreach($dates as $date): ?>
<tr class="<?= $date["claimed"] == $date["capacity"] ? "full" : "available" ?>">
<td><?= $date["date"] ?></td>
<td><?= $date["time"] ?></td>
<td><?= $date["claimed"]."/".$date["capacity"] ?></td>
<?php if(!isset($_SESSION["loggedAccount"]) || isset($_SESSION["loggedAccount"]["claimedDateId"]) && $_SESSION["loggedAccount"]["claimedDateId"] == "" && !isset($_SESSION["loggedAccount"]["isAdmin"])): ?>
<td><a href="checkin.php?id=<?= $date["id"] ?>">Jelentkezés</a></td>
<?php elseif(isset($_SESSION["loggedAccount"]["isAdmin"])): ?>
<td><a href="checkin.php?id=<?= $date["id"] ?>">Részletek</a></td>
<?php endif; ?>
</tr>
<?php endforeach; ?>
</table>
<?php if($currentMonth - 1 != 0): ?>
<a href="index.php?currentMonth=<?= $currentMonth - 1 ?>">Előző hónap</a>
<?php endif; ?>
<?php if($currentMonth + 1 != 13): ?>
<a href="index.php?currentMonth=<?= $currentMonth + 1 ?>">Következő hónap</a>
<?php endif; ?>
</body>
</html>