diff options
-rw-r--r-- | lib/VNDB/DB/Releases.pm | 6 | ||||
-rw-r--r-- | lib/VNDB/Handler/Releases.pm | 7 | ||||
-rw-r--r-- | lib/VNDB/Util/Misc.pm | 1 | ||||
-rw-r--r-- | util/sql/schema.sql | 6 | ||||
-rw-r--r-- | util/updates/update_20190816.sql | 2 |
5 files changed, 15 insertions, 7 deletions
diff --git a/lib/VNDB/DB/Releases.pm b/lib/VNDB/DB/Releases.pm index f2f6a726..2362fe49 100644 --- a/lib/VNDB/DB/Releases.pm +++ b/lib/VNDB/DB/Releases.pm @@ -85,7 +85,7 @@ sub dbReleaseGet { ); my @select = ( - qw|r.id r.title r.original r.website r.l_steam r.l_dlsite r.l_dlsiteen r.l_gog r.l_denpa r.l_jlist r.released r.minage r.type r.patch|, + qw|r.id r.title r.original r.website r.l_steam r.l_dlsite r.l_dlsiteen r.l_gog r.l_denpa r.l_jlist r.l_gyutto r.released r.minage r.type r.patch|, $o{what} =~ /extended/ ? qw|r.notes r.catalog r.gtin r.resolution r.voiced r.freeware r.doujin r.uncensored r.ani_story r.ani_ero r.engine r.hidden r.locked| : (), $o{pid} ? ('rp.developer', 'rp.publisher') : (), ); @@ -123,7 +123,7 @@ sub dbReleaseGetRev { $o{rev} ||= $self->dbRow('SELECT MAX(rev) AS rev FROM changes WHERE type = \'r\' AND itemid = ?', $o{id})->{rev}; - my $select = 'c.itemid AS id, r.title, r.original, r.website, r.l_steam, r.l_dlsite, r.l_dlsiteen, r.l_gog, r.l_denpa, r.l_jlist, r.released, r.minage, r.type, r.patch'; + my $select = 'c.itemid AS id, r.title, r.original, r.website, r.l_steam, r.l_dlsite, r.l_dlsiteen, r.l_gog, r.l_denpa, r.l_jlist, r.l_gyutto, r.released, r.minage, r.type, r.patch'; $select .= ', r.notes, r.catalog, r.gtin, r.resolution, r.voiced, r.freeware, r.doujin, r.uncensored, r.ani_story, r.ani_ero, r.engine, ro.hidden, ro.locked' if $o{what} =~ /extended/; $select .= ', extract(\'epoch\' from c.added) as added, c.requester, c.comments, u.username, c.rev, c.ihid, c.ilock'; $select .= ', c.id AS cid, NOT EXISTS(SELECT 1 FROM changes c2 WHERE c2.type = c.type AND c2.itemid = c.itemid AND c2.rev = c.rev+1) AS lastrev'; @@ -214,7 +214,7 @@ sub dbReleaseRevisionInsert { my($self, $o) = @_; my %set = map exists($o->{$_}) ? ("$_ = ?", $o->{$_}) : (), - qw|title original gtin catalog website l_steam l_dlsite l_dlsiteen l_gog l_denpa l_jlist released notes minage type + qw|title original gtin catalog website l_steam l_dlsite l_dlsiteen l_gog l_denpa l_jlist l_gyutto released notes minage type patch resolution voiced freeware doujin uncensored ani_story ani_ero engine|; $self->dbExec('UPDATE edit_releases !H', \%set) if keys %set; diff --git a/lib/VNDB/Handler/Releases.pm b/lib/VNDB/Handler/Releases.pm index 3084b123..06ca25f0 100644 --- a/lib/VNDB/Handler/Releases.pm +++ b/lib/VNDB/Handler/Releases.pm @@ -65,6 +65,7 @@ sub page { [ l_gog => 'GOG.com', htmlize => sub { $_[0] ? sprintf '<a href="https://www.gog.com/game/%s">%1$s</a>', $_[0] : '[empty]' } ], [ l_denpa => 'Denpasoft', htmlize => sub { $_[0] ? sprintf '<a href="https://denpasoft.com/products/%s">%1$s</a>', $_[0] : '[empty]' } ], [ l_jlist => 'J-List', htmlize => sub { $_[0] ? sprintf '<a href="https://www.jlist.com/%s">%1$s</a>', $_[0] : '[empty]' } ], + [ l_gyutto => 'Gyutto', htmlize => sub { $_[0] ? sprintf '<a href="https://gyutto.com/i/item%d">%1$d</a>', $_[0] : '[empty]' } ], [ released => 'Release date', htmlize => \&fmtdatestr ], [ minage => 'Age rating', serialize => \&minage ], [ notes => 'Notes', diff => qr/[ ,\n\.]/ ], @@ -313,7 +314,7 @@ sub edit { my $vn = $rid ? $r->{vn} : [{ vid => $vid, title => $v->{title} }]; my %b4 = !$rid ? () : ( - (map { $_ => $r->{$_} } qw|type title original gtin catalog languages website l_steam l_dlsite l_dlsiteen l_gog l_denpa l_jlist released minage + (map { $_ => $r->{$_} } qw|type title original gtin catalog languages website l_steam l_dlsite l_dlsiteen l_gog l_denpa l_jlist l_gyutto released minage notes platforms patch resolution voiced freeware doujin uncensored ani_story ani_ero engine ihid ilock|), media => join(',', sort map "$_->{medium} $_->{qty}", @{$r->{media}}), producers => join('|||', map @@ -345,6 +346,7 @@ sub edit { { post => 'l_gog', required => 0, default => '', regex => [ qr/^[a-z0-9_]+$/, 'Invalid GOG.com ID' ] }, { post => 'l_denpa', required => 0, default => '', regex => [ qr/^[a-z0-9-]+$/, 'Invalid Denpasoft ID' ] }, { post => 'l_jlist', required => 0, default => '', regex => [ qr/^[a-z0-9-]+$/, 'Invalid J-List ID' ] }, + { post => 'l_gyutto', required => 0, default => 0, template => 'uint' }, { post => 'released', required => 0, default => 0, template => 'rdate' }, { post => 'minage' , required => 0, default => -1, enum => $self->{age_ratings} }, { post => 'notes', required => 0, default => '', maxlength => 10240 }, @@ -397,7 +399,7 @@ sub edit { if(!$frm->{_err}) { my $nrev = $self->dbItemEdit(r => !$copy && $rid ? ($r->{id}, $r->{rev}) : (undef, undef), - (map { $_ => $frm->{$_} } qw| type title original gtin catalog languages website l_steam l_dlsite l_dlsiteen l_gog l_denpa l_jlist released minage + (map { $_ => $frm->{$_} } qw| type title original gtin catalog languages website l_steam l_dlsite l_dlsiteen l_gog l_denpa l_jlist l_gyutto released minage notes platforms resolution editsum patch voiced freeware doujin uncensored ani_story ani_ero engine ihid ilock|), vn => $new_vn, producers => $producers, @@ -450,6 +452,7 @@ sub _form { [ input => short => 'l_gog', name => 'GOG.com', pre => 'https://www.gog.com/game/' ], [ input => short => 'l_denpa', name => 'Denpasoft', pre => 'https://denpasoft.com/products/' ], [ input => short => 'l_jlist', name => 'J-List', pre => 'https://www.jlist.com/', post => ' (the last part of the URL, e.g. "np004")' ], + [ input => short => 'l_gyutto', name => 'Gyutto', pre => 'https://gyutto.com/i/item', post => ' (item number)' ], [ date => short => 'released', name => 'Release date' ], [ static => content => 'Leave month or day blank if they are unknown' ], [ select => short => 'minage', name => 'Age rating', diff --git a/lib/VNDB/Util/Misc.pm b/lib/VNDB/Util/Misc.pm index d040a8c0..1f67bcad 100644 --- a/lib/VNDB/Util/Misc.pm +++ b/lib/VNDB/Util/Misc.pm @@ -202,6 +202,7 @@ sub entryLinks { $lnk->($obj->{l_gog}, 'GOG', 'https://www.gog.com/game/%s'); $lnk->($obj->{l_denpa}, 'Denpasoft', 'https://denpasoft.com/products/%s'); $lnk->($obj->{l_jlist}, 'J-List', 'https://www.jlist.com/%s'); + $lnk->($obj->{l_gyutto}, 'Gyutto', 'https://gyutto.com/i/item%d'); } # Staff links diff --git a/util/sql/schema.sql b/util/sql/schema.sql index 4e7c1c9f..e14b45e7 100644 --- a/util/sql/schema.sql +++ b/util/sql/schema.sql @@ -309,7 +309,8 @@ CREATE TABLE releases ( -- dbentry_type=r l_dlsiteen text NOT NULL DEFAULT '', -- [pub] l_gog text NOT NULL DEFAULT '', -- [pub] l_denpa text NOT NULL DEFAULT '', -- [pub] - l_jlist text NOT NULL DEFAULT '' -- [pub] + l_jlist text NOT NULL DEFAULT '', -- [pub] + l_gyutto integer NOT NULL DEFAULT 0 -- [pub] ); -- releases_hist @@ -338,7 +339,8 @@ CREATE TABLE releases_hist ( l_dlsiteen text NOT NULL DEFAULT '', l_gog text NOT NULL DEFAULT '', l_denpa text NOT NULL DEFAULT '', - l_jlist text NOT NULL DEFAULT '' + l_jlist text NOT NULL DEFAULT '', + l_gyutto integer NOT NULL DEFAULT 0 ); -- releases_lang diff --git a/util/updates/update_20190816.sql b/util/updates/update_20190816.sql index 37ca37d2..5cfa69e6 100644 --- a/util/updates/update_20190816.sql +++ b/util/updates/update_20190816.sql @@ -6,12 +6,14 @@ ALTER TABLE releases ADD COLUMN l_dlsiteen text NOT NULL DEFAULT ''; ALTER TABLE releases ADD COLUMN l_gog text NOT NULL DEFAULT ''; ALTER TABLE releases ADD COLUMN l_denpa text NOT NULL DEFAULT ''; ALTER TABLE releases ADD COLUMN l_jlist text NOT NULL DEFAULT ''; +ALTER TABLE releases ADD COLUMN l_gyutto integer NOT NULL DEFAULT 0; ALTER TABLE releases_hist ADD COLUMN l_steam integer NOT NULL DEFAULT 0; ALTER TABLE releases_hist ADD COLUMN l_dlsite text NOT NULL DEFAULT ''; ALTER TABLE releases_hist ADD COLUMN l_dlsiteen text NOT NULL DEFAULT ''; ALTER TABLE releases_hist ADD COLUMN l_gog text NOT NULL DEFAULT ''; ALTER TABLE releases_hist ADD COLUMN l_denpa text NOT NULL DEFAULT ''; ALTER TABLE releases_hist ADD COLUMN l_jlist text NOT NULL DEFAULT ''; +ALTER TABLE releases_hist ADD COLUMN l_gyutto integer NOT NULL DEFAULT 0; \i util/sql/editfunc.sql |