<?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>
 
 |