diff options
author | yorhel <yorhel@1fe2e327-d9db-4752-bcf7-ef0cb4a1748b> | 2008-06-27 09:54:12 +0000 |
---|---|---|
committer | yorhel <yorhel@1fe2e327-d9db-4752-bcf7-ef0cb4a1748b> | 2008-06-27 09:54:12 +0000 |
commit | 14c629650a83878d49f9b902227dbd7cc7e0845e (patch) | |
tree | ed2a306cd861524f2f2a13f987b120e6988d41d5 | |
parent | 58c923e320bf162723e40c4cc36f6e9a741dac13 (diff) |
Removed the v/r/p deletion feature - it was kind of broken anyway
git-svn-id: svn://vndb.org/vndb@37 1fe2e327-d9db-4752-bcf7-ef0cb4a1748b
-rw-r--r-- | data/tpl/defs.pl | 1 | ||||
-rw-r--r-- | lib/ChangeLog | 2 | ||||
-rw-r--r-- | lib/VNDB.pm | 3 | ||||
-rw-r--r-- | lib/VNDB/Producers.pm | 14 | ||||
-rw-r--r-- | lib/VNDB/Releases.pm | 15 | ||||
-rw-r--r-- | lib/VNDB/Util/DB.pm | 66 | ||||
-rw-r--r-- | lib/VNDB/VN.pm | 14 |
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; |