From f52de04d050e93914d144421fd6ae0f1982e35e9 Mon Sep 17 00:00:00 2001
From: Michael Fürmann <michael@spicyweb.de>
Date: Tue, 03 Mar 2015 09:57:09 -0500
Subject: [PATCH] Handle host-specific ssl certificates

---
 server/mods-available/xmpp_module.inc.php |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/server/mods-available/xmpp_module.inc.php b/server/mods-available/xmpp_module.inc.php
index 145b7f0..f8c1526 100644
--- a/server/mods-available/xmpp_module.inc.php
+++ b/server/mods-available/xmpp_module.inc.php
@@ -79,6 +79,8 @@
         */
 
         $app->modules->registerTableHook('xmpp_domain', 'xmpp_module', 'process');
+        $app->services->registerService('metronome', 'xmpp_module', 'reloadXMPP');
+        $app->services->registerService('metronome', 'xmpp_module', 'restartXMPP');
 
     }
 
@@ -104,6 +106,26 @@
         } // end switch
     } // end function
 
+
+    function restartXMPP($action = 'restart') {
+        global $app, $conf;
+
+        // load the server configuration options
+        $app->uses('getconf,system');
+        $xmpp_config = $app->getconf->get_server_config($conf['server_id'], 'xmpp');
+
+        $daemon = 'metronome';
+
+        $retval = array('output' => '', 'retval' => 0);
+        if($action == 'restart') {
+            $cmd = $app->system->getinitcommand($daemon, 'restart');
+        } else {
+            $cmd = $app->system->getinitcommand($daemon, 'reload');
+        }
+        exec($cmd.' 2>&1', $retval['output'], $retval['retval']);
+        $app->log("Restarting xmpp: $cmd", LOGLEVEL_DEBUG);
+        return $retval;
+    }
 } // end class
 
 ?>

--
Gitblit v1.9.1