X-Git-Url: http://wagnertech.de/git?p=kivitendo-erp.git;a=blobdiff_plain;f=SL%2FAuth%2FSessionValue.pm;fp=SL%2FAuth%2FSessionValue.pm;h=0950a46b95c1ca217472110cd2a2828908e4e5e4;hp=cfaa6245cc1c26d40f08de20e3abf066cf5b5df1;hb=53593baa211863fbf66540cf1bcc36c8fb37257f;hpb=deb4d2dbb676d7d6f69dfe7815d6e0cb09bd4a44 diff --git a/SL/Auth/SessionValue.pm b/SL/Auth/SessionValue.pm index cfaa6245c..0950a46b9 100644 --- a/SL/Auth/SessionValue.pm +++ b/SL/Auth/SessionValue.pm @@ -7,16 +7,16 @@ use strict; use SL::Locale::String (); use Scalar::Util qw(weaken); -use YAML; use SL::DBUtils; +use SL::YAML; sub new { my ($class, %params) = @_; my $self = bless {}, $class; - map { $self->{$_} = $params{$_} } qw(auth key value auto_restore); + map { $self->{$_} = $params{$_} } qw(auth key value auto_restore modified); $self->{fetched} = exists $params{value}; $self->{parsed} = !$params{raw} && exists $params{value}; @@ -39,13 +39,14 @@ sub get_dumped { my ($self) = @_; no warnings 'once'; local $YAML::Stringify = 1; - return YAML::Dump($self->get); + return SL::YAML::Dump($self->get); } sub _fetch { my ($self) = @_; return $self if $self->{fetched}; + return $self if !$self->{auth}->session_tables_present; my $dbh = $self->{auth}->dbconnect; my $query = qq|SELECT sess_value FROM auth.session_content WHERE (session_id = ?) AND (sess_key = ?)|; @@ -58,7 +59,7 @@ sub _fetch { sub _parse { my ($self) = @_; - $self->{value} = YAML::Load($self->{value}) unless $self->{parsed}; + $self->{value} = SL::YAML::Load($self->{value}) unless $self->{parsed}; $self->{parsed} = 1; return $self; @@ -71,7 +72,7 @@ sub _load_value { my %params = ( simple => 1 ); eval { - my $data = YAML::Load($value); + my $data = SL::YAML::Load($value); if (ref $data eq 'HASH') { map { $params{$_} = $data->{$_} } keys %{ $data };