'.HtmlInput::button_anchor("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','25M'); ini_set('post_max_size','25M'); echo '
'; $cn=new Database(); $id=$cn->get_next_seq('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."') "; $cn->start(); try{ $cn->get_value($sql); } catch ( Exception $e) { echo ''."Echec de la restauration ".''; $cn->rollback(); exit(); } $cn->commit(); $name=domaine."dossier".$id; echo $name; $cn->exec_sql("create database ".$name." encoding='utf8'"); $args=" --no-owner -d $name ".$_FILES['file']['tmp_name']; $status=passthru(PG_RESTORE.$args); echo '

Restauration réussie du dossier '.$lname.'

'; $new_cn=new Database($id); $new_cn->apply_patch($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','25M'); ini_set('post_max_size','25M'); echo '
'; $cn=new Database(); $id=$cn->get_next_seq('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."') "; $cn->start(); try{ $cn->get_value($sql); } catch ( Exception $e) { echo ''."Echec de la restauration ".''; $cn->rollback(); exit(); } $cn->commit(); $name=domaine."mod".$id; $cn->exec_sql("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=new Database($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 '
'; echo '
'; echo HtmlInput::hidden('action','restore'); echo HtmlInput::hidden('sa','r'); echo ''; echo ''; $wNom=new IText(); $wNom->name="database"; $wNom->size=12; echo ''; echo ''; $chk=new IRadio(); $chk->name="t"; $chk->value="d"; echo ''; echo ''; $chk->name="t"; $chk->value="m"; echo ''; echo ''; $file=new IFile(); $file->name="file"; $file->value="mod"; echo td('Fichier '). td($file->input()); echo ''; echo '
'."Nom de la base de donnée".''.$wNom->input().'
'."Type de backup :".' '.$chk->input()."Dossier".'
'.$chk->input()."Modele".'
'; echo HtmlInput::submit("","Restauration"); echo '
'; echo '
'; }