From f194c60f37e2b9ee20132586a09398ff84d0d41d Mon Sep 17 00:00:00 2001
From: fantu <fantu@ispconfig3>
Date: Thu, 11 Dec 2008 07:40:51 -0500
Subject: [PATCH] fix

---
 server/server.php |   55 +++++++++++++++++++++++++++++--------------------------
 1 files changed, 29 insertions(+), 26 deletions(-)

diff --git a/server/server.php b/server/server.php
index b4973f8..135fac2 100644
--- a/server/server.php
+++ b/server/server.php
@@ -67,40 +67,43 @@
 */
 
 // Check if there is anything to update
-$tmp_rec = $app->db->queryOneRecord("SELECT count(server_id) as number from sys_datalog WHERE server_id = ".$conf["server_id"]);
+$tmp_rec = $app->dbmaster->queryOneRecord("SELECT count(server_id) as number from sys_datalog WHERE server_id = ".$conf["server_id"]." AND status = 'pending'");
 $tmp_num_records = $tmp_rec["number"];
 unset($tmp_rec);
 
 if($tmp_num_records > 0) {
-	
-	$app->log("Found $tmp_num_records changes, starting update process.",LOGLEVEL_DEBUG);
-	
+	/*
+	 There is something to do, triggert by the database -> do it!
+	*/
+	// Write the Log
+	$app->log("Found $tmp_num_records changes, starting update process.", LOGLEVEL_DEBUG);
 	// Load required base-classes
-	$app->uses('ini_parser,modules,plugins');
-	
-	
+	$app->uses('ini_parser,modules,plugins,file,services');
 	// Get server configuration
 	$conf["serverconfig"] = $app->ini_parser->parse_ini_string(stripslashes($server_db_record["config"]));
-
-	/*
-	 Load the modules that are im the mods-enabled folder
-	*/
-
-	$app->modules->loadModules();
-
-	/*
-	 Load the plugins that are in the plugins-enabled folder
-	*/
-
-	$app->plugins->loadPlugins();
-
-	/*
-	 Go trough the sys_datalog table and call the processing functions
-	 in the modules that are hooked on to the table actions
-	*/
+	// Load the modules that are im the mods-enabled folder
+	$app->modules->loadModules('all');
+	// Load the plugins that are in the plugins-enabled folder
+	$app->plugins->loadPlugins('all');
+	// Go trough the sys_datalog table and call the processing functions
+	// in the modules that are hooked on to the table actions
 	$app->modules->processDatalog();
+	// Restart services that need to be restarted after configuration
+	$app->services->processDelayedActions();
 } else {
-	$app->log('Nothing to Update.',LOGLEVEL_DEBUG);
+	/*
+	 There is no trigger inside the database -> load only the core, maybe they have to do something
+	*/
+	// Write the log
+	$app->log('No Updated records found, starting only the core.', LOGLEVEL_DEBUG);
+	// Load required base-classes
+	$app->uses('ini_parser,modules,plugins,file,services');
+	// Get server configuration
+	$conf["serverconfig"] = $app->ini_parser->parse_ini_string(stripslashes($server_db_record["config"]));
+	// Load the modules that are im the mods-core folder
+	$app->modules->loadModules('core');
+	// Load the plugins that are in the plugins-core folder
+	$app->plugins->loadPlugins('core');
 }
 
 /*
@@ -109,5 +112,5 @@
 $app->log("Remove Lock: ".$conf["temppath"].$conf["fs_div"].".ispconfig_lock",LOGLEVEL_DEBUG);
 */
 
-die('finished.');
+die("finished.\n");
 ?>
\ No newline at end of file

--
Gitblit v1.9.1