<?

	session_start();

	include "../../include/baza_danych.php";
	include "../../include/check_login.php";
	include "../../include/functions.php";


	$go = $_GET['go'];
	if(!isset($go)){$go = 'wykonanie_kopii_bazy';}

?>
<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">

<link rel="stylesheet" type="text/css" href="../css/main.css" media="screen" />

<!--[if lte IE 6]>
<link rel="stylesheet" type="text/css" href="../css/ie6_or_less.css" />
<![endif]-->

<script type="text/javascript" src="../js/common.js"></script>
<script type="text/javascript" src="../js/jquery.js"></script>

</head>

<body id="type-a">

<div id="wrap">

	<div id="header">
		<ul id="nav">
	  	<li<? if($go=="wykonanie_kopii_bazy"){ echo' class="active"';} else {echo' class="first"';} ?>><a href="?go=wykonanie_kopii_bazy">Wykonaj kopię bazy</a></li>
		<li<? if($go=="odzyskiwanie_kopii_bazy"){ echo' class="active"';} ?>><a href="?go=odzyskiwanie_kopii_bazy">Odzyskaj kopię bazy</a></li>
	  	<!--<li<? if($go=="wykonanie_kopii_obrazkow"){ echo' class="active"';} ?>><a href="?go=wykonanie_kopii_obrazkow">Wykonaj kopię plików</a></li>  -->
		</ul>
	</div>

	<div id="content-wrap">

		<div id="content">

			<div id="breadcrumb">

<?

