Revision 3c2ec7dc
Von Holger Lindemann vor etwa 14 Jahren hinzugefügt
lxo-import/partsB.php | ||
---|---|---|
1 |
<?php session_start(); ?> |
|
1 | 2 |
<html> |
2 | 3 |
<LINK REL="stylesheet" HREF="../css/lx-office-erp.css" TYPE="text/css" TITLE="Lx-Office stylesheet"> |
3 | 4 |
<body> |
... | ... | |
25 | 26 |
} |
26 | 27 |
require ("import_lib.php"); |
27 | 28 |
|
28 |
if (!anmelden()) ende("Anmeldung fehlgeschlagen."); |
|
29 |
if ($_GET["login"]) { |
|
30 |
$db = anmelden($_GET["login"],$_GET["passwd"]); |
|
31 |
} else { |
|
32 |
$db = anmelden(); |
|
33 |
} |
|
34 |
//if (!$_SESSION["db"]) ende("Anmeldung fehlgeschlagen."); |
|
35 |
if (!$db) ende("Anmeldung fehlgeschlagen."); |
|
29 | 36 |
|
30 | 37 |
/* get DB instance */ |
31 | 38 |
$db=$_SESSION["db"]; //new myDB($login); |
32 |
|
|
33 | 39 |
/* just display page or do real import? */ |
34 |
if ($_POST["ok"]) { |
|
40 |
if ($_POST["ok"] || $_GET["cron"]=="1") {
|
|
35 | 41 |
|
36 | 42 |
require ("parts_import.php"); |
37 | 43 |
//Zeichencodierung des Servers |
... | ... | |
92 | 98 |
|
93 | 99 |
clearstatcache (); |
94 | 100 |
|
95 |
$test = $_POST["test"]; |
|
96 |
$lager = $_POST["lager"]; |
|
97 |
$TextUpd = $_POST["TextUpd"]; |
|
98 |
$trenner = ($_POST["trenner"])?$_POST["trenner"]:","; |
|
99 |
$trennzeichen = ($_POST["trennzeichen"])?$_POST["trennzeichen"]:""; |
|
100 |
$precision = $_POST["precision"]; |
|
101 |
$quotation = $_POST["quotation"]; |
|
102 |
$quottype = $_POST["quottype"]; |
|
103 | 101 |
$file = "parts"; |
104 | 102 |
|
105 |
/* no data? */ |
|
106 |
if (empty($_FILES["Datei"]["name"])) |
|
107 |
ende ("Kein Datenfile angegeben"); |
|
108 |
|
|
109 |
/* copy file */ |
|
110 |
if (substr($_FILES["Datei"]["name"],-2)=="gz") { |
|
111 |
if (move_uploaded_file($_FILES["Datei"]["tmp_name"],$dir.$file.".csv.gz")) { |
|
112 |
echo $gz_bin.$dir.$file.".csv.gz"; |
|
103 |
if ($_GET["cron"]==1) { |
|
104 |
$Cron = True; |
|
105 |
if (file_exists($dir.$file.".zip")) { |
|
106 |
exec ($zip_bin.$dir.$file.".zip"); |
|
107 |
} else if (file_exists($dir.$file.".gz")) { |
|
113 | 108 |
exec ($gz_bin.$dir.$file.".csv.gz"); |
114 |
} else { |
|
115 |
ende ("Upload von Datei fehlerhaft.".$_FILES["Datei"]["error"]); |
|
116 |
}; |
|
117 |
} else if (substr($_FILES["Datei"]["name"],-3)=="zip") { |
|
118 |
if (move_uploaded_file($_FILES["Datei"]["tmp_name"],$dir.$file.".zip")) { |
|
119 |
exec ($zip_bin.$dir.$file.".zip"); |
|
120 |
} else { |
|
109 |
} else if (!file_exists($dir.$file.".csv")) { |
|
110 |
ende($dir.$file.".csv nicht gefunden"); |
|
111 |
} |
|
112 |
$_POST["trenner"] = "#9"; // Tabulator |
|
113 |
$_POST["trennzeichen"] = ";"; // Anderes Trennzeichen |
|
114 |
$_POST["dimensionunit"] = "Stck"; // Artikeleinheit |
|
115 |
$_POST["serviceunit"] = "Std"; // Dienstleistungseinheit |
|
116 |
$_POST["bugru"] = "1600"; // Std-Bugru |
|
117 |
$_POST["bugrufix"] = "2"; // Nur wenn keine Passende angegeben |
|
118 |
$_POST["shop"] = "f"; // Shopartikel |
|
119 |
$_POST["show"] = ""; // Kontrollausgabe |
|
120 |
$_POST["test"] = ""; // Testlauf == 1 |
|
121 |
$_POST["lager"] = ""; // Nicht gebraucht |
|
122 |
$_POST["lagerplatz"] = ""; |
|
123 |
$_POST["precision"] = "2"; // Runden auf nn Stellen |
|
124 |
$_POST["quotation"] = ""; // Preisaufschlag |
|
125 |
$_POST["quottype"] = "P"; // Prozent? |
|
126 |
$_POST["wgtrenner"] = "!"; // Trennzeichen der Warengruppen |
|
127 |
$_POST["TextUpd"] = "1"; // Textupdate durchführen |
|
128 |
$_POST["update"] = "U"; // Bei vorhandenen Nummer updaten |
|
129 |
$_POST["ware"] = "W"; // Ist ein Artikel |
|
130 |
$_POST["encoding"] = ""; |
|
131 |
} else { |
|
132 |
|
|
133 |
/* no data? */ |
|
134 |
if (empty($_FILES["Datei"]["name"])) |
|
135 |
ende ("Kein Datenfile angegeben"); |
|
136 |
|
|
137 |
/* copy file */ |
|
138 |
if (substr($_FILES["Datei"]["name"],-2)=="gz") { |
|
139 |
if (move_uploaded_file($_FILES["Datei"]["tmp_name"],$dir.$file.".csv.gz")) { |
|
140 |
echo $gz_bin.$dir.$file.".csv.gz"; |
|
141 |
exec ($gz_bin.$dir.$file.".csv.gz"); |
|
142 |
} else { |
|
143 |
ende ("Upload von Datei fehlerhaft.".$_FILES["Datei"]["error"]); |
|
144 |
}; |
|
145 |
} else if (substr($_FILES["Datei"]["name"],-3)=="zip") { |
|
146 |
if (move_uploaded_file($_FILES["Datei"]["tmp_name"],$dir.$file.".zip")) { |
|
147 |
exec ($zip_bin.$dir.$file.".zip"); |
|
148 |
} else { |
|
149 |
ende ("Upload von Datei fehlerhaft.".$_FILES["Datei"]["error"]); |
|
150 |
}; |
|
151 |
} else if (!move_uploaded_file($_FILES["Datei"]["tmp_name"],$dir.$file.".csv")) { |
|
121 | 152 |
ende ("Upload von Datei fehlerhaft.".$_FILES["Datei"]["error"]); |
122 |
}; |
|
123 |
} else if (!move_uploaded_file($_FILES["Datei"]["tmp_name"],$dir.$file.".csv")) { |
|
124 |
ende ("Upload von Datei fehlerhaft.".$_FILES["Datei"]["error"]); |
|
125 |
}; |
|
153 |
}; |
|
154 |
} |
|
126 | 155 |
|
127 | 156 |
/* check if file is really there */ |
128 | 157 |
if (!file_exists($dir.$file.'.csv') or filesize($dir.$file.'.csv')==0) |
... | ... | |
132 | 161 |
if (!$db->chkcol($file)) |
133 | 162 |
ende("Importspalte konnte nicht angelegt werden"); |
134 | 163 |
|
135 |
/* first check all elements */ |
|
136 |
$_test=$_POST; |
|
137 |
$_test["precision"]=-1; |
|
138 |
$_test["quotation"]=0; |
|
139 |
$_test["lager"]=$_POST["lager"]; |
|
140 |
$_test["lagerplatz"]=$_POST["lagerplatz"]; |
|
141 |
|
|
142 | 164 |
/* just print data or insert it, if test is false */ |
143 |
import_parts($db, $dir.$file, $trenner, $trennzeichen, $parts, FALSE, !$test, $_POST["show"],$_POST);
|
|
165 |
import_parts($_SESSION["db"], $dir.$file, $parts, FALSE, $_POST);
|
|
144 | 166 |
|
145 | 167 |
} else { |
146 | 168 |
$bugrus=getAllBG($db); |
Auch abrufbar als: Unified diff
Automatisierter Import per Cronjob möglich.
z.B. mit:
wget http://localhost/lxo-fcgi/lxo-import/partsB.php?cron=1&login=demo&passwd=ded5ht0W28M8U
oder
w3m -dump http://localhost/lxo-fcgi/lxo-import/partsB.php?cron=1&login=demo&passwd=ded5ht0W28M8U
Passwort ist das Perl UU-endodet Passwort wie in der auth.user