-
- if ($insert == '')
- {
- $insert = "\nINSERT INTO `" . $tablename . "` VALUES\n";
- $maxinsert -= strlen($insert);
- } else {
- $insert .= ",\n";
- }
-
- $maxinsert -= $len;
- $insert .= $values;
-
- // if saving is successful, then empty $out, else set error flag
- if (strlen($out) > $max_size && $zip != "zip")
- {
- if (save_to_file($backupfile, $zip, $out))
- $out = "";
- else
- $error = true;
- }
+ if ($insert)
+ $out .= $insert. ';';
+ // an error occurred! Try to delete file and return error status
+ }
+ elseif ($error)
+ {
+ @unlink($backupfile);
+ return false;
+ }
+
+ // if saving is successful, then empty $out, else set error flag
+ if (strlen($out) > $max_size && $zip != "zip")
+ {
+ if (save_to_file($backupfile, $zip, $out))
+ $out= "";
+ else
+ $error = true;
+ }
+ } //end if Engine set (not a view)
+ }
+ //process views last so all tables have been created before views are created
+ foreach ($all_tables as $row)
+ {
+ if (empty($row['Engine'])) {
+ $viewname = $row['Name'];
+ $out .= "\n\nDROP VIEW IF EXISTS `".$viewname."`;\n";
+ //db_get_view_schema() is in /includes/db/connect_db_mysqli.inc because it is mysql specific
+ if (NULL !== ($schema = db_get_view_schema($viewname)))
+ {
+ $out .= "CREATE VIEW `".$viewname."` AS ".$schema.";\n\n";
+ if (!save_to_file($backupfile, $zip, $out)) $error = true;
+ else $out = "";
+ }
+ else $error = true;
+
+ if ($error) {
+ @unlink($backupfile);
+ return false;