From 3e994a81a8b407c0076eaf90649fbf98e71082e2 Mon Sep 17 00:00:00 2001 From: Michael Fürmann <michael@spicyweb.de> Date: Thu, 19 Feb 2015 10:04:10 -0500 Subject: [PATCH] XMPP User and domain changes and Metronome SQL Auth scripts --- server/plugins-available/xmpp_plugin.inc.php | 25 ++++++++++++++++++++++++- 1 files changed, 24 insertions(+), 1 deletions(-) diff --git a/server/plugins-available/xmpp_plugin.inc.php b/server/plugins-available/xmpp_plugin.inc.php index c4f70e3..1b177e7 100644 --- a/server/plugins-available/xmpp_plugin.inc.php +++ b/server/plugins-available/xmpp_plugin.inc.php @@ -67,6 +67,9 @@ $app->plugins->registerEvent('xmpp_domain_insert', 'xmpp_plugin', 'domainInsert'); $app->plugins->registerEvent('xmpp_domain_update', 'xmpp_plugin', 'domainUpdate'); $app->plugins->registerEvent('xmpp_domain_delete', 'xmpp_plugin', 'domainDelete'); + $app->plugins->registerEvent('xmpp_user_insert', 'xmpp_plugin', 'userInsert'); + $app->plugins->registerEvent('xmpp_user_update', 'xmpp_plugin', 'userUpdate'); + $app->plugins->registerEvent('xmpp_user_delete', 'xmpp_plugin', 'userDelete'); } @@ -135,7 +138,6 @@ $tpl->newTemplate('metronome_conf_host.master'); $tpl->setVar('domain', $data['new']['domain']); $tpl->setVar('active', $data['new']['active'] == 'y' ? 'true' : 'false'); - $tpl->setVar('auth_method', $data['new']['auth_method'] == 'isp' ? 'external' : 'internal_'.$data['new']['auth_method']); $tpl->setVar('public_registration', $data['new']['public_registration'] == 'y' ? 'true' : 'false'); $admins = array(); @@ -227,6 +229,27 @@ $app->services->restartServiceDelayed('metronome', 'restart'); } + function userInsert($event_name, $data){ + //$data['new']['auth_method'] + // Check domain for auth settings + // Don't allow manual user creation for mailaccount controlled domains + + // maybe metronomectl adduser for new local users + } + function userUpdate($event_name, $data){ + // Check domain for auth settings + // Don't allow manual user update for mailaccount controlled domains + + // maybe metronomectl passwd for existing local users + } + function userDelete($event_name, $data){ + // Check domain for auth settings + // Don't allow manual user deletion for mailaccount controlled domains + + // Remove account from metronome + exec('metronomectl deluser '.$data['old']['jid']); + } + } // end class ?> -- Gitblit v1.9.1