Revision 8468c353
Von Holger Lindemann vor fast 16 Jahren hinzugefügt
lxo-import/blz.php | ||
---|---|---|
1 |
<html> |
|
2 |
<LINK REL="stylesheet" HREF="../css/lx-office-erp.css" TYPE="text/css" TITLE="Lx-Office stylesheet"> |
|
3 |
<body> |
|
4 |
<? |
|
5 |
/* |
|
6 |
BLZimport mit Browser nach Lx-Office ERP |
|
7 |
Holger Lindemann <hli@lx-system.de> |
|
8 |
*/ |
|
9 |
|
|
10 |
|
|
11 |
function ende($nr) { |
|
12 |
echo "Abbruch: $nr<br>"; |
|
13 |
echo "Fehlende oder falsche Daten."; |
|
14 |
exit(1); |
|
15 |
} |
|
16 |
|
|
17 |
if (!$_SESSION["db"]) { |
|
18 |
$conffile="../config/authentication.pl"; |
|
19 |
if (!is_file($conffile)) { |
|
20 |
ende(4); |
|
21 |
} |
|
22 |
} |
|
23 |
require ("import_lib.php"); |
|
24 |
|
|
25 |
if (!anmelden()) ende(5); |
|
26 |
/* get DB instance */ |
|
27 |
$db=$_SESSION["db"]; //new myDB($login); |
|
28 |
|
|
29 |
|
|
30 |
/* display help */ |
|
31 |
if ($_POST["ok"]=="Hilfe") { |
|
32 |
echo "Importfelder:<br>"; |
|
33 |
echo "Feldname => Bedeutung<br>"; |
|
34 |
foreach($parts as $key=>$val) { |
|
35 |
echo "$key => $val<br>"; |
|
36 |
} |
|
37 |
echo "<br>Die erste Zeile enthält keine Feldnamen der Daten.<br>"; |
|
38 |
echo "Die Datenfelder haben eine feste Breite.<br><br>"; |
|
39 |
echo "Die Daten können hier bezogen werden:<br>"; |
|
40 |
echo "<a http='http://www.bundesbank.de/zahlungsverkehr/zahlungsverkehr_bankleitzahlen_download.php'>"; |
|
41 |
echo "http://www.bundesbank.de/zahlungsverkehr/zahlungsverkehr_bankleitzahlen_download.php</a>"; |
|
42 |
exit(0); |
|
43 |
} else if ($_POST) { |
|
44 |
$test=$_POST["test"]; |
|
45 |
|
|
46 |
clearstatcache (); |
|
47 |
|
|
48 |
/* no data? */ |
|
49 |
if (empty($_FILES["Datei"]["name"])) |
|
50 |
ende (2); |
|
51 |
|
|
52 |
/* copy file */ |
|
53 |
if (!move_uploaded_file($_FILES["Datei"]["tmp_name"],"blz.txt")) { |
|
54 |
echo "Upload von Datei fehlerhaft."; |
|
55 |
echo $_FILES["Datei"]["error"], "<br>"; |
|
56 |
ende (2); |
|
57 |
} |
|
58 |
|
|
59 |
/* check if file is really there */ |
|
60 |
if (!file_exists("blz.txt")) |
|
61 |
ende(3); |
|
62 |
|
|
63 |
$sqlins="INSERT INTO blz_data (blz,fuehrend,bezeichnung,plz,ort,kurzbez,pan,bic,pzbm,nummer,aekz,bl,folgeblz) "; |
|
64 |
$sqlins.="VALUES ('%s','%s','%s','%s','%s','%s','%s','%s','%s',%d,'%s','%s','%s')"; |
|
65 |
$sqldel="delete from blz"; |
|
66 |
$ok="true"; |
|
67 |
$f=fopen("blz.txt","r"); |
|
68 |
if ($test) echo "Testdurchlauf <br>"; |
|
69 |
$i=0; |
|
70 |
if ($f) { |
|
71 |
if (!$test) $rc=$db->query("BEGIN"); |
|
72 |
if (!$test) $rc=$db->query($sqldel); |
|
73 |
while (($zeile=fgets($f,256)) != FALSE) { |
|
74 |
$sql=sprintf($sqlins,substr($zeile,0,8),substr($zeile,8,1),substr($zeile,9,58),substr($zeile,67,5), |
|
75 |
substr($zeile,72,35),substr($zeile,107,27),substr($zeile,134,5),substr($zeile,139,11), |
|
76 |
substr($zeile,150,2),substr($zeile,152,6),substr($zeile,158,1),substr($zeile,159,1), |
|
77 |
substr($zeile,160,8)); |
|
78 |
if (!$test) $rc=$db->query($sql); |
|
79 |
if ($test) $rc=true; |
|
80 |
echo $rc; |
|
81 |
if (!$rc) { |
|
82 |
$ok=false; |
|
83 |
break; |
|
84 |
} |
|
85 |
$i++; |
|
86 |
} |
|
87 |
if ($ok) { |
|
88 |
$rc=$db->query("COMMIT"); |
|
89 |
echo "$i Daten erfolgreich importiert"; |
|
90 |
} else { |
|
91 |
$rc=$db->query("ROLLBACK"); |
|
92 |
ende(6); |
|
93 |
} |
|
94 |
} else { |
|
95 |
ende(4); |
|
96 |
} |
|
97 |
} else { |
|
98 |
?> |
|
99 |
|
|
100 |
<p class="listtop">BLZ-Import für die ERP<p> |
|
101 |
Achtung!! Die bestehenden BLZ-Daten werden zunächst gelöscht. |
|
102 |
<br> |
|
103 |
<form name="import" method="post" enctype="multipart/form-data" action="blz.php"> |
|
104 |
<input type="hidden" name="MAX_FILE_SIZE" value="20000000"> |
|
105 |
<input type="hidden" name="login" value="<?= $login ?>"> |
|
106 |
<table> |
|
107 |
<tr><td><input type="submit" name="ok" value="Hilfe"></td><td></td></tr> |
|
108 |
<tr><td>Test</td><td><input type="checkbox" name="test" value="1">ja</td></tr> |
|
109 |
<tr><td>Daten</td><td><input type="file" name="Datei"></td></tr> |
|
110 |
<tr><td></td><td><input type="submit" name="ok" value="Import"></td></tr> |
|
111 |
</table> |
|
112 |
</form> |
|
113 |
<? }; ?> |
Auch abrufbar als: Unified diff
Import von Bankdaten,
Tabelle wie in CRM/update/BLZ.sql beschrieben anlegen,
Menü erweitern:
[System--Import CSV--BLZ]
module=lxo-import/blz.php