<?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&shy;administrasjons&shy;verk&shy;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 htmlspecialchars($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();
                    $Parsedown->setSafeMode(true);
                    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="' . htmlspecialchars($filterTitle) . '">'; ?><br>
					<p class="no-chin">Organisator</p>
					<?php echo '<input type="text" name="organiser" class="boxinput" value="' . htmlspecialchars($filterOrganiser) . '">'; ?><br>

					<div style="margin-top: 2em;">
						<input type="submit" class="btn" value="Filtrer"></input>
					</div>
				</form>
			</div>
		</div>
	</main>
</body>
