<?php
	
	session_start ();
	
	if (!isset($_SESSION['nom']) && !isset($_SESSION['password']))
	{  
			header("Location: login.php");   
	}

	/////////////////////////////////////////////////////////////////////////////////
	//// code pour bloquer une multiple validation lors du rafraichissement de la page
	
	if(!empty($_POST) )
	{
		$_SESSION['sauvegarde_formulaire'] = $_POST ;
     
		$page_actuelle = $_SERVER['PHP_SELF'] ;
		if(!empty($_SERVER['QUERY_STRING']))
		{
			$page_actuelle .= '?' . $_SERVER['QUERY_STRING'] ;
		}
     
		header('Location: ' . $page_actuelle);
		exit;
	}
	
	if(isset($_SESSION['sauvegarde_formulaire']))
	{
		$_POST = $_SESSION['sauvegarde_formulaire'] ;
		unset($_SESSION['sauvegarde_formulaire']);		
	}	
	
	/////////////////////////////////////////////////////////////////////////////////
	
	header( 'content-type: text/html; charset=utf-8' );

	error_reporting(0);
	date_default_timezone_set('Europe/Paris');
	
	if(!empty($_POST['Envoyer']))     
	{  
		$site = $_SERVER["SERVER_NAME"];
		if( ($site == "localhost") || ($site == "127.0.0.1") ) 
		{
			$db_host    = "localhost";
			$db_user   = "root";
			$db_pass   = ""; 
			$db_name   = "test";
		}
		else
		{
			$db_host    = "analogdepat.mysql.db";
			$db_user   = "analogdepat";
			$db_pass   = "Un92pac007";
			$db_name   = "analogdepat";
		}
	
		//backup_tables($db_host,$db_user,$db_pass,$db_name);
		sauvegarde_DB();
	}
	
?>
<style>
	
.couleur_texte
{
color: red;
}

</style>
	
<?php	

function listing_fichier_repertoire($repertoire) 
{
    $results = array();
    $handler = opendir($repertoire);

	$cpt = 0;
	
    while ($file = readdir($handler)) 
	{
		if($file != "." && $file != ".." && $file != "listing_backup.txt") 
		{
			$file_name = explode(".",$file);
			$date_pieces = explode("-",$file_name[0]);
			$date_tab[0] = $date_pieces[2];
			$date_tab[1] = $date_pieces[3];
			$date_tab[2] = $date_pieces[4];
			$heure_tab = explode("_",$date_pieces[5]);
			$date = $date_tab[0]."-".$date_tab[1]."-".$date_tab[2]; // d-m-Y
			
			$heure = $heure_tab[0].":".$heure_tab[1].":".$heure_tab[2]; 
			
			$format = $date ." " .$heure;
			$ts = strtotime($format);
			//echo $format ."    " .$ts;
			//echo '<br>';
			//http://www.timestamp.fr/?
	  
			$results[$cpt][0] = $file;
			$results[$cpt][1]= $ts;
			chdir("Backup");
			$results[$cpt][2]= filesize($file);
			$cpt = $cpt + 1;
		}
    }
    closedir($handler);
    return $results;

}
/*
function backup_tables($host,$user,$pass,$name)
{
	$annee = date('Y');
	$table_reservation  = "reservation" .$annee;
	$link = mysql_connect($host,$user,$pass);
	mysql_select_db($name,$link);

	$tables = array();
	$tables[] = "configuration";
	$tables[] = "clients";
	$tables[] = "gestion";
	$tables[] = $table_reservation;

	foreach($tables as $table)
	{
		$result = mysql_query('SELECT * FROM '.$table);
		$num_fields = mysql_num_fields($result);
		$return.= 'DROP TABLE '.$table.';';
		$row2 = mysql_fetch_row(mysql_query('SHOW CREATE TABLE '.$table));
		$return.= "\n\n".$row2[1].";\n\n";
		for ($i = 0; $i < $num_fields; $i++) 
		{
			while($row = mysql_fetch_row($result))
			{
				$return.= 'INSERT INTO '.$table.' VALUES(';
				for($j=0; $j<$num_fields; $j++) 
				{
					$row[$j] = addslashes($row[$j]);
					$row[$j] = ereg_replace("\n","\\n",$row[$j]);
					if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }
					if ($j<($num_fields-1)) { $return.= ','; }
				}
				$return.= ");\n";
			}
		}


		$return.="\n\n\n";

	}
*/
function sauvegarde_DB()
{	
	$jour = date('d-m-Y');
	$heure = date("H_i_s");

	$infos = $jour.'-'.$heure;

	$fichier = '/homez.65/analogde/www/Massage/Backup/manuel_db-backup-'.$infos.'.sql';
	system("mysqldump --host=analogdepat.mysql.db --user=analogdepat --password=Un92pac007 --default-character-set=utf8 analogdepat configuration client gestion reservation2015 > $fichier");

	echo "Backup Done";
	echo '<br>';
	echo '<br>';

	//$handle = fopen('db-backup-'.time().'-'.(md5(implode(',',$tables))).'.sql','w+');
	//$infos = $jour.'-'.$heure;
	//chdir('Backup');
	//$handle = fopen('db-backup-'.$infos.'.sql','w+');
	//$handle = fopen($infos.'.sql','w+');
	//fwrite($handle,$return);
	//fclose($handle);
		
	// fichier 
	//chdir('Backup');
	//$fp = fopen ("listing_backup.txt", "a");
	//$fichier = 'db-backup-'.$infos.'.sql';
	//fwrite($fp, $fichier ."  " .filesize($fichier)."\n");
	//fclose($fp);
	
	//chdir('../');
}

