}
my $sessionID=$query->cookie('sessionID');
my $message='';
- warn "SID: ".$sessionID;
my $dbh=C4Connect();
my $sth=$dbh->prepare("select userid,ip,lasttime from sessions where sessionid=?");
$sth->execute($sessionID);
if ($sth->rows) {
my ($userid, $ip, $lasttime) = $sth->fetchrow;
- if ($lasttime<time()-15 && $userid ne 'tonnesen') {
+ if ($lasttime<time()-45 && $userid ne 'tonnesen') {
# timed logout
- warn "$sessionID logged out due to inactivity.";
$message="You have been logged out due to inactivity.";
my $sti=$dbh->prepare("delete from sessions where sessionID=?");
$sti->execute($sessionID);
} elsif ($ip ne $ENV{'REMOTE_ADDR'}) {
# Different ip than originally logged in from
my $newip=$ENV{'REMOTE_ADDR'};
- warn "$sessionID came from a new ip address (authenticated from $ip, this request from $newip).";
$message="ERROR ERROR ERROR ERROR<br>Attempt to re-use a cookie from a different ip address.<br>(authenticated from $ip, this request from $newip)";
} else {
my $cookie=$query->cookie(-name => 'sessionID',
-value => $sessionID,
-expires => '+1y');
- warn "$sessionID had a valid cookie.";
my $sti=$dbh->prepare("update sessions set lasttime=? where sessionID=?");
$sti->execute(time(), $sessionID);
return ($userid, $cookie, $sessionID);
- warn "$sessionID wasn't in sessions table.";
if ($authnotrequired) {
my $cookie=$query->cookie(-name => 'sessionID',
-value => '',
my $userid=$query->param('userid');
my $password=$query->param('password');
if (checkpw($dbh, $userid, $password)) {
- my $sti=$dbh->prepare("insert into sessions (sessionID, userid, ip,lasttime) values (?, ?, ?, ?)");
+ my $sti=$dbh->prepare("delete from sessions where sessionID=? and userid=?");
+ $sti->execute($sessionID, $userid);
+ $sti=$dbh->prepare("insert into sessions (sessionID, userid, ip,lasttime) values (?, ?, ?, ?)");
$sti->execute($sessionID, $userid, $ENV{'REMOTE_ADDR'}, time());
$sti=$dbh->prepare("select value from sessionqueries where sessionID=? and userid=?");
$sti->execute($sessionID, $userid);
--- /dev/null
+#!/usr/bin/perl
+use HTML::Template;
+use strict;
+require Exporter;
+use C4::Database;
+use C4::Output; # contains picktemplate
+use CGI;
+use C4::Search;
+use C4::Auth;
+
+my $query=new CGI;
+my ($loggedinuser, $cookie, $sessionID) = checkauth($query);
+
+
+
+my %configfile;
+open (KC, "/etc/koha.conf");
+while (<KC>) {
+ chomp;
+ (next) if (/^\s*#/);
+ if (/(.*)\s*=\s*(.*)/) {
+ my $variable=$1;
+ my $value=$2;
+ # Clean up white space at beginning and end
+ $variable=~s/^\s*//g;
+ $variable=~s/\s*$//g;
+ $value=~s/^\s*//g;
+ $value=~s/\s*$//g;
+ $configfile{$variable}=$value;
+ }
+}
+
+
+
+my $includes=$configfile{'includes'};
+($includes) || ($includes="/usr/local/www/hdl/htdocs/includes");
+my $templatebase="user/userpage.tmpl";
+my $theme=picktemplate($includes, $templatebase);
+
+my $template = HTML::Template->new(filename => "$includes/templates/$theme/$templatebase", die_on_bad_params => 0, path => [$includes]);
+
+$template->param(loggedinuser => $loggedinuser);
+
+print "Content-Type: text/html\n\n", $template->output;