it* my version of playonbsd.com data Err codevoid.de 70 i Err codevoid.de 70 hgit clone git://git.codevoid.de/playonbsd-sdk.git URL:git://git.codevoid.de/playonbsd-sdk.git codevoid.de 70 1Log /git/playonbsd-sdk/log.gph codevoid.de 70 1Files /git/playonbsd-sdk/files.gph codevoid.de 70 1Refs /git/playonbsd-sdk/refs.gph codevoid.de 70 1README /git/playonbsd-sdk/file/README.gph codevoid.de 70 i--- Err codevoid.de 70 1commit c112345fcf267fb462af1bdf949d7991bd14d3ac /git/playonbsd-sdk/commit/c112345fcf267fb462af1bdf949d7991bd14d3ac.gph codevoid.de 70 1parent cadbf9b962b1e557b18525a8f3e119daf14a214b /git/playonbsd-sdk/commit/cadbf9b962b1e557b18525a8f3e119daf14a214b.gph codevoid.de 70 hAuthor: Stefan Hagen URL:mailto:sh+git[at]codevoid[dot]de codevoid.de 70 iDate: Mon, 11 May 2020 20:26:03 +0200 Err codevoid.de 70 i Err codevoid.de 70 iadd store query Err codevoid.de 70 i Err codevoid.de 70 iDiffstat: Err codevoid.de 70 i M lib/PlayOnBSD.pm | 41 +++++++++++++++++-------------- Err codevoid.de 70 i M playonbsd.sqlite | 0 Err codevoid.de 70 i M schema.sql | 11 ++--------- Err codevoid.de 70 i M views/index.tt | 28 ++++++++++++++-------------- Err codevoid.de 70 i Err codevoid.de 70 i4 files changed, 39 insertions(+), 41 deletions(-) Err codevoid.de 70 i--- Err codevoid.de 70 1diff --git a/lib/PlayOnBSD.pm b/lib/PlayOnBSD.pm /git/playonbsd-sdk/file/lib/PlayOnBSD.pm.gph codevoid.de 70 it@@ -34,41 +34,46 @@ sub init_db { Err codevoid.de 70 i Err codevoid.de 70 i get '/' => sub { Err codevoid.de 70 i my $db = connect_db(); Err codevoid.de 70 i- Err codevoid.de 70 i- my $sql = 'SELECT Err codevoid.de 70 i+ my $game_sql = 'SELECT Err codevoid.de 70 i game.id AS GameID, Err codevoid.de 70 i game.name AS GameName, Err codevoid.de 70 i game.imgsrc AS GameImageSrc, Err codevoid.de 70 i engine.id AS EngineID, Err codevoid.de 70 i engine.name AS EngineName, Err codevoid.de 70 i engine.href AS EngineLinkSrc, Err codevoid.de 70 i- store.name AS StoreName, Err codevoid.de 70 i- store.href AS StoreLink, Err codevoid.de 70 i game.comment AS GameComment, Err codevoid.de 70 i game.createdat AS GameCreatedAt, Err codevoid.de 70 i game.changedat AS GameChangedAt Err codevoid.de 70 i- FROM Err codevoid.de 70 i- game Err codevoid.de 70 i+ FROM game Err codevoid.de 70 i INNER JOIN engine ON Err codevoid.de 70 i engine.id = game.engine_id Err codevoid.de 70 i- INNER JOIN gamestore_map ON Err codevoid.de 70 i- gamestore_map.game_id = game.id Err codevoid.de 70 i- LEFT OUTER JOIN store ON Err codevoid.de 70 i- gamestore_map.store_id = store.id Err codevoid.de 70 i ORDER BY game.id DESC'; Err codevoid.de 70 i Err codevoid.de 70 i- my $sth = $db->prepare($sql) Err codevoid.de 70 i- or die $db->errstr; Err codevoid.de 70 i- Err codevoid.de 70 i- $sth->execute Err codevoid.de 70 i- or die $sth->errstr; Err codevoid.de 70 i+ my $store_sql = 'SELECT Err codevoid.de 70 i+ storeinfo.id AS StoreInfoID, Err codevoid.de 70 i+ storeinfo.game_id AS StoreInfoGameID, Err codevoid.de 70 i+ storeinfo.name AS StoreInfoName, Err codevoid.de 70 i+ storeinfo.href AS StoreInfoLinkSrc, Err codevoid.de 70 i+ storeinfo.info AS StoreInfoInfo, Err codevoid.de 70 i+ storeinfo.createdat AS StoreInfoCreatedAt, Err codevoid.de 70 i+ storeinfo.changedat AS StoreInfoChangedAt Err codevoid.de 70 i+ FROM storeinfo Err codevoid.de 70 i+ ORDER BY storeinfo.id DESC'; Err codevoid.de 70 i+ Err codevoid.de 70 i+ my $game_sth = $db->prepare($game_sql) or die $db->errstr; Err codevoid.de 70 i+ $game_sth->execute or die $game_sth->errstr; Err codevoid.de 70 i+ my $game_res = $game_sth->fetchall_hashref('GameID'); Err codevoid.de 70 i Err codevoid.de 70 i- my $res = $sth->fetchall_hashref('GameID'); Err codevoid.de 70 i+ my $store_sth = $db->prepare($store_sql) or die $db->errstr; Err codevoid.de 70 i+ $store_sth->execute or die $store_sth->errstr; Err codevoid.de 70 i+ my $store_res = $store_sth->fetchall_hashref('StoreInfoID'); Err codevoid.de 70 i Err codevoid.de 70 i- print Dumper($res); Err codevoid.de 70 i+ print Dumper($game_res); Err codevoid.de 70 i+ print Dumper($store_res); Err codevoid.de 70 i Err codevoid.de 70 i template 'index.tt', { Err codevoid.de 70 i- games => $res Err codevoid.de 70 i+ game => $game_res, Err codevoid.de 70 i+ store => $store_res Err codevoid.de 70 i }; Err codevoid.de 70 i }; Err codevoid.de 70 i Err codevoid.de 70 1diff --git a/playonbsd.sqlite b/playonbsd.sqlite /git/playonbsd-sdk/file/playonbsd.sqlite.gph codevoid.de 70 iBinary files differ. Err codevoid.de 70 1diff --git a/schema.sql b/schema.sql /git/playonbsd-sdk/file/schema.sql.gph codevoid.de 70 it@@ -25,17 +25,10 @@ create table if not exists engine ( Err codevoid.de 70 i changedat integer not null Err codevoid.de 70 i ); Err codevoid.de 70 i Err codevoid.de 70 i--- mapping table to map game entries with store entries Err codevoid.de 70 i-create table if not exists gamestore_map ( Err codevoid.de 70 i- game_id integer REFERENCES game(id), Err codevoid.de 70 i- store_id integer REFERENCES store(id), Err codevoid.de 70 i- createdat integer not null, Err codevoid.de 70 i- changedat integer not null Err codevoid.de 70 i-); Err codevoid.de 70 i- Err codevoid.de 70 i -- store entries Err codevoid.de 70 i-create table if not exists store ( Err codevoid.de 70 i+create table if not exists storeinfo ( Err codevoid.de 70 i id integer primary key autoincrement, Err codevoid.de 70 i+ game_id integer REFERENCES game(id), Err codevoid.de 70 i name string not null, Err codevoid.de 70 i href string, Err codevoid.de 70 i info string, Err codevoid.de 70 1diff --git a/views/index.tt b/views/index.tt /git/playonbsd-sdk/file/views/index.tt.gph codevoid.de 70 it@@ -4,7 +4,7 @@ Err codevoid.de 70 i

