From e1ceb050e19c7574bca146a8da7047ee4ff456b5 Mon Sep 17 00:00:00 2001
From: Marius Burkard <m.burkard@pixcept.de>
Date: Sun, 10 Jul 2016 05:02:35 -0400
Subject: [PATCH] Merge branch 'stable-3.1'
---
server/lib/classes/services.inc.php | 48 ++++++++++++++++++++++++++----------------------
1 files changed, 26 insertions(+), 22 deletions(-)
diff --git a/server/lib/classes/services.inc.php b/server/lib/classes/services.inc.php
index 260d3f0..7a8841e 100644
--- a/server/lib/classes/services.inc.php
+++ b/server/lib/classes/services.inc.php
@@ -1,6 +1,7 @@
<?php
+
/*
-Copyright (c) 2007, projektfarm Gmbh, Till Brehm, Falko Timme
+Copyright (c) 2007, Till Brehm, projektfarm Gmbh
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
@@ -27,53 +28,56 @@
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-
class services {
var $registered_services = array();
var $delayed_restarts = array();
-
- // This function adds a request for restarting
+ var $debug = false;
+
+ // This function adds a request for restarting
// a service at the end of the configuration run.
- function restartServiceDelayed($service_name,$action = 'restart') {
+ function restartServiceDelayed($service_name, $action = 'restart') {
global $app;
if(is_array($this->registered_services[$service_name])) {
$this->delayed_restarts[$service_name] = $action;
} else {
- $app->log("Unable to add a delayed restart for '$service_name'. Service '$service_name' is not registered.",LOGLEVEL_WARNING);
+ $app->log("Unable to add a delayed restart for '$service_name'. Service not registered.", LOGLEVEL_WARNING);
}
-
+
}
-
+
// This function restarts a service when the function is called
- function restartService($service_name,$action = 'restart') {
+ function restartService($service_name, $action = 'restart') {
global $app;
-
+
if(is_array($this->registered_services[$service_name])) {
- $module_name = $this->registered_services[$service_name]["module"];
- $function_name = $this->registered_services[$service_name]["function"];
- $app->log("Call function '$function_name' in module '$module_name'.",LOGLEVEL_DEBUG);
- call_user_method($function_name,$app->loaded_modules[$module_name],$action);
+ $module_name = $this->registered_services[$service_name]['module'];
+ $function_name = $this->registered_services[$service_name]['function'];
+ $app->log("Calling function '$function_name' from module '$module_name'.", LOGLEVEL_DEBUG);
+ // call_user_method($function_name,$app->loaded_modules[$module_name],$action);
+ return call_user_func(array($app->loaded_modules[$module_name], $function_name), $action);
} else {
- $app->log("Unable to restart $service_name. Service $service_name is not registered.",LOGLEVEL_WARNING);
+ $app->log("Unable to restart $service_name. Service not registered.", LOGLEVEL_WARNING);
+ return array('output' => '', 'retval' => 0);
}
-
+
}
-
+
// This function is used to register callback functions for services that can be restarted
- function registerService($service_name,$module_name, $function_name) {
+ function registerService($service_name, $module_name, $function_name) {
global $app;
$this->registered_services[$service_name] = array('module' => $module_name, 'function' => $function_name);
- $app->log("Registered Service '$service_name' in module '$module_name' for processing function '$function_name'",LOGLEVEL_DEBUG);
+ if($this->debug) $app->log("Registered Service '$service_name' in module '$module_name' for processing function '$function_name'", LOGLEVEL_DEBUG);
}
-
+
// This function is called at the end of the server script to restart services.
function processDelayedActions() {
global $app;
foreach($this->delayed_restarts as $service_name => $action) {
- $this->restartService($service_name,$action);
+ $this->restartService($service_name, $action);
}
}
}
-?>
\ No newline at end of file
+
+?>
--
Gitblit v1.9.1