diff options
author | Yorhel <git@yorhel.nl> | 2009-05-22 14:53:37 +0200 |
---|---|---|
committer | Yorhel <git@yorhel.nl> | 2009-05-22 14:58:23 +0200 |
commit | aaf5fba44b029ed83f290e6d4c5b9ed872d504b5 (patch) | |
tree | 75b413d7a6e0cd0bb1f9a662b48c473d81411d50 | |
parent | 55e67a4c4f690b14c06e2a6b2c6608e2305dceb6 (diff) |
Added resolution field to release entries
TODO:
- Update d3
- Add filter to /r
-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | data/global.pl | 12 | ||||
-rw-r--r-- | lib/VNDB/DB/Releases.pm | 6 | ||||
-rw-r--r-- | lib/VNDB/Handler/Releases.pm | 15 | ||||
-rw-r--r-- | util/dump.sql | 3 | ||||
-rw-r--r-- | util/updates/update_2.4.sql | 6 |
6 files changed, 37 insertions, 6 deletions
@@ -1,6 +1,7 @@ 2.4 - ? - Release search + browser + filters - Javascript date input + - Resolution field for release entries 2.3 - 2009-04-01 - No page reload needed when changing rlist status from vn page diff --git a/data/global.pl b/data/global.pl index 739578bf..2beb87cb 100644 --- a/data/global.pl +++ b/data/global.pl @@ -192,6 +192,18 @@ our %S = (%S, in => [ 'Internet download', 0 ], otc => [ 'Other', 0 ], }, + resolutions => [ + [ 'Unknown', '' ], + [ '640x480', '4:3' ], + [ '800x600', '4:3' ], + [ '1024x768', '4:3' ], + [ '640x400', 'widescreen' ], + [ '1024x640', 'widescreen' ], + [ '1280x720', 'widescreen' ], + [ '480x272 (PSP)', 'console' ], + [ '2x256x192 (NDS)', 'console' ], + [ '640x448 (TV)', 'console' ], # really? + ], votes => [ 'worst ever', 'awful', diff --git a/lib/VNDB/DB/Releases.pm b/lib/VNDB/DB/Releases.pm index 3831b0c8..fa352c1e 100644 --- a/lib/VNDB/DB/Releases.pm +++ b/lib/VNDB/DB/Releases.pm @@ -72,7 +72,7 @@ sub dbReleaseGet { my @select = ( qw|r.id rr.title rr.original rr.language rr.website rr.released rr.minage rr.type rr.patch|, 'rr.id AS cid', - $o{what} =~ /extended/ ? qw|rr.notes rr.catalog rr.gtin r.hidden r.locked| : (), + $o{what} =~ /extended/ ? qw|rr.notes rr.catalog rr.gtin rr.resolution r.hidden r.locked| : (), $o{what} =~ /changes/ ? qw|c.added c.requester c.comments r.latest u.username c.rev| : (), ); @@ -167,9 +167,9 @@ sub insert_rev { my($self, $cid, $rid, $o) = @_; $self->dbExec(q| - INSERT INTO releases_rev (id, rid, title, original, gtin, catalog, language, website, released, notes, minage, type, patch) + INSERT INTO releases_rev (id, rid, title, original, gtin, catalog, language, website, released, notes, minage, type, patch, resolution) VALUES (!l)|, - [ $cid, $rid, @$o{qw| title original gtin catalog language website released notes minage type patch|} ]); + [ $cid, $rid, @$o{qw| title original gtin catalog language website released notes minage type patch resolution|} ]); $self->dbExec(q| INSERT INTO releases_producers (rid, pid) diff --git a/lib/VNDB/Handler/Releases.pm b/lib/VNDB/Handler/Releases.pm index 30fede3d..69f406d6 100644 --- a/lib/VNDB/Handler/Releases.pm +++ b/lib/VNDB/Handler/Releases.pm @@ -57,6 +57,7 @@ sub page { $med->[1] ? sprintf('%d %s%s', $_->{qty}, $med->[0], $_->{qty}>1?'s':'') : $med->[0] } @{$_[0]}; } ], + [ resolution => 'Resolution', serialize => sub { $self->{resolutions}[$_[0]][0] } ], [ producers => 'Producers', join => '<br />', split => sub { map sprintf('<a href="/p%d" title="%s">%s</a>', $_->{id}, $_->{original}||$_->{name}, shorten $_->{name}, 50), @{$_[0]}; } ], @@ -149,6 +150,13 @@ sub _infotable { end; } + if($r->{resolution}) { + Tr ++$i % 2 ? (class => 'odd') : (); + td 'Resolution'; + td $self->{resolutions}[$r->{resolution}][0]; + end; + } + Tr ++$i % 2 ? (class => 'odd') : (); td 'Released'; td; @@ -247,7 +255,7 @@ sub edit { my $vn = $rid ? $r->{vn} : [{ vid => $vid, title => $v->{title} }]; my %b4 = !$rid ? () : ( - (map { $_ => $r->{$_} } qw|type title original gtin catalog language website released notes minage platforms patch|), + (map { $_ => $r->{$_} } qw|type title original gtin catalog language website released notes minage platforms patch resolution|), media => join(',', sort map "$_->{medium} $_->{qty}", @{$r->{media}}), producers => join('|||', map "$_->{id},$_->{name}", sort { $a->{id} <=> $b->{id} } @{$r->{producers}}), ); @@ -270,6 +278,7 @@ sub edit { { name => 'notes', required => 0, default => '', maxlength => 10240 }, { name => 'platforms', required => 0, default => '', multi => 1, enum => [ keys %{$self->{platforms}} ] }, { name => 'media', required => 0, default => '' }, + { name => 'resolution',required => 0, default => 0 }, { name => 'producers', required => 0, default => '' }, { name => 'vn', maxlength => 5000 }, { name => 'editsum', maxlength => 5000 }, @@ -290,7 +299,7 @@ sub edit { !grep !/^(platforms|producers|vn)$/ && $frm->{$_} ne $b4{$_}, keys %b4; my %opts = ( - (map { $_ => $frm->{$_} } qw| type title original gtin catalog language website released notes minage platforms editsum patch |), + (map { $_ => $frm->{$_} } qw| type title original gtin catalog language website released notes minage platforms resolution editsum patch |), vn => $new_vn, producers => $producers, media => $media, @@ -340,6 +349,8 @@ sub _form { [ static => content => 'Leave month or day blank if they are unknown' ], [ select => short => 'minage', name => 'Age rating', options => [ map [ $_, $self->{age_ratings}{$_} ], sort { $a <=> $b } keys %{$self->{age_ratings}} ] ], + [ select => short => 'resolution', name => 'Resolution', options => [ + map [ $_, @{$self->{resolutions}[$_]} ], 0..$#{$self->{resolutions}} ] ], [ textarea => short => 'notes', name => 'Notes' ], [ static => content => 'Miscellaneous notes/comments, information that does not fit in the above fields. ' .'E.g.: Censored/uncensored or for which releases this patch applies. Max. 250 characters.' ], diff --git a/util/dump.sql b/util/dump.sql index 81343307..b33ae540 100644 --- a/util/dump.sql +++ b/util/dump.sql @@ -115,7 +115,8 @@ CREATE TABLE releases_rev ( minage smallint NOT NULL DEFAULT -1, gtin bigint NOT NULL DEFAULT 0, patch boolean NOT NULL DEFAULT FALSE, - catalog varchar(50) NOT NULL DEFAULT '' + catalog varchar(50) NOT NULL DEFAULT '', + resolution smallint NOT NULL DEFAULT 0 ); -- releases_vn diff --git a/util/updates/update_2.4.sql b/util/updates/update_2.4.sql index 03b18dd7..c784d361 100644 --- a/util/updates/update_2.4.sql +++ b/util/updates/update_2.4.sql @@ -31,3 +31,9 @@ END; $$ LANGUAGE plpgsql; SELECT tag_vn_calc(); + + +-- resolution field to releases + +ALTER TABLE releases_rev ADD COLUMN resolution smallint NOT NULL DEFAULT 0; + |