source: pmb4.2/trunk/fuentes/pmb/admin/sauvegarde/emergency/transfertdata_upload.php @ 815

Last change on this file since 815 was 815, checked in by jrpelegrina, 4 years ago

Initial release of pmb 4.2

  • Property svn:executable set to *
File size: 2.4 KB
Line 
1<?php
2// +-------------------------------------------------+
3// © 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
4// +-------------------------------------------------+
5// $Id: transfertdata_upload.php,v 1.5 2015-04-03 11:16:24 jpermanne Exp $
6
7//Restauration d'urgence
8
9exit();
10
11$base_path="../../..";
12
13include_once ("$base_path/includes/error_report.inc.php") ;
14include_once ("$base_path/includes/global_vars.inc.php") ;
15require_once ("$base_path/includes/config.inc.php");
16
17
18$include_path      = $base_path."/".$include_path; 
19
20require_once("$include_path/db_param.inc.php");
21
22if ($_tableau_databases[1] && $base_title) {
23        // multi-databases
24        $database_window_title=$_libelle_databases[array_search(LOCATION,$_tableau_databases)].": ";
25} else $database_window_title="" ; 
26
27@$link=pmb_mysql_connect($_POST["host"], $_POST["db_user"], $_POST["db_password"]) or die("Impossible de se connecter au serveur MySql en tant qu'admin USER_NAME "); // Le @ ordonne a php de ne pas afficher de message d'erreur
28@pmb_mysql_select_db($_POST["db"]) or die("Impossible de se connecter à la base de données $dbnamedbhost");
29
30
31##### Faire saisir le nom de la bdd, les mots de passe pour securite... et se connecter ensuite. faire quand meme un include db_include pour savoir le charset destination.
32
33move_uploaded_file($_FILES['archive_file']['tmp_name'], "../../backup/backups/".$_FILES['archive_file']['tmp_name']);
34
35function restore($src) {
36        global $link;
37        global $buffer_sql;
38
39        $SQL='';
40        if($src) {
41                $filename=$src;
42                if(open_restore_stream($src) && $buffer_sql) {
43                        // open source file
44                        $SQL = preg_split('/;\s*\n|;\n/m', $buffer_sql);
45                        for($i=0; $i < sizeof($SQL); $i++) {
46                                if($SQL[$i]) $result = pmb_mysql_query($SQL[$i], $link);
47                        }
48                } else {
49                        die("can't open file $src to restore");
50                        return FALSE;
51                }
52        }
53        return TRUE;   
54}
55
56
57function open_restore_stream($src) {
58        global $buffer_sql;
59        global $charset;
60        $in_file = $src;
61        $fptr = @fopen($in_file, 'rb');
62        if($fptr) {
63                $buffer_sql = fread($fptr, filesize($in_file));
64                if ($charset != 'iso-8859-1') {
65                        $buffer_sql = iconv("ISO-8859-1", strtoupper($charset), $buffer_sql);
66                        $buffer_sql = preg_replace('/iso-8859-1/i', $charset, $buffer_sql);
67                }
68                fclose($fptr);
69                return TRUE;
70        } else {
71                $buffer_sql = '';
72                return FALSE;
73        }
74}
75
76if (restore("../../backup/backups/".$_FILES['archive_file']['tmp_name'])) 
77        print "<br />Upload done";
78else 
79        print "<br />Should not happen";
Note: See TracBrowser for help on using the repository browser.