'.widget::button_href("Retour","?action=restore&PHPSESSID=".$_REQUEST['PHPSESSID']);
if ( ! isset($_REQUEST['t'])) {
echo '
';
echo ("Vous devez préciser s'il s'agit d'un modèle ou d'un dossier");
echo $retour;
echo '
';
exit();
}
if ( empty ($_FILES['file']['name']) ||
strlen(trim($_FILES['file']['name']))==0
) {
echo '';
echo ("Vous devez donner un fichier ");
echo $retour;
echo '
';
exit();
}
//---------------------------------------------------------------------------
// Restore a folder (dossier)
if ( $_REQUEST['t']=='d') {
ini_set('upload_max_filesize','5M');
echo '';
$cn=DbConnect();
$id=NextSequence($cn,'dossier_id');
if ( strlen(trim($_REQUEST['database'])) == 0 )
$lname=$id." Restauration :".FormatString($_FILES['file']['name']);
else
$lname=$id." ".$_REQUEST['database'];
$sql="insert into ac_dossier (dos_id,dos_name) values (".$id.",'".$lname."') ";
StartSql($cn);
try{
getDbValue($cn,$sql);
} catch ( Exception $e) {
echo ''."Echec de la restauration ".'';
print_r($e);
Rollback($cn);
exit();
}
Commit($cn);
$name=domaine."dossier".$id;
echo $name;
ExecSql($cn,"create database ".$name." encoding='utf8'");
$args=" -d $name ".$_FILES['file']['tmp_name'];
$status=passthru(PG_RESTORE.$args);
echo '
Restauration réussie du dossier '.$lname.'
';
$new_cn=DbConnect($id);
apply_patch($new_cn,$name,0);
echo ''.'Ne pas recharger la page, sinon votre base de données sera restaurée une fois de plus'.'';
echo $retour;
echo '';
}
//---------------------------------------------------------------------------
// Restore a modele
if ( $_REQUEST['t']=='m') {
ini_set('upload_max_filesize','5M');
echo '';
$cn=DbConnect();
$id=NextSequence($cn,'s_modid');
if ( strlen(trim($_REQUEST['database'])) == 0 )
$lname=$id." Restauration :".FormatString($_FILES['file']['name']);
else
$lname=$id." ".$_REQUEST['database'];
$sql="insert into modeledef (mod_id,mod_name) values (".$id.",'Restauration".$lname."') ";
StartSql($cn);
try{
getDbValue($cn,$sql);
} catch ( Exception $e) {
echo ''."Echec de la restauration ".'';
print_r($e);
Rollback($cn);
exit();
}
Commit($cn);
$name=domaine."mod".$id;
ExecSql($cn,"create database ".$name." encoding='utf8'");
$args=" -d $name ".$_FILES['file']['tmp_name'];
$status=exec(PG_RESTORE.$args);
echo '
Restauration réussie du modèle '.$lname.'
';
$new_cn=DbConnect($id,'mod');
apply_patch($new_cn,$name,0);
echo ''.'Ne pas recharger la page, sinon votre base de données sera restaurée une fois de plus'.'';
echo $retour;
echo '';
}
} else {
echo '';
ini_set('upload_max_filesize','5M');
echo '
';
echo '
';
}