Rev 12 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 12 | Rev 14 | ||
---|---|---|---|
1 | <?php |
1 | <?php |
2 | 2 | ||
3 | if (!defined('IBLEGAL')) die('Kann nicht ohne Personal WebBase ausgeführt werden.'); |
3 | if (!defined('WBLEGAL')) die('Kann nicht ohne Personal WebBase ausgeführt werden.'); |
4 | 4 | ||
5 | if ($aktion == 'dest') |
5 | if ($aktion == 'dest') |
6 | { |
6 | { |
7 | if (isset($pwd) && ($pwd != $ib_user_passwort) && ($ib_user_type == 1)) |
7 | if (isset($pwd) && ($pwd != $ib_user_passwort) && ($wb_user_type == 1)) |
8 | die($header.'<h1>Datenübertragung</h1>Es wurde ein falsches Passwort eingegeben.'.$footer); |
8 | die($header.'<h1>Datenübertragung</h1>Es wurde ein falsches Passwort eingegeben.'.$footer); |
9 | 9 | ||
10 | if (strtoupper($sic) != 'OK') |
10 | if (strtoupper($sic) != 'OK') |
11 | die($header.'<h1>Datenübertragung</h1>Sie müssen das Sicherheitsfeld ausfüllen!'.$footer); |
11 | die($header.'<h1>Datenübertragung</h1>Sie müssen das Sicherheitsfeld ausfüllen!'.$footer); |
12 | 12 | ||
13 | foreach ($tabellen as $m1 => $m2) |
13 | foreach ($tabellen as $m1 => $m2) |
14 | { |
14 | { |
15 | if (isset($datenbanktabellen[$mysql_zugangsdaten['praefix'].$m2]['user'])) |
15 | if (isset($datenbanktabellen[$mysql_zugangsdaten['praefix'].$m2]['user'])) |
16 | { |
16 | { |
17 | db_query("DELETE FROM `".$mysql_zugangsdaten['praefix'].$m2."` WHERE `user` = '".$benutzer['id']."'"); |
17 | db_query("DELETE FROM `".$mysql_zugangsdaten['praefix'].$m2."` WHERE `user` = '".$benutzer['id']."'"); |
18 | if (db_affected_rows() > 0) |
18 | if (db_affected_rows() > 0) |
19 | db_query("OPTIMIZE TABLE `".$mysql_zugangsdaten['praefix'].$m2."`"); |
19 | db_query("OPTIMIZE TABLE `".$mysql_zugangsdaten['praefix'].$m2."`"); |
20 | } |
20 | } |
21 | } |
21 | } |
22 | 22 | ||
23 | unset($m1); |
23 | unset($m1); |
24 | unset($m2); |
24 | unset($m2); |
25 | 25 | ||
26 | echo $header.'<h1>Datenübertragung</h1>Es wurden alle Datensätze entfernt.'.$footer; |
26 | echo $header.'<h1>Datenübertragung</h1>Es wurden alle Datensätze entfernt.'.$footer; |
27 | } |
27 | } |
28 | 28 | ||
29 | if ($aktion == 'dump') |
29 | if ($aktion == 'dump') |
30 | { |
30 | { |
31 | if (isset($pwd) && ($pwd != $ib_user_passwort) && ($ib_user_type == 1)) |
31 | if (isset($pwd) && ($pwd != $ib_user_passwort) && ($wb_user_type == 1)) |
32 | { |
32 | { |
33 | echo $header.'<h1>Datenübertragung</h1>Es wurde ein falsches Passwort eingegeben.'.$footer; |
33 | echo $header.'<h1>Datenübertragung</h1>Es wurde ein falsches Passwort eingegeben.'.$footer; |
34 | } |
34 | } |
35 | else |
35 | else |
36 | { |
36 | { |
37 | if($_FILES['dfile']['tmp_name']) |
37 | if($_FILES['dfile']['tmp_name']) |
38 | { |
38 | { |
39 | ob_start(); |
39 | ob_start(); |
40 | readfile($_FILES['dfile']['tmp_name']); |
40 | readfile($_FILES['dfile']['tmp_name']); |
41 | $inh = ob_get_contents(); |
41 | $inh = ob_get_contents(); |
42 | ob_end_clean(); |
42 | ob_end_clean(); |
43 | 43 | ||
44 | $m = ''; |
44 | $m = ''; |
45 | 45 | ||
46 | // Größten Datensatz finden, um Dateiduplikate zu verhindern |
46 | // Größten Datensatz finden, um Dateiduplikate zu verhindern |
47 | $max = 0; |
47 | $max = 0; |
48 | foreach ($tabellen as $m1 => $m2) |
48 | foreach ($tabellen as $m1 => $m2) |
49 | { |
49 | { |
50 | $rs = db_query("SELECT MAX(`id`) AS `ma` FROM `".$mysql_zugangsdaten['praefix'].db_escape($m2)."`"); |
50 | $rs = db_query("SELECT MAX(`id`) AS `ma` FROM `".$mysql_zugangsdaten['praefix'].db_escape($m2)."`"); |
51 | $rw = db_fetch($rs); |
51 | $rw = db_fetch($rs); |
52 | if ($rw['ma'] > $max) |
52 | if ($rw['ma'] > $max) |
53 | $max = $rw['ma']; |
53 | $max = $rw['ma']; |
54 | } |
54 | } |
55 | 55 | ||
56 | unset($m1); |
56 | unset($m1); |
57 | unset($m2); |
57 | unset($m2); |
58 | 58 | ||
59 | $warn = ''; |
59 | $warn = ''; |
60 | $firstds = true; |
60 | $firstds = true; |
61 | $falsche_rev = false; |
61 | $falsche_rev = false; |
62 | $aktionzeile = 1; |
62 | $aktionzeile = 1; |
63 | $inh = str_replace("\r", '', $inh); |
63 | $inh = str_replace("\r", '', $inh); |
64 | $inh = str_replace("\n", '', $inh); |
64 | $inh = str_replace("\n", '', $inh); |
65 | $ar1 = explode(";", $inh); |
65 | $ar1 = explode(";", $inh); |
66 | foreach ($ar1 as $a11 => $a12) |
66 | foreach ($ar1 as $a11 => $a12) |
67 | { |
67 | { |
68 | if ($firstds) |
68 | if ($firstds) |
69 | { |
69 | { |
70 | $firstds = false; |
70 | $firstds = false; |
71 | if ($a12 != 'IRONBASE#1') |
71 | if ($a12 != 'IRONBASE#1') |
72 | { |
72 | { |
73 | $falsche_rev = true; |
73 | $falsche_rev = true; |
74 | $warn .= '<b>Schwerer Fehler:</b><br><br>Dies ist keine gültige Personal WebBase-Datensicherung. Das Kopfzeilenelement "IRONBASE#1" wurde nicht gefunden.'; |
74 | $warn .= '<b>Schwerer Fehler:</b><br><br>Dies ist keine gültige Personal WebBase-Datensicherung. Das Kopfzeilenelement "IRONBASE#1" wurde nicht gefunden.'; |
75 | } |
75 | } |
76 | } |
76 | } |
77 | else if ((!$falsche_rev) && ($a12 != '')) |
77 | else if ((!$falsche_rev) && ($a12 != '')) |
78 | { |
78 | { |
79 | $aktionzeile++; |
79 | $aktionzeile++; |
80 | $namen = ''; |
80 | $namen = ''; |
81 | $werte = ''; |
81 | $werte = ''; |
82 | $ar2 = explode('*', $a12); |
82 | $ar2 = explode('*', $a12); |
83 | $t = $ar2[0]; |
83 | $t = $ar2[0]; |
84 | $d = $ar2[1]; |
84 | $d = $ar2[1]; |
85 | $temp = $tabellen; |
85 | $temp = $tabellen; |
86 | @array_flip($temp); |
86 | @array_flip($temp); |
87 | if (!array_key_exists($t, $temp)) |
87 | if (!array_key_exists($t, $temp)) |
88 | { |
88 | { |
89 | $ar3 = explode(',', $d); |
89 | $ar3 = explode(',', $d); |
90 | foreach ($ar3 as $a31 => $a32) |
90 | foreach ($ar3 as $a31 => $a32) |
91 | { |
91 | { |
92 | $ar4 = explode('~', $a32); |
92 | $ar4 = explode('~', $a32); |
93 | $neu_namen = "`".db_escape(base64_decode($ar4[0]))."`, "; |
93 | $neu_namen = "`".db_escape(base64_decode($ar4[0]))."`, "; |
94 | if (base64_decode($ar4[0]) == 'id') |
94 | if (base64_decode($ar4[0]) == 'id') |
95 | { |
95 | { |
96 | $neu_werte = "'".db_escape(base64_decode($ar4[1])+$max)."', "; |
96 | $neu_werte = "'".db_escape(base64_decode($ar4[1])+$max)."', "; |
97 | } |
97 | } |
98 | else |
98 | else |
99 | { |
99 | { |
100 | if ((base64_decode($ar4[0]) == 'folder') && (base64_decode($ar4[1]) != 0)) |
100 | if ((base64_decode($ar4[0]) == 'folder') && (base64_decode($ar4[1]) != 0)) |
101 | $neu_werte = "'".db_escape(base64_decode($ar4[1])+$max)."', "; |
101 | $neu_werte = "'".db_escape(base64_decode($ar4[1])+$max)."', "; |
102 | else |
102 | else |
103 | $neu_werte = "'".db_escape(base64_decode($ar4[1]))."', "; |
103 | $neu_werte = "'".db_escape(base64_decode($ar4[1]))."', "; |
104 | } |
104 | } |
105 | 105 | ||
106 | // Benutzerfeld darf nicht vom Datensatz aus hervorgehen! |
106 | // Benutzerfeld darf nicht vom Datensatz aus hervorgehen! |
107 | if ($ar4[0] == 'user') |
107 | if ($ar4[0] == 'user') |
108 | { |
108 | { |
109 | $warn .= 'Schutzverletzung des Typs B beim Versuch, den Benutzer bei folgender Stelle zu setzen:<br><code>Backup-Zeile: #'.$aktionzeile.'</code><br><br>'; |
109 | $warn .= 'Schutzverletzung des Typs B beim Versuch, den Benutzer bei folgender Stelle zu setzen:<br><code>Backup-Zeile: #'.$aktionzeile.'</code><br><br>'; |
110 | } |
110 | } |
111 | else |
111 | else |
112 | { |
112 | { |
113 | $namen .= $neu_namen; |
113 | $namen .= $neu_namen; |
114 | $werte .= $neu_werte; |
114 | $werte .= $neu_werte; |
115 | } |
115 | } |
116 | } |
116 | } |
117 | } |
117 | } |
118 | else |
118 | else |
119 | { |
119 | { |
120 | $warn .= 'Schutzverletzung des Typs A beim Versuch, Daten in folgende nichtexistente Tabelle einzufügen:<br><code>'.my_htmlentities(base64_decode($t)).'</code><br><br>'; |
120 | $warn .= 'Schutzverletzung des Typs A beim Versuch, Daten in folgende nichtexistente Tabelle einzufügen:<br><code>'.my_htmlentities(base64_decode($t)).'</code><br><br>'; |
121 | } |
121 | } |
122 | $sql = "INSERT INTO `".$mysql_zugangsdaten['praefix'].base64_decode($t)."` ($namen`user`) VALUES ($werte'".$benutzer['id']."')"; |
122 | $sql = "INSERT INTO `".$mysql_zugangsdaten['praefix'].base64_decode($t)."` ($namen`user`) VALUES ($werte'".$benutzer['id']."')"; |
123 | // Debug: echo my_htmlentities($sql).'<br><br>'; |
123 | // Debug: echo my_htmlentities($sql).'<br><br>'; |
124 | if (!db_query($sql)) |
124 | if (!db_query($sql)) |
125 | $warn .= 'Fehler beim Ausführen des Befehls:<br><code>'.my_htmlentities($sql).'</code><br>MySQL gab folgende Fehlermeldung aus:<br><code>'.mysql_error().'</code><br><br>'; |
125 | $warn .= 'Fehler beim Ausführen des Befehls:<br><code>'.my_htmlentities($sql).'</code><br>MySQL gab folgende Fehlermeldung aus:<br><code>'.mysql_error().'</code><br><br>'; |
126 | } |
126 | } |
127 | } |
127 | } |
128 | $m = $warn; |
128 | $m = $warn; |
129 | 129 | ||
130 | echo $header; |
130 | echo $header; |
131 | echo '<h1>Datenübertragung</h1>'; |
131 | echo '<h1>Datenübertragung</h1>'; |
132 | if ($m != '') |
132 | if ($m != '') |
133 | echo '<b>Bei der Datenübertragung sind einige Fehler aufgetreten. Sie sind hier aufgelistet.</b><br><br>'.$m; |
133 | echo '<b>Bei der Datenübertragung sind einige Fehler aufgetreten. Sie sind hier aufgelistet.</b><br><br>'.$m; |
134 | else |
134 | else |
135 | echo '<b>Die Datenübertragung wurde erfolgreich beendet!</b>'; |
135 | echo '<b>Die Datenübertragung wurde erfolgreich beendet!</b>'; |
136 | echo $footer; |
136 | echo $footer; |
137 | } |
137 | } |
138 | else |
138 | else |
139 | { |
139 | { |
140 | echo "$headerBitte geben Sie eine Datei an!$footer"; |
140 | echo "$headerBitte geben Sie eine Datei an!$footer"; |
141 | } |
141 | } |
142 | } |
142 | } |
143 | } |
143 | } |
144 | 144 | ||
145 | ?> |
145 | ?> |
146 | 146 |