From 841bcac241bac980d5e943793ffda3372d7f8f82 Mon Sep 17 00:00:00 2001 From: Christoph Burschka Date: Thu, 16 Jan 2014 19:34:39 +0100 Subject: Big multiple-plugins patch (fixes #2). --- main.php | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) (limited to 'main.php') diff --git a/main.php b/main.php index f9c5b83..57e20eb 100755 --- a/main.php +++ b/main.php @@ -9,19 +9,20 @@ main(); function main() { require_once ROOT . 'config.php'; - if (!empty($config['plugin']) && !empty($config[$config['plugin']])) { - $plugin_file = 'plugins/' . $config['plugin'] . '/' . $config['plugin'] . '.module'; - if (file_exists(ROOT . $plugin_file)) { - require_once ROOT . $plugin_file; - $function = $config['plugin'] . '_init'; - $auth = new EjabberdAuth($config, $function($config[$config['plugin']])); - $auth->run(); + $bridges = []; + foreach ($config as $domain => $plugins) { + $bridges[$domain] = []; + foreach ($plugins as $settings) { + $plugin_file = 'plugins/' . $settings['plugin'] . '/' . $settings['plugin'] . '.module'; + if (file_exists(ROOT . $plugin_file)) { + require_once ROOT . $plugin_file; + $function = $settings['plugin'] . '_init'; + $bridges[$domain][] = $function($settings['config']); + } + else { + return fwrite(STDERR, "Plugin <{$plugin_file}> not found.\n"); + } } - else { - fwrite(STDERR, "Plugin <{$plugin_file}> not found.\n"); - } - } - else { - fwrite(STDERR, 'Incomplete configuration: $config[\'plugin\'] must be set to , and $config[] populated.' . "\n"); } + (new EjabberdAuth($meta, $bridges))->run(); } -- cgit v1.1