From 72695f0356210b5ca68d33d09e91c00ed9d6c2b6 Mon Sep 17 00:00:00 2001 From: tbrehm <t.brehm@ispconfig.org> Date: Tue, 12 Feb 2013 04:55:44 -0500 Subject: [PATCH] Merged Revisions 3771-3801 from stable branch. --- server/server.php | 54 ++++++++++++++++++++++++++++++++---------------------- 1 files changed, 32 insertions(+), 22 deletions(-) diff --git a/server/server.php b/server/server.php index 5e27cb5..e669c6e 100644 --- a/server/server.php +++ b/server/server.php @@ -40,10 +40,18 @@ /* * Try to Load the server configuration from the master-db */ -if ($app->dbmaster->connect()) { +if ($app->dbmaster->connect_error == NULL) { $server_db_record = $app->dbmaster->queryOneRecord("SELECT * FROM server WHERE server_id = " . $conf['server_id']); - - $conf['last_datalog_id'] = (int) $server_db_record['updated']; + + if(!is_array($server_db_record)) die('Unable to load the server configuration from database.'); + + //* Get the number of the last processed datalog_id, if the id of the local server + //* is > then the one of the remote system, then use the local ID as we might not have + //* reached the remote server during the last run then. + $local_server_db_record = $app->db->queryOneRecord("SELECT * FROM server WHERE server_id = " . $conf['server_id']); + $conf['last_datalog_id'] = (int) max($server_db_record['updated'],$local_server_db_record['updated']); + unset($local_server_db_record); + $conf['mirror_server_id'] = (int) $server_db_record['mirror_server_id']; // Load the ini_parser @@ -133,7 +141,7 @@ /* * Next we try to process the datalog */ -if ($app->db->connect() && $app->dbmaster->connect()) { +if ($app->db->connect_error == NULL && $app->dbmaster->connect_error == NULL) { // Check if there is anything to update if ($conf['mirror_server_id'] > 0) { @@ -144,29 +152,31 @@ $tmp_num_records = $tmp_rec['number']; unset($tmp_rec); - + + //** Load required base-classes + $app->uses('modules,plugins,file,services,system'); + //** Load the modules that are in the mods-enabled folder + $app->modules->loadModules('all'); + //** Load the plugins that are in the plugins-enabled folder + $app->plugins->loadPlugins('all'); + + $app->plugins->raiseAction('server_plugins_loaded', ''); + if ($tmp_num_records > 0) { - /* - 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('modules,plugins,file,services'); - // Load the modules that are in the mods-enabled folder - $app->modules->loadModules('all'); - // Load the plugins that are in the plugins-enabled folder - $app->plugins->loadPlugins('all'); - // Go through the sys_datalog table and call the processing functions - // from the modules that are hooked on to the table actions + //** Go through the sys_datalog table and call the processing functions + //** from the modules that are hooked on to the table actions $app->modules->processDatalog(); - // Restart services that need to after configuration - $app->services->processDelayedActions(); - // All modules are already loaded and processed, so there is NO NEED to load the core once again... - $needStartCore = false; } + //** Process actions from sys_remoteaction table + $app->modules->processActions(); + //** Restart services that need to after configuration + $app->services->processDelayedActions(); + //** All modules are already loaded and processed, so there is NO NEED to load the core once again... + $needStartCore = false; + } else { - if (!$app->db->connect()) { + if ($app->db->connect->connect_error == NULL) { $app->log('Unable to connect to local server.' . $app->db->errorMessage, LOGLEVEL_WARN); } else { $app->log('Unable to connect to master server.' . $app->dbmaster->errorMessage, LOGLEVEL_WARN); -- Gitblit v1.9.1