de1304b7fc
See #2675, #2676 and #2677
31 lines
721 B
Perl
31 lines
721 B
Perl
package Lemonldap::NG::Portal::Lib::CustomModule;
|
|
|
|
# Fake 'new' method here
|
|
sub new {
|
|
my ( $class, $self ) = @_;
|
|
|
|
my $configKey = $class->custom_config_key;
|
|
my $name = $class->custom_name;
|
|
|
|
my $module = $self->{conf}->{$configKey};
|
|
unless ($module) {
|
|
die "Custom $name module not defined";
|
|
}
|
|
|
|
$module = "Lemonldap::NG::Portal$module" if ( $module =~ /^::/ );
|
|
|
|
eval "require $module";
|
|
if ($@) {
|
|
die "Custom $name module failed to compile: $@";
|
|
}
|
|
|
|
my $obj = eval { $module->new($self); };
|
|
if ($@) {
|
|
die "Custom $name module failed to create instance: $@";
|
|
}
|
|
|
|
$self->{p}->logger->debug("Custom $name module loaded");
|
|
return $obj;
|
|
}
|
|
1;
|