diff --git a/guestbook-ng.pl b/guestbook-ng.pl index 1d0be1e..3235cbb 100755 --- a/guestbook-ng.pl +++ b/guestbook-ng.pl @@ -40,7 +40,13 @@ under sub ($c) { # https://paramdeo.com/blog/opting-your-website-out-of-googles-floc-network $c->res->headers->header('Permissions-Policy', 'interest-cohort=()'); - $c->session(expiration => 86400); + unless ($c->session('counted')) { + $c->counter->increment_visitor_count(); + $c->session( + expiration => 86400, + counted => 'true' + ); + } $c->stash(status => 403) if $c->flash('error'); diff --git a/lib/GuestbookNg/Model/Counter.pm b/lib/GuestbookNg/Model/Counter.pm index 88ce701..e99b751 100644 --- a/lib/GuestbookNg/Model/Counter.pm +++ b/lib/GuestbookNg/Model/Counter.pm @@ -19,7 +19,7 @@ sub get_visitor_count($self) { } sub increment_visitor_count($self) { - $self->pg->db->query(<<~'END_SQL')->text() + $self->pg->db->query(<<~'END_SQL') UPDATE counters SET counter_value = counter_value + 1 WHERE counter_name = 'visitor';