/usr/share/perl5/Apache/Session/Browseable/Store/DBI.pm is in libapache-session-browseable-perl 1.0.2-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | package Apache::Session::Browseable::Store::DBI;
use strict;
use Apache::Session::Store::DBI;
our @ISA = qw(Apache::Session::Store::DBI);
our $VERSION = 1.0;
sub insert {
my ( $self, $session ) = @_;
$self->connection($session);
local $self->{dbh}->{RaiseError} = 1;
my $index =
ref( $session->{args}->{Index} )
? $session->{args}->{Index}
: [ split /\s+/, $session->{args}->{Index} ];
if ( !defined $self->{insert_sth} ) {
$self->{insert_sth} =
$self->{dbh}->prepare_cached( "INSERT INTO $self->{table_name} ("
. join( ',', 'id', 'a_session', map { s/'/''/g; $_ } @$index )
. ') VALUES ('
. join( ',', ('?') x ( 2 + @$index ) )
. ')' );
}
$self->{insert_sth}->bind_param( 1, $session->{data}->{_session_id} );
$self->{insert_sth}->bind_param( 2, $session->{serialized} );
my $i = 3;
foreach my $f (@$index) {
$self->{insert_sth}->bind_param( $i, $session->{data}->{$f} );
$i++;
}
$self->{insert_sth}->execute;
$self->{insert_sth}->finish;
}
sub update {
my $self = shift;
my $session = shift;
$self->connection($session);
local $self->{dbh}->{RaiseError} = 1;
my $index =
ref( $session->{args}->{Index} )
? $session->{args}->{Index}
: [ split /\s+/, $session->{args}->{Index} ];
if ( !defined $self->{update_sth} ) {
$self->{update_sth} =
$self->{dbh}->prepare_cached( "UPDATE $self->{table_name} SET "
. join( ' = ?, ', 'a_session', @$index )
. ' = ? WHERE id = ?' );
}
$self->{update_sth}->bind_param( 1, $session->{serialized} );
my $i = 2;
foreach my $f (@$index) {
$self->{update_sth}->bind_param( $i, $session->{data}->{$f} );
$i++;
}
$self->{update_sth}->bind_param( $i, $session->{data}->{_session_id} );
$self->{update_sth}->execute;
$self->{update_sth}->finish;
}
1;
|