From cdda6b98d785f103d9be6643a99a882c0d65b64c Mon Sep 17 00:00:00 2001
From: fantu <fantu@ispconfig3>
Date: Sun, 21 Dec 2008 04:51:07 -0500
Subject: [PATCH] fix parse error

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

diff --git a/server/server.php b/server/server.php
index b4973f8..384404c 100644
--- a/server/server.php
+++ b/server/server.php
@@ -66,41 +66,49 @@
 $app->log("Set Lock: ".$conf["temppath"].$conf["fs_div"].".ispconfig_lock", LOGLEVEL_DEBUG);
 */
 
+// get the dalaog_id of the last performed record
+$tmp_rec = $app->dbmaster->queryOneRecord("SELECT updated FROM server WHERE server_id = ".$conf["server_id"]);
+$conf['last_datalog_id'] = (int)$tmp_rec['updated'];
+unset($tmp_rec);
+
 // 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 datalog_id > ".$conf['last_datalog_id']." AND (server_id = ".$conf["server_id"]." OR server_id = 0)");
 $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 +117,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