#!/usr/bin/perl -w use strict; use lib './lib'; use Webnote; use PHP::Session; use Data::Dumper; my $wn = new Webnote( dsn => 'dbi:Pg:dbname=strix', db_user => 'web', db_passwd => '', db_codepage => 'ISO-8859-2', adminEmail => 'nobody@localhost', debug => 0, ); my $session_name = 'PLIVAweb'; $wn->run( default => sub { my $self = shift; my $cgi = $wn->{'cgi'} || die "no cgi?"; if (my $cookie = $cgi->cookie( $session_name )) { my $session = PHP::Session->new($cookie); my $nick = $session->get('_s_pod')->{'nick'} || die "can't find nick!"; my $sth = $self->{'dbh'}->prepare(qq{ select UserCanDoOnObject(?, 'PERM_WRITE', 'kats', ?) }) || die $self->{'dbh'}->errstr(); $sth->execute( $session->get('_s_pod')->{'uid'}, $session->get('_s_pod')->{'kid'}, ) || die $sth->errstr(); my ($access_ok) = $sth->fetchrow_array; if ($access_ok) { $self->load($nick); } else { print $cgi->header, "You need to be logged in to access this resource"; } } else { print $cgi->header, "can't find session cookie $session_name"; } return 1; } );