nettsiden/www/admin/aktiviteter/index.php

149 lines
4.4 KiB
PHP
Raw Permalink Normal View History

2017-10-07 23:12:10 +02:00
<?php
date_default_timezone_set('Europe/Oslo');
2018-02-10 18:08:53 +01:00
setlocale(LC_ALL, 'nb_NO');
require __DIR__ . '/../../../inc/navbar.php';
2017-10-07 23:12:10 +02:00
require __DIR__ . '/../../../src/_autoload.php';
2024-02-15 22:57:03 +01:00
require __DIR__ . '/../../../config.php';
2024-03-12 19:33:09 +01:00
$pdo = new \PDO($DB_DSN, $DB_USER, $DB_PASS);
2017-10-07 23:12:10 +02:00
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$userManager = new \pvv\admin\UserManager($pdo);
require_once(__DIR__ . '/../../../vendor/simplesamlphp/simplesamlphp/lib/_autoload.php');
2024-04-08 22:11:43 +02:00
$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();
}
2017-10-07 23:12:10 +02:00
$customActivity = new \pvv\side\DBActivity($pdo);
2017-10-28 16:11:36 +02:00
$events = $customActivity->getAllEvents();
2017-10-12 00:38:28 +02:00
$page = 1;
if(isset($_GET['page'])){
$page = $_GET['page'];
}
2017-10-28 16:11:36 +02:00
$filterTitle = '';
if(isset($_GET['title'])){
$filterTitle = $_GET['title'];
2017-10-28 16:11:36 +02:00
}
$filterOrganiser = '';
if(isset($_GET['organiser'])){
$filterOrganiser = $_GET['organiser'];
2017-10-28 16:11:36 +02:00
}
// filter
$events = array_values(array_filter(
$events,
function($event) use ($filterTitle, $filterOrganiser){
return (preg_match('/.*'.$filterTitle.'.*/i', $event->getName()) and preg_match('/.*'.$filterOrganiser.'.*/i', $event->getOrganiser()));
}
));
2017-10-07 23:12:10 +02:00
?>
2018-08-10 00:20:03 +02:00
<!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">
2018-08-14 03:29:10 +02:00
<meta name="theme-color" content="#024" />
<title>Aktivitetsadministrasjonsverkstedet</title>
<header>Aktivitets&shy;administrasjons&shy;verk&shy;stedet</header>
2018-02-10 16:13:18 +01:00
<body>
2018-08-10 00:20:03 +02:00
2018-02-10 16:13:18 +01:00
<nav>
<?php echo navbar(2, 'admin'); ?>
<?php echo loginbar(null, $pdo); ?>
2018-02-10 16:13:18 +01:00
</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;
2018-02-10 16:13:18 +01:00
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"><?= $event->getName() . " (ID: " . $eventID . ")"; ?></h3>
<p class="subnote">
<?= $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()));
?>
2018-02-10 16:13:18 +01:00
</div>
<div class="event-actions">
2018-08-10 00:18:28 +02:00
<a class="btn" href="edit.php?id=<?= $eventID ?>">Rediger</a><br>
<a class="btn" href="delete.php?id=<?= $eventID ?>" onclick="return confirm('Knallsikker? (ID: <?= $eventID ?>)');">Slett</a>
2018-02-10 16:13:18 +01:00
</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>';
}
2018-02-10 16:13:18 +01:00
if(($counter == $pageLimit) and (($pageLimit * $page) < count($events))){
echo '<a class="btn float-right" href="?page=' . ($page + 1) . '&title=' . urlencode($filterTitle) . '&organiser=' . urlencode($filterOrganiser) . '">Neste side</a>';
2018-02-10 16:13:18 +01:00
}
?>
2017-10-28 16:11:36 +02:00
</div>
2018-02-10 16:13:18 +01:00
<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">
2018-02-10 16:13:18 +01:00
<p class="no-chin">Navn</p>
<?= '<input type="text" name="title" class="boxinput" value="' . $filterTitle . '">' ?><br>
<p class="no-chin">Organisator</p>
<?= '<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>
2018-08-10 00:18:28 +02:00
</body>