summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2015-07-19 01:52:37 +0200
committerYorhel <git@yorhel.nl>2015-07-19 01:52:37 +0200
commitf5e7a629a85a3abda0bfe7ee81b8612409377056 (patch)
tree744dd088a0329e64400eec78196cb9373adc877f /lib
parenta575477eb7c755dc6facfe6a01abc2f8cbc9d73e (diff)
Remove reliance on Referer header for /[vr]+/list modifications
Diffstat (limited to 'lib')
-rw-r--r--lib/VNDB/Handler/ULists.pm12
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/VNDB/Handler/ULists.pm b/lib/VNDB/Handler/ULists.pm
index bab30be6..92383e4e 100644
--- a/lib/VNDB/Handler/ULists.pm
+++ b/lib/VNDB/Handler/ULists.pm
@@ -65,14 +65,15 @@ sub vnlist_e {
return if !$self->authCheckCode;
my $f = $self->formValidate(
- { get => 'e', enum => [ -1, @{$self->{vnlist_status}} ] }
+ { get => 'e', enum => [ -1, @{$self->{vnlist_status}} ] },
+ { get => 'ref', required => 0, default => "/v$id" }
);
return $self->resNotFound if $f->{_err};
$self->dbVNListDel($uid, $id) if $f->{e} == -1;
$self->dbVNListAdd($uid, $id, $f->{e}) if $f->{e} != -1;
- $self->resRedirect('/v'.$id, 'temp');
+ $self->resRedirect($f->{ref}, 'temp');
}
@@ -93,7 +94,8 @@ sub rlist_e {
return if !$self->authCheckCode;
my $f = $self->formValidate(
- { get => 'e', required => 1, enum => [ -1, @{$self->{rlist_status}} ] }
+ { get => 'e', required => 1, enum => [ -1, @{$self->{rlist_status}} ] },
+ { get => 'ref', required => 0, default => "/r$rid" }
);
return $self->resNotFound if $f->{_err};
@@ -101,9 +103,7 @@ sub rlist_e {
$self->dbRListAdd($uid, $rid, $f->{e}) if $f->{e} >= 0;
if($id) {
- my $b = $self->reqBaseURI();
- (my $ref = $self->reqHeader('Referer')||"/r$id") =~ s/^\Q$b//;
- $self->resRedirect($ref, 'temp');
+ $self->resRedirect($f->{ref}, 'temp');
} else {
# doesn't really matter what we return, as long as it's XML
$self->resHeader('Content-type' => 'text/xml');