179 lines
9.0 KiB
PHP
Executable File
179 lines
9.0 KiB
PHP
Executable File
<!DOCTYPE html>
|
||
<?php
|
||
|
||
require 'lib/main.php';
|
||
require 'lib/vendor/autoload.php';
|
||
use Michelf\Markdown;
|
||
|
||
?>
|
||
<html lang="en">
|
||
|
||
<head>
|
||
<meta charset="UTF-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||
<title>Homelab Brisbane</title>
|
||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"
|
||
crossorigin="anonymous" />
|
||
<link href="index.css?v=<?=time()?>" rel="stylesheet" />
|
||
<style>
|
||
.card img {
|
||
max-height: 120px;
|
||
height: auto;
|
||
width: auto;
|
||
}
|
||
</style>
|
||
</head>
|
||
|
||
<body>
|
||
<div class="container">
|
||
<div class="p-5 mt-4 mb-4 bg-body-secondary rounded-3">
|
||
<div class="container-fluid py-4">
|
||
<div class="logo">
|
||
<img src="image/logo.png" />
|
||
</div>
|
||
<div class="banner">
|
||
<h1 class="display-5 fw-bold">Homelab Brisbane</h1>
|
||
<p class="col-md-12 fs-4">We’re a group of tech enthusiasts who enjoy exploring the latest trends in technology using our own hardware, in our own time. We founded Homelab Brisbane to connect with others who share this passion — to ask and answer questions, share insights, and make discoveries together.</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="row">
|
||
<div class="col d-flex">
|
||
<div class="card h-100">
|
||
<div class="card-body">
|
||
<img src="image/icon/webcam.png" class="card-img-top" alt="...">
|
||
<h5 class="card-title">Meet Online</h5>
|
||
We meet online with our <a href="https://meet.homelabbrisbane.com.au/hlb" target="jitsi">Jitsi</a> server every month. With these online meetings we can meet face to face, and even include people outside of Brisbane. They are announced on <a href="https://www.meetup.com/brisbane-homelabs/" target="meetup">meetup.com</a> and the <a href="#calendar">calendar below</a>.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="col d-flex">
|
||
<div class="card h-100">
|
||
<div class="card-body">
|
||
<img src="image/icon/handshake.png" class="card-img-top" alt="...">
|
||
<h5 class="card-title">Meet In Person</h5>
|
||
Once a month we also meet in person in a library meeting room in Brisbane. We try to move these around to make them convenient to a broader range of people. These gatherings are also announced on <a href="https://www.meetup.com/brisbane-homelabs/" target="meetup">meetup.com</a> and on the <a href="#calendar">calendar below</a>.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="col d-flex">
|
||
<div class="card h-100">
|
||
<div class="card-body">
|
||
<img src="image/icon/chat.png" class="card-img-top" alt="...">
|
||
<h5 class="card-title">Online Forum</h5>
|
||
When we're not meeting in person or online, we're discussing our various interests and projects on our <a href="https://discourse.homelabbrisbane.com.au/" target="discourse">Discourse</a> server.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="col d-flex">
|
||
<div class="card h-100">
|
||
<div class="card-body">
|
||
<img src="image/icon/email.png" class="card-img-top" alt="...">
|
||
<h5 class="card-title">Contact Us</h5>
|
||
If you have any other inquiries you can always email us at <a href="mailto:listmaster@homelabbrisbane.com.au">listmaster@homelabbrisbane.com.au</a>.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<hr />
|
||
<div class="row mt-4 calBanner">
|
||
<div class="col" style="max-width: 250px;">
|
||
<img src="image/icon/calendar.png" style="max-height: 200px; padding-left: 20px;" />
|
||
</div>
|
||
<div class="col">
|
||
<p>We publish our past and upcoming events on the following url. You can subscribe to them in the calendar of your choice.</p>
|
||
<div class="input-group input-group-lg mb-3">
|
||
<input type="text" class="form-control" disabled value="https://homelabbrisbane.com.au/cal.php">
|
||
<button class="btn btn-outline-secondary" type="button" action="copy" value="https://homelabbrisbane.com.au/cal.php">Copy</button>
|
||
</div>
|
||
<p>Subscribing to this calendar is typically an exercise in copying that address and pasting it into a "subscribe to url" dialog in your calendar platform of choice. For instructions on how to do this in Google Calendar, click <a href="https://support.google.com/calendar/answer/37100?hl=en&co=GENIE.Platform%3DDesktop" target="googleCalendarInstructions">here</a>, and for Microsoft Outlook 365, click <a href="https://support.microsoft.com/en-us/office/import-or-subscribe-to-a-calendar-in-outlook-com-or-outlook-on-the-web-cff1429c-5af6-41ec-a5b4-74f2c278e98c" target="microsoftCalendarInstructions">here</a>.</p>
|
||
</p>
|
||
</div>
|
||
</div>
|
||
<div class="row mt-2 calDetails">
|
||
<div class="col">
|
||
<?php
|
||
$events = getEvents();
|
||
?>
|
||
<div class="accordion" id="accordionExample">
|
||
<?php
|
||
$nextCtl = null;
|
||
foreach ( $events as $event ) {
|
||
if ( ( new DateTime($event["start"]) ) > ( new DateTime() ) ) {
|
||
$nextCtl = $event["ctl"];
|
||
}
|
||
?>
|
||
<div class="accordion-item">
|
||
<h2 class="accordion-header">
|
||
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#ctl<?= $event["ctl"] ?>" aria-expanded="false" aria-controls="ctl<?= $event["ctl"] ?>" style="display: block;">
|
||
<?= ( new DateTime($event["start"]) ) -> format("j M Y") ?>
|
||
<span style="float: right;"><?= $event["title"] ?></span>
|
||
</button>
|
||
</h2>
|
||
<div id="ctl<?= $event["ctl"] ?>" class="accordion-collapse collapse" data-bs-parent="#accordionExample">
|
||
<div class="accordion-body">
|
||
<div class="row">
|
||
<div class="col">
|
||
<div class="card-body">
|
||
<h3 class="card-title"><?= $event["title"] ?></h3>
|
||
<div class="input-group mt-3 mb-3">
|
||
<span class="input-group-text" id="basic-addon1">Start Time</span>
|
||
<input type="text" class="form-control" disabled value="<?= ( new DateTime($event["start"]) ) -> format("g:i a") ?>">
|
||
</div>
|
||
<div class="input-group mt-3 mb-3">
|
||
<span class="input-group-text" id="basic-addon1">Location</span>
|
||
<input type="text" class="form-control" disabled value="<?= $event["location"] ?>">
|
||
<?php
|
||
if ( $event["location"] == "Jitsi" ) {
|
||
?>
|
||
<button class="btn btn-outline-secondary" type="button" action="jitsi">
|
||
<img style="margin-top: -8px; max-height: 26px;" src="image/icon/jitsi.svg" />
|
||
</button>
|
||
<?php
|
||
} elseif ( in_array( "coordinates", array_keys($event) ) ) {
|
||
?>
|
||
<button class="btn btn-outline-secondary" type="button" action="map" coordinates="<?= $event["coordinates"] ?>">📍</button>
|
||
<?php
|
||
}
|
||
?>
|
||
</div>
|
||
<?php if ( in_array( "description", array_keys($event) ) ) { ?>
|
||
<h5 class="card-title mb-2">Description</h5>
|
||
<p><?= $event["description"] ?></p>
|
||
<?php } ?>
|
||
</div>
|
||
</div>
|
||
<div class="col">
|
||
<?php
|
||
if ( in_array( "minutes", array_keys($event) ) ) {
|
||
?>
|
||
<h5 class="card-title mb-2">Minutes</h5>
|
||
<p style="white-space: pre;"><?= Markdown::defaultTransform($event["minutes"]) ?></p>
|
||
<?php
|
||
} elseif ( in_array( "agenda", array_keys($event) ) ) {
|
||
?>
|
||
<h5 class="card-title mb-2">Agenda</h5>
|
||
<p style="white-space: pre;"><?= Markdown::defaultTransform($event["agenda"]) ?></p>
|
||
<?php
|
||
}
|
||
?>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<?php
|
||
}
|
||
?>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div id="vars" style="display: none;" nextCtl="<?= $nextCtl ?>"></div>
|
||
<script src="https://code.jquery.com/jquery-3.7.1.min.js" crossorigin="anonymous"></script>
|
||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" crossorigin="anonymous"></script>
|
||
<script src="index.js?v=<?=time()?>"></script>
|
||
</body>
|
||
|
||
</html>
|