include_once "../inc/var.inc.php";
include_once "../inc/"."conexion.inc.php";
Conexion();
include_once "../inc/"."identif.php";
Administracion();
include_once "../inc/"."parametros.inc.php";
include_once "../inc/"."funcarch.php";
include_once "../inc/"."pclzip.lib.php";
global $IdiomaSitio;
$Mensajes = Comienzo ("bk-001",$IdiomaSitio);
$VectorIdioma = ObtenerVectorIdioma ($IdiomaSitio);
set_time_limit(0);
function file_init($name)
{
if (file_exists($name))
{
unlink($name);
}
$arch = fopen($name,"w");
return ($arch);
}
function add_line($archivo,$insert)
{
$retorno = fwrite($archivo,$insert."\r\n");
return $retorno;
}
function armar_CREATE_TABLA($db , $tabla, $archivo) {
$resultado = mysql_query("SHOW CREATE TABLE ".$tabla);
$row= mysql_fetch_array($resultado);
$cadena= $row["Create Table"];
add_line($archivo,$cadena);
return $cadena;
}
function armar_INSERT_TABLA($db , $tabla, $archivo) {
$local_query = 'SELECT * FROM ' .$db.'.'.$tabla;
$resultado_contenido_tabla = mysql_query($local_query);
$fields = mysql_list_fields($db, $tabla);
$esquema_insert = "INSERT INTO ".$db.".".$tabla." (" ;
$cantidad_campos = mysql_num_fields($fields);
for ($i = 0 ; $i < $cantidad_campos ; $i++){
$campo = mysql_field_name($resultado_contenido_tabla , $i);
$esquema_insert.= $campo;
if ($i < ($cantidad_campos - 1)) {
$esquema_insert.=' , ';
}
}
$esquema_insert.= ' ) VALUES ( ';
$cadena= "";
while ($row = mysql_fetch_array($resultado_contenido_tabla )){
$cadena = $esquema_insert;
for ($i = 0 ; $i < $cantidad_campos ; $i++){
//Tendria que reemplazar los valores
$cadena.= ' `'.str_replace('`','`',$row[$i]).'`';
if ($i < ($cantidad_campos-1)) {
$cadena.=' , ';
}
}
$cadena.= ' ); ' .'\\r\\n';
add_line($archivo,$cadena);
}
mysql_free_result($resultado_contenido_tabla);
return "";
}
function armar_INSERT_TABLAS($db,$archivo){
// "Armo los insert de cada tabla"
$show_table = 'SHOW TABLES FROM '.$db;
$resultado_tablas = mysql_query($show_table);
$num_tables = mysql_num_rows($resultado_tablas);
$consulta="";
while ($row = mysql_fetch_row($resultado_tablas)) {
$tabla = $row[0];
$consulta = armar_CREATE_TABLA($db , $tabla, $archivo);
$consulta = armar_INSERT_TABLA($db , $tabla, $archivo);
}
return $consulta;
}
function armar_DROP($db,$archivo){
// "Borra la bd si existe"
$drop_query ="DROP DATABASE ".$db.';'."\\r\\n";
add_line($archivo,$drop_query);
return $drop_query ;
}
function armar_CREATE($db,$archivo){
// "Crea la bd "
$create_query = 'CREATE DATABASE '.$db.';'."\\r\\n" ;
add_line($archivo,$create_query);
return $create_query ;
}
function file_end($archivo,$filename,$db)
{ global $Mensajes;
fclose($archivo);
$texto= "
|
|
".$Mensajes["tit-1"]."
".$Mensajes["tit-2"]."
|
";
//echo $texto."dd";
armarhtml($texto);
}
function armarhtml($texto){
global $IdiomaSitio;
?>
PrEBi
}
/* ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
*/
if (isset($paso2) &&($paso2 == 1))
{
$straux = str_replace("/","//",devolverDirectorioArchivos());
if ($straux == devolverDirectorioArchivos())
$straux = str_replace('\\',"\\\\",devolverDirectorioArchivos());
if (file_exists($straux.'//backup_'.$db.'_'.date('Ymd').'.zip'))
{
unlink($straux.'//backup_'.$db.'_'.date('Ymd').'.zip');
}
$zip= new PclZip($straux.'//backup_'.$db.'_'.date('Ymd').'.zip');
$total = $zip->create($filename);
@unlink($filename);
$filename = devolverDirectorioArchivos().'//backup_'.$db.'_'.date('Ymd').'.zip';
$filesize = filesize($filename);
//echo $filename;
header("Content-type: application/zip");
header("Accept-Ranges: bytes");
header("Content-Disposition:attachment; filename=backup_".$db."_".date('Ymd').".zip");
@readfile($filename);
@unlink($filename);
}
elseif ( (isset($paso1)) && $paso1 == 1)
{
$db= Devolver_Database();
$filename = 'backup_'.$db.'_'.date('Ymd').'.sql';
$name = devolverDirectorioArchivos()."/".$filename;
$archivo = file_init($name); //armo el nombre del archivo: backup_NombreBD_fecha
//$drop = armar_DROP($db,$archivo);
//$create = armar_CREATE($db,$archivo);
//$inserts = armar_INSERT_TABLAS($db,$archivo);
file_end($archivo,$name,$db);
}
else {
$texto="