halworsen
689975f262
new users meaning users who aren't in the usergroup system for the website yet. also spicier no access messages
137 lines
3.7 KiB
PHP
137 lines
3.7 KiB
PHP
<?php
|
|
date_default_timezone_set('Europe/Oslo');
|
|
setlocale(LC_ALL, 'no_NO');
|
|
require __DIR__ . '/../../../inc/navbar.php';
|
|
require __DIR__ . '/../../../src/_autoload.php';
|
|
require __DIR__ . '/../../../sql_config.php';
|
|
|
|
$pdo = new \PDO($dbDsn, $dbUser, $dbPass);
|
|
$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($_POST['title'])){
|
|
$filterTitle = $_POST['title'];
|
|
}
|
|
|
|
$filterOrganiser = '';
|
|
if(isset($_POST['organiser'])){
|
|
$filterOrganiser = $_POST['organiser'];
|
|
}
|
|
|
|
// 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()));
|
|
}
|
|
));
|
|
?>
|
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<link rel="stylesheet" href="../../css/normalize.css">
|
|
<link rel="stylesheet" href="../../css/style.css">
|
|
<link rel="stylesheet" href="../../css/events.css">
|
|
<link rel="stylesheet" href="../../css/admin.css">
|
|
|
|
<header class="admin">Aktivitets­administrasjon</header>
|
|
|
|
<main>
|
|
|
|
<article 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 = 4;
|
|
|
|
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>
|
|
<p><?= implode($event->getDescription(), "</p>\n<p>"); ?></p>
|
|
</div>
|
|
|
|
<div class="event-actions">
|
|
<!-- emojis are for big boys -->
|
|
<?= '<a href="edit.php?id=' . $eventID . '">🖊</a>'; ?>
|
|
<?= '<a href="delete.php?id=' . $eventID . '" onclick="return confirm(\'Knallsikker? (ID: ' . $eventID . ')\');">🗑</a>'; ?>
|
|
</div>
|
|
</div>
|
|
</li>
|
|
|
|
<?php
|
|
$counter++;
|
|
}
|
|
?>
|
|
</ul>
|
|
|
|
<?php
|
|
if($page != 1){
|
|
echo '<a class="btn float-left" href="?page=' . ($page - 1) . '">Forrige side</a>';
|
|
}
|
|
|
|
if(($counter == $pageLimit) and (($pageLimit * $page) < count($events))){
|
|
echo '<a class="btn float-right" href="?page=' . ($page + 1) . '">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="post">
|
|
<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>
|
|
</article>
|
|
|
|
</main>
|
|
|
|
<nav>
|
|
<?= navbar(2); ?>
|
|
<?= loginbar(); ?>
|
|
</nav>
|