package Lemonldap::NG::Portal::Lib::OtherSessions; use strict; use Mouse; our $VERSION = '2.0.0'; has module => ( is => 'rw', default => 'Lemonldap::NG::Common::Apache::Session' ); has moduleOpts => ( is => 'rw', lazy => 1, default => sub { my %opts = %{ $_[0]->{conf}->{globalStorageOptions} || {} }; $opts{backend} = $_[0]->{conf}->{globalStorage}; return \%opts; } ); # Build an HTML array to display sessions # @param $sessions Array ref of hash ref containing sessions datas # @param $title Title of the array # @param $displayUser To display "User" column # @param $displaError To display "Error" column # @return HTML string sub mkSessionArray { my ( $self, $sessions, $title, $displayUser, $displayError ) = @_; return "" unless ( ref $sessions eq "ARRAY" and @$sessions ); my $tmp = $title ? qq'

' : ""; $tmp .= ""; $tmp .= ""; $tmp .= '' if ($displayUser); $tmp .= ''; $tmp .= ''; $tmp .= "" foreach ( keys %{ $self->{sessionDataToRemember} } ); $tmp .= '' if ($displayError); $tmp .= ''; foreach my $session (@$sessions) { $tmp .= ""; $tmp .= "" if ($displayUser); $tmp .= qq''; $tmp .= ""; $tmp .= "" foreach ( keys %{ $self->{sessionDataToRemember} } ); $tmp .= "" if ($displayError); $tmp .= ""; } $tmp .= '
" . $self->{sessionDataToRemember}->{$_} . "
$session->{user}$session->{ipAddr}" . ( $session->{$_} || "" ) . "$session->{error}
'; return $tmp; } 1;