<?php
// Soyez libre de traduire ce fichier dans votre langue // puis renvoyez l'exemple localisé sur mon adresse email // disponible sur mon site web - www.lashampoo.net
$action=$_REQUEST['action']; $file=$_REQUEST['file']; $all=$_REQUEST['all']; if(is_array($_REQUEST['table'])) $tables='`'.join('` `',$_REQUEST['table']).'`'; $tables=DeQuote($tables); $file=DeQuote($file); $all=DeQuote($all); if($tables==$all)$tables=''; function Quote($texte) { return str_replace('"','"e;',$texte); } function DeQuote($texte) { return str_replace('"e;','"',$texte); } require('inc.dbbackup.php'); // Instantiation de la classe dbBackup // Executer l'action if($action=='retrieve' && $file) $r=$dbBackup->retrieve($file); elseif($action=='delete' && $file) $r=$dbBackup->delete($file); elseif($action=='restore' && $file) $r=$dbBackup->restore($file); elseif($action=='fromlast') $r=$dbBackup->fromlast(); elseif($action=='dump') $r=$dbBackup->dump($tables); elseif($action=='dumpifneeded') $r=$dbBackup->dumpifneeded($tables);
// Explication des erreurs ou résultats if($action=='retrieve' && $r) $error="Le fichier de sauvegarde $file ne semble pas exister ou être lisible"; elseif($action=='delete' && $r) $error="Impossible d'effacer le fichier de sauvegarde $file"; elseif($action=='delete') $error="Fichier de sauvegarde $file effacé"; elseif($action=='restore' && $r) $error="Le fichier de sauvegarde $file ne semble pas exister ou être lisible"; elseif($action=='restore') $error="Base rétablie depuis le fichier de sauvegarde $file"; elseif($action=='fromlast' && $r=='none') $error="Le dossier de sauvegarde semble être vide, pas de dernière sauvegarde"; elseif($action=='fromlast' && $r) $error="Le dossier de sauvegarde semble ne pas être lisible ou exister"; elseif($action=='fromlast') $error="Base rétablie depuis la dernière sauvegarde"; elseif($action=='dumpifneeded' && $r=='error') $error="Impossible de créer le fichier de sauvegarde"; elseif($action=='dumpifneeded' && $r=='not needed') $error="Aucune sauvegarde nécessaire"; elseif($action=='dumpifneeded' && !$r) $error="Impossible de créer le fichier de sauvegarde"; elseif($action=='dumpifneeded' && $r) $error="Le fichier de sauvegarde a été créé"; elseif($action=='dump' && !$r) $error="Impossible de créer le fichier de sauvegarde"; elseif($action=='dump') $error="Le fichier de sauvegarde a été créé";
list($fichiers,$dates)=$dbBackup->listbackups(); // Récupérer la liste des sauvegarde
?><html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1252"> <title>dbBackup</title> <style type="text/css" media="All"><!--
body,select,input { font-size: 12px; background-color: #FFFFFF; font-family: verdana, helvetica, arial; margin: 5px; padding: 5px; }
--> </style> <script language="JavaScript"> <!--
var ok=false;
function test(ok) {
var n = document.backup; var action=n.elements[0].value; var file=n.elements[1].value; file='.'+file.substring(file.indexOf('.[')+2,file.indexOf('].'))+'.'; var all=file.indexOf('..all-tables..');
if(ok=='files') for (var i = 0; i < n.elements.length; i++) {
if(n.elements[i].type=='checkbox') { if (file.indexOf('.'+n.elements[i].value+'.')>=0 || all>=0) n.elements[i].checked=true; else n.elements[i].checked=false; }
}
if(action=='dump') action='sauvegarder la base de données'; if(action=='dumpifneeded') action='sauvegarder la base de données si nécessaire'; if(action=='restore') action='restaurer la base depuis le fichier de sauvegarde'; if(action=='fromlast') action='restaurer la base depuis la dernière sauvegarde'; if(action=='delete') action='effacer le fichier de sauvegarde'; if(action=='retrieve') action='télécharger le fichier de sauvegarde'; if(n.elements[0].value!='dump' && n.elements[0].value!='fromlast' && n.elements[0].value!='dumpifneeded' && n.elements[0].value !='' && n.elements[1].value == '' && ok=='end') { alert('Vous devez sélectionner un fichier de sauvegarde'); return false; }
else if(n.elements[0].value == '' && n.elements[1].value != '' && ok=='end') { alert('Vous devez sélectionner une action à effectuer'); return false; }
else if( n.elements[0].value=='dump' || n.elements[0].value=='fromlast' || n.elements[0].value=='dumpifneeded' || (n.elements[0].value !='' && n.elements[1].value != '')) { if(confirm('Confirmez-vous vouloir '+action+' ?')) if(confirm('Vraiment sûr de vouloir '+action+' ?')) n.submit(); else return false;
else return false; } else return false;
}
//--> </script>
</head><body><center>
<h1>dbBackup</h1> <form action="./exemple_francais.php" name="backup" method="GET" onSubmit="return test('end');">
<?php if($error) { ?><b><?=$error?></b><br><br><?php } ?>
<?php if($fichiers==false) { ?> <b>Le répertoire de sauvegarde ne semble pas exister et/ou être accèssible en écriture par Apache.</b> <br>Veuillez vérifier les réglages de configuration du fichier inc.dbbackup.php<br><br><?php } ?>
<select name="action" onchange="if(this.value!='')test('action');"> <option value=""></option> <option value="dump">Sauvegarder la base de données</option>
<?php if($fichiers!='none') { ?>
<option value="dumpifneeded">Sauvegarder la base de données si nécessaire</option> <option value="restore">Restaurer depuis la sauvegarde:</option> <option value="fromlast">Restaurer depuis la dernière sauvegarde</option> <option value="delete">Effacer le fichier de sauvegarde:</option> <option value="retrieve">Télécharger le fichier de sauvegarde:</option> </select>
<select name="file" onchange="if(this.value!='')test('files');"> <option value=""></option>
<?php foreach ($fichiers AS $fichier) {
$nom=ereg_replace("^.*\.\[(.*)\]\..*$",'\1',$fichier); $nom=ereg_replace(".all-tables.","base complête",$nom); if(substr_count($nom,'.')>=1)$nom=(substr_count($nom,'.')+1)." tables"; elseif($nom!="base complête")$nom="1 seule table"; echo "<option value=\"".Quote($fichier)."\">". date('\d\u d/m/Y à H\hi, ',array_pop($dates)).$nom."</option>\n";
}} ?>
</select><input type="submit" value="ok"><br>
<?php $tables=$dbBackup->listtables();
if($tables) foreach($tables AS $table) { ?>
<input type="checkbox" name="table[]" value="<?=Quote($table)?>" checked><?=$table?>
<?php } else {
?>Aucune table à sélectionner, cette base de données semble être vide.
<?php } ?>
<input type="hidden" name="all" value="<?='`'.Quote(join('` `',$tables)).'`'?>"></form>
</center></body></html>
|