diff options
Diffstat (limited to 'lib/VNWeb/Reviews/Elm.pm')
-rw-r--r-- | lib/VNWeb/Reviews/Elm.pm | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/VNWeb/Reviews/Elm.pm b/lib/VNWeb/Reviews/Elm.pm index 385c8b0f..9b520501 100644 --- a/lib/VNWeb/Reviews/Elm.pm +++ b/lib/VNWeb/Reviews/Elm.pm @@ -13,13 +13,12 @@ my $VOTE_IN = form_compile in => $VOTE; our $VOTE_OUT = form_compile out => $VOTE; elm_api ReviewsVote => $VOTE_OUT, $VOTE_IN, sub { - return elm_Unauth if !auth; my($data) = @_; - my %id = (uid => auth->uid, id => $data->{id}); + my %id = (auth ? (uid => auth->uid) : (ip => tuwf->reqIP()), id => $data->{id}); my %val = (vote => $data->{my}?1:0, overrule => auth->permBoardmod ? $data->{overrule}?1:0 : 0, date => sql 'NOW()'); tuwf->dbExeci( defined $data->{my} - ? sql 'INSERT INTO reviews_votes', {%id,%val}, 'ON CONFLICT (id,uid) DO UPDATE SET', \%val + ? sql 'INSERT INTO reviews_votes', {%id,%val}, 'ON CONFLICT (id,', auth ? 'uid' : 'ip', ') DO UPDATE SET', \%val : sql 'DELETE FROM reviews_votes WHERE', \%id ); elm_Success |