Create a getSkin() method to share skin rules in all portal pages (#605)
This commit is contained in:
parent
ec35b64736
commit
e33ee53afc
|
@ -7,7 +7,6 @@ use strict;
|
|||
# Load portal module
|
||||
my $portal = Lemonldap::NG::Portal::MailReset->new();
|
||||
|
||||
my $skin = $portal->{portalSkin};
|
||||
my $skin_dir = $portal->getApacheHtdocsPath() . "/skins";
|
||||
my $portal_url = $portal->{portal};
|
||||
my $portalPath = $portal->{portal};
|
||||
|
@ -17,6 +16,8 @@ $portalPath =~ s#[^/]+\.pl$##;
|
|||
# Process
|
||||
$portal->process();
|
||||
|
||||
my $skin = $portal->getSkin();
|
||||
|
||||
# Template creation
|
||||
my $template = HTML::Template->new(
|
||||
filename => "$skin_dir/$skin/mail.tpl",
|
||||
|
|
|
@ -17,7 +17,6 @@ our $VERSION = '1.3.0';
|
|||
sub display {
|
||||
my $self = shift;
|
||||
|
||||
my $skin = $self->{portalSkin};
|
||||
my $skin_dir = $self->getApacheHtdocsPath() . "/skins";
|
||||
my ( $skinfile, %templateParams );
|
||||
my $http_error = $self->param('lmError');
|
||||
|
@ -308,21 +307,8 @@ sub display {
|
|||
|
||||
}
|
||||
|
||||
# Fill sessionInfo to eval rule if empty (unauthenticated user)
|
||||
$self->{sessionInfo}->{_url} ||= $self->{urldc};
|
||||
$self->{sessionInfo}->{ipAddr} ||= $self->ipAddr;
|
||||
|
||||
# Load specific skin from skinRules
|
||||
if ( $self->{portalSkinRules} ) {
|
||||
foreach my $skinRule ( sort keys %{ $self->{portalSkinRules} } ) {
|
||||
if ( $self->safe->reval($skinRule) ) {
|
||||
$skin = $self->{portalSkinRules}->{$skinRule};
|
||||
$self->lmLog( "Skin $skin selected from skin rule", 'debug' );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
## Common template params
|
||||
my $skin = $self->getSkin();
|
||||
my $portalPath = $self->{portal};
|
||||
$portalPath =~ s#^https?://[^/]+/?#/#;
|
||||
$portalPath =~ s#[^/]+\.pl$##;
|
||||
|
|
|
@ -1472,7 +1472,7 @@ sub stamp {
|
|||
|
||||
## @method string convertSec(int sec)
|
||||
# Convert seconds to hours, minutes, seconds
|
||||
# @param $sec number of seconds
|
||||
# @param $sec number of seconds
|
||||
# @return a formated time
|
||||
sub convertSec {
|
||||
my ( $self, $sec ) = splice @_;
|
||||
|
@ -1500,6 +1500,31 @@ sub convertSec {
|
|||
return ( $day, $hrs, $min, $sec );
|
||||
}
|
||||
|
||||
## @method string getSkin()
|
||||
# Return skin name
|
||||
# @return skin name
|
||||
sub getSkin {
|
||||
my ($self) = splice @_;
|
||||
|
||||
my $skin = $self->{portalSkin};
|
||||
|
||||
# Fill sessionInfo to eval rule if empty (unauthenticated user)
|
||||
$self->{sessionInfo}->{_url} ||= $self->{urldc};
|
||||
$self->{sessionInfo}->{ipAddr} ||= $self->ipAddr;
|
||||
|
||||
# Load specific skin from skinRules
|
||||
if ( $self->{portalSkinRules} ) {
|
||||
foreach my $skinRule ( sort keys %{ $self->{portalSkinRules} } ) {
|
||||
if ( $self->safe->reval($skinRule) ) {
|
||||
$skin = $self->{portalSkinRules}->{$skinRule};
|
||||
$self->lmLog( "Skin $skin selected from skin rule", 'debug' );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $skin;
|
||||
}
|
||||
|
||||
###############################################################
|
||||
# MAIN subroutine: call all steps until one returns something #
|
||||
# different than PE_OK #
|
||||
|
|
Loading…
Reference in New Issue
Block a user