Set social activity text through class functions.

This commit is contained in:
Jørn Åne 2016-08-26 23:16:51 +02:00
parent 1650328ccd
commit b1266aa448
6 changed files with 123 additions and 86 deletions

View File

@ -37,6 +37,16 @@ abstract class Event {
public abstract function getStop(); /* : DateTimeImmutable */
public abstract function getName();
public abstract function getLocation();
public abstract function getOrganiser();
public abstract function getURL(); /* : string */
public abstract function getImageURL(); /* : string */
public abstract function getDescription(); /* : string */
}

View File

@ -27,4 +27,18 @@ class AnimekveldEvent extends Event {
return '/anime/';
}
public function getImageURL() {
return '/sosiale/animekveld.jpg';
}
public function getDescription() {
return [
'Er du glad i japansk tegnefilm eller er du bare nysgjerrige på hva animeer er?' . "\n" .
'Bli med oss. Hver fredag finner vi de nyeste episodene og ser på dem mens vi nyter noe godt.' . "\n" .
'Vi viser denne senongens nye animeer.',
'Alle kan være med på å anbefalle eller veto serier.'
];
}
}

View File

@ -27,4 +27,35 @@ class BrettspillEvent extends Event {
return '/brettspill/';
}
public function getImageURL() {
return null;
}
public function getDescription() {
return [
'Er du en hardcore brettspillentusiast eller en nybegynner som har bare spilt ludo?' . "\n" .
'Da er vårt brettspillkveld noe for deg.' . "\n" .
'Vi tar ut et par spill fra vårt samling of spiller så mye vi orker. Kom innom!',
'<a class="btn" href="#b_spill">Vår samling</a>',
'<ul id="b_spill" class="collapsable">' . "\n" .
'<li>Dominion*' . "\n" .
'<li>Three cheers for master' . "\n" .
'<li>Avalon' . "\n" .
'<li>Hanabi' . "\n" .
'<li>Cards aginst humanity*' . "\n" .
'<li>Citadels' . "\n" .
'<li>Munchkin**' . "\n" .
'<li>Exploding kittens**' . "\n" .
'<li>Aye dark overlord' . "\n" .
'<li>Settlers of catan*' . "\n" .
'<li>Risk**' . "\n" .
'<li>og mange flere...' . "\n" .
'</ul>',
'* Vi har flere ekspansjon til spillet',
'** Vi har flere varianter av spillet'
];
}
}

View File

@ -27,4 +27,20 @@ class NerdepitsaEvent extends Event {
return '/nerdepitsa/';
}
public function getImageURL() {
return '/sosiale/nerdepitsa.jpg';
}
public function getDescription() {
return [
'Hei, har du lyst til å bli med på pizzaspising på Peppes i Kjøpmannsgata annenhver fredag klokken 19.00?',
'Vi er en gjeng hvis eneste gjennomgående fellestrekk er en viss interesse for data, samt at vi har eller har hatt en tilknytning til studentmiljøet ved NTNU. For å treffe andre som også faller inn under disse kriteriene treffes vi over pizza på Peppes annenhver fredag. (Definisjon: En fredag er annenhver dersom den ligger i en partallsuke). Vi har reservasjon under navnet Christensen.',
'Det er ikke noe krav at du er nerd ... noen av oss virker faktisk nesten normale. Det er heller ikke noe krav at du kjenner noen fra før. Det er ikke engang et krav at du må like pizza (selv om det hjelper). Dersom du har lyst til å treffe personer fra datamiljøet ved NTNU så still opp, vi biter ikke (vel, bortsett fra pizzaen da ...)',
'Strategien er at vi bestiller så mye pizza som vi i fellesskap klarer å stappe ned, for deretter splitte pizza-regningen broderlig; mens hver enkelt betaler for sin egen drikke, dessert mm. '
];
}
}

View File

