Compile macros and groups (#595)
This commit is contained in:
parent
41d487ee1f
commit
80f17a91ea
|
@ -181,7 +181,26 @@ sub reloadConf {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# TODO: compile macros in _macros, groups in _groups
|
# Compile macros in _macros, groups in _groups
|
||||||
|
foreach my $type (qw(macros groups)) {
|
||||||
|
$self->{"_$type"} = {};
|
||||||
|
if ( $self->conf->{$type} ) {
|
||||||
|
for my $name ( sort keys %{ $self->conf->{$type} } ) {
|
||||||
|
my $sub = HANDLER->tsv->{jail}->jail_reval(
|
||||||
|
"sub{return(" . $self->conf->{$type}->{$name} . ")}" );
|
||||||
|
if ($sub) {
|
||||||
|
$self->{"_$type"}->{$name} = $sub;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$self->lmLog(
|
||||||
|
"$type $name returns an error: "
|
||||||
|
. HANDLER->tsv->{jail}->error,
|
||||||
|
'error'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# Load plugins
|
# Load plugins
|
||||||
foreach my $plugin ( $self->enabledPlugins ) {
|
foreach my $plugin ( $self->enabledPlugins ) {
|
||||||
|
|
|
@ -152,7 +152,7 @@ sub setSessionInfo {
|
||||||
$req->{sessionInfo}->{_url} = $req->datas->{urldc};
|
$req->{sessionInfo}->{_url} = $req->datas->{urldc};
|
||||||
|
|
||||||
# Share sessionInfo with underlying handler (needed for safe jail)
|
# Share sessionInfo with underlying handler (needed for safe jail)
|
||||||
HANDLER->datas($req->{sessionInfo});
|
HANDLER->datas( $req->{sessionInfo} );
|
||||||
|
|
||||||
# Call UserDB setSessionInfo
|
# Call UserDB setSessionInfo
|
||||||
return $self->_userDB->setSessionInfo($req);
|
return $self->_userDB->setSessionInfo($req);
|
||||||
|
@ -163,7 +163,7 @@ sub setSessionInfo {
|
||||||
sub setMacros {
|
sub setMacros {
|
||||||
my ( $self, $req ) = @_;
|
my ( $self, $req ) = @_;
|
||||||
foreach ( sort keys %{ $self->_macros } ) {
|
foreach ( sort keys %{ $self->_macros } ) {
|
||||||
$req->{sessionInfo}->{$_} = $self->_macros->{$_}->($req);
|
$req->{sessionInfo}->{$_} = $self->_macros->{$_}->();
|
||||||
}
|
}
|
||||||
PE_OK;
|
PE_OK;
|
||||||
}
|
}
|
||||||
|
@ -202,7 +202,7 @@ sub setPersistentSessionInfo {
|
||||||
sub setLocalGroups {
|
sub setLocalGroups {
|
||||||
my ( $self, $req ) = @_;
|
my ( $self, $req ) = @_;
|
||||||
foreach ( sort keys %{ $self->_groups } ) {
|
foreach ( sort keys %{ $self->_groups } ) {
|
||||||
if ( $self->_groups->{$_}->($req) ) {
|
if ( $self->_groups->{$_}->() ) {
|
||||||
$req->{sessionInfo}->{groups} .=
|
$req->{sessionInfo}->{groups} .=
|
||||||
$self->conf->{multiValuesSeparator} . $_;
|
$self->conf->{multiValuesSeparator} . $_;
|
||||||
$req->{sessionInfo}->{hGroups}->{$_}->{name} = $_;
|
$req->{sessionInfo}->{hGroups}->{$_}->{name} = $_;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user