sCharset = $sCharset; $this -> sCollate = $sCollate; $this -> sInputs = '-- -- Database Dump For Dolphin: ' . DOLPHIN_VERSION . ' -- '; } function _getTableStruct($name, $data = 0) { if ($data != 1) { ## 1 only data ##Read table structure $Query = "SHOW CREATE TABLE {$name}"; $Result = db_res($Query); $this -> sInputs .= " -- -- Table structure for table `{$name}` -- DROP TABLE IF EXISTS `{$name}`; "; while($Row = @mysql_fetch_row($Result)) $this -> sInputs .= preg_replace("/ENGINE=.*/", "ENGINE=MyISAM DEFAULT CHARSET={$this -> sCharset} COLLATE={$this -> sCollate};\n", $Row[1]); } ### Read data from table if ($data != 0) { ##Only strucure $this -> sInputs .= " -- -- Dumping data for table `{$name}` -- "; $Query = "SELECT * FROM {$name} "; $Result = db_res($Query); while($Row = @mysql_fetch_row($Result)) { $this -> sInputs .= "INSERT INTO `{$name}` VALUES ("; for ($j = 0; $j < count($Row); $j++ ) { if( is_null( $Row[$j] ) ) $this -> sInputs .= "NULL, "; else //string or numeric $this -> sInputs .= "'" . my_escape_string($Row[$j]) . "', "; } $this -> sInputs = substr ($this -> sInputs, 0, strrpos($this -> sInputs, ',')); //delete last , $this -> sInputs .= ");\n"; } $this -> sInputs .= "\n-- --------------------------------------------------------\n"; } } function _getAllTables($data = false) { $Query = "SHOW TABLES"; $Result = db_res($Query); while($Row = mysql_fetch_row($Result)) $this -> _getTableStruct($Row[0], $data); } function _restoreFromDumpFile($file) { return execSqlFile( $file ); } } function my_escape_string( $text ) { $text = str_replace( '\\', '\\\\', $text ); $text = str_replace( '\'', '\'\'', $text ); $text = str_replace( "\n", '\\n', $text ); $text = str_replace( "\r", '\\r', $text ); return $text; } ?>