summaryrefslogtreecommitdiff
path: root/lib/VNDB/Handler/Releases.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/VNDB/Handler/Releases.pm')
-rw-r--r--lib/VNDB/Handler/Releases.pm17
1 files changed, 8 insertions, 9 deletions
diff --git a/lib/VNDB/Handler/Releases.pm b/lib/VNDB/Handler/Releases.pm
index 0012faf4..71447626 100644
--- a/lib/VNDB/Handler/Releases.pm
+++ b/lib/VNDB/Handler/Releases.pm
@@ -39,7 +39,7 @@ sub page {
[ vn => 'Relations', join => '<br />', split => sub {
map sprintf('<a href="/v%d" title="%s">%s</a>', $_->{vid}, $_->{original}||$_->{title}, shorten $_->{title}, 50), @{$_[0]};
} ],
- [ type => 'Type', serialize => sub { $self->{release_types}[$_[0]] } ],
+ [ type => 'Type', serialize => sub { mt "_rtype_$_[0]" } ],
[ patch => 'Patch', serialize => sub { $_[0] ? 'Patch' : 'Not a patch' } ],
[ freeware => 'Freeware', serialize => sub { $_[0] ? 'yes' : 'nope' } ],
[ doujin => 'Doujin', serialize => sub { $_[0] ? 'yups' : 'nope' } ],
@@ -117,9 +117,8 @@ sub _infotable {
Tr ++$i % 2 ? (class => 'odd') : ();
td 'Type';
td;
- my $type = $self->{release_types}[$r->{type}];
- cssicon lc(substr $type, 0, 3), $type;
- txt ' '.$type;
+ cssicon "rt$r->{type}", mt "_rtype_$r->{type}";
+ txt ' '.mt "_rtype_$r->{type}";
txt ' patch' if $r->{patch};
end;
end;
@@ -296,7 +295,7 @@ sub edit {
if($self->reqMethod eq 'POST') {
$frm = $self->formValidate(
- { name => 'type', enum => [ 0..$#{$self->{release_types}} ] },
+ { name => 'type', enum => $self->{release_types} },
{ name => 'patch', required => 0, default => 0 },
{ name => 'freeware', required => 0, default => 0 },
{ name => 'doujin', required => 0, default => 0 },
@@ -382,7 +381,7 @@ sub _form {
$self->htmlForm({ frm => $frm, action => $r ? "/r$r->{id}/".($copy ? 'copy' : 'edit') : "/v$v->{id}/add", editsum => 1 },
"General info" => [
[ select => short => 'type', name => 'Type',
- options => [ map [ $_, $self->{release_types}[$_] ], 0..$#{$self->{release_types}} ] ],
+ options => [ map [ $_, mt "_rtype_$_" ], @{$self->{release_types}} ] ],
[ check => short => 'patch', name => 'This release is a patch to another release.' ],
[ check => short => 'freeware', name => 'Freeware (i.e. available at no cost)' ],
[ check => short => 'doujin', name => 'Doujin (self-published / not by a commercial company)' ],
@@ -482,7 +481,7 @@ sub browse {
{ name => 'ln', required => 0, multi => 1, default => '', enum => $self->{languages} },
{ name => 'pl', required => 0, multi => 1, default => '', enum => $self->{platforms} },
{ name => 'me', required => 0, multi => 1, default => '', enum => [ keys %{$self->{media}} ] },
- { name => 'tp', required => 0, default => -1, enum => [ -1..$#{$self->{release_types}} ] },
+ { name => 'tp', required => 0, default => -1, enum => [ -1, @{$self->{release_types}} ] },
{ name => 'pa', required => 0, default => 0, enum => [ 0..2 ] },
{ name => 'fw', required => 0, default => 0, enum => [ 0..2 ] },
{ name => 'do', required => 0, default => 0, enum => [ 0..2 ] },
@@ -546,7 +545,7 @@ sub browse {
td class => 'tc3';
$_ ne 'oth' && cssicon $_, mt "_plat_$_" for (@{$l->{platforms}});
cssicon "lang $_", mt "_lang_$_" for (@{$l->{languages}});
- cssicon lc(substr($self->{release_types}[$l->{type}],0,3)), $self->{release_types}[$l->{type}];
+ cssicon "rt$l->{type}", mt "_rtype_$l->{type}";
end;
td class => 'tc4';
a href => "/r$l->{id}", title => $l->{original}||$l->{title}, shorten $l->{title}, 90;
@@ -615,7 +614,7 @@ sub _filters {
end;
end;
$self->htmlFormPart($f, [ select => short => 'tp', name => 'Release type',
- options => [ [-1, 'All'], map [ $_, $self->{release_types}[$_] ], 0..$#{$self->{release_types}} ]]);
+ options => [ [-1, 'All'], map [ $_, mt "_rtype_$_" ], @{$self->{release_types}} ]]);
$self->htmlFormPart($f, [ select => short => 'pa', name => 'Patch status',
options => [ [0, 'All'], [1, 'Only patches'], [2, 'Only standalone releases']]]);
$self->htmlFormPart($f, [ select => short => 'fw', name => 'Freeware',