summaryrefslogtreecommitdiff
path: root/lib/VNDB/VNLists.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/VNDB/VNLists.pm')
-rw-r--r--lib/VNDB/VNLists.pm51
1 files changed, 5 insertions, 46 deletions
diff --git a/lib/VNDB/VNLists.pm b/lib/VNDB/VNLists.pm
index f2ad5d50..a50df2e4 100644
--- a/lib/VNDB/VNLists.pm
+++ b/lib/VNDB/VNLists.pm
@@ -7,33 +7,7 @@ use Exporter 'import';
use vars ('$VERSION', '@EXPORT');
$VERSION = $VNDB::VERSION;
-@EXPORT = qw| VNListMod VNMyList VNVote RListMod RList |;
-
-
-sub VNListMod {
- my $self = shift;
- my $vid = shift;
-
- my $uid = $self->AuthInfo()->{id};
- return $self->ResDenied() if !$uid;
-
- my $f = $self->FormCheck(
- { name => 's', required => 1, enum => [ -1..$#$VNDB::LSTAT ] },
- { name => 'c', required => 0, default => '', maxlength => 500 },
- );
- return $self->ResNotFound if $f->{_err};
-
- if($f->{s} == -1) {
- $self->DBDelVNList($uid, $vid);
- } elsif($self->DBGetVNList(uid => $uid, vid => $vid)->[0]{vid}) {
- $self->DBEditVNList(uid => $uid, status => $f->{s}, vid => [ $vid ],
- $f->{s} == 6 ? ( comments => $f->{c} ) : ());
- } else {
- $self->DBAddVNList($uid, $vid, $f->{s}, $f->{c});
- }
-
- $self->ResRedirect('/v'.$vid, 'temp');
-}
+@EXPORT = qw| VNMyList VNVote RListMod RList |;
sub VNMyList {
@@ -41,7 +15,7 @@ sub VNMyList {
my $user = shift;
my $u = $self->DBGetUser(uid => $user)->[0];
- return $self->ResNotFound if !$user || !$u || (($self->AuthInfo->{id}||0) != $user && !($u->{flags} & $VNDB::UFLAGS->{list}));
+ return $self->ResNotFound if !$user || !$u || !$self->AuthInfo->{id} || $self->AuthInfo->{id} != $user;
my $f = $self->FormCheck(
{ name => 's', required => 0, default => 'title', enum => [ qw|title date| ] },
@@ -52,24 +26,8 @@ sub VNMyList {
return $self->ResNotFound if $f->{_err};
if($self->ReqMethod eq 'POST') {
- my $frm = $self->FormCheck(
- { name => 'vnlistchange', required => 1, enum => [ -2..$#$VNDB::LSTAT ] },
- { name => 'comments', required => 0, default => '', maxlength => 500 },
- { name => 'sel', required => 1, multi => 1 },
- );
- if(!$frm->{_err}) {
- my @change = map { /^[0-9]+$/ ? $_ : () } @{$frm->{sel}};
- $self->DBDelVNList($user, @change) if @change && $frm->{vnlistchange} eq '-1';
- $self->DBEditVNList(
- uid => $user,
- vid => \@change,
- $frm->{vnlistchange} eq '-2' ? (
- comments => $frm->{comments}
- ) : (
- status => $frm->{vnlistchange}
- ),
- ) if @change && $frm->{vnlistchange} ne '-1';
- }
+ my $f = $self->FormCheck({ name => 'sel', required => 1, multi => 1, template => 'int' });
+ $self->DBDelVNList($user, @{$f->{sel}}) if !$f->{_err};
}
my $order = $f->{s} . ($f->{o} eq 'a' ? ' ASC' : ' DESC');
@@ -159,6 +117,7 @@ sub RList {
return $self->ResNotFound if $f->{_err};
if($self->ReqMethod eq 'POST') {
+ return $self->ResDenied if $uid != $self->AuthInfo->{id};
my $frm = $self->FormCheck(
{ name => 'vnlistchange', required => 1, enum => [ 'd', 'r0'..('r'.$#$VNDB::RSTAT), 'v0'..('v'.$#$VNDB::VSTAT) ] },
{ name => 'rsel', required => 1, multi => 1, template => 'int' },