X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=lib%2FMaypole.pm;h=536e1a6689ac2c0329beb1d43ea4255555c2865d;hb=ce69977fefb29ec45af867cdbfa854eabdd2d3b4;hp=39a776a7691c19e62cb24ae3a345c5e6a63d6905;hpb=3f3f95d5fdfacddf4d89137f62cde7858dc23d08;p=maypole.git diff --git a/lib/Maypole.pm b/lib/Maypole.pm index 39a776a..536e1a6 100644 --- a/lib/Maypole.pm +++ b/lib/Maypole.pm @@ -7,7 +7,7 @@ use Maypole::Config; use Maypole::Constants; use Maypole::Headers; -our $VERSION = '2.06'; +our $VERSION = '2.09'; __PACKAGE__->mk_classdata($_) for qw( config init_done view_object ); __PACKAGE__->mk_accessors( @@ -186,8 +186,7 @@ sub exception { return ERROR } sub parse_path { my $self = shift; $self->{path} ||= "frontpage"; - my @pi = split /\//, $self->{path}; - shift @pi while @pi and !$pi[0]; + my @pi = $self->{path} =~ m{([^/]+)/?}g; $self->{table} = shift @pi; $self->{action} = shift @pi; $self->{action} ||= "index"; @@ -223,6 +222,13 @@ sub send_output { die "Do not use Maypole directly; use Apache::MVC or similar"; } +# Session and Repeat Submission Handling + +sub make_random_id { + use Maypole::Session; + return Maypole::Session::generate_unique_id(); +} + =head1 NAME Maypole - MVC web application framework @@ -236,7 +242,7 @@ See L. This documents the Maypole request object. See the L, for a detailed guide to using Maypole. -Maypole is a Perl web application framework to Java's struts. It is +Maypole is a Perl web application framework similar to Java's struts. It is essentially completely abstracted, and so doesn't know anything about how to talk to the outside world. @@ -465,6 +471,9 @@ This method first checks if the relevant model class can handle exceptions the user, or falls back to the default exception method of your Maypole application. +=head3 make_random_id + +returns a unique id for this request can be used to prevent or detect repeat submissions. =head3 handler @@ -492,7 +501,7 @@ Maypole is currently maintained by Simon Flack C Simon Cozens, C -Sebastian Riedel, C maintained Maypole from 1.8 to 2.04 +Sebastian Riedel, C maintained Maypole from 1.99_01 to 2.04 =head1 THANKS TO