summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/lang.txt35
-rw-r--r--data/script.js2
-rw-r--r--lib/VNDB/Handler/ULists.pm26
-rw-r--r--lib/VNDB/Handler/VNPage.pm11
4 files changed, 70 insertions, 4 deletions
diff --git a/data/lang.txt b/data/lang.txt
index 351386b2..7d25ffa0 100644
--- a/data/lang.txt
+++ b/data/lang.txt
@@ -6872,6 +6872,41 @@ hu : Te most épp a 10-ből, 10-et adsz ennek a visual novelnek. Ez egy elég ex
nl : Je staat op het punt om deze visual novel een 10 te geven. Dit is een erg extreme stem, en betekent dat dit één van de beste visual novels die je ooit hebt gespeeld is, en dat de kans klein is dat je ooit iets beters zal vinden dan dit.
Het is over het algemeen een slecht idee om meer dan drie spellen in je lijst een 10 te geven, wees zorgvuldig!
+:_vnpage_uopt_vnlisted
+en : VN list: [_1]
+ru*:
+cs*:
+hu*:
+nl : VN-lijst: [_1]
+
+:_vnpage_uopt_novn
+en : not on your VN list
+ru*:
+cs*:
+hu*:
+nl : niet in je VN-lijst
+
+:_vnpage_uopt_changevn
+en : Change status
+ru*: Сменить статус
+cs*: Změnit status
+hu*: Állapot megváltoztatássa
+nl : Wijzig status
+
+:_vnpage_uopt_addvn
+en : Add to VN list
+ru*:
+cs*:
+hu*:
+nl : Voeg toe aan VN-lijst
+
+:_vnpage_uopt_delvn
+en : remove from VN list
+ru*:
+cs*:
+hu*:
+nl : Verwijder van VN-lijst
+
:_vnpage_uopt_wishlisted
en : wishlist: [_1]
ru : список желаемого: [_1]
diff --git a/data/script.js b/data/script.js
index 7f855e81..f031ace9 100644
--- a/data/script.js
+++ b/data/script.js
@@ -2153,7 +2153,7 @@ if(byId('wishsel')) {
};
}
-// Release list dropdown box (/r+)
+// Release & VN list dropdown box (/r+ and /v+)
if(byId('listsel')) {
byId('listsel').onchange = function() {
if(this.selectedIndex != 0)
diff --git a/lib/VNDB/Handler/ULists.pm b/lib/VNDB/Handler/ULists.pm
index daad5c4b..f89e5e56 100644
--- a/lib/VNDB/Handler/ULists.pm
+++ b/lib/VNDB/Handler/ULists.pm
@@ -10,8 +10,9 @@ use VNDB::Func;
YAWF::register(
qr{v([1-9]\d*)/vote}, \&vnvote,
qr{v([1-9]\d*)/wish}, \&vnwish,
- qr{r([1-9]\d*)/list}, \&rlist,
- qr{xml/rlist.xml}, \&rlist,
+ qr{v([1-9]\d*)/list}, \&vnlist_e,
+ qr{r([1-9]\d*)/list}, \&rlist_e,
+ qr{xml/rlist.xml}, \&rlist_e,
qr{([uv])([1-9]\d*)/votes}, \&votelist,
qr{u([1-9]\d*)/wish}, \&wishlist,
qr{u([1-9]\d*)/list}, \&vnlist,
@@ -56,7 +57,26 @@ sub vnwish {
}
-sub rlist {
+sub vnlist_e {
+ my($self, $id) = @_;
+
+ my $uid = $self->authInfo->{id};
+ return $self->htmlDenied() if !$uid;
+
+ return if !$self->authCheckCode;
+ my $f = $self->formValidate(
+ { name => 'e', enum => [ -1, @{$self->{rlst_vstat}} ] }
+ );
+ return 404 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');
+}
+
+
+sub rlist_e {
my($self, $id) = @_;
my $rid = $id;
diff --git a/lib/VNDB/Handler/VNPage.pm b/lib/VNDB/Handler/VNPage.pm
index b07a7914..5a925711 100644
--- a/lib/VNDB/Handler/VNPage.pm
+++ b/lib/VNDB/Handler/VNPage.pm
@@ -343,6 +343,7 @@ sub _useroptions {
my($self, $i, $v) = @_;
my $vote = $self->dbVoteGet(uid => $self->authInfo->{id}, vid => $v->{id})->[0];
+ my $list = $self->dbVNListGet(uid => $self->authInfo->{id}, vid => $v->{id})->[0];
my $wish = $self->dbWishListGet(uid => $self->authInfo->{id}, vid => $v->{id})->[0];
Tr ++$$i % 2 ? (class => 'odd') : ();
@@ -358,6 +359,16 @@ sub _useroptions {
end;
br;
}
+
+ Select id => 'listsel', name => $self->authGetCode("/v$v->{id}/list");
+ option $list ? mt '_vnpage_uopt_vnlisted', mt '_vnlst_stat_'.$list->{status} : mt '_vnpage_uopt_novn';
+ optgroup label => $list ? mt '_vnpage_uopt_changevn' : mt '_vnpage_uopt_addvn';
+ option value => $_, mt "_vnlst_stat_$_" for (@{$self->{rlst_vstat}});
+ end;
+ option value => -1, mt '_vnpage_uopt_delvn' if $list;
+ end;
+ br;
+
if(!$vote || $wish) {
Select id => 'wishsel', name => $self->authGetCode("/v$v->{id}/wish");
option $wish ? mt '_vnpage_uopt_wishlisted', mt '_wish_'.$wish->{wstat} : mt '_vnpage_uopt_nowish';