From a04360aa66453809395a09a66ccd63e46a4cf519 Mon Sep 17 00:00:00 2001 From: 3dB <3db@3decibels.net> Date: Wed, 29 Jul 2009 16:45:59 -0400 Subject: Changed sessions.expiration column to timestamp -- Updated SQL files to reflect column type change. -- Subroutine dbSessionAdd rewritten to accept an expiration timestap as an optional third argument. --- lib/VNDB/DB/Users.pm | 13 ++++++++++--- lib/VNDB/Util/Auth.pm | 2 +- 2 files changed, 11 insertions(+), 4 deletions(-) (limited to 'lib') diff --git a/lib/VNDB/DB/Users.pm b/lib/VNDB/DB/Users.pm index 07ccaf1e..eaed1234 100644 --- a/lib/VNDB/DB/Users.pm +++ b/lib/VNDB/DB/Users.pm @@ -112,11 +112,18 @@ sub dbUserDel { } -# uid, 40 character session token, expiration time (int) +# Adds a session to the database +# If no expiration is supplied the database default is used +# uid, 40 character session token, expiration time (timestamp) sub dbSessionAdd { my($s, @o) = @_; - $s->dbExec(q|INSERT INTO sessions (uid, token, expiration) VALUES(?, ?, ?)|, - @o[0..2]); + if (defined $o[2]) { + $s->dbExec(q|INSERT INTO sessions (uid, token, expiration) VALUES(?, ?, ?)|, + @o); + } else { + $s->dbExec(q|INSERT INTO sessions (uid, token) VALUES(?, ?)|, + @o); + } } diff --git a/lib/VNDB/Util/Auth.pm b/lib/VNDB/Util/Auth.pm index 3b7b052a..9d14c5ae 100644 --- a/lib/VNDB/Util/Auth.pm +++ b/lib/VNDB/Util/Auth.pm @@ -39,7 +39,7 @@ sub authLogin { my $token = sha1_hex(join('', Time::HiRes::gettimeofday()) . join('', map chr(rand(93)+33), 1..9)); my $expiration = time + 31536000; # 1yr my $cookie = $token . $self->{_auth}{id}; - $self->dbSessionAdd($self->{_auth}{id}, $token, $expiration); + $self->dbSessionAdd($self->{_auth}{id}, $token); my $expstr = strftime("%a, %d %b %Y %H:%M:%S GMT", gmtime($expiration)); $self->resRedirect($to, 'post'); -- cgit v1.2.3