summaryrefslogtreecommitdiff
path: root/lib/VNDB/Util/DB.pm
diff options
context:
space:
mode:
authoryorhel <yorhel@1fe2e327-d9db-4752-bcf7-ef0cb4a1748b>2008-08-14 15:19:18 +0000
committeryorhel <yorhel@1fe2e327-d9db-4752-bcf7-ef0cb4a1748b>2008-08-14 15:19:18 +0000
commit889e9b9c481170c94f0b5e773e7c39d27b921a43 (patch)
tree7515e85ee690916f7549fd27bd0a2879657d913b /lib/VNDB/Util/DB.pm
parent99214c46848b3e4706552cfb87043861c1b5f140 (diff)
Added screenshots (not entirely finished, still needs some tweaking and polishing)
git-svn-id: svn://vndb.org/vndb@83 1fe2e327-d9db-4752-bcf7-ef0cb4a1748b
Diffstat (limited to 'lib/VNDB/Util/DB.pm')
-rw-r--r--lib/VNDB/Util/DB.pm23
1 files changed, 20 insertions, 3 deletions
diff --git a/lib/VNDB/Util/DB.pm b/lib/VNDB/Util/DB.pm
index 34ca9ca0..a2f3efe3 100644
--- a/lib/VNDB/Util/DB.pm
+++ b/lib/VNDB/Util/DB.pm
@@ -782,11 +782,12 @@ sub DBGetVN { # %options->{ id rev char search order results page what cati cate
);
$_->{c_released} = sprintf '%08d', $_->{c_released} for @$r;
- if($o{what} =~ /(?:relations|categories|anime)/ && $#$r >= 0) {
+ if($o{what} =~ /(?:relations|categories|anime|screenshots)/ && $#$r >= 0) {
my %r = map {
$r->[$_]{relations} = [];
$r->[$_]{categories} = [];
$r->[$_]{anime} = [];
+ $r->[$_]{screenshots} = [];
($r->[$_]{cid}, $_)
} 0..$#$r;
@@ -809,6 +810,16 @@ sub DBGetVN { # %options->{ id rev char search order results page what cati cate
)});
}
+ if($o{what} =~ /screenshots/) {
+ push(@{$r->[$r{$_->{vid}}]{screenshots}}, [ $_->{scr}, $_->{nsfw} ]) for (@{$s->DBAll(q|
+ SELECT vid, scr, nsfw
+ FROM vn_screenshots
+ WHERE vid IN(!l)
+ ORDER BY scr|,
+ [ keys %r ]
+ )});
+ }
+
if($o{what} =~ /relations/) {
my $rel = $s->DBAll(q|
SELECT rel.vid1, rel.vid2, rel.relation, vr.title
@@ -832,7 +843,7 @@ sub DBGetVN { # %options->{ id rev char search order results page what cati cate
}
-sub DBAddVN { # %options->{ columns in vn_rev + comm + relations + categories + anime }
+sub DBAddVN { # %options->{ columns in vn_rev + comm + relations + categories + anime + screenshots }
my($s, %o) = @_;
my $id = $s->DBRow(q|
@@ -854,7 +865,7 @@ sub DBAddVN { # %options->{ columns in vn_rev + comm + relations + categories +
}
-sub DBEditVN { # id, %options->( columns in vn_rev + comm + relations + categories + anime + uid + causedby }
+sub DBEditVN { # id, %options->( columns in vn_rev + comm + relations + categories + anime + screenshots + uid + causedby }
my($s, $vid, %o) = @_;
my $c = $s->DBRow(q|
@@ -892,6 +903,12 @@ sub _insert_vn_rev {
) for (@{$o->{categories}});
$s->DBExec(q|
+ INSERT INTO vn_screenshots (vid, scr, nsfw)
+ VALUES (%d, %d, %d)|,
+ $cid, $_->[0], $_->[1]?1:0
+ ) for (@{$o->{screenshots}});
+
+ $s->DBExec(q|
INSERT INTO vn_relations (vid1, vid2, relation)
VALUES (%d, %d, %d)|,
$cid, $_->[1], $_->[0]