summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/tpl/defs.pl1
-rw-r--r--lib/ChangeLog2
-rw-r--r--lib/VNDB.pm3
-rw-r--r--lib/VNDB/Producers.pm14
-rw-r--r--lib/VNDB/Releases.pm15
-rw-r--r--lib/VNDB/Util/DB.pm66
-rw-r--r--lib/VNDB/VN.pm14
7 files changed, 7 insertions, 108 deletions
diff --git a/data/tpl/defs.pl b/data/tpl/defs.pl
index 40bad445..03ebc321 100644
--- a/data/tpl/defs.pl
+++ b/data/tpl/defs.pl
@@ -177,7 +177,6 @@ sub ttabs { # [vrp], obj, sel
$p{Authlock} ?
sprintf('<a href="/%%s/lock">%s</a>', $$o{locked} ? 'unlock' : 'lock') : (),
$p{Authdel} ? (
- '<a href="/%s/del" id="idel">del</a>',
sprintf('<a href="/%%s/hide"%s>%s</a>', $t eq 'v' ? ' id="vhide"' : '', $$o{hidden} ? 'unhide' : 'hide')
) : (),
(!$$o{locked} && !$$o{hidden}) || ($p{Authedit} && $p{Authlock}) ?
diff --git a/lib/ChangeLog b/lib/ChangeLog
index 25307f9a..74c142b6 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -8,7 +8,7 @@ TODO:
+ The delete option should be removed
1.18 - ?
- - ...
+ - Releases, producers and visual novel items can't be fully deleted anymore
1.17 - 2008-06-21 (r33)
- Added PS3 and Xbox 360 to platforms
diff --git a/lib/VNDB.pm b/lib/VNDB.pm
index 2e316324..d62af2cf 100644
--- a/lib/VNDB.pm
+++ b/lib/VNDB.pm
@@ -58,7 +58,6 @@ my %VNDBuris = ( # wildcards: * -> (.+), + -> ([0-9]+)
stats => sub { shift->VNPage(shift, shift) },
rg => sub { shift->VNPage(shift, shift) },
edit => sub { shift->VNEdit(shift) },
- del => sub { shift->VNDel(shift) },
vote => sub { shift->VNVote(shift) },
list => sub { shift->VNListMod(shift) },
add => sub { shift->REdit('v', shift) },
@@ -71,7 +70,6 @@ my %VNDBuris = ( # wildcards: * -> (.+), + -> ([0-9]+)
'/' => sub { shift->RPage(shift) },
edit => sub { shift->REdit('r', shift) },
lock => sub { shift->RLock(shift) },
- del => sub { shift->RDel(shift) },
hide => sub { shift->RHide(shift) },
hist => {'*'=> sub { shift->History('r', shift, $_[1]) } },
},
@@ -84,7 +82,6 @@ my %VNDBuris = ( # wildcards: * -> (.+), + -> ([0-9]+)
'p+' => {
'/' => sub { shift->PPage(shift) },
edit => sub { shift->PEdit(shift) },
- del => sub { shift->PDel(shift) },
lock => sub { shift->PLock(shift) },
hide => sub { shift->PHide(shift) },
hist => {'*'=> sub { shift->History('p', shift, $_[1]) } },
diff --git a/lib/VNDB/Producers.pm b/lib/VNDB/Producers.pm
index 55a02d3d..ba800c7c 100644
--- a/lib/VNDB/Producers.pm
+++ b/lib/VNDB/Producers.pm
@@ -8,7 +8,7 @@ use Digest::MD5;
use vars ('$VERSION', '@EXPORT');
$VERSION = $VNDB::VERSION;
-@EXPORT = qw| PPage PBrowse PEdit PDel PLock PHide PXML |;
+@EXPORT = qw| PPage PBrowse PEdit PLock PHide PXML |;
sub PPage {
@@ -124,18 +124,6 @@ sub PEdit {
}
-sub PDel {
- my $self = shift;
- my $id = shift;
-
- my $p = $self->DBGetProducer(id => $id)->[0];
- return $self->ResNotFound if !$p;
- return $self->ResDenied if !$self->AuthCan('del');
- $self->DBDelProducer($id);
- return $self->ResRedirect('/p', 'perm');
-}
-
-
sub PLock {
my $self = shift;
my $id = shift;
diff --git a/lib/VNDB/Releases.pm b/lib/VNDB/Releases.pm
index 0e95cc5a..bf293647 100644
--- a/lib/VNDB/Releases.pm
+++ b/lib/VNDB/Releases.pm
@@ -8,7 +8,7 @@ use Digest::MD5;
use vars ('$VERSION', '@EXPORT');
$VERSION = $VNDB::VERSION;
-@EXPORT = qw| RPage REdit RLock RDel RHide RVNCache |;
+@EXPORT = qw| RPage REdit RLock RHide RVNCache |;
sub RPage {
@@ -154,19 +154,6 @@ sub RLock {
}
-sub RDel {
- my $self = shift;
- my $id = shift;
-
- return $self->ResDenied if !$self->AuthCan('del');
- my $r = $self->DBGetRelease(id => $id, what => 'vn')->[0];
- return $self->ResNotFound if !$r;
- $self->DBDelRelease($id);
- $self->RVNCache(map { $_->{vid} } @{$r->{vn}});
- return $self->ResRedirect('/v'.$r->{vn}[0]{id}, 'perm');
-}
-
-
sub RHide {
my $self = shift;
my $id = shift;
diff --git a/lib/VNDB/Util/DB.pm b/lib/VNDB/Util/DB.pm
index ab23040d..822be2f1 100644
--- a/lib/VNDB/Util/DB.pm
+++ b/lib/VNDB/Util/DB.pm
@@ -16,9 +16,9 @@ $VERSION = $VNDB::VERSION;
DBGetUser DBAddUser DBUpdateUser
DBGetVotes DBVoteStats DBAddVote DBDelVote
DBGetVNList DBVNListStats DBAddVNList DBEditVNList DBDelVNList
- DBGetVN DBAddVN DBEditVN DBDelVN DBHideVN DBUndefRG DBVNCache
- DBGetRelease DBAddRelease DBEditRelease DBDelRelease DBHideRelease
- DBGetProducer DBGetProducerVN DBAddProducer DBEditProducer DBDelProducer DBHideProducer
+ DBGetVN DBAddVN DBEditVN DBHideVN DBUndefRG DBVNCache
+ DBGetRelease DBAddRelease DBEditRelease DBHideRelease
+ DBGetProducer DBGetProducerVN DBAddProducer DBEditProducer DBHideProducer
DBExec DBRow DBAll DBLastId
|;
@@ -769,40 +769,6 @@ sub _insert_vn_rev {
}
-sub DBDelVN { # id
- my($s, $vid) = @_;
-
- # delete or update relations
- my $rels = $s->DBAll(q|
- SELECT r.id, COUNT(rv2.vid) AS vids
- FROM releases r
- JOIN releases_vn rv ON rv.rid = r.latest
- JOIN releases_vn rv2 ON rv2.rid = r.latest
- WHERE rv.vid = %d
- GROUP BY r.id|,
- $vid
- );
- # delete if no other VN's were found
- $s->DBDelRelease(0, map { $_->{vids} == 1 ? $_->{id} : () } @$rels);
- # remove relation otherwise
- $s->DBExec(q|
- DELETE FROM releases_vn
- WHERE vid = %d|,
- $vid);
-
- $s->DBExec($_, $vid) for(
- q|DELETE FROM changes c WHERE c.id IN(SELECT v.id FROM vn_rev v WHERE v.vid = %d)|,
- q|DELETE FROM vn WHERE id = %d|,
- q|DELETE FROM vn_categories WHERE vid IN(SELECT v.id FROM vn_rev v WHERE v.vid = %d)|,
- q|DELETE FROM vn_relations WHERE vid1 IN(SELECT v.id FROM vn_rev v WHERE v.vid = %d)|,
- q|DELETE FROM vn_rev WHERE vid = %d|,
- q|DELETE FROM vn_relations WHERE vid2 = %d|,
- q|DELETE FROM votes WHERE vid = %d|,
- q|DELETE FROM vnlists WHERE vid = %d|,
- );
-}
-
-
sub DBHideVN { # id, hidden
my($s, $id, $h) = @_;
$s->DBExec(q|
@@ -1014,21 +980,6 @@ sub _insert_release_rev {
}
-sub DBDelRelease { # $vns
- my($s, @rid) = @_;
- return if !@rid;
- $s->DBExec($_, \@rid) for(
- q|DELETE FROM changes WHERE id IN(SELECT rr.id FROM releases_rev rr WHERE rr.rid IN(!l))|,
- q|DELETE FROM releases_producers WHERE rid IN(SELECT rr.id FROM releases_rev rr WHERE rr.rid IN(!l))|,
- q|DELETE FROM releases_platforms WHERE rid IN(SELECT rr.id FROM releases_rev rr WHERE rr.rid IN(!l))|,
- q|DELETE FROM releases_media WHERE rid IN(SELECT rr.id FROM releases_rev rr WHERE rr.rid IN(!l))|,
- q|DELETE FROM releases_rev WHERE rid IN(!l)|,
- q|DELETE FROM releases_vn WHERE rid IN(!l)|,
- q|DELETE FROM releases WHERE id IN(!l)|,
- );
-}
-
-
sub DBHideRelease { # id, hidden
my($s, $id, $h) = @_;
$s->DBExec(q|
@@ -1166,17 +1117,6 @@ sub _insert_producer_rev {
}
-sub DBDelProducer { # id
- my($s, $pid) = @_;
- $s->DBExec($_, $pid) for (
- q|DELETE FROM changes c WHERE c.id IN(SELECT p.id FROM producers_rev p WHERE p.pid = %d)|,
- q|DELETE FROM producers_rev WHERE pid = %d|,
- q|DELETE FROM releases_producers WHERE pid = %d|,
- q|DELETE FROM producers WHERE id = %d|,
- );
-}
-
-
sub DBHideProducer { # id, hidden
my($s, $id, $h) = @_;
$s->DBExec(q|
diff --git a/lib/VNDB/VN.pm b/lib/VNDB/VN.pm
index ee6aa8d3..1a2a2ea7 100644
--- a/lib/VNDB/VN.pm
+++ b/lib/VNDB/VN.pm
@@ -9,7 +9,7 @@ require bytes;
use vars ('$VERSION', '@EXPORT');
$VERSION = $VNDB::VERSION;
-@EXPORT = qw| VNPage VNEdit VNLock VNDel VNHide VNBrowse VNXML VNUpdReverse |;
+@EXPORT = qw| VNPage VNEdit VNLock VNHide VNBrowse VNXML VNUpdReverse |;
sub VNPage {
@@ -183,18 +183,6 @@ sub VNEdit {
}
-sub VNDel {
- my $self = shift;
- my $id = shift;
-
- my $v = $self->DBGetVN(id => $id)->[0];
- return $self->ResNotFound if !$v;
- return $self->ResDenied if !$self->AuthCan('del');
- $self->DBDelVN($id);
- return $self->ResRedirect('/v', 'perm');
-}
-
-
sub VNLock {
my $self = shift;
my $id = shift;