if($logged_in==1){






if($go=="wykonanie_kopii_obrazkow"){

	$scanDir = '../../upload';

	$copied = false;

	if(isset($_POST['makeCopy']) && ($_POST['makeCopy'] == 'true'))

	{

		$dateName = date('Y-m-d_H-i-s');

		$name = 'kopia/pliki/'.$dateName;

		if(!is_dir($name))

		{

			if(mkdir($name))

			{

				$dir = opendir($scanDir);

				$data = readdir($dir);

				while (false !== ($data = readdir($dir))) {

					 if(($data != '.') && ($data != '..'))

					 {

						$source = $scanDir.'/'.$data;

						$target = $name.'/'.$data;

						if(is_dir($source))

						{

							mkdir($target);

							$dir2 = opendir($source);

							$data2 = readdir($dir2);

							while (false !== ($data2 = readdir($dir2))) {

								if(($data2 != '.') && ($data2 != '..'))

								{

									$source2 = $source.'/'.$data2;

									$target2 = $target.'/'.$data2;

									if(is_dir($source2))

									{

										mkdir($target2);

										$dir3 = opendir($source2);

										$data3 = readdir($dir3);

										while (false !== ($data3 = readdir($dir3))) {

											if(($data3 != '.') && ($data3 != '..'))

											{

												$source3 = $source2.'/'.$data3;

												$target3 = $target2.'/'.$data3;

												if(is_dir($source3))

												{

														mkdir($target3);

														$dir4 = opendir($source3);

														$data4 = readdir($dir4);

														while (false !== ($data4 = readdir($dir4))) {

															if(($data4 != '.') && ($data4 != '..'))

															{

																$source4 = $source3.'/'.$data4;

																$target4 = $target3.'/'.$data4;

																if(!is_dir($source4))

																	copy($source4, $target4);

															}

														}

												}

												else

													copy($source3, $target3);

											}

										}

										closedir($dir3);

									}

									else

										copy($source2, $target2);

								}

							}

							closedir($dir2);

						}

						else

						{

							copy($source, $target);

						}

					 }

				}

				closedir($dir);



				$copied = true;

			}

		}

	}





	if($copied)

		echo '<div style="padding-top: 40px; padding-bottom: 40px; text-align: center">Została zapisana nowa kopia o numerze identyfikacyjnym: '.$dateName.'!</div>';

	else

	{

		$count = 0;

		$dir = opendir($scanDir);

		$data = readdir($dir);

		while (false !== ($data = readdir($dir))) {

			 if(($data != '.') && ($data != '..'))

			 {

				$count++;

			 }

		}

		closedir($dir);

		echo '<div style="text-align: center">';

		echo 'Wszystkich głównych plików i katalogów do skopiowania: '.$count;

		echo '<form action="" method="post"><input type="hidden" name="makeCopy" value="true" /><input type="submit" name="wykonaj_kopie" value="Wykonaj kopię plików" class="f-submit" /></form>';

		echo '</div>';

	}

}





if($go=="wykonanie_kopii_bazy"){



	if(isset($_POST['wykonaj_kopie'])){



		function usun_znaki_specjalne($string) {

			$string = addslashes($string);

			return $string;

		}



		$data=date("Y_m_d_H_i");

		$name="kopia_".$data.".sql.gz";

		$html_tmp="kopia/kopia/$name";



		if (file_exists($html_tmp)){

			komunikat("Komunikat",'Plik kopii '.$name.' już istnieje. Poczekaj minutkę zanim zrobisz kolejną kopię.');

		}else{

				set_time_limit(360);

				error_reporting(0);





				$tresc_1.= "#\n# Backup zrobiony dnia ".date("Y-m-d H:i")."\n#\n\n";

				//$tresc_1.= "create database ".$db_name.";\n";

				//$tresc_1.= "use ".$db_name.";\n\n";



				$result = mysql_list_tables ($db_name);

				$i = 0;

				while ($i < mysql_num_rows ($result)) {

				    $tb_names[$i] = mysql_tablename ($result, $i);

				    //echo $tb_names[$i] . "<BR>";



				 $tresc_1 .= "\n#\n# Struktura tabeli '".$tb_names[$i]."'\n#\n\nDROP TABLE IF EXISTS `".$tb_names[$i]."`;\n\n";



				 $query_1="SHOW CREATE TABLE ".$tb_names[$i];

				 $result_1 = mysql_query ($query_1);



				 while($row = mysql_fetch_array ($result_1)) {

				    $tresc_1 .= $row[1].";\n";

				   }



				 $tresc_1 .= "\n#\n# Backup danych tabeli '".$tb_names[$i]."'\n#\n\n";



				 $licznik=0;

				 $fields = mysql_list_fields($db_name, $tb_names[$i], $con);

				 $columns = mysql_num_fields($fields);



				 $query_2="SELECT * FROM  ".$tb_names[$i];

				 $result_2 = mysql_query ($query_2);



				 while($row = mysql_fetch_array ($result_2)) {

				    $tresc_1.= "INSERT INTO ".$tb_names[$i]." VALUES(";

				    for ($z = 0; $z < $columns; $z++) {

				     if($z==$columns-1){

				      $tresc_1.= "\"".usun_znaki_specjalne($row[$z])."\"";



				     }

				     else{

				      $tresc_1.= "\"".usun_znaki_specjalne($row[$z])."\",";



				     }

				    }

				    $tresc_1.=");\n";

				   }

				 $tresc_1.="\n#--koniec tabeli $tb_names[$i]\n";

				 $i++;

				}



				$html_save=gzopen($html_tmp, "a");

				gzwrite($html_save, $tresc_1);

				gzclose($html_save);

				komunikat("Komunikat",'Kopia bazy została wykonana. Dane zostały zapisane w pliku: &nbsp;'.$name);

		}

	}



	$nazwa_pliku = "kopia_".date("Y_m_d_H_i").".sql.gz";



	echo '

<form action="?go=wykonanie_kopii_bazy" method="post" class="f-wrap-1">



	<fieldset>



	<h3>Kopia bazy danych</h3>



	<fieldset class="f-radio-wrap">

	<b>Nazwa bazy:</b>

		<fieldset>

			<label for="baza">'.$db_name.'</label>

		</fieldset>

	</fieldset>



	<fieldset class="f-radio-wrap">

	<b>Obecny czas:</b>

		<fieldset>

			<label for="czas">'.date("Y.m.d").'</label>

		</fieldset>

	</fieldset>



	<fieldset class="f-radio-wrap">

	<b>Plik kopii:</b>

		<fieldset>

			<label for="plik">'.$nazwa_pliku.'</label>

		</fieldset>

	</fieldset>



	<div class="f-submit-wrap">

	<input type="submit" name="wykonaj_kopie" value="Wykonaj kopię bazy" class="f-submit" tabindex="1" /><br />
	<input type="submit" name="anuluj" value="Anuluj" class="f-submit-anuluj" onclick="javascript:parent.Windows.getWindow(\'kopia\').close();" /><br>

	</div>

	</fieldset>

</form>

	';

}







if($go=="odzyskiwanie_kopii_bazy"){



	if ($_GET["akcja"] == "zapisz" && $_POST["db_name"]){

		if($_POST["guzik"] == "przywróć baze"){
			$file = "kopia/kopia/".$_POST['db_name'][0];
			include("kopia/przywracanie.php");
			komunikat("Komunikat",'Kopia o nazwie '.$_POST["db_name"][0].' została nadpisana na obecną bazę.');
		}

		if($_POST["guzik"] == 'usuń kopie'){
			for($x=0;$x<count($_POST['db_name']);$x++){
				$usuniete_kopie .= $_POST['db_name'][$x].", ";
				unlink("kopia/kopia/".$_POST['db_name'][$x]);
			}
			komunikat("Komunikat",'Kopie o nazwie '.$usuniete_kopie.'zostały usunięte.');
		}

	}elseif ($_GET["akcja"] == "zapisz"){
		komunikat("Komunikat",'Nie wybrałes kopii do przywracania/usunięcia bazy.');
	}



	echo "<center>Nazwa bazy: <b>".$db_name."</b><br>";
	echo "Aktualny czas: <b>".date("Y.m.d H:i")."</b><br><hr />";



	$i=1;

	echo "<form method='post' action='?go=odzyskiwanie_kopii_bazy&akcja=zapisz'><table>";

	$handle=opendir('kopia/kopia');



	while (false !== ($file = readdir($handle))) {

		if($file!="."&&$file!=".."){



			$pliki_kopii[] = $file;

		}

	}

	$licznik = 0;

	rsort($pliki_kopii);

	while ($pliki_kopii[$licznik]!=null){

		echo "
		<tr><td>
			<input type='checkbox' value=".$pliki_kopii[$licznik]." name='db_name[]'/>
		</td><td>&nbsp;

		<a href=\"kopia/kopia/".$pliki_kopii[$licznik]."\">".$pliki_kopii[$licznik]."</a>

		</td></tr>";

		$licznik++;

	}







	echo "</table><input type='submit' value='przywróć baze' name='guzik' class=\"f-submit\">";

	echo " <input type='submit' value='usuń kopie' name='guzik' class=\"f-submit-anuluj\"></form>";



	echo"</center>";



}









}else{echo'<center><h2>BRAK DOSTĘPU</h2></center>';}

?>

			</div>

		</div>

	</div>

</div>

</body>

</html>