Welcome to playonbsd.com

Err codevoid.de 70 i

The OpenBSD Gaming Community

Err codevoid.de 70 i Err codevoid.de 70 i-[% IF games.size %] Err codevoid.de 70 i+[% IF game.size %] Err codevoid.de 70 i Err codevoid.de 70 i Err codevoid.de 70 i Err codevoid.de 70 i Err codevoid.de 70 i- [% FOREACH entry IN games.keys.nsort %] Err codevoid.de 70 i+ [% FOREACH entry IN game.keys.nsort %] Err codevoid.de 70 i Err codevoid.de 70 i Err codevoid.de 70 i Err codevoid.de 70 i Err codevoid.de 70 i Err codevoid.de 70 i Err codevoid.de 70 i Err codevoid.de 70 i Err codevoid.de 70 i Err codevoid.de 70 i Err codevoid.de 70 i [% END %] Err codevoid.de 70 i
Err codevoid.de 70 it@@ -32,40 +32,40 @@ Err codevoid.de 70 i ChangedAt Err codevoid.de 70 i
Err codevoid.de 70 i- [% games.$entry.game_id| html %] Err codevoid.de 70 i+ [% game.$entry.GameID| html %] Err codevoid.de 70 i Err codevoid.de 70 i- [% games.$entry.title| html %] Err codevoid.de 70 i+ [% game.$entry.GameName| html %] Err codevoid.de 70 i Err codevoid.de 70 i- Err codevoid.de 70 i+ Err codevoid.de 70 i Err codevoid.de 70 i- [% games.$entry.engine | html %] Err codevoid.de 70 i+ [% game.$entry.EngineName | html %] Err codevoid.de 70 i Err codevoid.de 70 i- [% FOREACH id IN games.$entry.stores %] Err codevoid.de 70 i- [% games.$entry.stores.$id.name | html %] Err codevoid.de 70 i- [% END %] Err codevoid.de 70 i- [% games.$entry.stores | html %] Err codevoid.de 70 i+ [% FOREACH id IN store.keys.nsort %] Err codevoid.de 70 i+ Err codevoid.de 70 i+ [% store.$id.StoreInfoName | html %]
Err codevoid.de 70 i+ [% END %] Err codevoid.de 70 i
Err codevoid.de 70 i- [% games.$entry.comment | html %] Err codevoid.de 70 i+ [% game.$entry.GameComment| html %] Err codevoid.de 70 i Err codevoid.de 70 i- [% games.$entry.createdat | html %] Err codevoid.de 70 i+ [% game.$entry.GameCreatedAt | html %] Err codevoid.de 70 i Err codevoid.de 70 i- [% games.$entry.changedat | html %] Err codevoid.de 70 i+ [% game.$entry.GameChangedAt | html %] Err codevoid.de 70 i
Err codevoid.de 70 i [% ELSE %] Err codevoid.de 70 i- No games here so far
Err codevoid.de 70 i+ No game here so far
Err codevoid.de 70 i [% END %] Err codevoid.de 70 i Err codevoid.de 70 i Err codevoid.de 70 .