From 66114f36f997d2c1304cd3cf821e2ecf4d753f12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rn=20=C3=85ne?= Date: Fri, 26 Aug 2016 17:04:20 +0200 Subject: [PATCH 1/4] Simplify class structure. --- src/pvv/side/activity.php | 6 ++-- src/pvv/side/dbactivity.php | 16 +--------- src/pvv/side/event.php | 2 +- src/pvv/side/events.php | 21 ------------- src/pvv/side/onceevent.php | 30 ------------------ src/pvv/side/repeatingactivity.php | 12 -------- src/pvv/side/simpleevent.php | 36 ++++++++++++++++++++++ src/pvv/side/social/animekveldactivity.php | 16 ++-------- src/pvv/side/social/brettspillactivity.php | 16 ++-------- src/pvv/side/social/nerdepitsaactivity.php | 16 ++-------- src/pvv/side/sql_config_example.php | 6 ---- 11 files changed, 46 insertions(+), 131 deletions(-) delete mode 100644 src/pvv/side/events.php delete mode 100644 src/pvv/side/onceevent.php delete mode 100644 src/pvv/side/repeatingactivity.php create mode 100644 src/pvv/side/simpleevent.php delete mode 100644 src/pvv/side/sql_config_example.php diff --git a/src/pvv/side/activity.php b/src/pvv/side/activity.php index b860fdd..9fd6a46 100644 --- a/src/pvv/side/activity.php +++ b/src/pvv/side/activity.php @@ -5,10 +5,8 @@ use \DateTimeImmutable; interface Activity { - public function getName(); /* : string */ + public function getNextEventFrom(DateTimeImmutable $date) /* : Event */; - public function getLocation(); /* : Location */ - - public function getOrganiser(); /* : User */ + public function getPreviousEventFrom(DateTimeImmutable $date) /* : Event */; } diff --git a/src/pvv/side/dbactivity.php b/src/pvv/side/dbactivity.php index 8b4929f..5362e06 100644 --- a/src/pvv/side/dbactivity.php +++ b/src/pvv/side/dbactivity.php @@ -4,7 +4,7 @@ namespace pvv\side; use \DateTimeImmutable; use \PDO; -class DBActivity implements RepeatingActivity { +class DBActivity implements Activity { public function __construct(PDO $pdo) { $this->pdo = $pdo; @@ -48,18 +48,4 @@ class DBActivity implements RepeatingActivity { return "User"; } - /* - public function getAllEvents(){ - global $url, $user,$pass,$db; - $events = array(); - $mysqli = new mysqli($url,$user,$pass,$db); - $result = $mysqli->query("SELECT name,start,stop,organiser,location FROM events"); - while($row = $result->fetch_assoc()){ - $ev = new OnceEvent($row['name'],$row['start'],$row['stop'],$row['organiser'],$row['location']); - array_push($events,$ev); - } - #array_sort($events); - return $events; - } - */ } diff --git a/src/pvv/side/event.php b/src/pvv/side/event.php index 0affb9d..08f365f 100644 --- a/src/pvv/side/event.php +++ b/src/pvv/side/event.php @@ -3,7 +3,7 @@ namespace pvv\side; use \DateTimeImmutable; -abstract class Event implements Activity { +abstract class Event { private $start; diff --git a/src/pvv/side/events.php b/src/pvv/side/events.php deleted file mode 100644 index 68e8320..0000000 --- a/src/pvv/side/events.php +++ /dev/null @@ -1,21 +0,0 @@ -query("SELECT name,start,stop,organiser,location FROM events"); - while($row = $result->fetch_assoc()){ - $ev = new OnceEvent($row['name'],$row['start'],$row['stop'],$row['organiser'],$row['location']); - array_push($events,$ev); - } - #array_sort($events); - return $events; - } -} - -?> diff --git a/src/pvv/side/onceevent.php b/src/pvv/side/onceevent.php deleted file mode 100644 index 3b41413..0000000 --- a/src/pvv/side/onceevent.php +++ /dev/null @@ -1,30 +0,0 @@ -name = $name; - $this->start = $start; - $this->end = $end; - $this->org = $org; - $this->log = $loc; - } - public function getStart(){ - return $this->start; - } - public function getStop(){ - return $this->end; - } - public function getOrganiser(){ - return $this->org; - } - public function getLocation(){ - return $this->loc; - } - public function getName(){ - return $this->name; - } - -} - diff --git a/src/pvv/side/repeatingactivity.php b/src/pvv/side/repeatingactivity.php deleted file mode 100644 index 9bcda82..0000000 --- a/src/pvv/side/repeatingactivity.php +++ /dev/null @@ -1,12 +0,0 @@ -name = $name; + $this->start = $start; + $this->end = $end; + $this->org = $org; + $this->log = $loc; + } + + public function getStart(){ + return $this->start; + } + + public function getStop(){ + return $this->end; + } + + public function getOrganiser(){ + return $this->org; + } + + public function getLocation(){ + return $this->loc; + } + + public function getName(){ + return $this->name; + } + +} diff --git a/src/pvv/side/social/animekveldactivity.php b/src/pvv/side/social/animekveldactivity.php index 3f2f590..11a0e37 100644 --- a/src/pvv/side/social/animekveldactivity.php +++ b/src/pvv/side/social/animekveldactivity.php @@ -1,11 +1,11 @@ format('H') > 20 || $date->format('H') == 19 && $date->format('i') > 30) @@ -33,16 +33,4 @@ class AnimekveldActivity implements RepeatingActivity { return new AnimekveldEvent($this->prevDate($date)); } - public function getName() /* : string */ { - return "Animekveld"; - } - - public function getLocation() /* : Location */ { - return "Koserommet"; - } - - public function getOrganiser() /* : User */ { - return "Liang Zhu"; - } - } diff --git a/src/pvv/side/social/brettspillactivity.php b/src/pvv/side/social/brettspillactivity.php index 19a31f3..7242f36 100644 --- a/src/pvv/side/social/brettspillactivity.php +++ b/src/pvv/side/social/brettspillactivity.php @@ -1,11 +1,11 @@ format('H') > 20 || $date->format('H') == 19 && $date->format('i') > 30) @@ -33,16 +33,4 @@ class BrettspillActivity implements RepeatingActivity { return new BrettspillEvent($this->prevDate($date)); } - public function getName() /* : string */ { - return "Brettspillkveld"; - } - - public function getLocation() /* : Location */ { - return "Koserommet"; - } - - public function getOrganiser() /* : User */ { - return "PVV"; - } - } diff --git a/src/pvv/side/social/nerdepitsaactivity.php b/src/pvv/side/social/nerdepitsaactivity.php index 4984d96..d320a51 100644 --- a/src/pvv/side/social/nerdepitsaactivity.php +++ b/src/pvv/side/social/nerdepitsaactivity.php @@ -1,11 +1,11 @@ format('H') > 19) @@ -37,16 +37,4 @@ class NerdepitsaActivity implements RepeatingActivity { return new NerdepitsaEvent($this->prevDate($date)); } - public function getName() /* : string */ { - return "Nerdepitsa"; - } - - public function getLocation() /* : Location */ { - return "Peppes Kjøpmansgata"; - } - - public function getOrganiser() /* : User */ { - return "Anders Christensen"; - } - } diff --git a/src/pvv/side/sql_config_example.php b/src/pvv/side/sql_config_example.php deleted file mode 100644 index ea7c6a6..0000000 --- a/src/pvv/side/sql_config_example.php +++ /dev/null @@ -1,6 +0,0 @@ - From 8519c00a575f05f61366d7ad97ce8de2294fb7d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rn=20=C3=85ne?= Date: Fri, 26 Aug 2016 17:04:49 +0200 Subject: [PATCH 2/4] Show more relevant times in upcoming activities. --- www/index.php | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/www/index.php b/www/index.php index 370bc3b..767f886 100644 --- a/www/index.php +++ b/www/index.php @@ -53,7 +53,7 @@ $agenda = new \pvv\side\Agenda([ -getNextDays() as $period => $events) if ($events && $counter1 < 3 && $counter2 < 10) { $counter1++ ?> +getNextDays() as $period => $events) if ($events && $counter1 < 2 && $counter2 < 10) { $counter1++ ?>
    • @@ -63,12 +63,15 @@ $agenda = new \pvv\side\Agenda([ getStart()) || $event->getStart()->sub(new DateInterval('P3D'))->getTimestamp() < time()) { - echo '' . strftime('%A', $event->getStart()->getTimestamp()) . ''; + echo '' . strftime('%a', $event->getStart()->getTimestamp()) . ''; } else { - echo '' . strftime('%e. %b', $event->getStart()->getTimestamp()) . ''; + echo '' . strftime('%e. %b', $event->getStart()->getTimestamp()) . ''; } -} ?> -getStart()->format('H:i'); ?> + echo '' . $event->getStart()->format('H:i') . ''; +} else { + echo '' . $event->getStart()->format('H:i') . ''; +} +?>
    From 328a2a31e6786d9515ba28ae3ab65f1c95b4b905 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rn=20=C3=85ne?= Date: Fri, 26 Aug 2016 17:22:11 +0200 Subject: [PATCH 3/4] Add URL property to events. --- src/pvv/side/event.php | 2 ++ src/pvv/side/social/animekveldevent.php | 4 ++++ src/pvv/side/social/brettspillevent.php | 4 ++++ src/pvv/side/social/nerdepitsaevent.php | 4 ++++ www/index.php | 8 ++++---- 5 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/pvv/side/event.php b/src/pvv/side/event.php index 08f365f..76eab76 100644 --- a/src/pvv/side/event.php +++ b/src/pvv/side/event.php @@ -17,4 +17,6 @@ abstract class Event { public abstract function getStop(); /* : DateTimeImmutable */ + public abstract function getURL(); /* : string */ + } diff --git a/src/pvv/side/social/animekveldevent.php b/src/pvv/side/social/animekveldevent.php index f9dd0ba..cabbb37 100644 --- a/src/pvv/side/social/animekveldevent.php +++ b/src/pvv/side/social/animekveldevent.php @@ -23,4 +23,8 @@ class AnimekveldEvent extends Event { return "Liang Zhu"; } + public function getURL() /* : string */ { + return '/anime/'; + } + } diff --git a/src/pvv/side/social/brettspillevent.php b/src/pvv/side/social/brettspillevent.php index a9bd58d..d9d49f3 100644 --- a/src/pvv/side/social/brettspillevent.php +++ b/src/pvv/side/social/brettspillevent.php @@ -23,4 +23,8 @@ class BrettspillEvent extends Event { return "PVV"; } + public function getURL() /* : string */ { + return '/brettspill/'; + } + } diff --git a/src/pvv/side/social/nerdepitsaevent.php b/src/pvv/side/social/nerdepitsaevent.php index 83b764c..9614de4 100644 --- a/src/pvv/side/social/nerdepitsaevent.php +++ b/src/pvv/side/social/nerdepitsaevent.php @@ -23,4 +23,8 @@ class NerdepitsaEvent extends Event { return "Anders Christensen"; } + public function getURL() /* : string */ { + return '/nerdepitsa/'; + } + } diff --git a/www/index.php b/www/index.php index 767f886..f70b0a8 100644 --- a/www/index.php +++ b/www/index.php @@ -1,8 +1,8 @@ setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $agenda = new \pvv\side\Agenda([ @@ -59,8 +59,8 @@ $agenda = new \pvv\side\Agenda([
    • -getName(); ?> - +getName(); ?> ++ */ ?> getStart()) || $event->getStart()->sub(new DateInterval('P3D'))->getTimestamp() < time()) { echo '' . strftime('%a', $event->getStart()->getTimestamp()) . ''; From 963973bc6bafe343293b60f941f7bc7fa34a907c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rn=20=C3=85ne?= Date: Fri, 26 Aug 2016 17:29:09 +0200 Subject: [PATCH 4/4] Show upcoming activity in the header on the main page. --- www/index.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/www/index.php b/www/index.php index f70b0a8..e4f8536 100644 --- a/www/index.php +++ b/www/index.php @@ -3,6 +3,7 @@ date_default_timezone_set('Europe/Oslo'); setlocale(LC_ALL, 'no_NO'); require __DIR__ . '/../src/_autoload.php'; require __DIR__ . '/../sql_config.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); $agenda = new \pvv\side\Agenda([ @@ -31,7 +32,13 @@ $agenda = new \pvv\side\Agenda([
      Program­vare­verk­stedet
        -
      • I DAG: nerdepitsa +getNextDays() as $period => $events) { + $event = reset($events); + echo '
      • ' . strtoupper($translation[$period]) . ': ' . $event->getName() . ''; + break; +} +?>
      @@ -50,7 +57,6 @@ $agenda = new \pvv\side\Agenda([

      Kommende arrangement

        - getNextDays() as $period => $events) if ($events && $counter1 < 2 && $counter2 < 10) { $counter1++ ?>