From b78399f8585732a1b87131fba64ddb8d7d1eaec8 Mon Sep 17 00:00:00 2001 From: hickert Date: Tue, 16 Oct 2007 07:04:38 +0000 Subject: [PATCH] Display logging errors only once, then disable mysql logging, for current session. git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@7562 594d385d-05f5-0310-b6e9-bd551577e9d8 --- include/class_log.inc | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/include/class_log.inc b/include/class_log.inc index d9c3565f0..c321b2014 100644 --- a/include/class_log.inc +++ b/include/class_log.inc @@ -98,7 +98,13 @@ class log { $this->log_into_syslog($entry); } if(isset($this->config->current['LOGGING']) && preg_match("/(^|,)mysql(,|$)/i",$this->config->current['LOGGING'])){ - $this->log_into_db($entry); + $res = $this->log_into_db($entry); + + if(!$res){ + global $config; + $config->current['LOGGING'] = preg_replace("/(^|,)mysql(,|$)/",",",$config->current['LOGGING']); + msg_dialog::display(_("Logging to MySQL disabled"),_("The logging to a MySQL database is now disabled for this session of GOsa, due to communication errors with the specified logging database."), INFO_DIALOG); + } } } } @@ -147,10 +153,12 @@ class log { $con = @mysql_pconnect($server_name,$server['USER'],$server['PWD']); if(!$con){ print_red(sprintf(_("Could not connect to logging server %s."),$server_name)); + return(FALSE); }else{ $db = mysql_select_db($server['DB'],$con); if(!$db){ print_red(sprintf(_("Could not select database %s on server %s. Server says :%s"),$server['DB'],$server['SERVER'],mysql_error($con))); + return(FALSE); }else{ /* Create mysql syntax */ @@ -170,12 +178,13 @@ class log { $res = mysql_query($query,$con); if(!$res){ print_red(sprintf(_("Could not query database %s on server %s. Server ssys :%s"),$server['DB'],$server['SERVER'],mysql_error($con))); - + return(FALSE); } } mysql_close($con); } } + return(TRUE); } } -- 2.30.2