commit
ec69d5f724
|
@ -40,11 +40,10 @@ function loginBar($sp = null, $pdo = null) {
|
|||
$attr = $as->getAttributes();
|
||||
if($attr) {
|
||||
$uname = $attr['uid'][0];
|
||||
$isAdmin = false;
|
||||
if (isset($pdo)) {
|
||||
$userManager = new \pvv\admin\UserManager($pdo);
|
||||
$isAdmin = $userManager->isAdmin($uname);
|
||||
} else {
|
||||
$isAdmin = false;
|
||||
}
|
||||
$result .= "\n\t<ul id=\"usermenu\">\n";
|
||||
$result .= "\n\t\t<li><a id=\"login\" href=\"#\">${svg}" . htmlspecialchars($uname) . "</a></li>\n";
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
CREATE TABLE "events" (
|
||||
"id" INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
"name" TEXT,
|
||||
"start" TEXT,
|
||||
"stop" TEXT,
|
||||
"organiser" TEXT,
|
||||
"location" TEXT,
|
||||
"description" TEXT
|
||||
);
|
||||
|
||||
CREATE TABLE "projects" (
|
||||
"id" INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
"name" TEXT,
|
||||
"owner" TEXT,
|
||||
"owneruname" TEXT,
|
||||
"description" TEXT,
|
||||
"active" BOOLEAN
|
||||
);
|
||||
|
||||
CREATE TABLE "users" (
|
||||
"uname" TEXT,
|
||||
"groups" INT DEFAULT 0
|
||||
);
|
||||
|
||||
CREATE TABLE "motd" (
|
||||
"title" TEXT,
|
||||
"content" TEXT
|
||||
);
|
|
@ -0,0 +1,23 @@
|
|||
<?php
|
||||
namespace pvv\side;
|
||||
|
||||
use \PDO;
|
||||
|
||||
class MOTD{
|
||||
private $pdo;
|
||||
|
||||
public function __construct($pdo){
|
||||
$this->pdo = $pdo;
|
||||
}
|
||||
|
||||
public function getMOTD(){
|
||||
$query = 'SELECT * FROM motd LIMIT 1';
|
||||
$statement = $this->pdo->prepare($query);
|
||||
$statement->execute();
|
||||
|
||||
$data = $statement->fetch();
|
||||
$motd = array("title" => $data[0], "content" => explode("\n", $data[1]));
|
||||
|
||||
return $motd;
|
||||
}
|
||||
}
|
|
@ -7,7 +7,7 @@ class Project{
|
|||
public function __construct($id, $name, $descr, $owner, $owneruname, $active){
|
||||
$this->id = $id;
|
||||
$this->name = $name;
|
||||
$this->descr = $descr;
|
||||
$this->descr = explode("\n", $descr);
|
||||
$this->owner = $owner;
|
||||
$this->owneruname = $owneruname;
|
||||
$this->active = $active;
|
||||
|
|
|
@ -54,17 +54,25 @@ if($new == 0){
|
|||
}
|
||||
?>
|
||||
|
||||
<head>
|
||||
<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/nav.css">
|
||||
<link rel="stylesheet" href="../../css/events.css">
|
||||
<link rel="stylesheet" href="../../css/admin.css">
|
||||
</head>
|
||||
|
||||
<header class="admin">Aktivitets­administrasjon</header>
|
||||
<body>
|
||||
<nav>
|
||||
<?php echo navbar(3, 'admin'); ?>
|
||||
<?php echo loginbar(null, $pdo); ?>
|
||||
</nav>
|
||||
|
||||
<main>
|
||||
<h2>Aktivietsadministrasjon</h2>
|
||||
<hr class="ruler">
|
||||
|
||||
<article>
|
||||
<h2><?= ($new == 1 ? "Ny hendelse" : "Rediger hendelse"); ?></h2>
|
||||
|
||||
<form action="update.php", method="post" class="gridsplit5050">
|
||||
|
@ -83,10 +91,10 @@ if($new == 0){
|
|||
<p class="subtitle">Sluttid (YYYY-MM-DD HH:MM:SS)</p>
|
||||
<?= '<input name="end" type="text" class="boxinput" value="' . $event->getStop()->format('Y-m-d H:00:00') . '"><br>' ?>
|
||||
|
||||
<p class="subtitle">Organisert av</p>
|
||||
<p class="subtitle">Arrangør</p>
|
||||
<?= '<input type="text" name="organiser" value="' . $event->getOrganiser(). '" class="boxinput">' ?><br>
|
||||
|
||||
<p class="subtitle">Hvor?</p>
|
||||
<p class="subtitle">Sted</p>
|
||||
<?= '<input type="text" name="location" value="' . $event->getLocation(). '" class="boxinput">' ?><br>
|
||||
</div>
|
||||
|
||||
|
@ -102,11 +110,5 @@ if($new == 0){
|
|||
|
||||
|
||||
<p>
|
||||
</article>
|
||||
|
||||
</main>
|
||||
|
||||
<nav>
|
||||
<?= navbar(2); ?>
|
||||
<?= loginbar(); ?>
|
||||
</nav>
|
||||
</body>
|
||||
|
|
|
@ -47,17 +47,26 @@ $events = array_values(array_filter(
|
|||
));
|
||||
?>
|
||||
|
||||
<head>
|
||||
<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/nav.css">
|
||||
<link rel="stylesheet" href="../../css/events.css">
|
||||
<link rel="stylesheet" href="../../css/admin.css">
|
||||
</head>
|
||||
|
||||
<header class="admin">Aktivitets­administrasjon</header>
|
||||
<body>
|
||||
<nav>
|
||||
<?php echo navbar(2, 'admin'); ?>
|
||||
<?php echo loginbar(null, $pdo); ?>
|
||||
</nav>
|
||||
|
||||
<main>
|
||||
<h2>Aktivitetsadministrasjon</h2>
|
||||
<hr class="ruler">
|
||||
|
||||
<article class="gridsplit">
|
||||
<div class="gridsplit">
|
||||
<div class="gridl">
|
||||
<h2 class="no-chin">Aktive aktiviteter</h2>
|
||||
<p class="subnote">Gjentagende aktiviteter vises ikke</p>
|
||||
|
@ -83,7 +92,7 @@ $events = array_values(array_filter(
|
|||
<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>
|
||||
<p><?= implode($event->getDescription(), "<br>"); ?></p>
|
||||
</div>
|
||||
|
||||
<div class="event-actions">
|
||||
|
@ -126,11 +135,6 @@ $events = array_values(array_filter(
|
|||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<nav>
|
||||
<?= navbar(2); ?>
|
||||
<?= loginbar(); ?>
|
||||
</nav>
|
||||
</body>
|
|
@ -28,21 +28,23 @@ if(!$userManager->isAdmin($uname)){
|
|||
$users = $userManager->getAllUserData();
|
||||
?>
|
||||
|
||||
<head>
|
||||
<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">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<nav>
|
||||
<?php echo navbar(2, ''); ?>
|
||||
<?php echo loginbar(); ?>
|
||||
<?php echo navbar(2, 'admin'); ?>
|
||||
<?php echo loginbar(null, $pdo); ?>
|
||||
</nav>
|
||||
|
||||
<header class="admin">Bruker­administrasjon</header>
|
||||
|
||||
<main>
|
||||
<article>
|
||||
<h2>Brukeradministrasjon</h2>
|
||||
<hr class="ruler">
|
||||
|
||||
<form action="./update.php" method="post">
|
||||
<table class="userlist">
|
||||
|
@ -86,6 +88,5 @@ $users = $userManager->getAllUserData();
|
|||
</table>
|
||||
<input type="submit" class="btn" value="Lagre">
|
||||
</form>
|
||||
|
||||
</article>
|
||||
</main>
|
||||
</body>
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
<?php
|
||||
require_once dirname(dirname(__DIR__)) . implode(DIRECTORY_SEPARATOR, ['', 'inc', 'include.php']);
|
||||
|
||||
$pdo = new \PDO($dbDsn, $dbUser, $dbPass);
|
||||
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||
$userManager = new \pvv\admin\UserManager($pdo);
|
||||
|
||||
$as = new SimpleSAML_Auth_Simple('default-sp');
|
||||
$as->requireAuth();
|
||||
$attrs = $as->getAttributes();
|
||||
$uname = $attrs['uid'][0];
|
||||
|
@ -16,36 +21,40 @@ if(!($isAdmin | $projectGroup | $activityGroup)){
|
|||
}
|
||||
?>
|
||||
|
||||
<head>
|
||||
<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">
|
||||
</head>
|
||||
|
||||
<header class="admin">Stor-­gutt-­leketøy</header>
|
||||
<body>
|
||||
<nav id="navbar">
|
||||
<?php echo navbar(1, 'admin'); ?>
|
||||
<?php echo loginbar(null, $pdo); ?>
|
||||
</nav>
|
||||
|
||||
<main>
|
||||
|
||||
<article>
|
||||
<h2>Verktøy</h2>
|
||||
<h2>Voksenleketøy</h2>
|
||||
<ul class="tools">
|
||||
<?php
|
||||
if($isAdmin | $activityGroup){
|
||||
echo '<a class="btn adminbtn" href="aktiviteter/?page=1">Aktiviteter/Hendelser</a>';
|
||||
echo '<li><a class="btn" href="aktiviteter/?page=1">Aktiviteter/Hendelser</a></li>';
|
||||
}
|
||||
|
||||
if($isAdmin | $projectGroup){
|
||||
echo '<a class="btn adminbtn" href="prosjekter/">Prosjekter</a>';
|
||||
echo '<li><a class="btn" href="prosjekter/">Prosjekter</a></li>';
|
||||
}
|
||||
|
||||
if($isAdmin) {
|
||||
echo '<a class="btn adminbtn" href="brukere/">Brukere</a>';
|
||||
echo '<li><a class="btn" href="motd/">Dagens melding</a></li>';
|
||||
}
|
||||
|
||||
if($isAdmin){
|
||||
echo '<li><a class="btn" href="brukere/">Brukere</a></li>';
|
||||
}
|
||||
?>
|
||||
</article>
|
||||
|
||||
<ul>
|
||||
</main>
|
||||
|
||||
<nav>
|
||||
<?= navbar(1); ?>
|
||||
<?= loginbar(null, $pdo); ?>
|
||||
</nav>
|
||||
</body>
|
||||
|
|
|
@ -0,0 +1,66 @@
|
|||
<?php
|
||||
ini_set('display_errors', '1');
|
||||
date_default_timezone_set('Europe/Oslo');
|
||||
setlocale(LC_ALL, 'no_NO');
|
||||
error_reporting(E_ALL);
|
||||
require __DIR__ . '/../../../inc/navbar.php';
|
||||
require __DIR__ . '/../../../src/_autoload.php';
|
||||
require __DIR__ . '/../../../sql_config.php';
|
||||
require_once(__DIR__ . '/../../../vendor/simplesamlphp/simplesamlphp/lib/_autoload.php');
|
||||
$as = new SimpleSAML_Auth_Simple('default-sp');
|
||||
$attrs = $as->getAttributes();
|
||||
|
||||
$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->isAdmin($uname)){
|
||||
echo 'Her har du ikke lov\'t\'å\'værra!!!';
|
||||
exit();
|
||||
}
|
||||
|
||||
$motdfetcher = new \pvv\side\MOTD($pdo);
|
||||
$motd = $motdfetcher->getMOTD();
|
||||
?>
|
||||
|
||||
<head>
|
||||
<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/nav.css">
|
||||
<link rel="stylesheet" href="../../css/events.css">
|
||||
<link rel="stylesheet" href="../../css/admin.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<nav>
|
||||
<?php echo navbar(2, 'admin'); ?>
|
||||
<?php echo loginbar(null, $pdo); ?>
|
||||
</nav>
|
||||
|
||||
<main>
|
||||
<h2>Dagens melding</h2>
|
||||
<hr class="ruler">
|
||||
|
||||
<form action="update.php", method="post">
|
||||
<p class="subtitle no-chin">Tittel</p>
|
||||
<p class="subnote">Ikke nødvendig</p>
|
||||
<input type="text" name="title" value="<?= $motd['title'] ?>" class="boxinput" style="width:66%;"><br>
|
||||
|
||||
<p class="subtitle no-chin">Innhold</p>
|
||||
<textarea name="content" style="width:100%" rows="8" class="boxinput"><?= implode($motd["content"], "\n") ?></textarea>
|
||||
|
||||
<div style="margin-top: 2em;">
|
||||
<hr class="ruler">
|
||||
|
||||
<?= '<input type="submit" class="btn" value="Lagre endringer"></a>'; ?>
|
||||
</div>
|
||||
</form>
|
||||
</main>
|
||||
</body>
|
|
@ -0,0 +1,39 @@
|
|||
<?php
|
||||
ini_set('display_errors', '1');
|
||||
date_default_timezone_set('Europe/Oslo');
|
||||
setlocale(LC_ALL, 'no_NO');
|
||||
error_reporting(E_ALL);
|
||||
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(!isset($_POST['title']) or !isset($_POST['content'])){
|
||||
header('Location: ' . $_SERVER['HTTP_REFERER']);
|
||||
exit();
|
||||
}
|
||||
|
||||
if(!$userManager->isAdmin($uname)){
|
||||
echo 'Her har du ikke lov\'t\'å\'værra!!!';
|
||||
exit();
|
||||
}
|
||||
|
||||
$query = 'UPDATE motd SET title=:title, content=:content';
|
||||
$statement = $pdo->prepare($query);
|
||||
|
||||
$statement->bindParam(':title', $_POST['title'], PDO::PARAM_STR);
|
||||
$statement->bindParam(':content', $_POST['content'], PDO::PARAM_STR);
|
||||
|
||||
$statement->execute();
|
||||
|
||||
header('Location: .');
|
||||
?>
|
||||
|
||||
<a href=".">Om du ikke ble automatisk omdirigert tilbake klikk her</a>
|
|
@ -49,17 +49,25 @@ if($new == 0){
|
|||
}
|
||||
?>
|
||||
|
||||
<head>
|
||||
<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/nav.css">
|
||||
<link rel="stylesheet" href="../../css/events.css">
|
||||
<link rel="stylesheet" href="../../css/admin.css">
|
||||
</head>
|
||||
|
||||
<header class="admin">Prosjekt­administrasjon</header>
|
||||
<body>
|
||||
<nav>
|
||||
<?php echo navbar(3, 'admin'); ?>
|
||||
<?php echo loginbar(null, $pdo); ?>
|
||||
</nav>
|
||||
|
||||
<main>
|
||||
<h2>Prosjektadministrasjon</h2>
|
||||
<hr class="ruler">
|
||||
|
||||
<article>
|
||||
<h2><?= ($new == 1 ? "Nytt prosjekt" : "Rediger prosjekt"); ?></h2>
|
||||
|
||||
<form action="update.php", method="post" class="gridsplit5050">
|
||||
|
@ -68,14 +76,14 @@ if($new == 0){
|
|||
<?= '<input type="text" name="title" value="' . $project->getName() . '" class="boxinput">' ?><br>
|
||||
|
||||
<p class="subtitle">Beskrivelse</p>
|
||||
<textarea name="desc" cols="40" rows="5" class="boxinput"><?= $project->getDescription(); ?></textarea>
|
||||
<textarea name="desc" cols="40" rows="5" class="boxinput"><?= implode($project->getDescription(), "\n"); ?></textarea>
|
||||
</div>
|
||||
|
||||
<div class="gridr noborder">
|
||||
<p class="subtitle">Prosjekteier (Brukernavn)</p>
|
||||
<p class="subtitle">Prosjektleder (Brukernavn)</p>
|
||||
<?= '<input type="text" name="organiser" value="' . $project->getOwnerUName(). '" class="boxinput">' ?><br>
|
||||
|
||||
<p class="subtitle">Prosjekteier (Navn)</p>
|
||||
<p class="subtitle">Prosjektleder (Navn)</p>
|
||||
<?= '<input type="text" name="organisername" value="' . $project->getOwner(). '" class="boxinput">' ?>
|
||||
|
||||
<p class="subtitle">Aktiv</p>
|
||||
|
@ -91,11 +99,5 @@ if($new == 0){
|
|||
</div>
|
||||
</form>
|
||||
<p>
|
||||
</article>
|
||||
|
||||
</main>
|
||||
|
||||
<nav>
|
||||
<?= navbar(2); ?>
|
||||
<?= loginbar(); ?>
|
||||
</nav>
|
||||
</body>
|
|
@ -47,17 +47,26 @@ $projects = array_values(array_filter(
|
|||
));
|
||||
?>
|
||||
|
||||
<head>
|
||||
<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/nav.css">
|
||||
<link rel="stylesheet" href="../../css/events.css">
|
||||
<link rel="stylesheet" href="../../css/admin.css">
|
||||
</head>
|
||||
|
||||
<header class="admin">Prosjekt­administrasjon</header>
|
||||
<body>
|
||||
<nav>
|
||||
<?php echo navbar(2, 'admin'); ?>
|
||||
<?php echo loginbar(null, $pdo); ?>
|
||||
</nav>
|
||||
|
||||
<main>
|
||||
<h2>Prosjektadministrasjon</h2>
|
||||
<hr class="ruler">
|
||||
|
||||
<article class="gridsplit">
|
||||
<div class="gridsplit">
|
||||
<div class="gridl">
|
||||
<h2 class="no-chin">Prosjekter</h2>
|
||||
|
||||
|
@ -80,7 +89,7 @@ $projects = array_values(array_filter(
|
|||
<div class="event-info">
|
||||
<h3 class="no-chin"><?= $project->getName() . " (ID: " . $projectID . ")"; ?></h3>
|
||||
<p class="subnote"><?= 'Organisert av: ' . $project->getOwner(); ?></p>
|
||||
<p><?= $project->getDescription(); ?></p>
|
||||
<p><?= implode($project->getDescription(), "<br>"); ?></p>
|
||||
</div>
|
||||
|
||||
<div class="event-actions">
|
||||
|
@ -112,9 +121,9 @@ $projects = array_values(array_filter(
|
|||
<a class="btn adminbtn" href="edit.php?new=1">Legg inn nytt prosjekt</a>
|
||||
<h2>Filter</h2>
|
||||
<form action="." method="post">
|
||||
<p class="no-chin">Navn</p>
|
||||
<p class="no-chin">Prosjektnavn</p>
|
||||
<?= '<input type="text" name="title" class="boxinput" value="' . $filterTitle . '">' ?><br>
|
||||
<p class="no-chin">Organisator</p>
|
||||
<p class="no-chin">Leders brukernavn</p>
|
||||
<?= '<input type="text" name="organiser" class="boxinput" value="' . $filterOrganiser . '">' ?><br>
|
||||
|
||||
<div style="margin-top: 2em;">
|
||||
|
@ -122,11 +131,7 @@ $projects = array_values(array_filter(
|
|||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<nav>
|
||||
<?= navbar(2); ?>
|
||||
<?= loginbar(); ?>
|
||||
</nav>
|
||||
</body>
|
|
@ -14,17 +14,23 @@ $day = (isset($_GET['day']))
|
|||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="no">
|
||||
|
||||
<head>
|
||||
<title>Aktivitetsverkstedet</title>
|
||||
<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="stylesheet" href="../css/normalize.css">
|
||||
<link rel="stylesheet" href="../css/style.css">
|
||||
<link rel="stylesheet" href="../css/events.css">
|
||||
</head>
|
||||
|
||||
<header>Aktivitets­verk­stedet</header>
|
||||
<body>
|
||||
<nav>
|
||||
<?php echo navbar(1, 'aktiviteter'); ?>
|
||||
<?php echo loginbar(null, $pdo); ?>
|
||||
</nav>
|
||||
|
||||
<main>
|
||||
|
||||
<?php
|
||||
use \DateTimeImmutable;
|
||||
$events = ($day==-1)
|
||||
|
@ -36,14 +42,14 @@ $events = ($day==-1)
|
|||
$limit = 0;
|
||||
foreach($events as $event) {
|
||||
?>
|
||||
<article>
|
||||
<div>
|
||||
<h2>
|
||||
<?php if ($event->getImageURL()) { ?>
|
||||
<img src="<?= $event->getImageURL() ?>">
|
||||
<?php } ?>
|
||||
<?php if (Agenda::isToday($event->getStart())) { ?><strong><?php } ?>
|
||||
<?php if (\pvv\side\Agenda::isToday($event->getStart())) { ?><strong><?php } ?>
|
||||
<em><?= $event->getRelativeDate() ?></em>
|
||||
<?php if (Agenda::isToday($event->getStart())) { ?></strong><?php } ?>
|
||||
<?php if (\pvv\side\Agenda::isToday($event->getStart())) { ?></strong><?php } ?>
|
||||
<?php if ($event->getURL()) { ?>
|
||||
<a href="<?= $event->getURL() ?>"><?= $event->getName() ?></a>
|
||||
<?php } else { ?>
|
||||
|
@ -51,22 +57,18 @@ foreach($events as $event) {
|
|||
<?php } ?>
|
||||
</h2>
|
||||
<ul class="subtext">
|
||||
<li>Tid: <strong><?= Agenda::getFormattedDate($event->getStart()) ?></strong>
|
||||
<li>Sted: <strong><?= $event->getLocation() ?></strong>
|
||||
<li>Arrangør: <strong><?= $event->getOrganiser() ?></strong>
|
||||
<li>Tid: <strong><?= Agenda::getFormattedDate($event->getStart()) ?></strong></li>
|
||||
<li>Sted: <strong><?= $event->getLocation() ?></strong></li>
|
||||
<li>Arrangør: <strong><?= $event->getOrganiser() ?></strong></li>
|
||||
</ul>
|
||||
|
||||
<?php $description = $event->getDescription(); ?>
|
||||
<?php if ($limit) array_splice($description, $limit); ?>
|
||||
<?= implode($description, "</p>\n<p>") ?>
|
||||
</article>
|
||||
<?= implode($description, "<br>") ?>
|
||||
</div>
|
||||
|
||||
<?php if (!$limit || $limit > 4) {$limit = 4;} else $limit = 2; ?>
|
||||
<?php } ?>
|
||||
|
||||
</main>
|
||||
|
||||
<nav>
|
||||
<?= navbar(1, 'aktiviteter'); ?>
|
||||
<?= loginbar($sp, $pdo); ?>
|
||||
</nav>
|
||||
</body>
|
||||
|
|
|
@ -9,6 +9,7 @@ use \pvv\side\Agenda;
|
|||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
||||
<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">
|
||||
|
||||
<header>Sosial­verk­stedet</header>
|
||||
|
|
|
@ -12,6 +12,7 @@ use \pvv\side\Agenda;
|
|||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
||||
<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">
|
||||
|
||||
<header>Sosial­verk­stedet</header>
|
||||
|
|
|
@ -1,14 +1,12 @@
|
|||
header.admin {
|
||||
margin-top: 3rem;
|
||||
height: 16rem;
|
||||
overflow: hidden;
|
||||
text-align: right;
|
||||
color: #fff;
|
||||
font-family: monospace;
|
||||
padding: 1rem;
|
||||
font-size: 4em;
|
||||
background: url('ja.png') no-repeat 1% 50% #024;
|
||||
background-size: contain;
|
||||
.tools {
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.tools li {
|
||||
margin: 1.5em 0;
|
||||
}
|
||||
|
||||
.event-list {
|
||||
|
@ -56,39 +54,6 @@ header.admin {
|
|||
text-decoration: none;
|
||||
}
|
||||
|
||||
.gridsplit {
|
||||
padding-top: 1.3em;
|
||||
display: grid;
|
||||
grid-template-columns: 3fr 1fr;
|
||||
}
|
||||
|
||||
.gridsplit5050 {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
|
||||
.gridl {
|
||||
height: 100%;
|
||||
grid-column: 1;
|
||||
}
|
||||
|
||||
.gridr {
|
||||
height: 100%;
|
||||
padding: 0 1em;
|
||||
margin-left: 1em;
|
||||
border-left: 1px dotted rgba(0,0,0,0.5);
|
||||
grid-column: 2;
|
||||
}
|
||||
|
||||
.gridsplit h1:first-child,
|
||||
.gridsplit h2:first-child,
|
||||
.gridsplit h3:first-child,
|
||||
.gridsplit h4:first-child,
|
||||
.gridsplit h5:first-child,
|
||||
.gridsplit h6:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.allgrids {
|
||||
grid-column: 1 / -1;
|
||||
}
|
||||
|
@ -101,27 +66,6 @@ header.admin {
|
|||
float: left;
|
||||
}
|
||||
|
||||
.btn {
|
||||
text-decoration: none;
|
||||
border: 1px solid #048;
|
||||
color: #048;
|
||||
padding: .2em 1em;
|
||||
border-radius: .2em;
|
||||
white-space: nowrap;
|
||||
display: inline-block;
|
||||
margin-bottom: .25em;
|
||||
}
|
||||
.btn:hover {
|
||||
border-color: #084;
|
||||
background: #eee;
|
||||
color: #084;
|
||||
}
|
||||
.btn:active {
|
||||
border-color: #084;
|
||||
background: #084;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.userlist {
|
||||
table-layout: fixed;
|
||||
width: 100%;
|
||||
|
|
|
@ -0,0 +1,142 @@
|
|||
header {
|
||||
margin: 0;
|
||||
margin-top: 3em;
|
||||
padding: 3vh 15vw;
|
||||
width: 70vw;
|
||||
background-color: #002244;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
header .logo {
|
||||
display: block;
|
||||
width: 24vh;
|
||||
height: 24vh;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
main {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.info {
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
|
||||
overflow-y: hidden;
|
||||
}
|
||||
|
||||
.essentials {
|
||||
width: 100%;
|
||||
margin: 1.8em 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.essentials li {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.essentials a {
|
||||
margin: 0 2em;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.essentials .join {
|
||||
padding: 1em;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
img.float-right {
|
||||
float: right;
|
||||
max-width: 12em;
|
||||
max-height: 12em;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
.calendar-events {
|
||||
padding: 0;
|
||||
margin-bottom: 1.5em;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.calendar-events ul .date {
|
||||
color: rgba(0,0,0,.5);
|
||||
font-size: 0.8em;
|
||||
margin-top: .2em;
|
||||
}
|
||||
|
||||
.calendar-events > li > p {
|
||||
border-bottom: .1em dotted rgba(0,0,0,.2);
|
||||
}
|
||||
|
||||
.calendar-events ul {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.calendar-events a, #ticker a {
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
color: black;
|
||||
}
|
||||
|
||||
.calendar-events a:hover, #ticker a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.calendar-events ul .time {
|
||||
color: rgba(0,0,0,.5);
|
||||
float: right;
|
||||
}
|
||||
|
||||
.calendar-events ul .icon, .calendar-events ul .date {
|
||||
float: right;
|
||||
margin-right: .5em;
|
||||
}
|
||||
|
||||
.contentsplit {
|
||||
display: grid;
|
||||
grid-template-columns: 2.5fr 1.5fr;
|
||||
}
|
||||
|
||||
.gridr {
|
||||
border-left: 0;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 50rem) {
|
||||
.essentials {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.essentials a {
|
||||
margin: .2em 0;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 65rem) {
|
||||
.contentsplit {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.gridr {
|
||||
height: auto;
|
||||
padding: 0;
|
||||
margin-left: 0;
|
||||
margin-bottom: 3em;
|
||||
}
|
||||
|
||||
.gridr br {
|
||||
margin: 0;
|
||||
height: 0px;
|
||||
}
|
||||
|
||||
.gridl {
|
||||
margin-top: 0;
|
||||
padding: 0;
|
||||
}
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 23 KiB |
Binary file not shown.
After Width: | Height: | Size: 52 KiB |
|
@ -0,0 +1,59 @@
|
|||
.project-card {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
border-radius: 4px;
|
||||
width: 18em;
|
||||
height: 8em;
|
||||
padding: 0;
|
||||
margin: 0 1em 1em 0;
|
||||
border: 1px solid #002244;
|
||||
box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
|
||||
}
|
||||
|
||||
.project-title {
|
||||
padding-bottom: .1em;
|
||||
margin: 0;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.card-content {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
margin: 0;
|
||||
padding: .6em;
|
||||
height: 4.3em;
|
||||
}
|
||||
|
||||
.card-content p {
|
||||
height: 2.5em;
|
||||
overflow: hidden;
|
||||
line-height: 1.25em;
|
||||
}
|
||||
|
||||
.project-organizer {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
margin: 0;
|
||||
padding: .3em .6em;
|
||||
border-top: 1px solid #002244;
|
||||
font-size: .8em;
|
||||
}
|
||||
|
||||
.card-content * {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.projects-divider {
|
||||
border: 0;
|
||||
margin-bottom: 2em;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 50rem) {
|
||||
.projects {
|
||||
display: inline-block;
|
||||
|
||||
}
|
||||
}
|
|
@ -1,70 +0,0 @@
|
|||
img.float-right {
|
||||
float: right;
|
||||
max-width: 12em;
|
||||
max-height: 12em;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
.calendar-events {
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
.calendar-events ul .date {
|
||||
color: rgba(0,0,0,.5);
|
||||
font-size: 0.8em;
|
||||
margin-top: .2em;
|
||||
}
|
||||
.calendar-events > li > p {
|
||||
border-bottom: .1em dotted rgba(0,0,0,.2);
|
||||
}
|
||||
|
||||
.calendar-events ul {
|
||||
list-style: none;
|
||||
padding: 0 .5em;
|
||||
}
|
||||
.calendar-events a, #ticker a {
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
color: black;
|
||||
}
|
||||
.calendar-events a:hover, #ticker a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.calendar-events ul .time {
|
||||
color: rgba(0,0,0,.5);
|
||||
float: right;
|
||||
}
|
||||
.calendar-events ul .icon, .calendar-events ul .date {
|
||||
float: right;
|
||||
margin-right: .5em;
|
||||
}
|
||||
|
||||
#ticker {
|
||||
position: absolute;
|
||||
max-width: 60rem;
|
||||
margin: 0 auto;
|
||||
top: 11rem;
|
||||
left: 0;
|
||||
right: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
#ticker li {
|
||||
margin: 0 1rem;
|
||||
padding: .5em 1em;
|
||||
background: linear-gradient(to bottom, #fff 75%,#fafafa 100%);
|
||||
border-radius: .5rem;
|
||||
box-shadow: 0 .1rem .15rem rgba(0,0,0,.3);
|
||||
}
|
||||
|
||||
@media screen and (max-width: 50rem) {
|
||||
#ticker {
|
||||
top: 7rem;
|
||||
}
|
||||
#ticker li {
|
||||
margin: 0 .5rem;
|
||||
}
|
||||
main {
|
||||
margin: -11rem auto 0 auto;
|
||||
}
|
||||
}
|
|
@ -190,107 +190,90 @@ nav #usermenu li:first-child:hover {
|
|||
top: 0;
|
||||
}
|
||||
}
|
||||
header {
|
||||
margin-top: 3rem;
|
||||
height: 16rem;
|
||||
overflow: hidden;
|
||||
text-align: right;
|
||||
color: #fff;
|
||||
font-family: monospace;
|
||||
padding: 1rem;
|
||||
font-size: 4em;
|
||||
background: url('pvv-background.png') no-repeat 1% 50% #024;
|
||||
background-size: contain;
|
||||
|
||||
body {
|
||||
overflow-y: scroll;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
* {
|
||||
font-style: -apple-system, 'avenir next', avenir, roboto, noto, ubuntu, 'helvetica neue', helvetica, arial, sans-serif;
|
||||
}
|
||||
|
||||
main {
|
||||
max-width: 60rem;
|
||||
margin: -7rem auto 0 auto;
|
||||
padding: 0;
|
||||
padding: 1em 15vw;
|
||||
height: 100vh;
|
||||
margin-top: 7vh;
|
||||
|
||||
background-color: #fff;
|
||||
}
|
||||
article {
|
||||
padding: .1rem 1rem 1rem 1rem;
|
||||
margin: 0 1rem 0 1rem;
|
||||
background: white;
|
||||
|
||||
main h2 {
|
||||
color: #002244;
|
||||
|
||||
z-index: 2; /* Make appear under #menu */
|
||||
position: relative;
|
||||
}
|
||||
article p {
|
||||
text-align: justify;
|
||||
hyphens: auto;
|
||||
}
|
||||
article:first-child {
|
||||
border-radius: .5rem .5rem 0 0;
|
||||
}
|
||||
main:before {
|
||||
content: " ";
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 16rem;
|
||||
left: 1rem;
|
||||
right: 1rem;
|
||||
margin: 0 auto;
|
||||
height: 8em;
|
||||
z-index: 1; /* Make appear under article */
|
||||
max-width: 58rem;
|
||||
box-shadow: 0 -.2rem .15rem rgba(0,0,0,.3);
|
||||
border-radius: 0 0 .3em .3em;
|
||||
background: white;
|
||||
|
||||
article {
|
||||
margin-bottom: 7vh;
|
||||
}
|
||||
|
||||
.split {
|
||||
display: table;
|
||||
width: 100%;
|
||||
table-layout: fixed;
|
||||
border-spacing: 1em;
|
||||
}
|
||||
.split > * {
|
||||
display: table-cell;
|
||||
.gridsplit {
|
||||
padding-top: 1.3em;
|
||||
display: grid;
|
||||
grid-template-columns: 3fr 1fr;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
font-weight: bold;
|
||||
.gridsplit5050 {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
|
||||
.ruler {
|
||||
border: none;
|
||||
border-bottom: 1px dotted rgba(0,0,0,.5);
|
||||
.gridsplitthirds {
|
||||
display: grid;
|
||||
grid-column-gap: 2em;
|
||||
column-rule-style: dotted;
|
||||
grid-template-columns: 1fr 1fr 1fr;
|
||||
}
|
||||
|
||||
a.btn {
|
||||
.gridl {
|
||||
height: 100%;
|
||||
grid-column: 1;
|
||||
grid-row: 1;
|
||||
}
|
||||
|
||||
.gridr {
|
||||
height: 100%;
|
||||
padding: 0 1em;
|
||||
margin-left: 1em;
|
||||
border-left: 1px dotted rgba(0,0,0,0.5);
|
||||
grid-column: 2;
|
||||
}
|
||||
|
||||
.gridsplit h1:first-child,
|
||||
.gridsplit h2:first-child,
|
||||
.gridsplit h3:first-child,
|
||||
.gridsplit h4:first-child,
|
||||
.gridsplit h5:first-child,
|
||||
.gridsplit h6:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.btn {
|
||||
padding: .5em;
|
||||
border-radius: 4px;
|
||||
text-decoration: none;
|
||||
border: 1px solid #048;
|
||||
color: #048;
|
||||
padding: .2em 1em;
|
||||
border-radius: .2em;
|
||||
white-space: nowrap;
|
||||
display: inline-block;
|
||||
margin-bottom: .25em;
|
||||
}
|
||||
a.btn:hover {
|
||||
border-color: #084;
|
||||
background: #eee;
|
||||
color: #084;
|
||||
}
|
||||
a.btn:active {
|
||||
border-color: #084;
|
||||
background: #084;
|
||||
color: white;
|
||||
color: #fff;
|
||||
background-color: #002244;
|
||||
|
||||
transition: background-color .2s ease;
|
||||
}
|
||||
|
||||
.boxinput {
|
||||
text-decoration: none;
|
||||
border: 1px solid #048;
|
||||
color: #048;
|
||||
padding: .2em .4em;
|
||||
border-radius: .2em;
|
||||
display: inline-block;
|
||||
margin-bottom: .25em;
|
||||
resize: none;
|
||||
}
|
||||
.btn:hover {
|
||||
background-color: #00407F;
|
||||
|
||||
.noborder {
|
||||
border: none !important;
|
||||
transition: background-color .2s ease;
|
||||
}
|
||||
|
||||
.subnote {
|
||||
|
@ -304,72 +287,7 @@ a.btn:active {
|
|||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.icon.subscribe {
|
||||
color: white;
|
||||
background: #082;
|
||||
border-radius: 1em;
|
||||
width: 1em;
|
||||
line-height: 1em;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 50rem) {
|
||||
.split, .split > * {
|
||||
display: block;
|
||||
}
|
||||
img.float-right {
|
||||
display: none;
|
||||
}
|
||||
nav li {
|
||||
margin: auto .5em;
|
||||
}
|
||||
header {
|
||||
font-size: 2em;
|
||||
}
|
||||
main {
|
||||
margin: -13rem auto 0 auto;
|
||||
}
|
||||
article {
|
||||
margin: 0 .5rem 0 .5rem;
|
||||
}
|
||||
main:before {
|
||||
left: .5rem;
|
||||
right: .5rem;
|
||||
}
|
||||
}
|
||||
@media screen and (max-width: 23rem) {
|
||||
body {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
header {
|
||||
margin-top: 2.4rem;
|
||||
}
|
||||
main:before {
|
||||
top: 13rem;
|
||||
height: 13em;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
.collapsable {
|
||||
display: none;
|
||||
}
|
||||
.collapsable:target {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.noselect {
|
||||
/* iOS Safari */
|
||||
-webkit-touch-callout: none;
|
||||
/* Safari */
|
||||
-webkit-user-select: none;
|
||||
/* Konqueror HTML */
|
||||
-khtml-user-select: none;
|
||||
/* Firefox */
|
||||
-moz-user-select: none;
|
||||
/* Internet Explorer/Edge */
|
||||
-ms-user-select: none;
|
||||
/* Non-prefixed version, currently supported by Chrome and Opera */
|
||||
user-select: none;
|
||||
.ruler {
|
||||
border: none;
|
||||
border-bottom: 1px dotted rgba(0,0,0,.5);
|
||||
}
|
||||
|
|
|
@ -2,45 +2,58 @@
|
|||
require_once dirname(__DIR__) . implode(DIRECTORY_SEPARATOR, ['', 'inc', 'include.php']);
|
||||
|
||||
$translation = ['i dag', 'i morgen', 'denne uka', 'neste uke', 'denne måneden', 'neste måned'];
|
||||
$pdo = new \PDO($dbDsn, $dbUser, $dbPass);
|
||||
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||
|
||||
$motdfetcher = new \pvv\side\MOTD($pdo);
|
||||
$motd = $motdfetcher->getMOTD();
|
||||
?>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="no">
|
||||
<head>
|
||||
<title>Programvareverkstedet</title>
|
||||
<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="stylesheet" href="css/normalize.css">
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<link rel="stylesheet" href="css/splash.css">
|
||||
<link rel="stylesheet" href="css/landing.css">
|
||||
<link rel="shortcut icon" href="favicon.ico">
|
||||
</head>
|
||||
|
||||
<header>Program­vare­verk­stedet</header>
|
||||
<body>
|
||||
<nav id="navbar" class="">
|
||||
<?php echo navbar(0, ''); ?>
|
||||
<?php echo loginbar(null, $pdo); ?>
|
||||
</nav>
|
||||
|
||||
<main>
|
||||
<header>
|
||||
<img class="logo" src="css/logo-white.png"/>
|
||||
<div class="info">
|
||||
<h2>Velkommen til Programvare­verkstedet</h2>
|
||||
<p>Programvareverkstedet (PVV) er en studentorganisasjon ved NTNU som vil skape et miljø for datainteresserte personer tilknyttet universitetet.</p>
|
||||
<p>Nåværende og tidligere studenter ved NTNU, samt ansatte ved NTNU og tilstøtende miljø, kan bli medlemmer.</p>
|
||||
<ul class="essentials">
|
||||
<a class="btn" href="om/"><li>Om PVV</li></a>
|
||||
<a class="btn join" href="paamelding/"><li>Bli medlem</li></a>
|
||||
<a class="btn" href="https://use.mazemap.com/?v=1&left=10.4032&right=10.4044&top=63.4178&bottom=63.4172&campusid=1&zlevel=2&sharepoitype=point&sharepoi=10.40355%2C63.41755%2C2&utm_medium=longurl"><li>Veibeskrivelse</li></a>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<article class="threed">
|
||||
<img src="pvv-logo.png" class="float-right">
|
||||
<h2>Velkommen til Program­vare­verk­stedet</h2>
|
||||
<p>Programvareverkstedet (PVV) vil skape et miljø for datainteresserte personer tilknyttet universitetet. Nåværende og tidligere studenter ved NTNU, samt ansatte ved NTNU og tilstøtende miljø, kan bli medlemmer. </p>
|
||||
<p>
|
||||
<a class="btn" href="om/">Om PVV</a>
|
||||
<a class="btn" href="paamelding/">Bli medlem</a>
|
||||
<a class="btn" href="https://use.mazemap.com/?v=1&left=10.4032&right=10.4044&top=63.4178&bottom=63.4172&campusid=1&zlevel=2&sharepoitype=point&sharepoi=10.40355%2C63.41755%2C2&utm_medium=longurl">Veibeskrivelse</a>
|
||||
</p>
|
||||
</article>
|
||||
|
||||
<div class="split">
|
||||
<article>
|
||||
<h2>Kommende arrangement</h2>
|
||||
<ul class="calendar-events">
|
||||
<main class="contentsplit">
|
||||
<div class="gridr">
|
||||
<h2>Kommende aktiviteter</h2>
|
||||
<div class="calendar-events">
|
||||
<?php $counter1 = 0; ?>
|
||||
<?php $counter2 = 0; ?>
|
||||
<?php foreach($agenda->getNextDays() as $period => $events) if ($events && $counter1 < 2 && $counter2 < 10) { $counter1++ ?>
|
||||
<li>
|
||||
<p><?= $translation[$period] ?></p>
|
||||
<?php foreach($agenda->getNextDays() as $period => $events) if ($events && $counter1 < 3 && $counter2 < 10) { $counter1++ ?>
|
||||
<p class="no-chin"><?= $translation[$period] ?></p>
|
||||
<hr>
|
||||
<ul>
|
||||
<?php foreach($events as $event) { $counter2++ ?>
|
||||
<li>
|
||||
|
||||
<?php if ($event->getURL()) { ?>
|
||||
<a href="<?= htmlspecialchars($event->getURL()) ?>"><?= $event->getName(); ?></a>
|
||||
<?php } else { ?>
|
||||
|
@ -62,31 +75,25 @@ $translation = ['i dag', 'i morgen', 'denne uka', 'neste uke', 'denne måneden',
|
|||
<?php } ?>
|
||||
</ul>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
</div>
|
||||
<p><a class="btn" href="kalender/">Flere aktiviteter</a></p>
|
||||
</article>
|
||||
<article>
|
||||
<h2>Opptak</h2>
|
||||
<p>
|
||||
Alle med tilknytning til NTNU kan bli medlem hos oss
|
||||
og benytte seg av våre ressurser.
|
||||
<!--
|
||||
For å bli med i våre prosjekter og komitéer må du søke.
|
||||
-->
|
||||
</p>
|
||||
<p>
|
||||
<a class="btn" href="paamelding/">Bli medlem</a>
|
||||
<!--
|
||||
<a class="btn" href="prosjekt/">Søk prosjekt</a>
|
||||
<a class="btn" href="prosjekt/">Søk komité</a>
|
||||
-->
|
||||
</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
<div class="gridl">
|
||||
<?php
|
||||
$title = $motd["title"];
|
||||
|
||||
<nav>
|
||||
<?php echo navbar(0, ''); ?>
|
||||
<?php echo loginbar($sp, $pdo); ?>
|
||||
</nav>
|
||||
echo "<h2>";
|
||||
if($title == ""){
|
||||
echo "Dagens melding";
|
||||
}else{
|
||||
echo $title;
|
||||
}
|
||||
echo "</h2>";
|
||||
|
||||
echo "<p>" . implode($motd["content"], "<br>") . "</p>";
|
||||
?>
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -16,6 +16,8 @@ $days_in_month = date('t', mktime(0, 0, 0, $month, 1, $year));
|
|||
|
||||
?><!DOCTYPE html>
|
||||
<html lang="no">
|
||||
|
||||
<head>
|
||||
<title>Kalenderverkstedet</title>
|
||||
<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">
|
||||
|
@ -23,12 +25,15 @@ $days_in_month = date('t', mktime(0, 0, 0, $month, 1, $year));
|
|||
<link rel="stylesheet" href="../css/style.css">
|
||||
<link rel="stylesheet" href="../css/events.css">
|
||||
<link rel="stylesheet" href="../css/calendar.css">
|
||||
</head>
|
||||
|
||||
<header>Kalender­verk­stedet</header>
|
||||
<body>
|
||||
<nav>
|
||||
<?php echo navbar(1, 'kalender'); ?>
|
||||
<?php echo loginbar(null, $pdo); ?>
|
||||
</nav>
|
||||
|
||||
<main>
|
||||
|
||||
<article>
|
||||
<h2 style="text-align:center;">Aktiviteter for <?=$months_translations[$month-1]?> <?=$year?></h2>
|
||||
|
||||
<p><?php
|
||||
|
@ -81,12 +86,5 @@ $days_in_month = date('t', mktime(0, 0, 0, $month, 1, $year));
|
|||
|
||||
</ul>
|
||||
</figure>
|
||||
|
||||
</article>
|
||||
|
||||
</main>
|
||||
|
||||
<nav>
|
||||
<?= navbar(1, 'kalender'); ?>
|
||||
<?= loginbar($sp, $pdo); ?>
|
||||
</nav>
|
||||
<body>
|
||||
|
|
|
@ -1,20 +1,25 @@
|
|||
<?php
|
||||
require_once dirname(dirname(__DIR__)) . implode(DIRECTORY_SEPARATOR, ['', 'inc', 'include.php']);
|
||||
?><!DOCTYPE html>
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="no">
|
||||
|
||||
<head>
|
||||
<title>Kommunikasjonsverkstedet</title>
|
||||
<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="stylesheet" href="../css/normalize.css">
|
||||
<link rel="stylesheet" href="../css/style.css">
|
||||
<link rel="stylesheet" href="../css/events.css">
|
||||
</head>
|
||||
|
||||
<header>Kommunikasjons­verk­stedet</header>
|
||||
<body>
|
||||
<nav>
|
||||
<?php echo navbar(1, 'kontakt'); ?>
|
||||
<?php echo loginbar(null, $pdo); ?>
|
||||
</nav>
|
||||
|
||||
<main>
|
||||
|
||||
<article>
|
||||
|
||||
<h2>Kommunikasjon</h2>
|
||||
<p>
|
||||
Det er ulike måter å kommunisere med PVV-medlemmer på.
|
||||
|
@ -28,11 +33,5 @@ Vi har også en Discord-kanal. Denne kanalen er satt opp slik at man i Discord-k
|
|||
<p>
|
||||
Det er også mulig å ta i bruk analog kontakt ved å møte opp <a href="https://use.mazemap.com/?v=1&left=10.4032&right=10.4044&top=63.4178&bottom=63.4172&campusid=1&zlevel=2&sharepoitype=point&sharepoi=10.40355%2C63.41755%2C2&utm_medium=longurl">på stripa</a>.
|
||||
</p>
|
||||
</article>
|
||||
|
||||
</main>
|
||||
|
||||
<nav>
|
||||
<?= navbar(1, 'kontakt'); ?>
|
||||
<?= loginbar($sp, $pdo); ?>
|
||||
</nav>
|
||||
</body>
|
||||
|
|
|
@ -0,0 +1,63 @@
|
|||
<?php
|
||||
date_default_timezone_set('Europe/Oslo');
|
||||
setlocale(LC_ALL, 'no_NO');
|
||||
require __DIR__ . '/../../src/_autoload.php';
|
||||
require __DIR__ . '/../../sql_config.php';
|
||||
$pdo = new \PDO($dbDsn, $dbUser, $dbPass);
|
||||
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||
$agenda = new \pvv\side\Agenda([
|
||||
new \pvv\side\DBActivity($pdo),
|
||||
]);
|
||||
?><!DOCTYPE html>
|
||||
<html lang="no">
|
||||
<title>Kursverkstedet</title>
|
||||
<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="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">
|
||||
|
||||
<header>Kurs­verk­stedet</header>
|
||||
|
||||
<main>
|
||||
|
||||
<?php $limit = 0; ?>
|
||||
<?php foreach($agenda->getEventsBetween(new \DateTimeImmutable, (new \DateTimeImmutable)->add(new \DateInterval('P1M'))) as $event) { ?>
|
||||
|
||||
<article>
|
||||
<h2>
|
||||
<?php if ($event->getImageURL()) { ?>
|
||||
<img src="<?= $event->getImageURL() ?>">
|
||||
<?php } ?>
|
||||
<?php if (\pvv\side\Agenda::isToday($event->getStart())) { ?><strong><?php } ?>
|
||||
<em><?= $event->getRelativeDate() ?></em>
|
||||
<?php if (\pvv\side\Agenda::isToday($event->getStart())) { ?></strong><?php } ?>
|
||||
<a href="<?= $event->getURL() ?>"><?= $event->getName() ?></a>
|
||||
</h2>
|
||||
<ul class="subtext">
|
||||
<li>Tid: <strong><?= trim(strftime('%e. %b %H.%M', $event->getStart()->getTimeStamp())) ?></strong>
|
||||
<li>Sted: <strong><?= $event->getLocation() ?></strong>
|
||||
<li>Arrangør: <strong><?= $event->getOrganiser() ?></strong>
|
||||
</ul>
|
||||
|
||||
<?php $description = $event->getDescription(); ?>
|
||||
<?php if ($limit) array_splice($description, $limit); ?>
|
||||
<?= implode($description, "<br>") ?>
|
||||
</article>
|
||||
|
||||
<?php if (!$limit || $limit > 4) {$limit = 4;} else $limit = 2; ?>
|
||||
<?php } ?>
|
||||
|
||||
</main>
|
||||
|
||||
<nav><ul>
|
||||
<li><a href="../">hjem</a></li>
|
||||
<li class="active"><a href="../kurs/">kurs</a></li>
|
||||
<li><a href="../kalender/">kalender</a></li>
|
||||
<li><a href="../aktiviteter/">aktiviteter</a></li>
|
||||
<li><a href="../prosjekt/">prosjekter</a></li>
|
||||
<li><a href="../sosiale/">sosiale</a></li>
|
||||
<li><a href="../kontakt/">kontakt</a></li>
|
||||
<li><a href="../pvv/">wiki</a></li>
|
||||
</nav>
|
|
@ -9,6 +9,7 @@ use \pvv\side\Agenda;
|
|||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
||||
<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">
|
||||
|
||||
<header>Sosial­verk­stedet</header>
|
||||
|
|
|
@ -0,0 +1,67 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang=no>
|
||||
<style>
|
||||
p {hyphens: auto;}
|
||||
</style>
|
||||
<title>Programvareverkstedet</title>
|
||||
<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="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">
|
||||
|
||||
<header>Programvareverkstedet</header>
|
||||
|
||||
<main>
|
||||
|
||||
<article>
|
||||
<h2>Om Programvareverkstedet</h2>
|
||||
|
||||
<p>Beskrivelse av PVV her</p>
|
||||
</article>
|
||||
|
||||
<article>
|
||||
<h2>Hva betyr det å være et medlem av PVV?</h2>
|
||||
|
||||
<p>Alle medlemmer av PVV får brukerkonto på PVV sine maskiner, epostadresse (<code lang="">brukernavn@pvv.ntnu.no</code> og <code lang="">brukernavn@pvv.org</code>) og 757 MB diskplass, som blant annet kan brukes til hjemmesider. Dersom du går tom for diskplass er det mulig å kjøpe utvidet diskkvote. For å aktivere brukerkonto på PVV, må man møte opp på lokalene slik at man får satt passord.
|
||||
|
||||
<p>I tillegg får man tilgang til PVVs to oppholdsrom, rom 226 og 229 i Sentralbygg 2 (se kart over andre etasje i SBII). På rom 229 er det seks arbeidsstasjoner som kjører Linux, macOS, FreeBSD, samt bordplass, nettverksuttak og egen Wifi AP for laptoper. På rom 226 er det sofakrok med TV og diverse spillkonsoller.
|
||||
|
||||
<p>Dersom du ønsker å lære Unix er det god anledning til det på PVV. Vi har et sterkt faglig miljø, med mange svært kunnskapsrike personer, som stort sett ikke har noe imot å hjelpe nybegynnere. Man kan få større privilegier her enn på stud-maskinene, for eksempel gjennom å bli med i PVV-drift.
|
||||
|
||||
<p>PVV har gratis kaffe for medlemmer. Vi organiserer kurs og andre arrangementer. De aller fleste arrangementene er gratis.
|
||||
|
||||
<p>PVV har også ei relativt innholdsrik boksamling til disposisjon for medlemmene, samt ei bokhylle full av blad og tegneserier. (For tiden abonnerer vi på Lunch tegneserie). Vi har i tillegg et romslig bokbudsjett, så dersom du har forslag til bøker/blad vi burde kjøpe inn er det bare å sende en mail til styret (<code lang="">pvv@pvv.ntnu.no</code>). Ta en titt på hva som står i bokhyllen.
|
||||
|
||||
<p>PVV har også en del brettspill du kan prøve.
|
||||
</article>
|
||||
|
||||
<article>
|
||||
<h2>Hvordan bli medlem</h2>
|
||||
|
||||
<p>Første steg for å bli medlem i PVV er å betale medlemskontingent.
|
||||
|
||||
<p>Medlemskontingenten er kr 50,00 per år. Det er også mulig å bli livstidsmedlem ved å betale kr 1024,00 én gang. Kontingent betales til konto <code lang="">8601.11.16916</code>. Betalingen Må merkes med NTNU brukernavn.
|
||||
|
||||
<p>Det er mulig å betale for flere år samtidig ved å betale et helt multiplum av kr 50.
|
||||
|
||||
<p>Kontingentinnbetalinger blir registrert i medlemsdatabasen, og det er lurt å sjekke at betalingen din dukker opp her (merk at det kan ta litt tid fra du betaler til kasserer får beskjed om det, og deretter litt tid før kasserer fører betalingen inn i regnskap og medlemsdatabase).
|
||||
|
||||
<p>
|
||||
<a class="btn" href="../paamelding/">Registrer deg som bruker</a>
|
||||
</p>
|
||||
|
||||
</article>
|
||||
|
||||
</main>
|
||||
|
||||
<nav><ul>
|
||||
<li><a href="../">hjem</a></li>
|
||||
<!--<li><a href="../prosjekt/">prosjekter</a></li>-->
|
||||
<li><a href="../kalender/">kalender</a></li>
|
||||
<li><a href="../aktiviteter/">aktiviteter</a></li>
|
||||
<li><a href="../prosjekt/">prosjekter</a></li>
|
||||
<li><a href="../kontakt/">kontakt</a></li>
|
||||
<li><a href="../pvv/">wiki</a></li>
|
||||
</nav>
|
|
@ -45,29 +45,31 @@ if (isset($_SESSION['userdata'])) { // if logged in with feide
|
|||
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<title>PVV registrering</title>
|
||||
|
||||
<head>
|
||||
<title>PVV registrering</title>
|
||||
<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/nav.css">
|
||||
</head>
|
||||
|
||||
<header>Registrerings­verks­stedet</header>
|
||||
<body>
|
||||
<nav>
|
||||
<?php echo navbar(1); ?>
|
||||
<?php echo loginbar(null, $pdo); ?>
|
||||
</nav>
|
||||
|
||||
<main>
|
||||
|
||||
<article>
|
||||
<h2>Registrer deg som bruker</h2>
|
||||
|
||||
<p>
|
||||
PVV har for øyeblikket et manuelt system for å legge til nye brukere.
|
||||
Det koster 50kr året for medlemskap. For mer informasjon, les <a href="/pvv/Medlem"> her</a>.
|
||||
</p>
|
||||
<p>
|
||||
Vi foretrekker at du kommer inn på besøk på <a href="https://use.mazemap.com/?v=1&left=10.4032&right=10.4044&top=63.4178&bottom=63.4172&campusid=1&zlevel=2&sharepoitype=point&sharepoi=10.40355%2C63.41755%2C2&utm_medium=longurl">våre lokaler på stripa</a>
|
||||
for å sette sette opp din PVV bruker. Hvis du vil, kan du også sende oss
|
||||
en melding fra denne siden med ditt navn, epost og NTNU brukernavn.
|
||||
For å aktivere din brukerkonto på PVV, må du møte opp på
|
||||
lokalene våre slik at du kan få satt ditt passord.
|
||||
lokalene våre slik at vi kan få satt et passord.
|
||||
</p>
|
||||
|
||||
<?php if($attrs) { //logged in with pvv account?>
|
||||
|
@ -96,11 +98,25 @@ if (isset($_SESSION['userdata'])) { // if logged in with feide
|
|||
<a class="btn" href=".?login">Hent navn og epost fra Feide</a>
|
||||
<?php }?>
|
||||
|
||||
</article>
|
||||
<h3>Meldingen du kan sende:</h3>
|
||||
|
||||
|
||||
<?php if($attrs) { //logged in with pvv account?>
|
||||
<p>
|
||||
Du er logget in som <i><?= htmlspecialchars($attrs['uid'][0]) ?></i>,
|
||||
du trenger ikke sende melding om ny bruker fordi du helt klart har en.
|
||||
</p>
|
||||
<?php } elseif (isset($_SESSION['userdata'])) { //logged in with feide ?>
|
||||
<code>
|
||||
Til: drift@pvv.ntnu.no<br>
|
||||
Fra: nettsiden<br>
|
||||
<br/>
|
||||
<?= nl2br($mailBody) ?>
|
||||
</code><br>
|
||||
<br>
|
||||
Todo: Legg til en "send mail" knapp
|
||||
<?php } else { // not logged in?>
|
||||
<a class="btn" href=".?login">æ kanj itj lææv uten dæ piær!</a>
|
||||
<?php }?>
|
||||
</main>
|
||||
|
||||
<nav>
|
||||
<?= navbar(1); ?>
|
||||
<?= loginbar(); ?>
|
||||
</nav>
|
||||
</body>
|
||||
|
|
|
@ -46,17 +46,21 @@ if($new == 0){
|
|||
}
|
||||
?>
|
||||
|
||||
<head>
|
||||
<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">
|
||||
<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/splash.css">
|
||||
</head>
|
||||
|
||||
<header>Prosjekt­verk­stedet</header>
|
||||
<body>
|
||||
<nav>
|
||||
<?php echo navbar(1, 'prosjekt'); ?>
|
||||
<?php echo loginbar(null, $pdo); ?>
|
||||
</nav>
|
||||
|
||||
<main>
|
||||
|
||||
<article>
|
||||
<h2>Nytt prosjekt</h2>
|
||||
|
||||
<form action="update.php", method="post">
|
||||
|
@ -65,8 +69,9 @@ if($new == 0){
|
|||
<input type="text" name="title" value="<?= $project->getName() ?>" class="boxinput" style="width:66%;"><br>
|
||||
|
||||
<p class="subtitle no-chin">Beskrivelse</p>
|
||||
<p class="subnote">Hva går prosjektet ditt ut på?</p>
|
||||
<textarea name="desc" style="width:100%" rows="8" class="boxinput"><?= $project->getDescription() ?></textarea>
|
||||
<p class="subnote no-chin">Hva går prosjektet ditt ut på?</p>
|
||||
<p class="subnote">Den første linjen blir vist på prosjektkortet, prøv å holde den kort!</p>
|
||||
<textarea name="desc" style="width:100%" rows="8" class="boxinput"><?= implode($project->getDescription(), "\n"); ?></textarea>
|
||||
|
||||
<?= '<input type="hidden" name="id" value="' . $project->getID() . '" />' ?>
|
||||
|
||||
|
@ -76,11 +81,5 @@ if($new == 0){
|
|||
<?= '<input type="submit" class="btn" value="' . ($new ? 'Opprett prosjekt' : 'Lagre endringer') . '"></a>'; ?>
|
||||
</div>
|
||||
</form>
|
||||
</article>
|
||||
|
||||
</main>
|
||||
|
||||
<nav>
|
||||
<?= navbar(1, 'prosjekt'); ?>
|
||||
<?= loginbar(); ?>
|
||||
</nav>
|
||||
</body>
|
|
@ -5,20 +5,27 @@ $translation = ['i dag', 'i morgen', 'denne uka', 'neste uke', 'denne måneden',
|
|||
$projectManager = new \pvv\side\ProjectManager($pdo);
|
||||
$projects = $projectManager->getAll();
|
||||
?>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="no">
|
||||
<head>
|
||||
<title>Prosjektverkstedet</title>
|
||||
<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="stylesheet" href="../css/normalize.css">
|
||||
<link rel="stylesheet" href="../css/style.css">
|
||||
<link rel="stylesheet" href="../css/nav.css">
|
||||
<link rel="stylesheet" href="../css/splash.css">
|
||||
<link rel="stylesheet" href="../css/projects.css">
|
||||
</head>
|
||||
|
||||
<header>Prosjekt­verk­stedet</header>
|
||||
<body>
|
||||
<nav>
|
||||
<?php echo navbar(1, 'prosjekt'); ?>
|
||||
<?php echo loginbar(null, $pdo); ?>
|
||||
</nav>
|
||||
|
||||
<main>
|
||||
|
||||
<article class="threed">
|
||||
<h2>Prosjekter</h2>
|
||||
<?php
|
||||
if(count($projects) == 0){
|
||||
|
@ -33,10 +40,10 @@ $projects = $projectManager->getAll();
|
|||
<p>Lyst til å gjøre noe kult? Her er et utvalg av de prosjektene som PVVere har laget. Mangler det noe, eller brenner du for noe annet? Sett opp et eget prosjekt!</p>
|
||||
<a class="btn" href="edit.php?new=1">Lag prosjekt</a>
|
||||
<a class="btn" href="mine.php">Mine prosjekter</a>
|
||||
<hr class="projects-divider">
|
||||
|
||||
<ul class="calendar-events">
|
||||
<?php
|
||||
$randProjects = array_rand($projects, min(3, count($projects)));
|
||||
$randProjects = array_rand($projects, min(6, count($projects)));
|
||||
if (!is_array($randProjects)) {
|
||||
$randProjects = [$randProjects];
|
||||
};
|
||||
|
@ -44,24 +51,16 @@ $projects = $projectManager->getAll();
|
|||
$project = $projects[$i];
|
||||
?>
|
||||
|
||||
<li>
|
||||
<p class="noborder no-chin"><?= "<a href=\"project/?id=" . $project->getID() . "\">" . $project->getName() . "</a>"; ?></p>
|
||||
<p class="subnote"><?= "Organisert av: " . $project->getOwner(); ?></p>
|
||||
<span>
|
||||
<p><?= $project->getDescription(); ?></p>
|
||||
</span>
|
||||
</li>
|
||||
|
||||
<div class="project-card">
|
||||
<div class="card-content">
|
||||
<h4 class="project-title"><?= $project->getName(); ?></h4>
|
||||
<p><?= $project->getDescription()[0]; ?></p>
|
||||
</div>
|
||||
<p class="project-organizer">Organisert av<br><?= $project->getOwner(); ?></p>
|
||||
</div>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</article>
|
||||
|
||||
</main>
|
||||
|
||||
<nav>
|
||||
<?= navbar(1, 'prosjekt'); ?>
|
||||
<?= loginbar($sp, $pdo); ?>
|
||||
</nav>
|
||||
</body>
|
||||
|
|
|
@ -71,7 +71,7 @@ $projects = array_values(array_filter(
|
|||
<div class="event">
|
||||
<div class="event-info">
|
||||
<h3 class="no-chin"><?= '<a href="edit.php?id=' . $project->getID() . '">' . $project->getName() . '</a>'; ?></h3>
|
||||
<p><?= $project->getDescription(); ?></p>
|
||||
<p><?= implode($project->getDescription()); ?></p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
|
Loading…
Reference in New Issue