Viewing file: inc_functions.php (5.06 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/********************************************************************************
- MemHT Portal -
Copyright (C) 2007-2008 by Miltenovik Manojlo
http://www.memht.com
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your opinion) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, see <http://www.gnu.org/licenses/> (GPLv2)
or write to the Free Software Foundation, Inc., 51 Franklin Street,
Fifth Floor, Boston, MA02110-1301, USA.
********************************************************************************/
if (stristr(htmlentities($_SERVER['PHP_SELF']), "inc_functions.php")) {
die("<table style='padding: 2px; border: 1px solid #999; background-color: #EEE; font-family: Verdana; font-size: 10px;' align='center'><tr><td><b>Error:</b> This file cannot be opened directly!</td></tr></table>");
}
function getDump($onlyData,$deleteInc) {
global $db_host,$db_name,$userid;
if (isAuth($userid,2)) {
$nl = "\n";
$dump = "-- ---------------------------------------------------------------------$nl";
$dump .= "-- MemHT Portal$nl";
$dump .= "-- Copyright (C) 2007-2008 by Miltenovik Manojlo$nl";
$dump .= "-- http://www.memht.com$nl$nl";
$dump .= "-- This program is free software; you can redistribute it and/or modify$nl";
$dump .= "-- it under the terms of the GNU General Public License as published by$nl";
$dump .= "-- the Free Software Foundation; either version 2 of the License, or$nl";
$dump .= "-- (at your opinion) any later version.$nl$nl";
$dump .= "-- This program is distributed in the hope that it will be useful,$nl";
$dump .= "-- but WITHOUT ANY WARRANTY; without even the implied warranty of$nl";
$dump .= "-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the$nl";
$dump .= "-- GNU General Public License for more details.$nl$nl";
$dump .= "-- You should have received a copy of the GNU General Public License along$nl";
$dump .= "-- with this program; if not, see <http://www.gnu.org/licenses/> (GPLv2)$nl";
$dump .= "-- or write to the Free Software Foundation, Inc., 51 Franklin Street,$nl";
$dump .= "-- Fifth Floor, Boston, MA02110-1301, USA.$nl";
$dump .= "-- ---------------------------------------------------------------------$nl";
$dump .= "-- Host: $db_host$nl";
$dump .= "-- Database: $db_name$nl";
$dump .= "-- Time: ".@date(Y.".".m.".".d)."-".@date(H.".".i)."$nl";
$dump .= "-- ---------------------------------------------------------------------$nl$nl";
$i = 0;
$result = mysql_list_tables($db_name);
while ($i < mysql_num_rows($result)) {
$name_table = mysql_table_name($result, $i);
$showresult = mysql_query("SHOW CREATE TABLE $name_table");
while ($show = mysql_fetch_row($showresult)) {
// Don't dump table structure if we only should dump the data
if ($onlyData == false) {
//Structure
$dump .= "-- --------------------------------------------------$nl";
$dump .= "-- Structure table `".$show[0]."`$nl";
$dump .= "-- --------------------------------------------------$nl";
$dump .= "DROP TABLE IF EXISTS `".$show[0]."`;".$nl;
$dump .= $show[1].";$nl$nl";
}
$firstRow = 1;
$insres = mysql_query("SELECT * FROM $name_table");
while ($insrow = mysql_fetch_row($insres)) {
if ($firstRow == 1) {
// It's the first row, generate Data header and more
$dump .= "-- --------------------------------------------------$nl";
$dump .= "-- Data table `".$show[0]."`$nl";
$dump .= "-- --------------------------------------------------$nl";
// Generate the delete statement
if ($deleteInc == true) {
$dump .= "TRUNCATE `$name_table`;$nl";
}
// Generate the insert statement
$dump .= "INSERT INTO `$name_table` (";
$numfields = mysql_num_fields($insres);
for ($j=0;$j<$numfields;$j++) {
$dump .= "`".mysql_field_name($insres,$j)."`";
if ($j<$numfields-1) { $dump .= ","; }
}
$dump .= ") VALUES$nl";
}
else {
// It's not the first row, so a row has already been exported. Add a comma and a newline
$dump .= ",$nl";
}
// Insert these values
$dump .= "(";
for ($j=0;$j<$numfields;$j++) {
$dump .= "'".addslashes($insrow[$j])."'";
if ($j<$numfields-1) { $dump .= ","; }
}
$dump .= ")";
$firstRow = 0;
}
// Add a closing ; if we exported at least one row
if ($firstRow == 0) {
$dump .= ";$nl$nl";
}
}
$i++;
}
return $dump;
} else {
return "Access Denied!";
}
}
?>
|