From 7cf3e98090a3e9f0a9cc960d07c5f259adab6a19 Mon Sep 17 00:00:00 2001 From: Marius Cramer <m.cramer@pixcept.de> Date: Thu, 14 Nov 2013 08:39:08 -0500 Subject: [PATCH] Merge remote-tracking branch 'origin/stable-3.0.5' --- server/lib/classes/db_mysql.inc.php | 51 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 48 insertions(+), 3 deletions(-) diff --git a/server/lib/classes/db_mysql.inc.php b/server/lib/classes/db_mysql.inc.php index 09d6640..af09fbf 100644 --- a/server/lib/classes/db_mysql.inc.php +++ b/server/lib/classes/db_mysql.inc.php @@ -61,7 +61,8 @@ parent::__construct($this->dbHost, $this->dbUser, $this->dbPass,$this->dbName); $try = 0; - while(!is_null($this->connect_error) && $try < 10) { + //while(!is_null($this->connect_error) && $try < 10) { + while(mysqli_connect_error() && $try < 10) { if($try > 8) sleep(5); elseif($try > 0) sleep(1); @@ -71,7 +72,8 @@ parent::__construct($this->dbHost, $this->dbUser, $this->dbPass,$this->dbName); } - if(is_null($this->connect_error)) $this->isConnected = true; + //if(is_null($this->connect_error)) $this->isConnected = true; + if(!mysqli_connect_error()) $this->isConnected = true; $this->setCharacterEncoding(); } @@ -89,12 +91,21 @@ public function updateError($location) { global $app; + /* if(!is_null($this->connect_error)) { $this->errorNumber = $this->connect_errno; $this->errorMessage = $this->connect_error; } else { $this->errorNumber = $this->errno; $this->errorMessage = $this->error; + } + */ + if(mysqli_connect_error()) { + $this->errorNumber = mysqli_connect_errno(); + $this->errorMessage = mysqli_connect_error(); + } else { + $this->errorNumber = mysqli_errno($this); + $this->errorMessage = mysqli_error($this); } $this->errorLocation = $location; @@ -254,6 +265,31 @@ } + /** + * Function to get the database-size + * @param string $database_name + * @return int - database-size in bytes + */ + public function getDatabaseSize($database_name) { + global $app; + include('lib/mysql_clientdb.conf'); + /* Connect to the database */ + $link = mysql_connect($clientdb_host, $clientdb_user, $clientdb_password); + if (!$link) { + $app->log('Unable to connect to the database'.mysql_error($link),LOGLEVEL_DEBUG); + return; + } + /* Get database-size from information_schema */ + $result=mysql_query("SELECT SUM(data_length+index_length) FROM information_schema.TABLES WHERE table_schema='".mysql_real_escape_string($database_name)."';",$link); + $this->close; + if (!$result) { + $app->log('Unable to get the database-size'.mysql_error($link),LOGLEVEL_DEBUG); + return; + } + $database_size = mysql_fetch_row($result); + return $database_size[0]; + } + //** Function to fill the datalog with a full differential record. public function datalogSave($db_table, $action, $primary_field, $primary_id, $record_old, $record_new, $force_update = false) { global $app,$conf; @@ -359,6 +395,15 @@ $this->query("DELETE FROM $tablename WHERE $index_field = '$index_value'"); $new_rec = array(); $this->datalogSave($tablename, 'DELETE', $index_field, $index_value, $old_rec, $new_rec); + + return true; + } + + //** Deletes a record and saves the changes into the datalog + public function datalogError($errormsg) { + global $app; + + if(isset($app->modules->current_datalog_id) && $app->modules->current_datalog_id > 0) $this->query("UPDATE sys_datalog set error = '".$this->quote($errormsg)."' WHERE datalog_id = ".$app->modules->current_datalog_id); return true; } @@ -625,4 +670,4 @@ } - ?> \ No newline at end of file + ?> -- Gitblit v1.9.1