/////////////////////////////

	//echo getcwd();
	echo '<br><br>';
	
	$tab = listing_fichier_repertoire('Backup'); 
	//echo '<pre>';
	//print_r($tab);
	
	for($i=0; $i < count($tab); $i++)
	{
		$tab_fichier = $tab[$i][0];
		$tab_ts[] = $tab[$i][1];
	}
	
	$tab_sort = $tab_ts;
	sort($tab_sort);
	
	$tab_reverse = array_reverse($tab_sort);
	//echo '<pre>';
	//print_r($tab_sort);
	
	for($i=0; $i < count($tab); $i++)
	{
		$element = $tab_reverse[$i];
		$position = array_search($element, $tab_ts);
		//echo '<br><br>';
		$file = $tab[$position][0];
		//echo $position ." " .$tab[$position][0]  ."  " .filesize($file);
		
		$tab_affiche[$i][0] = $tab[$position][0];
		$tab_affiche[$i][1] = filesize($file);
	}
	
	echo '<a href="configuration.php">retour ...</a>  
		 <br>
		 <br>';

		 
	echo '<form method="post" action="">               
		  <input type="submit" name="Envoyer" value="Backup la database" />
		  </form>';   	
	
	// affiche le tableau
	
	$nb_fichiers = count($tab_affiche);
	echo "$nb_fichiers fichier(s)";
	echo '<br>';
	
	echo "<table border=1 cellpadding=5 cellspacing=0>";
	echo "	<tr>
			<th>Id</th>
			<th>Fichier backup</th>
			<th>Taille en octets</th>
			</tr>";

	for($i=0; $i < count($tab_affiche); $i++)
	{
			$j = $i + 1;
			echo "<tr>
				  <td>" .$j ."</td>";	
			echo  "<td>" .$tab_affiche[$i][0] ."</td>";
			echo "<td align = 'center'>" .$tab_affiche[$i][1] ."</td>";
			echo '</td>
			      </tr>';
	}
	echo "</table>";
	
/////////////////////////////
	
/*	
	
	chdir('Backup'); 
		
	echo '<a href="configuration.php">retour ...</a>  
		 <br>
		 <br>';

		 
	echo '<form method="post" action="">               
		  <input type="submit" name="Envoyer" value="Backup la database" />
		  </form>';   		 
		 

	// lecture du fichier
	$tab_ligne_fichier = file("listing_backup.txt");
	$tab_ligne_fichier_inverse = array_reverse($tab_ligne_fichier);
	//echo '<pre>';
	//print_r($tab_ligne_fichier_inverse);
	$nb_fichiers = count($tab_ligne_fichier_inverse);
	echo "$nb_fichiers fichier(s)";
	echo '<br>';
	
	echo "<table border=1 cellpadding=5 cellspacing=0>";
	echo "	<tr>
			<th>Fichier backup</th>
			<th>Taille en octets</th>
			</tr>";

	for($i=0; $i < count($tab_ligne_fichier_inverse); $i++)
	{
            $pieces = explode("  ", $tab_ligne_fichier_inverse[$i]);
			
			$val2 = trim($pieces[1]);
			echo "<tr>
				  <td>" .$pieces[0] ."</td>";
			echo "<td align = 'center'>" .$pieces[1] ."</td>";
			echo '</td>
			      </tr>';
	}
	echo "</table>";
	
    // affiche une table
/*	
	$directory = opendir(".");
	while($item = readdir($directory))
	{
		$dir[] = $item;	
	}

	closedir($directory);

	$indexCount	= count($dir);
	$nb_fichiers = $indexCount - 2;
	echo "$nb_fichiers fichier(s)";
	echo '<br>';

	sort($dir);

	echo "<table border=1 cellpadding=5 cellspacing=0>";
	echo "	<TR>
			<TH>Fichier backup</TH>
			<th>Taille en octets</th>
			</TR>";

	for($index=0; $index < $indexCount; $index++)
	{
        if(substr("$dir[$index]", 0, 1) != ".")
		{ 
			echo "	<TR>
					<TD><a href=\"$dir[$index]\">$dir[$index]</a>
					</td>";
			echo "<td>";
			echo filesize($dir[$index]);
			echo "</td>
			      </TR>";
		}
	}
	echo "</TABLE>";
*/

/////////////////////////////////////////////////////////	


?>