prepare('SELECT id, `name`, joined_at, departed_at FROM rooms WHERE `name` = ?'); $stmt->execute([$room]); $room = $stmt->fetch(PDO::FETCH_ASSOC) ?: null; if (!$room) { http_response_code(404); exit("No room found."); } $room['encoded'] = urlencode($room['name']); $stmt = $db->prepare('SELECT YEAR(sent_at) AS msg_year, MONTH(sent_at) AS msg_month, DAY(sent_at) AS msg_day, COUNT(*) AS msg_count FROM messages WHERE room_id = ? GROUP BY YEAR(sent_at), MONTH(sent_at), DAY(sent_at) ORDER BY YEAR(sent_at) DESC, MONTH(sent_at) DESC, DAY(sent_at) DESC '); $stmt->execute([$room['id']]); $raw_dates = $stmt->fetchAll(PDO::FETCH_ASSOC); $dates = []; foreach ($raw_dates as $rm) { $y = $rm['msg_year']; $m = $rm['msg_month']; $d = $rm['msg_day']; $c = $rm['msg_count']; if (!array_key_exists($y, $dates)) { $dates[$y] = []; } if (!array_key_exists($m, $dates[$y])) { $dates[$y][$m] = []; } if (!array_key_exists($d, $dates[$y][$m])) { $dates[$y][$m] = []; } $dates[$y][$m][$d] = $c; } } else { $stmt = $db->query('SELECT name FROM rooms ORDER BY joined_at, departed_at DESC'); $stmt->execute(); $rooms = $stmt->fetchAll(PDO::FETCH_ASSOC); } ?>
| Mo | Tu | We | Th | Fr | Sa | Su |
|---|---|---|---|---|---|---|
| '; if (array_key_exists($day, $days) && $days[$day] > 0) { echo "$day"; } else { echo $day; } echo ' | '; if ((($day + $sw - 1) % 7) == 0 && $day != $dm) echo '||||||
| '; ?> |
There are no rooms. Add one!
| Room | Last message |
|---|---|
| = $r['name'] ?> | = '1 minute ago' ?> |