Commit d2d3b93d authored by tbrehm's avatar tbrehm

Added code to prevent the excution of server scripts when the connect to the...

Added code to prevent the excution of server scripts when the connect to the master db server fails.
parent fefca12c
......@@ -66,49 +66,54 @@ if(is_file($conf["temppath"].$conf["fs_div"].".ispconfig_lock")){
$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->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) {
/*
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,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('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();
if($app->dbmaster->connect()) {
// 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->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) {
/*
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,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('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 {
/*
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');
}
} else {
/*
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');
$app->log("Unable to connect to master server.",LOGLEVEL_ERROR);
}
/*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment