<?php
// wap phpmyadmin
// ionutvmi@gmail.com
// master-land.net
@ini_set('memory_limit', '64M');
@set_time_limit(0);

include "lib/settings.php";
// force download
if($_POST['tosave']) {
$file = 'dump_textarea-'.date("d-M").'-'.time().'.sql'; // name of the file
$content=$_POST['tosave'];
echo $content;
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . strlen($content));
exit;
}

include "lib/pagination.class.php";
connect_db($db);
if(isset($_GET['db'])) 
{
	$check = $db->query("SHOW DATABASES LIKE '".$db->real_escape_string($_GET['db'])."'");
	$check = $check->num_rows;

	$db_name=trim($_GET['db']);
	// if no db exit
	if($db_name == '' OR $check == 0) { 
		header("Location: main.php"); exit;}

	// select db
	$db->select_db($db_name);
}
if(isset($_GET['tb'])){

	$check = $db->query("SHOW TABLE STATUS LIKE '".$db->real_escape_string($_GET['tb'])."'");
	$check = $check->num_rows;
	$tb_name=trim($_GET['tb']);
	// if no tb exit
	if($tb_name == '' OR $check == 0) { 
		header("Location: main.php"); exit;}
$_SESSION['selected'][]=$tb_name;
}

if($_POST['data']) {

	include_once('lib/phpMyDumper.php');
	$filename  = ""; // Filename of dump, default: "dump.php"
	$compress  = false; // Dump as a compressed file, default: false

if($db_name) {
$tbls=$_POST['data'];
$records=false;
$query=false;
	if($_POST['_q']){
		$query=base64_decode($_POST['_q']);
	}
	if($_SESSION['records']){
		$records=$_SESSION['records'];
		unset($_SESSION['records']);
	}

	$dump = new phpMyDumper($db_name,$filename,$compress,$tbls,$records,$query);
	if(!$_POST['dset'])
	$dump->dropTable = false; // Dump DROP TABLE statement, default: true
	if($_POST['export'] == 0 || $_POST['export'] == 1)
	$dump->createTable = true; // Dump CREATE TABLE statement, default: false
	if($_POST['export'] == 0 || $_POST['export'] == 2)
	$dump->tableData = true; // Dump table data, default: false
	
	$dump->doDump();
	$_final_data .= $dump->filestream;
}else {
$tbls=array();
	foreach($_POST['data'] as $dbname) {
		$dump = new phpMyDumper($dbname,$filename,$compress,$tbls);
		if(!$_POST['dset'])
		$dump->dropTable = false; // Dump DROP TABLE statement, default: true
		if($_POST['export'] == 0 || $_POST['export'] == 1)
		$dump->createTable = true; // Dump CREATE TABLE statement, default: false
		if($_POST['export'] == 0 || $_POST['export'] == 2)
		$dump->tableData = true; // Dump table data, default: false
		
		$dump->doDump(true,++$i);
		$_final_data .= $dump->filestream."\n\n";
	}
}

if($_POST['output'] == '0' || $_POST['output'] == '1') {
// write the sql file
	$file_name="data/dump-".date("d-M")."-".time().".sql";
	$fp = fopen($file_name,"w");
	fwrite_stream($fp,$_final_data);
	fclose($fp);
if($_POST['output'] == '1') {
// zip it
	create_zip(array($file_name),$file_name.".zip");
	@unlink($file_name); // delete the sql
	$file_name.=".zip";
}


} // end output

	
}else {
	if(isset($_GET['db'])){
		if($db_name){
			$lt=$db->query("SHOW TABLE STATUS;");
			while($lst=$lt->fetch_array()){
				$list[]=$lst[0];
			}
		}
	}else{
		$lt=$db->query("SHOW DATABASES;");
		while($lst=$lt->fetch_array()){
			$list[]=$lst[0];
		}
	}
	if(count($list) == 0)		$_err=1;}

$isexport=true;
$pma->title=$lang->Export;
include $pma->tpl."header.tpl";
include $pma->tpl."export.tpl";
include $pma->tpl."footer.tpl";

?>