From 36d1fcd7fab646113d3a0d3c06a87f53f73b7b14 Mon Sep 17 00:00:00 2001 From: swag Date: Thu, 7 Apr 2022 22:14:24 -0400 Subject: [PATCH] Use restrictive placeholder in addition to optional for page number --- guestbook-ng.pl | 30 +++++++++---------- templates/index.html.ep | 29 ------------------ .../{page_number.html.ep => number.html.ep} | 0 3 files changed, 15 insertions(+), 44 deletions(-) delete mode 100644 templates/index.html.ep rename templates/{page_number.html.ep => number.html.ep} (100%) diff --git a/guestbook-ng.pl b/guestbook-ng.pl index 1ce8e2b..a57d7a9 100755 --- a/guestbook-ng.pl +++ b/guestbook-ng.pl @@ -126,11 +126,11 @@ group { group { under '/spam'; - get '/:page_number', {page_number => 1} => sub ($c) { - my $this_page = $c->param('page_number'); + get '/:number', [number => qr/[0-9]+/], {number => 1} => sub ($c) { + my $this_page = $c->param('number'); my $last_page = $c->message->get_last_page('spam'); my $view_posts = $c->message->get_spam($this_page); - my $base_path = $c->url_for(page_number => undef); + my $base_path = $c->url_for(number => undef); $c->stash( view_posts => $view_posts, @@ -146,20 +146,20 @@ group { group { under '/view'; - get '/:page_number', {page_number => 1} => sub ($c) { - my $this_page = $c->param('page_number'); - my $last_page = $c->message->get_last_page('spam'); - my $view_posts = $c->message->get_spam($this_page); - my $base_path = $c->url_for(page_number => undef); + get '/:number', [number => qr/[0-9]+/], {number => 1} => sub ($c) { + my $this_page = $c->param('number'); + my $last_page = $c->message->get_last_page('spam'); + my $view_posts = $c->message->get_spam($this_page); + my $base_path = $c->url_for(number => undef); - $c->stash( - view_posts => $view_posts, - this_page => $this_page, - last_page => $last_page, - base_path => $base_path - ); + $c->stash( + view_posts => $view_posts, + this_page => $this_page, + last_page => $last_page, + base_path => $base_path + ); - $c->render(); + $c->render(); }; }; diff --git a/templates/index.html.ep b/templates/index.html.ep deleted file mode 100644 index 01402ed..0000000 --- a/templates/index.html.ep +++ /dev/null @@ -1,29 +0,0 @@ -% layout 'default'; -% title 'View'; -

Messages from the World Wide Web

-
- <% for my $post (@$view_posts) { =%> -
- - <%= link_to "#@$post[4]" => "/message/@$post[4]" %> - -

<%= @$post[0] %>

-
-

<%= @$post[2] %>

-
-
-

- - <%= @$post[1] %> - <% if (@$post[3]) { =%> - (<%= link_to Homepage => @$post[3] %>) - <% } =%> -

-
-
- <% } =%> -
-<% if ($last_page && $last_page != 1) { =%> - -<% } =%> diff --git a/templates/page_number.html.ep b/templates/number.html.ep similarity index 100% rename from templates/page_number.html.ep rename to templates/number.html.ep