<?php date_default_timezone_set('Europe/Oslo'); setlocale(\LC_ALL, 'nb_NO'); require __DIR__ . '/../../../inc/navbar.php'; require __DIR__ . '/../../../src/_autoload.php'; require __DIR__ . '/../../../config.php'; $pdo = new PDO($DB_DSN, $DB_USER, $DB_PASS); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $userManager = new pvv\admin\UserManager($pdo); require_once __DIR__ . '/../../../vendor/simplesamlphp/simplesamlphp/lib/_autoload.php'; $as = new SimpleSAML\Auth\Simple('default-sp'); $as->requireAuth(); $attrs = $as->getAttributes(); $uname = $attrs['uid'][0]; if (!$userManager->hasGroup($uname, 'aktiviteter')) { echo 'Her har du ikke lov\'t\'å\'værra!!!'; exit; } $customActivity = new pvv\side\DBActivity($pdo); $events = $customActivity->getAllEvents(); $page = 1; if (isset($_GET['page'])) { $page = $_GET['page']; } $filterTitle = ''; if (isset($_GET['title'])) { $filterTitle = $_GET['title']; } $filterOrganiser = ''; if (isset($_GET['organiser'])) { $filterOrganiser = $_GET['organiser']; } // filter $events = array_values(array_filter( $events, static fn($event) => (preg_match('/.*' . $filterTitle . '.*/i', $event->getName()) && preg_match('/.*' . $filterOrganiser . '.*/i', $event->getOrganiser())) )); ?> <!DOCTYPE html> <html lang="no"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes"> <link rel="shortcut icon" href="favicon.ico"> <link rel="stylesheet" href="../../css/normalize.css"> <link rel="stylesheet" href="../../css/style.css"> <link rel="stylesheet" href="../../css/nav.css"> <link rel="stylesheet" href="../../css/events.css"> <link rel="stylesheet" href="../../css/admin.css"> <meta name="theme-color" content="#024" /> <title>Aktivitetsadministrasjonsverkstedet</title> <header>Aktivitets­administrasjons­verk­stedet</header> <body> <nav> <?php echo navbar(2, 'admin'); ?> <?php echo loginbar(null, $pdo); ?> </nav> <main> <h2>Aktivitetsadministrasjon</h2> <hr class="ruler"> <div class="gridsplit"> <div class="gridl"> <h2 class="no-chin">Aktive aktiviteter</h2> <p class="subnote">Gjentagende aktiviteter vises ikke</p> <ul class="event-list"> <?php $counter = 0; $pageLimit = 10; for ($i = ($pageLimit * ($page - 1)); $i < count($events); ++$i) { if ($counter == $pageLimit) { break; } $event = $events[$i]; $eventID = $event->getID(); ?> <li> <div class="event admin"> <div class="event-info"> <h3 class="no-chin"><?php echo $event->getName() . ' (ID: ' . $eventID . ')'; ?></h3> <p class="subnote"> <?php echo $event->getStart()->format('(Y-m-d H:i:s)') . ' - ' . $event->getStop()->format('(Y-m-d H:i:s)'); ?> </p> <?php $Parsedown = new Parsedown(); echo $Parsedown->text(implode("\n", $event->getDescription())); ?> </div> <div class="event-actions"> <a class="btn" href="edit.php?id=<?php echo $eventID; ?>">Rediger</a><br> <a class="btn" href="delete.php?id=<?php echo $eventID; ?>" onclick="return confirm('Knallsikker? (ID: <?php echo $eventID; ?>)');">Slett</a> </div> </div> </li> <?php ++$counter; } ?> </ul> <?php if ($page != 1) { echo '<a class="btn float-left" href="?page=' . ($page - 1) . '&title=' . urlencode($filterTitle) . '&organiser=' . urlencode($filterOrganiser) . '">Forrige side</a>'; } if (($counter == $pageLimit) && (($pageLimit * $page) < count($events))) { echo '<a class="btn float-right" href="?page=' . ($page + 1) . '&title=' . urlencode($filterTitle) . '&organiser=' . urlencode($filterOrganiser) . '">Neste side</a>'; } ?> </div> <div class="gridr"> <h2>Verktøy</h2> <a class="btn adminbtn" href="edit.php?new=1">Legg inn ny aktivitet</a> <h2>Filter</h2> <form action="." method="get"> <p class="no-chin">Navn</p> <?php echo '<input type="text" name="title" class="boxinput" value="' . $filterTitle . '">'; ?><br> <p class="no-chin">Organisator</p> <?php echo '<input type="text" name="organiser" class="boxinput" value="' . $filterOrganiser . '">'; ?><br> <div style="margin-top: 2em;"> <input type="submit" class="btn" value="Filtrer"></input> </div> </form> </div> </div> </main> </body>