X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=lib%2FMaypole%2FSession.pm;h=774553b5e5eefcb89bd8b192ac9251bc5c805d50;hb=ea4ae8a93a09e21354465c485471e5f10582b784;hp=47f68798b53fe8c415dafff18f3d9ae4e8a8dc16;hpb=1dd823fa5e3fbb2b64990f65deab7239689ea73d;p=maypole.git diff --git a/lib/Maypole/Session.pm b/lib/Maypole/Session.pm index 47f6879..774553b 100644 --- a/lib/Maypole/Session.pm +++ b/lib/Maypole/Session.pm @@ -1,12 +1,76 @@ package Maypole::Session; +=head1 NAME + +Maypole::Session - Session related functionality for maypole + +=head1 SYNOPSIS + +use Maypole::Session; + +my $uid = Maypole::Session::generate_unique_id() + +=head1 DESCRIPTION + +This class provides session related methods for Maypole such as unique id's for +requests. + +Currently it provides only the generate_unique_id() function, by checking the +id's generated by this function and included in submitted forms, it is possible +to see if a form has been submitted before.. implementing these checks is left +to the developer of that application. + +Further functionality is to be added here in later versions to provide easy +access to sessions, either through plugins or builtin methods. + +=head1 FUNCTIONS + +=head2 generate_unique_id() + +my $uid = Maypole::Session::generate_unique_id() + +generates a unique id and returns it, requires no arguments but accepts size, +default is 32. + +=cut + use strict; use Digest::MD5; +our $VERSION = 0.01; sub generate_unique_id { my $length = shift || 32; my $id = substr(Digest::MD5::md5_hex(Digest::MD5::md5_hex(time(). {}. rand(). $$)), 0, $length); - return; + return $id; } + +################################################################################ +################################################################################ + +=head1 TODO + +Currently implementing uniqueness tests of form submissions is left to the +Maypole user, we plan to provide an optional default behaviour to automate this +if required. + +=head1 SEE ALSO + +L + +=head1 MAINTAINER + +Aaron Trevena, c + +=head1 AUTHOR + +Simon Cozens, C + +=head1 LICENSE + +You may distribute this code under the same terms as Perl itself. + +=cut + + 1;