From: hickert Date: Tue, 16 Oct 2007 07:04:38 +0000 (+0000) Subject: Display logging errors only once, then disable mysql logging, for current session. X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=b78399f8585732a1b87131fba64ddb8d7d1eaec8;p=gosa.git 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 --- 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); } }