source: pmb4.2/trunk/fuentes/pmb/admin/misc/restore.inc.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.3 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: restore.inc.php,v 1.9 2015-04-03 11:16:24 jpermanne Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) die("no access");
8
9print "<table >";
10print "<tr><th>";
11print "$msg[532]";
12print "</th></tr><td>";
13
14$tmp_dump = "./tables/tmp_dump";
15
16if(file_exists($tmp_dump))
17        unlink($tmp_dump);
18
19if($file)
20{
21        // procédure de restauration
22        $file = urldecode($file);
23        $fp = @fopen($file, 'r');
24        if($fp) {
25
26                $sql_dump = fread($fp, filesize($file));
27                fclose($fp);
28
29                // on enlève les commentaires et lignes vides
30
31                $sql_dump = preg_replace("/#.*?\n/msi", "", $sql_dump);
32
33                // éclate le truc en requêtes distinctes
34
35                $req_table = explode(";", $sql_dump);
36
37                $error_flag = FALSE;
38
39                while(list($cle,$valeur)=each($req_table)) {
40                        // exécution du lot de requêtes
41
42                        // on nettoie les retours chariot
43
44                        $valeur = preg_replace("/\n/m", "", $valeur);
45                        if($valeur) {
46                                $result = pmb_mysql_query($valeur, $dbh);
47                                if(!$result) {
48                                        print "<font color=#ff0000><strong>".$msg[540]."</strong></font> ".$msg['admin_misc_requete']." $cle&nbsp;: $valeur<hr />";
49                                        $error_flag = TRUE;
50                                }
51                        }
52                }
53
54
55                if(!$error_flag) {
56                        print "<strong>$msg[533]</strong>";
57                } else {
58                        print "<strong>$msg[535]</strong>";
59                }
60        }
61} else {
62        print "<strong>$msg[534]&nbsp;:</strong><br /><br />";
63    /* affichage des fichiers du répertoire */
64
65        $sav_path = "./tables/";
66
67    /* ouverture du répertoire courant */
68
69    $handle = @opendir($sav_path);
70
71    /* lecture des entrées du répertoire */
72        if($handle) {
73                print "<table cellspacing='3'>";
74                while($file = readdir($handle)) {
75                        $sav = $sav_path.$file;
76                        if (is_file("$sav") && preg_match("/sql$/si", $sav)) {
77                                $symbol = "<img src='./images/texte_ico.gif'>";
78                                $fdate = date("d/m/Y", filemtime($sav));
79                                $fheure = date("H:i:s", filemtime($sav));
80
81                                print "<tr>
82                                                        <td>$symbol</td>
83                                                        <td><strong>$file</strong></td>
84                                                        <td>$fdate</td>
85                                                        <td>$fheure</td>";
86                                print "<td>
87                                                <a href='./admin.php?categ=misc&sub=restore&file=";
88                                                print urlencode($sav);
89                                                print "'>$msg[536]</a>
90                                        </td></tr>";
91                        }
92                }
93                print "</table>";
94                closedir($handle);
95        }
96}
97?>
Note: See TracBrowser for help on using the repository browser.