Linux altar53.supremepanel53.com 4.18.0-553.8.1.lve.el8.x86_64 #1 SMP Thu Jul 4 16:24:39 UTC 2024 x86_64
/ home/ bdapparelinfo/ dhakazone.com/ admin/ model/ tool/ |
|
<?php class ModelToolBackup extends Model { public function getTables() { $table_data = array(); $query = $this->db->query("SHOW TABLES FROM `" . DB_DATABASE . "`"); foreach ($query->rows as $result) { if (utf8_substr($result['Tables_in_' . DB_DATABASE], 0, strlen(DB_PREFIX)) == DB_PREFIX) { if (isset($result['Tables_in_' . DB_DATABASE])) { $table_data[] = $result['Tables_in_' . DB_DATABASE]; } } } return $table_data; } public function backup($tables) { $output = ''; foreach ($tables as $table) { if (DB_PREFIX) { if (strpos($table, DB_PREFIX) === false) { $status = false; } else { $status = true; } } else { $status = true; } if ($status) { $output .= 'TRUNCATE TABLE `' . $table . '`;' . "\n\n"; $query = $this->db->query("SELECT * FROM `" . $table . "`"); foreach ($query->rows as $result) { $fields = ''; foreach (array_keys($result) as $value) { $fields .= '`' . $value . '`, '; } $values = ''; foreach (array_values($result) as $value) { $value = str_replace(array("\x00", "\x0a", "\x0d", "\x1a"), array('\0', '\n', '\r', '\Z'), $value); $value = str_replace(array("\n", "\r", "\t"), array('\n', '\r', '\t'), $value); $value = str_replace('\\', '\\\\', $value); $value = str_replace('\'', '\\\'', $value); $value = str_replace('\\\n', '\n', $value); $value = str_replace('\\\r', '\r', $value); $value = str_replace('\\\t', '\t', $value); $values .= '\'' . $value . '\', '; } $output .= 'INSERT INTO `' . $table . '` (' . preg_replace('/, $/', '', $fields) . ') VALUES (' . preg_replace('/, $/', '', $values) . ');' . "\n"; } $output .= "\n\n"; } } return $output; } }