@ -1,86 +0,0 @@
<!DOCTYPE html>
<html lang="no">
<title>Sosialverkstedet</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">
<nav>
<li><a href="../index.php">hjem</a></li>
<li><a href="../kurs/index.html">kurs</a></li>
<li><a href="../prosjekt/index.html">prosjekt</a></li>
<li class="active"><a href="../sosiale/index.html">sosiale</a></li>
<li><a href="../wiki/index.html">wiki</a></li>
</nav>
<header>Sosial&shy;verk&shy;stedet</header>
<main>
<article>
<h2><img src="../sosiale/animekveld.jpg"><em>fredag</em> Animekveld</h2>
<ul class="subtext">
<li>Tid: <a>Hver fredag 19:30</a>
<li>Sted: <a>Koserommet</a>
<li>Arrangør: <a>Liang Zhu</a>
</ul>
<p>Er du glad i japansk tegnefilm eller er du bare nysgjerrige på hva animeer er? Bli med oss. Hver fredag finner vi de nyeste episodene og ser på dem mens vi nyter noe godt. Vi viser denne senongens nye animeer.
<p>Alle kan være med på å anbefalle eller veto serier.
<p><a class="btn" href="http://anichart.net/">Sesongoversikten</a>
<p><a class="btn" href="#">Påminn meg</a>
</article>
<article>
<h2><em>Torsdag</em> Brettspillkveld</h2>
<ul class="subtext">
<li>Tid: <a>Hver Torsdag 19:30</a>
<li>Sted: <a>Koserommet</a>
</ul>
<p>Er du en hardcore brettspillentusiast eller en nybegynner som har bare spilt ludo? Da er vårt brettspillkveld noe for deg. Vi tar ut et par spill fra vårt samling of spiller så mye vi orker. Kom innom!
<p><a class="btn" href="#b_spill">Vår samling</a>
<ul id="b_spill" class="collapsable">
<li>Dominion*
<li>Three cheers for master
<li>Avalon
<li>Hanabi
<li>Cards aginst humanity*
<li>Citadels
<li>Munchkin**
<li>Exploding kittens**
<li>Aye dark overlord
<li>Settlers of catan*
<li>Risk**
<li>og mange flere...
</ul>
<p>* Vi har flere ekspansjon til spillet
<P>** Vi har flere varianter av spillet
<p><a class="btn" href="#">Påminn meg</a>
</article>
<article>
<h2><img src="nerdepitsa.jpg"><em>neste uke</em> Nerdepitsa</h2>
<ul class="subtext">
<li>Tid: <a>2016-08-26 19:00</a>
<li>Sted: <a>Peppes Pizza Kjøpmansgata</a>
<li>Arrangør: <a>Anders Christensen</a>
</ul>
<p>Hei, har du lyst til å bli med på pizzaspising på Peppes i Kjøpmannsgata annenhver fredag klokken 19.00?
<p>Vi er en gjeng hvis eneste gjennomgående fellestrekk er en viss interesse for data, samt at vi har eller har hatt en tilknytning til studentmiljøet ved NTNU. For å treffe andre som også faller inn under disse kriteriene treffes vi over pizza på Peppes annenhver fredag. (Definisjon: En fredag er annenhver dersom den ligger i en partallsuke). Vi har reservasjon under navnet Christensen.
<p>Det er ikke noe krav at du er nerd ... noen av oss virker faktisk nesten normale. Det er heller ikke noe krav at du kjenner noen fra før. Det er ikke engang et krav at du må like pizza (selv om det hjelper). Dersom du har lyst til å treffe personer fra datamiljøet ved NTNU så still opp, vi biter ikke (vel, bortsett fra pizzaen da ...)
<p>Strategien er at vi bestiller så mye pizza som vi i fellesskap klarer å stappe ned, for deretter splitte pizza-regningen broderlig; mens hver enkelt betaler for sin egen drikke, dessert mm.
<p><a class="btn" href="#">Påminn meg</a>
</article>
</main>

52
www/sosiale/index.php Normal file
View File

@ -0,0 +1,52 @@
<?php
date_default_timezone_set('Europe/Oslo');
setlocale(LC_ALL, 'no_NO');
require __DIR__ . '/../../src/_autoload.php';
$agenda = new \pvv\side\Agenda([
new \pvv\side\social\NerdepitsaActivity,
new \pvv\side\social\AnimekveldActivity,
new \pvv\side\social\BrettspillActivity,
]); ?>
?><!DOCTYPE html>
<html lang="no">
<title>Sosialverkstedet</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">
<nav>
<li><a href="../index.php">hjem</a></li>
<li><a href="../kurs/index.html">kurs</a></li>
<li><a href="../prosjekt/index.html">prosjekt</a></li>
<li class="active"><a href="../sosiale/index.html">sosiale</a></li>
<li><a href="../wiki/index.html">wiki</a></li>
</nav>
<header>Sosial&shy;verk&shy;stedet</header>
<main>
<?php $limit = PHP_INT_MAX; ?>
<?php foreach($agenda->getNextOfEach(new \DateTimeImmutable) as $event) { ?>
<article>
<h2><img src="<?= $event->getImageURL() ?>"><em><?= $event->getRelativeDate() ?></em> <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 array_splice($description, $limit); ?>
<p><?= implode($description, "</p>\n<p>") ?></p>
<p><a class="btn" href="#">Påminn meg</a>
</article>
<?php if ($limit > 4) {$limit = 4;} else $limit = 2; ?>
<?php } ?>
</main>