Add KALAMAR_PLUGINS environment variable
Change-Id: I05e39411c089bb6d6e24368314202340ebea17f6
diff --git a/lib/Kalamar.pm b/lib/Kalamar.pm
index d782dda..ffb5499 100644
--- a/lib/Kalamar.pm
+++ b/lib/Kalamar.pm
@@ -5,7 +5,7 @@
use Mojo::File;
use Mojo::JSON qw/decode_json encode_json/;
use Mojo::Util qw/url_escape deprecated slugify/;
-use List::Util 'none';
+use List::Util qw!none uniq!;
# Minor version - may be patched from package.json
our $VERSION = '0.48';
@@ -288,11 +288,17 @@
$self->plugin('MailException' => $self->config('MailException'));
};
+ # Load plugins defined in environment variables
+ if ($ENV{'KALAMAR_PLUGINS'}) {
+ $conf->{'plugins'} //= [];
+ push @{$conf->{'plugins'}}, split(/\s*,\s*/, $ENV{'KALAMAR_PLUGINS'} // '');
+ };
+
# Load further plugins,
# that can override core functions,
# therefore order may be of importance
if (exists $conf->{'plugins'}) {
- foreach (@{$conf->{'plugins'}}) {
+ foreach (uniq @{$conf->{'plugins'}}) {
$self->plugin('Kalamar::Plugin::' . $_);
};
};
diff --git a/lib/Kalamar/Plugin/Piwik.pm b/lib/Kalamar/Plugin/Piwik.pm
index 70687ed..9f0db81 100644
--- a/lib/Kalamar/Plugin/Piwik.pm
+++ b/lib/Kalamar/Plugin/Piwik.pm
@@ -26,6 +26,8 @@
my $url = $piwik_conf->{url};
+ return unless $url;
+
$piwik_conf->{append} .= <<APPEND;
;window.addEventListener('korapRequest', function(e) {
let _paq=window._paq=window._paq||[];