Revision 57096a48
Von Holger Lindemann vor mehr als 16 Jahren hinzugefügt
pepper/conf.php | ||
---|---|---|
1 |
<? |
|
2 |
// Verbindung zur ERP-db |
|
3 |
$ERPuser="lxoffice"; |
|
4 |
$ERPpass="geheim"; |
|
5 |
$ERPhost="localhost"; |
|
6 |
$ERPdbname="lxerp1"; |
|
7 |
$ERPdns="pgsql://$ERPuser:$ERPpass@$ERPhost/$ERPdbname"; |
|
8 |
$ERPusr["Name"]="demo"; |
|
9 |
$ERPusr["ID"]="376"; |
|
10 |
$ERPdir="tmp/shopartikel.csv"; |
|
11 |
$ERPimgdir="/usr/lib/lx-office-erp"; |
|
12 |
$maxSize=""; |
|
13 |
$ERPftphost="localhost"; |
|
14 |
$ERPftpuser="pepper"; |
|
15 |
$ERPftppwd="pepper"; |
|
16 |
//Verbindung zur osCommerce-db |
|
17 |
$SHOPuser="root"; |
|
18 |
$SHOPpass="27123"; |
|
19 |
$SHOPhost="localhost"; |
|
20 |
$SHOPdbname="TestLocal"; |
|
21 |
$SHOPdns="mysql://$SHOPuser:$SHOPpass@$SHOPhost/$SHOPdbname"; |
|
22 |
$SHOPdir="tmp/shopartikel.csv"; |
|
23 |
$SHOPimgdir="/var/www/TestLocal/shop/ProdukteBilder"; |
|
24 |
$SHOPftphost="localhost"; |
|
25 |
$SHOPftpuser="pepper"; |
|
26 |
$SHOPftppwd="pepper"; |
|
27 |
$div16["ID"]="391"; |
|
28 |
$div07["ID"]=""; |
|
29 |
$versand["ID"]="411"; |
|
30 |
$nachn["ID"]="411"; |
|
31 |
$minder["ID"]="391"; |
|
32 |
$treuh["ID"]="391"; |
|
33 |
$paypal["ID"]="391"; |
|
34 |
$div16["NR"]="1002"; |
|
35 |
$div07["NR"]=""; |
|
36 |
$versand["NR"]="1003"; |
|
37 |
$nachn["NR"]="1003"; |
|
38 |
$minder["NR"]="1002"; |
|
39 |
$treuh["NR"]="1002"; |
|
40 |
$paypal["NR"]="1002"; |
|
41 |
$div16["TXT"]="Diverse"; |
|
42 |
$div07["TXT"]=""; |
|
43 |
$versand["TXT"]="Versandkosten"; |
|
44 |
$nachn["TXT"]="Versandkosten"; |
|
45 |
$minder["TXT"]="Diverse"; |
|
46 |
$treuh["TXT"]="Diverse"; |
|
47 |
$paypal["TXT"]="Diverse"; |
|
48 |
$bgcol[1]="#ddddff"; |
|
49 |
$bgcol[2]="#ddffdd"; |
|
50 |
$preA="P_"; |
|
51 |
$preK="P_"; |
|
52 |
$auftrnr="1"; |
|
53 |
$kdnum="1"; |
|
54 |
$pricegroup="382"; |
|
55 |
$showErr="true"; |
|
56 |
?> |
pepper/confedit.php | ||
---|---|---|
1 |
<? |
|
2 |
// $Id: confedit.php,v 0.10 2006/02/06 11:34:30 hli Exp $ |
|
3 |
if (!isset($_SERVER['PHP_AUTH_USER'])) { |
|
4 |
Header("WWW-Authenticate: Basic realm=\"Configurations-Editor\""); |
|
5 |
Header("HTTP/1.0 401 Unauthorized"); |
|
6 |
echo "Sie müssen sich autentifizieren\n"; |
|
7 |
exit; |
|
8 |
} else { |
|
9 |
include "conf.php"; |
|
10 |
require_once "DB.php"; |
|
11 |
$db=@DB::connect($ERPdns); |
|
12 |
if (!DB::isError($db)) { |
|
13 |
$sql="select id,pricegroup from pricegroup"; |
|
14 |
$pgs=$db->getall($sql); |
|
15 |
} |
|
16 |
function pg($sel) { |
|
17 |
global $pgs; |
|
18 |
echo "\t<option value=0"; |
|
19 |
if ($sel==0) echo " selected"; |
|
20 |
echo ">Standard VK\n"; |
|
21 |
if ($pgs) foreach ($pgs as $row) { |
|
22 |
echo "\t<option value=".$row[0]; |
|
23 |
if ($sel==$row[0]) echo " selected"; |
|
24 |
echo ">".$row[1]."\n"; |
|
25 |
} |
|
26 |
} |
|
27 |
if ($_SERVER['PHP_AUTH_USER']<>$ERPftpuser || $_SERVER['PHP_AUTH_PW']<>$ERPftppwd) { |
|
28 |
Header("WWW-Authenticate: Basic realm=\"My Realm\""); |
|
29 |
Header("HTTP/1.0 401 Unauthorized"); |
|
30 |
echo "Sie müssen sich autentifizieren\n"; |
|
31 |
exit; |
|
32 |
} |
|
33 |
if ($_POST["ok"]=="sichern") { |
|
34 |
$ok=true; |
|
35 |
$dsnP="pgsql://".$_POST["ERPuser"].":".$_POST["ERPpass"]."@".$_POST["ERPhost"]."/".$_POST["ERPdbname"]; |
|
36 |
$dbP=DB::connect($dsnP); |
|
37 |
if (DB::isError($dbP)||!$dbP) { |
|
38 |
$ok=false; |
|
39 |
echo "Keine Verbindung zur ERP<br>"; |
|
40 |
echo $dbP->userinfo; |
|
41 |
} |
|
42 |
else { |
|
43 |
$rs=$dbP->getall("select id,description from parts where partnumber = '".$_POST["div16NR"]."'"); |
|
44 |
$_POST["div16ID"]=$rs[0][0]; |
|
45 |
$div16txt=$rs[0][1]; |
|
46 |
$rs=$dbP->getall("select id,description from parts where partnumber = '".$_POST["div07NR"]."'"); |
|
47 |
$_POST["div07ID"]=$rs[0][0]; |
|
48 |
$div07txt=$rs[0][1]; |
|
49 |
$rs=$dbP->getall("select id,description from parts where partnumber = '".$_POST["versandNR"]."'"); |
|
50 |
$_POST["versandID"]=$rs[0][0]; |
|
51 |
$versandtxt=$rs[0][1]; |
|
52 |
$rs=$dbP->getall("select id,description from parts where partnumber = '".$_POST["nachnNR"]."'"); |
|
53 |
$_POST["nachnID"]=$rs[0][0]; |
|
54 |
$nachntxt=$rs[0][1]; |
|
55 |
$rs=$dbP->getall("select id,description from parts where partnumber = '".$_POST["minderNR"]."'"); |
|
56 |
$_POST["minderID"]=$rs[0][0]; |
|
57 |
$mindertxt=$rs[0][1]; |
|
58 |
$rs=$dbP->getall("select id,description from parts where partnumber = '".$_POST["paypalNR"]."'"); |
|
59 |
$_POST["paypalID"]=$rs[0][0]; |
|
60 |
$paypaltxt=$rs[0][1]; |
|
61 |
$rs=$dbP->getall("select id,description from parts where partnumber = '".$_POST["treuhNR"]."'"); |
|
62 |
$_POST["treuhID"]=$rs[0][0]; |
|
63 |
$treuhtxt=$rs[0][1]; |
|
64 |
$rs=$dbP->getall("select id from employee where login = '".$_POST["ERPusrN"]."'"); |
|
65 |
$_POST["ERPusrID"]=$rs[0][0]; |
|
66 |
} |
|
67 |
$dsnM="mysql://".$_POST["SHOPuser"].":".$_POST["SHOPpass"]."@".$_POST["SHOPhost"]."/".$_POST["SHOPdbname"]; |
|
68 |
$dbM=DB::connect($dsnM); |
|
69 |
if (DB::isError($dbM)||!$dbM) { |
|
70 |
$ok=false; |
|
71 |
echo "Keine Verbindung zum Shop<br>"; |
|
72 |
echo $dbM->userinfo; |
|
73 |
}; |
|
74 |
if (ok) { |
|
75 |
$f=fopen("conf.php","w"); |
|
76 |
$v="1.5"; |
|
77 |
$d=date("Y/m/d H:i:s"); |
|
78 |
fputs($f,"<?\n// Verbindung zur ERP-db\n"); |
|
79 |
fputs($f,"\$ERPuser=\"".$_POST["ERPuser"]."\";\n"); |
|
80 |
fputs($f,"\$ERPpass=\"".$_POST["ERPpass"]."\";\n"); |
|
81 |
fputs($f,"\$ERPhost=\"".$_POST["ERPhost"]."\";\n"); |
|
82 |
fputs($f,"\$ERPdbname=\"".$_POST["ERPdbname"]."\";\n"); |
|
83 |
fputs($f,"\$ERPdns=\"pgsql://\$ERPuser:\$ERPpass@\$ERPhost/\$ERPdbname\";\n"); |
|
84 |
fputs($f,"\$ERPusr[\"Name\"]=\"".$_POST["ERPusrN"]."\";\n"); |
|
85 |
fputs($f,"\$ERPusr[\"ID\"]=\"".$_POST["ERPusrID"]."\";\n"); |
|
86 |
fputs($f,"\$ERPdir=\"".$_POST["ERPdir"]."\";\n"); |
|
87 |
fputs($f,"\$ERPimgdir=\"".$_POST["ERPimgdir"]."\";\n"); |
|
88 |
fputs($f,"\$maxSize=\"".$_POST["maxSize"]."\";\n"); |
|
89 |
fputs($f,"\$ERPftphost=\"".$_POST["ERPftphost"]."\";\n"); |
|
90 |
fputs($f,"\$ERPftpuser=\"".$_POST["ERPftpuser"]."\";\n"); |
|
91 |
fputs($f,"\$ERPftppwd=\"".$_POST["ERPftppwd"]."\";\n"); |
|
92 |
fputs($f,"//Verbindung zur osCommerce-db\n"); |
|
93 |
fputs($f,"\$SHOPuser=\"".$_POST["SHOPuser"]."\";\n"); |
|
94 |
fputs($f,"\$SHOPpass=\"".$_POST["SHOPpass"]."\";\n"); |
|
95 |
fputs($f,"\$SHOPhost=\"".$_POST["SHOPhost"]."\";\n"); |
|
96 |
fputs($f,"\$SHOPdbname=\"".$_POST["SHOPdbname"]."\";\n"); |
|
97 |
fputs($f,"\$SHOPdns=\"mysql://\$SHOPuser:\$SHOPpass@\$SHOPhost/\$SHOPdbname\";\n"); |
|
98 |
fputs($f,"\$SHOPdir=\"".$_POST["SHOPdir"]."\";\n"); |
|
99 |
fputs($f,"\$SHOPimgdir=\"".$_POST["SHOPimgdir"]."\";\n"); |
|
100 |
fputs($f,"\$SHOPftphost=\"".$_POST["SHOPftphost"]."\";\n"); |
|
101 |
fputs($f,"\$SHOPftpuser=\"".$_POST["SHOPftpuser"]."\";\n"); |
|
102 |
fputs($f,"\$SHOPftppwd=\"".$_POST["SHOPftppwd"]."\";\n"); |
|
103 |
fputs($f,"\$div16[\"ID\"]=\"".$_POST["div16ID"]."\";\n"); |
|
104 |
fputs($f,"\$div07[\"ID\"]=\"".$_POST["div07ID"]."\";\n"); |
|
105 |
fputs($f,"\$versand[\"ID\"]=\"".$_POST["versandID"]."\";\n"); |
|
106 |
fputs($f,"\$nachn[\"ID\"]=\"".$_POST["nachnID"]."\";\n"); |
|
107 |
fputs($f,"\$minder[\"ID\"]=\"".$_POST["minderID"]."\";\n"); |
|
108 |
fputs($f,"\$treuh[\"ID\"]=\"".$_POST["treuhID"]."\";\n"); |
|
109 |
fputs($f,"\$paypal[\"ID\"]=\"".$_POST["paypalID"]."\";\n"); |
|
110 |
fputs($f,"\$div16[\"NR\"]=\"".$_POST["div16NR"]."\";\n"); |
|
111 |
fputs($f,"\$div07[\"NR\"]=\"".$_POST["div07NR"]."\";\n"); |
|
112 |
fputs($f,"\$versand[\"NR\"]=\"".$_POST["versandNR"]."\";\n"); |
|
113 |
fputs($f,"\$nachn[\"NR\"]=\"".$_POST["nachnNR"]."\";\n"); |
|
114 |
fputs($f,"\$minder[\"NR\"]=\"".$_POST["minderNR"]."\";\n"); |
|
115 |
fputs($f,"\$treuh[\"NR\"]=\"".$_POST["treuhNR"]."\";\n"); |
|
116 |
fputs($f,"\$paypal[\"NR\"]=\"".$_POST["paypalNR"]."\";\n"); |
|
117 |
fputs($f,"\$div16[\"TXT\"]=\"".$div16txt."\";\n"); |
|
118 |
fputs($f,"\$div07[\"TXT\"]=\"".$div07txt."\";\n"); |
|
119 |
fputs($f,"\$versand[\"TXT\"]=\"".$versandtxt."\";\n"); |
|
120 |
fputs($f,"\$nachn[\"TXT\"]=\"".$nachntxt."\";\n"); |
|
121 |
fputs($f,"\$minder[\"TXT\"]=\"".$mindertxt."\";\n"); |
|
122 |
fputs($f,"\$treuh[\"TXT\"]=\"".$treuhtxt."\";\n"); |
|
123 |
fputs($f,"\$paypal[\"TXT\"]=\"".$paypaltxt."\";\n"); |
|
124 |
fputs($f,"\$bgcol[1]=\"#ddddff\";\n"); |
|
125 |
fputs($f,"\$bgcol[2]=\"#ddffdd\";\n"); |
|
126 |
fputs($f,"\$preA=\"".$_POST["preA"]."\";\n"); |
|
127 |
fputs($f,"\$preK=\"".$_POST["preK"]."\";\n"); |
|
128 |
fputs($f,"\$auftrnr=\"".$_POST["auftrnr"]."\";\n"); |
|
129 |
fputs($f,"\$kdnum=\"".$_POST["kdnum"]."\";\n"); |
|
130 |
fputs($f,"\$pricegroup=\"".$_POST["pricegroup"]."\";\n"); |
|
131 |
fputs($f,"\$showErr=\"true\";\n"); |
|
132 |
fputs($f,"?>"); |
|
133 |
fclose($f); |
|
134 |
require "conf.php"; |
|
135 |
} else { |
|
136 |
$ERPuser=$_POST["ERPuser"]; |
|
137 |
$ERPpass=$_POST["ERPpass"]; |
|
138 |
$ERPhost=$_POST["ERPhost"]; |
|
139 |
$ERPdbname=$_POST["ERPdbname"]; |
|
140 |
$ERPusrN=$_POST["ERPusrN"]; |
|
141 |
$ERPdir=$_POST["ERPdir"]; |
|
142 |
$ERPimgdir=$_POST["ERPimgdir"]; |
|
143 |
$maxSize=$_POST["maxSize"]; |
|
144 |
$ERPftphost=$_POST["ERPftphost"]; |
|
145 |
$ERPftpuser=$_POST["ERPftpuser"]; |
|
146 |
$ERPftppwd=$_POST["ERPftppwd"]; |
|
147 |
$SHOPuser=$_POST["SHOPuser"]; |
|
148 |
$SHOPpass=$_POST["SHOPpass"]; |
|
149 |
$SHOPhost=$_POST["SHOPhost"]; |
|
150 |
$SHOPdbname=$_POST["SHOPdbname"]; |
|
151 |
$SHOPdir=$_POST["SHOPdir"]; |
|
152 |
$SHOPimgdir=$_POST["SHOPimgdir"]; |
|
153 |
$SHOPftphost=$_POST["SHOPftphost"]; |
|
154 |
$SHOPftpuser=$_POST["SHOPftpuser"]; |
|
155 |
$SHOPftppwd=$_POST["SHOPftppwd"]; |
|
156 |
$div16NR=$_POST["div16NR"]; |
|
157 |
$div07NR=$_POST["div07NR"]; |
|
158 |
$versandNR=$_POST["versandNR"]; |
|
159 |
$nachnNR=$_POST["nachnNR"]; |
|
160 |
$treuhNR=$_POST["treuhNR"]; |
|
161 |
$minderNR=$_POST["minderNR"]; |
|
162 |
$paypalNR=$_POST["paypalNR"]; |
|
163 |
$preA=$_POST["preA"]; |
|
164 |
$preK=$_POST["preK"]; |
|
165 |
$kdnum=$_POST["kdnum"]; |
|
166 |
$pricegroup=$_POST["pricegroup"]; |
|
167 |
$auftrnr=$_POST["auftrnr"]; |
|
168 |
} |
|
169 |
} else { |
|
170 |
require "conf.php"; |
|
171 |
} |
|
172 |
?> |
|
173 |
<html> |
|
174 |
<body> |
|
175 |
<center> |
|
176 |
<table style="background-color:#cccccc" border="0"> |
|
177 |
<form name="ConfEdit" method="post" action="confedit.php"> |
|
178 |
<input type="hidden" name="div16ID" value="<?= $div16["ID"] ?>"> |
|
179 |
<input type="hidden" name="div07ID" value="<?= $div07["ID"] ?>"> |
|
180 |
<input type="hidden" name="minderID" value="<?= $minder["ID"] ?>"> |
|
181 |
<input type="hidden" name="versandID" value="<?= $versand["ID"] ?>"> |
|
182 |
<input type="hidden" name="nachnID" value="<?= $nachn["ID"] ?>"> |
|
183 |
<input type="hidden" name="paypalID" value="<?= $paypal["ID"] ?>"> |
|
184 |
<input type="hidden" name="treuhID" value="<?= $treuh["ID"] ?>"> |
|
185 |
<input type="hidden" name="ERPusrID" value="<?= $ERPusr["ID"] ?>"> |
|
186 |
|
|
187 |
<tr><th>Daten</th><th>Lx-ERP</th><th></th><th>Shop</th></tr> |
|
188 |
<tr> |
|
189 |
<td>db-Host</td> |
|
190 |
<td colspan="2"><input type="text" name="ERPhost" size="25" value="<?= $ERPhost ?>"></td> |
|
191 |
<td><input type="text" name="SHOPhost" size="25" value="<?= $SHOPhost ?>"></td> |
|
192 |
</tr> |
|
193 |
<tr> |
|
194 |
<td>Database</td> |
|
195 |
<td colspan="2"><input type="text" name="ERPdbname" size="20" value="<?= $ERPdbname ?>"></td> |
|
196 |
<td><input type="text" name="SHOPdbname" size="20" value="<?= $SHOPdbname ?>"></td> |
|
197 |
</tr> |
|
198 |
<tr> |
|
199 |
<td>db-User Name</td> |
|
200 |
<td colspan="2"><input type="text" name="ERPuser" size="15" value="<?= $ERPuser ?>"></td> |
|
201 |
<td><input type="text" name="SHOPuser" size="15" value="<?= $SHOPuser ?>"></td> |
|
202 |
</tr> |
|
203 |
<tr> |
|
204 |
<td>db-User PWD</td> |
|
205 |
<td colspan="2"><input type="text" name="ERPpass" size="15" value="<?= $ERPpass ?>"></td> |
|
206 |
<td><input type="text" name="SHOPpass" size="15" value="<?= $SHOPpass ?>"></td> |
|
207 |
</tr> |
|
208 |
<tr> |
|
209 |
<td>User-ID</td> |
|
210 |
<td colspan="2"><input type="text" name="ERPusrN" size="10" value="<?= $ERPusr["Name"] ?>"> |
|
211 |
<input type="checkbox" name="a1" <?= (empty($ERPusr["ID"])?"":"checked") ?>></td> |
|
212 |
<td></td> |
|
213 |
</tr> |
|
214 |
<tr> |
|
215 |
<td>CSV-Dir</td> |
|
216 |
<td colspan="2"><input type="text" name="ERPdir" size="30" value="<?= $ERPdir ?>"></td> |
|
217 |
<td><input type="text" name="SHOPdir" size="30" value="<?= $SHOPdir ?>"></td> |
|
218 |
</tr> |
|
219 |
<tr> |
|
220 |
<td>Image-Dir</td> |
|
221 |
<td colspan="2"><input type="text" name="ERPimgdir" size="30" value="<?= $ERPimgdir ?>"></td> |
|
222 |
<td><input type="text" name="SHOPimgdir" size="30" value="<?= $SHOPimgdir ?>"></td> |
|
223 |
</tr> |
|
224 |
<tr> |
|
225 |
<td>FTP-Host</td> |
|
226 |
<td colspan="2"><input type="text" name="ERPftphost" size="20" value="<?= $ERPftphost ?>"></td> |
|
227 |
<td><input type="text" name="SHOPftphost" size="20" value="<?= $SHOPftphost ?>"></td> |
|
228 |
</tr> |
|
229 |
<tr> |
|
230 |
<td>FTP-User</td> |
|
231 |
<td colspan="2"><input type="text" name="ERPftpuser" size="15" value="<?= $ERPftpuser ?>"></td> |
|
232 |
<td><input type="text" name="SHOPftpuser" size="15" value="<?= $SHOPftpuser ?>"></td> |
|
233 |
</tr> |
|
234 |
<tr> |
|
235 |
<td>FTP-User PWD</td> |
|
236 |
<td colspan="2"><input type="text" name="ERPftppwd" size="15" value="<?= $ERPftppwd ?>"></td> |
|
237 |
<td><input type="text" name="SHOPftppwd" size="15" value="<?= $SHOPftppwd ?>"></td> |
|
238 |
</tr> |
|
239 |
<tr> |
|
240 |
<td>ID Diverse 16%</td> |
|
241 |
<td><input type="text" name="div16NR" size="10" value="<?= $div16["NR"] ?>"> |
|
242 |
<input type="checkbox" name="a1" <?= (empty($div16["ID"])?"":"checked") ?>></td> |
|
243 |
<td>ID Diverse 7%</td> |
|
244 |
<td><input type="text" name="div07NR" size="10" value="<?= $div07["NR"] ?>"> |
|
245 |
<input type="checkbox" name="a1" <?= (empty($div07["ID"])?"":"checked") ?>></td> |
|
246 |
</tr> |
|
247 |
<tr> |
|
248 |
<td>ID Versand</td> |
|
249 |
<td><input type="text" name="versandNR" size="10" value="<?= $versand["NR"] ?>"> |
|
250 |
<input type="checkbox" name="a1" <?= (empty($versand["ID"])?"":"checked") ?>></td> |
|
251 |
<td>ID Nachname</td> |
|
252 |
<td><input type="text" name="nachnNR" size="10" value="<?= $nachn["NR"] ?>"> |
|
253 |
<input type="checkbox" name="a1" <?= (empty($nachn["ID"])?"":"checked") ?>></td> |
|
254 |
</tr> |
|
255 |
<tr> |
|
256 |
<td>ID Paypal</td> |
|
257 |
<td><input type="text" name="paypalNR" size="10" value="<?= $paypal["NR"] ?>"> |
|
258 |
<input type="checkbox" name="a1" <?= (empty($paypal["ID"])?"":"checked") ?>></td> |
|
259 |
<td>ID Treuhand</td> |
|
260 |
<td><input type="text" name="treuhNR" size="10" value="<?= $treuh["NR"] ?>"> |
|
261 |
<input type="checkbox" name="a1" <?= (empty($treuh["ID"])?"":"checked") ?>></td> |
|
262 |
</tr> |
|
263 |
<tr> |
|
264 |
<td>ID Mindermenge</td> |
|
265 |
<td><input type="text" name="minderNR" size="10" value="<?= $minder["NR"] ?>"> |
|
266 |
<input type="checkbox" name="a1" <?= (empty($minder["ID"])?"":"checked") ?>></td> |
|
267 |
<td>Preisgruppe</td> |
|
268 |
<td><select name="pricegroup"> |
|
269 |
<? pg($pricegroup); ?> |
|
270 |
</select></td> |
|
271 |
</tr> |
|
272 |
<tr> |
|
273 |
<td colspan="2">Auftragsnummern durch</td> |
|
274 |
<td><input type="radio" name="auftrnr" value="1" <?= ($auftrnr==1)?"checked":"" ?>> LxO</td> |
|
275 |
<td><input type="radio" name="auftrnr" value="0" <?= ($auftrnr<>1)?"checked":"" ?>> Shop</td> |
|
276 |
</tr> |
|
277 |
<tr> |
|
278 |
<td colspan="2">Kundennummern durch</td> |
|
279 |
<td><input type="radio" name="kdnum" value="1" <?= ($kdnum==1)?"checked":"" ?>> LxO</td> |
|
280 |
<td><input type="radio" name="kdnum" value="0" <?= ($kdnum<>1)?"checked":"" ?>> Shop</td> |
|
281 |
</tr> |
|
282 |
<tr> |
|
283 |
<td colspan="2">Nummernerweiterung</td> |
|
284 |
<td>Auftrag<input type="text" name="preA" size="5" value="<?= $preA ?>"></td> |
|
285 |
<td>Kunde<input type="text" name="preK" size="5" value="<?= $preK ?>"></td> |
|
286 |
</tr> |
|
287 |
<!--tr> |
|
288 |
<td>Bildergrösse (byte)</td> |
|
289 |
<td><input type="text" name="maxSize" size="10" value="<?= $maxSize ?>"></td> |
|
290 |
<td></td> |
|
291 |
</tr--> |
|
292 |
|
|
293 |
|
|
294 |
|
|
295 |
|
|
296 |
<tr><td colspan="4" align="center"><input type="submit" name="ok" value="sichern"></td></tr> |
|
297 |
</form> |
|
298 |
</table> |
|
299 |
</center> |
|
300 |
</body> |
|
301 |
</html> |
|
302 |
<? } ?> |
pepper/diff.php | ||
---|---|---|
1 |
<? |
|
2 |
// $Id: diff.php,v 1.1 2004/12/17 13:50:15 hli Exp $ |
|
3 |
require_once "DB.php"; |
|
4 |
require_once "conf.php"; |
|
5 |
if (!$db) { |
|
6 |
$db=DB::connect($SHOPdns); |
|
7 |
if (!$db) dbFehler("",$db->getDebugInfo()); |
|
8 |
if (DB::isError($db)) { |
|
9 |
dbFehler("",$db->getDebugInfo()); |
|
10 |
die ($db->getDebugInfo()); |
|
11 |
}; |
|
12 |
$db2=DB::connect($ERPdns); |
|
13 |
if (!$db2) dbFehler("",$db2->getDebugInfo()); |
|
14 |
if (DB::isError($db2)) { |
|
15 |
dbFehler("",$db2->getDebugInfo()); |
|
16 |
die ($db2->getDebugInfo()); |
|
17 |
}; |
|
18 |
} |
|
19 |
if ($_POST["ok"]) { |
|
20 |
$sql="select Kategorie_ID from kategorien where Unterkategorie_von = '@PhPepperShop@'"; |
|
21 |
$rs=$db->getAll($sql,DB_FETCHMODE_ASSOC); |
|
22 |
$no=$rs[0]["Kategorie_ID"]; |
|
23 |
foreach($_POST as $key=>$val) { |
|
24 |
if ($key=="ok") continue; |
|
25 |
if ($key=="alle") continue; |
|
26 |
$sql="update artikel_kategorie set FK_Kategorie_ID=$no where FK_Artikel_ID=$val"; |
|
27 |
echo "$key "; |
|
28 |
if ($db->query($sql)) { echo "deaktiviert<br>"; } |
|
29 |
else { echo "konnte nicht deaktiviert werden<br>"; }; |
|
30 |
} |
|
31 |
} else { |
|
32 |
$sql="select Kategorie_ID from kategorien where Unterkategorie_von = '@PhPepperShop@'"; |
|
33 |
$rs=$db->getAll($sql,DB_FETCHMODE_ASSOC); |
|
34 |
if ($rs) { |
|
35 |
$no="K.FK_Kategorie_ID<>".$rs[0]["Kategorie_ID"]; |
|
36 |
} else { |
|
37 |
$no="1"; |
|
38 |
} |
|
39 |
$sql="select partnumber from parts where shop='1' order by partnumber"; |
|
40 |
$erp=$db2->getAll($sql,DB_FETCHMODE_ASSOC); |
|
41 |
if ($erp) foreach ($erp as $zeile) { $arE[]=$zeile["partnumber"]; }; |
|
42 |
$sql="select Name,Artikel_ID,Artikel_NR from artikel A left join artikel_kategorie K on A.Artikel_ID=K.FK_Artikel_ID where $no"; |
|
43 |
$shop=$db->getAll($sql,DB_FETCHMODE_ASSOC); |
|
44 |
if ($shop) foreach ($shop as $zeile) { |
|
45 |
$arS[]=$zeile["Artikel_NR"]; |
|
46 |
$arID[$zeile["Artikel_NR"]]=array("id"=>$zeile["Artikel_ID"],"name"=>$zeile["Name"]); |
|
47 |
} |
|
48 |
$result=@array_diff($arS,$arE); |
|
49 |
if ($result) { |
|
50 |
?> |
|
51 |
<html> |
|
52 |
<head><title>Artikelpflege</title> |
|
53 |
<script language="JavaScript"> |
|
54 |
<!-- |
|
55 |
function sel() { |
|
56 |
val=document.doppel.alle.checked; |
|
57 |
cnt=document.doppel.length; |
|
58 |
for (i=0; i<cnt; i++) { |
|
59 |
document.doppel.elements[i].checked=val; |
|
60 |
} |
|
61 |
} |
|
62 |
//--> |
|
63 |
</script> |
|
64 |
</head> |
|
65 |
<body> |
|
66 |
Folgende Artikel sind in der ERP nicht mehr als Shopartikel markiert.<br> |
|
67 |
Markieren Sie die Artikel, die deaktiviert werden sollen.<br> |
|
68 |
<form name='doppel' method='post' action='diff.php'> |
|
69 |
<table> |
|
70 |
<? |
|
71 |
foreach ($result as $data) { |
|
72 |
echo "\t<tr><td><input type='checkbox' name='".$data."' value='".$arID[$data]["id"]."'></td><td>".$data."</td><td>".$arID[$data]["name"]."</td></tr>\n"; |
|
73 |
} |
|
74 |
?> |
|
75 |
<tr><td><input type='checkbox' name='alle' value='1' onClick="sel()"></td><td></td><td>alle Artikel</td></tr> |
|
76 |
<tr><td colspan='3'><input type='submit' name='ok' value='ok'></td></tr> |
|
77 |
</table> |
|
78 |
<form> |
|
79 |
<? } |
|
80 |
else { "Artikelbestand identisch"; }; |
|
81 |
} ?> |
|
82 |
<a href="trans.php">zurück</a> |
pepper/erpexport.php | ||
---|---|---|
1 |
<? |
|
2 |
/*************************************************************** |
|
3 |
* $Id: erpexport.php 2006/02/06 13:50:30 hli Exp $ |
|
4 |
*Author: Holger Lindemann |
|
5 |
*Copyright: (c) 2004 Lx-System |
|
6 |
*License: non free |
|
7 |
*eMail: info@lx-system.de |
|
8 |
*Version: 1.0.1 |
|
9 |
*ERP: Lx-Office ERP |
|
10 |
***************************************************************/ |
|
11 |
?> |
|
12 |
<html> |
|
13 |
<head><title>Lx-ERP Export der Shopartikel</title> |
|
14 |
<link type="text/css" REL="stylesheet" HREF="css/main.css"></link> |
|
15 |
<script language="JavaScript"> |
|
16 |
<!-- |
|
17 |
function pepper() { |
|
18 |
document.fld.PN.value="Artikel-Nr"; document.fld.partnumber.checked=true; |
|
19 |
document.fld.BEZ.value="Name"; document.fld.desctiption.checked=true; |
|
20 |
document.fld.GEWICHT.value="Gewicht"; document.fld.weight.checked=true; |
|
21 |
document.fld.MWST.value="MwSt-Satz"; document.fld.rate.checked=true; |
|
22 |
document.fld.VK.value="Preis"; document.fld.sellprice.checked=true; |
|
23 |
document.fld.PG.value="Kategorien"; document.fld.partsgroup.checked=true; |
|
24 |
document.fld.BESCHR.value="Beschreibung"; document.fld.notes.checked=true; |
|
25 |
document.fld.PG.value="Lagerbestand"; document.fld.onhand.checked=true; |
|
26 |
document.fld.encl.value=""; |
|
27 |
document.fld.deli.value=";"; |
|
28 |
document.fld.crln.value="\\n"; |
|
29 |
document.fld.head.checked=true; |
|
30 |
document.fld.shop.value="pepper"; |
|
31 |
} |
|
32 |
//--> |
|
33 |
</script> |
|
34 |
<body> |
|
35 |
|
|
36 |
<?php |
|
37 |
require_once "DB.php"; |
|
38 |
require_once "conf.php"; |
|
39 |
|
|
40 |
$db=DB::connect($ERPdns); |
|
41 |
if (!$db) dbFehler("",$db->getDebugInfo()); |
|
42 |
if (DB::isError($db)) { |
|
43 |
dbFehler("",$db->getDebugInfo()); |
|
44 |
die ($db->getDebugInfo()); |
|
45 |
}; |
|
46 |
/**************************************************** |
|
47 |
* dbFehler |
|
48 |
* in: sql,err = string |
|
49 |
* out: |
|
50 |
* Fehlermeldungen ausgeben |
|
51 |
*****************************************************/ |
|
52 |
function dbFehler($sql,$err) { |
|
53 |
global $showErr; |
|
54 |
if ($showErr) |
|
55 |
echo "</td></tr></table><font color='red'>$sql : $err</font><br>"; |
|
56 |
} |
|
57 |
|
|
58 |
function shopartikel() { |
|
59 |
global $db; |
|
60 |
$sql ="SELECT P.partnumber,P.description,P.unit,P.weight,t.rate,P.sellprice,P.listprice,P.priceupdate,PG.partsgroup,P.notes,P.image FROM "; |
|
61 |
$sql.="parts P left join partsgroup PG on PG.id=P.partsgroup_id "; |
|
62 |
$sql.="left join chart c on c.id = P.income_accno_id "; |
|
63 |
$sql.="left join tax T on T.taxkey=C.taxkey_id "; |
|
64 |
$sql.="where shop = 't'"; |
|
65 |
$rs=$db->getAll($sql,DB_FETCHMODE_ASSOC); |
|
66 |
return $rs; |
|
67 |
} |
|
68 |
if ($_POST["export"]) { |
|
69 |
$data=shopartikel(); |
|
70 |
$delim=($_POST["deli"])?$_POST["deli"]:","; |
|
71 |
if (get_magic_quotes_gpc()) { |
|
72 |
$crln = stripslashes($_POST["crln"]); |
|
73 |
} |
|
74 |
$crln = str_replace('\\r', "\015", $crln); |
|
75 |
$crln = str_replace('\\n', "\012", $crln); |
|
76 |
$crln = str_replace('\\t', "\011", $crln); |
|
77 |
$encl=$_POST["encl"]; |
|
78 |
$i=0; |
|
79 |
$f=fopen($ERPdir,"w"); |
|
80 |
if ($_POST["partnumber"]) {$header.=$_POST["PN"].$delim; }; |
|
81 |
if ($_POST["desctiption"]) {$header.=$_POST["BEZ"].$delim; }; |
|
82 |
if ($_POST["unit"]) {$header.=$_POST["EINHEIT"].$delim; }; |
|
83 |
if ($_POST["weight"]) {$header.=$_POST["GEWICHT"].$delim; }; |
|
84 |
if ($_POST["onhand"]) {$header.=$_POST["LAGER"].$delim; }; |
|
85 |
if ($_POST["rate"]) {$header.=$_POST["MWST"].$delim; }; |
|
86 |
if ($_POST["sellprice"]) {$header.=$_POST["VK"].$delim; }; |
|
87 |
if ($_POST["listprice"]) {$header.=$_POST["EK"].$delim; }; |
|
88 |
if ($_POST["priceupdate"]) {$header.=$_POST["PDATE"].$delim; }; |
|
89 |
if ($_POST["partsgroup"]) {$header.=$_POST["PG"].$delim; }; |
|
90 |
if ($_POST["notes"]) {$header.=$_POST["BESCHR"].$delim; }; |
|
91 |
if ($_POST["image"]) {$header.=$_POST["IMAGE"].$delim; }; |
|
92 |
$header=substr($header,0,-1); |
|
93 |
?> |
|
94 |
<table class="liste"> |
|
95 |
<!-- BEGIN Artikel --> |
|
96 |
<? |
|
97 |
function downloadImage($image,$name) { |
|
98 |
global $ERPftphost,$ERPftpuser,$ERPftppwd,$ERPimgdir, $maxSize, $iconSize; |
|
99 |
$conn_id = ftp_connect($ERPftphost); |
|
100 |
ftp_login($conn_id,$ERPftpuser,$ERPftppwd); |
|
101 |
$src=$ERPimgdir."/".$image; |
|
102 |
$typ=substr($image,strrpos($image,".")); |
|
103 |
echo "tmp/".$name."_gr$typ $src"; |
|
104 |
$upload=ftp_get($conn_id,"tmp/".$name."_gr$typ","$src",FTP_BINARY); |
|
105 |
ftp_quit($conn_id); |
|
106 |
if (!$upload) { echo "Ftp download war fehlerhaft!"; return false; }; |
|
107 |
echo "convert -resize $iconSize tmp/".$name."_gr$typ tmp/".$name."_kl$typ"; |
|
108 |
exec("convert -resize $iconSize tmp/".$name."_gr$typ tmp/".$name."_kl$typ",$aus,$rc); |
|
109 |
print_r($aus); echo "!$rc!"; |
|
110 |
} |
|
111 |
$i=0; |
|
112 |
$f=fopen($ERPdir,"w"); |
|
113 |
if ($_POST["head"]) fputs($f,$header.$crln); |
|
114 |
foreach($data as $zeile) { |
|
115 |
$file=""; $html=""; |
|
116 |
if ($_POST["shop"]=="pepper") { |
|
117 |
if (preg_match("/^\[.*\].*/",$zeile["partsgroup"])) { $PG=$zeile["partsgroup"]; } |
|
118 |
else { $PG="[".$zeile["partsgroup"]."]"; }; |
|
119 |
$mwst=$zeile["rate"]*100; |
|
120 |
} else if ($_POST["shop"]=="oscomm") { |
|
121 |
$mwst=sprintf("%01.4f",($zeile["rate"]*100)); |
|
122 |
$PG=$zeile["partsgroup"]; |
|
123 |
} else { |
|
124 |
$PG=$zeile["partsgroup"]; |
|
125 |
$mwst=$zeile["rate"]*100; |
|
126 |
}; |
|
127 |
$LineCol = $bgcol[$i%2+1]; |
|
128 |
if ($_POST["partnumber"]) {$file.=$encl.$zeile["partnumber"].$encl.$delim; $html.="<td>".$zeile["partnumber"]."</td>";}; |
|
129 |
if ($_POST["desctiption"]) {$file.=$encl.strtr($zeile["description"],chr(13).chr(10)," ").$encl.$delim; $html.="<td>".$zeile["description"]."</td>";}; |
|
130 |
if ($_POST["unit"]) {$file.=$encl.$zeile["unit"].$encl.$delim; $html.="<td>".$zeile["unit"]."</td>";}; |
|
131 |
if ($_POST["onhand"]) {$file.=$encl.$zeile["onhand"].$encl.$delim; $html.="<td>".$zeile["onhand"]."</td>";}; |
|
132 |
if ($_POST["weight"]) {$file.=$encl.$zeile["weight"].$encl.$delim; $html.="<td>".$zeile["weight"]."</td>";}; |
|
133 |
if ($_POST["rate"]) {$file.=$encl.$mwst.$encl.$delim; $html.="<td>".$mwst."</td>";}; |
|
134 |
if ($_POST["sellprice"]) {$file.=$encl.(sprintf("%02.2f",$zeile["sellprice"])).$encl.$delim; $html.="<td>".(sprintf("%02.2f",$zeile["sellprice"]))."</td>";}; |
|
135 |
if ($_POST["listprice"]) {$file.=$encl.(sprintf("%02.2f",$zeile["listprice"])).$encl.$delim; $html.="<td>".(sprintf("%02.2f",$zeile["listprice"]))."</td>";}; |
|
136 |
if ($_POST["priceupdate"]) {$file.=$encl.$zeile["priceupdate"].$encl.$delim; $html.="<td>".$zeile["priceupdate"]."</td>";}; |
|
137 |
if ($_POST["partsgroup"]) {$file.=$encl.$PG.$encl.$delim; $html.="<td>".$zeile["partsgroup"]."</td>";}; |
|
138 |
if ($_POST["notes"]) {$file.=$encl.strtr($zeile["notes"],chr(13).chr(10)," ").$encl.$delim; $html.="<td>".$zeile["notes"]."</td>";}; |
|
139 |
if ($_POST["image"]) {$file.=$encl.$zeile["image"].$encl.$delim; $html.="<td>".$zeile["image"]."</td>";}; |
|
140 |
$i++; |
|
141 |
fputs($f,substr($file,0,-1).$crln); |
|
142 |
if ($zeile["image"] && $_POST["image"]) { downloadImage($zeile["image"],$zeile["partnumber"]); } |
|
143 |
if ($_POST["show"]) { |
|
144 |
?> |
|
145 |
<tr class="smal" onMouseover="this.bgColor='#FF0000';" onMouseout="this.bgColor='<?= $LineCol ?>';" bgcolor="<?= $LineCol ?>"> |
|
146 |
<?= $html ?> |
|
147 |
</tr> |
|
148 |
<? } |
|
149 |
} |
|
150 |
?> |
|
151 |
<!-- END Artikel --> |
|
152 |
</table> |
|
153 |
Anzahl der Artikel: <?= $i ?><br> |
|
154 |
Export am : <?= date("d.m.Y : H:i") ?><br> |
|
155 |
download <a href="tmp/shopartikel.csv">Exportfile</a><br><hr> |
|
156 |
<? |
|
157 |
fclose($f); |
|
158 |
} // if ($export) |
|
159 |
?> |
|
160 |
Export der Shopartikel aus Lx-ERP <br> |
|
161 |
Mögliche Felder |
|
162 |
<form name="fld" action="erpexport.php" method="post"> |
|
163 |
<input type="hidden" name="shop" value=""> |
|
164 |
<table> |
|
165 |
<tr> |
|
166 |
<td><input type="checkbox" name="partnumber" value="1">Artikelnummer</td> |
|
167 |
<td><input type="checkbox" name="desctiption" value="1">Bezeichnung</td> |
|
168 |
<td><input type="checkbox" name="unit" value="1">Einheit</td> |
|
169 |
<td><input type="checkbox" name="weight" value="1">Gewicht</td> |
|
170 |
</tr> |
|
171 |
<tr> |
|
172 |
<td><input type="text" name="PN" size="23"></td> |
|
173 |
<td><input type="text" name="BEZ" size="23"></td> |
|
174 |
<td><input type="text" name="EINHEIT" size="23"></td> |
|
175 |
<td><input type="text" name="GEWICHT" size="23"></td> |
|
176 |
</tr> |
|
177 |
<tr><td colspan=5></td></tr> |
|
178 |
<tr> |
|
179 |
<td><input type="checkbox" name="sellprice" value="1">Verkaufspreis</td> |
|
180 |
<td><input type="checkbox" name="listprice" value="1">Listenpreis</td> |
|
181 |
<td><input type="checkbox" name="onhand" value="1">Lagerbestand</td> |
|
182 |
<td><input type="checkbox" name="rate" value="1">MwSt</td> |
|
183 |
</tr> |
|
184 |
<tr> |
|
185 |
<td><input type="text" name="VK" size="23"></td> |
|
186 |
<td><input type="text" name="EK" size="23"></td> |
|
187 |
<td><input type="text" name="LAGER" size="23"></td> |
|
188 |
<td><input type="text" name="MWST" size="23"></td> |
|
189 |
</tr> |
|
190 |
<tr><td colspan=5></td></tr> |
|
191 |
<tr> |
|
192 |
<td><input type="checkbox" name="partsgroup" value="1">Gruppe</td> |
|
193 |
<td><input type="checkbox" name="notes" value="1">Beschreibung</td> |
|
194 |
<td><input type="checkbox" name="image" value="1">Bild</td> |
|
195 |
<td><input type="checkbox" name="show" value="1" checked>HTML-Anzeige</td> |
|
196 |
</tr> |
|
197 |
<tr> |
|
198 |
<td><input type="text" name="PG" size="23"></td> |
|
199 |
<td><input type="text" name="BESCHR" size="23"></td> |
|
200 |
<td><input type="text" name="IMAGE" size="23"></td> |
|
201 |
<td></td> |
|
202 |
</tr> |
|
203 |
<tr> |
|
204 |
<td>Feldtrenner <input type="text" name="deli" size="2" value=","></td> |
|
205 |
<td>Feldumrahmung <input type="text" name="encl" size="2" value="""></td> |
|
206 |
<td>Zeilenende <input type="text" name="crln" size="2" value="\n"></td> |
|
207 |
<td><input type="checkbox" name="head" value="1" checked>Headline</td> |
|
208 |
</tr> |
|
209 |
<tr> |
|
210 |
<td colspan=5><input type="submit" name="export" value="Export"> <input type="button" name="pep" value="Peppershop" onClick="pepper()"> <input type="button" name="osc" value="osCommerce" onClick="oscomm()"></td> |
|
211 |
</tr> |
|
212 |
</table> |
|
213 |
<a href="trans.php">zurück</a> |
|
214 |
</form> |
|
215 |
</body> |
|
216 |
</html> |
pepper/export_to_erp/export_to_erp.php | ||
---|---|---|
1 |
<? |
|
2 |
/*************************************************************** |
|
3 |
*Author: Holger Lindemann |
|
4 |
*Copyright: (c) 2004 Lx-System |
|
5 |
*License: non free |
|
6 |
*eMail: info@lx-system.de |
|
7 |
*Version: 1.0.1 |
|
8 |
*Shop: PHPeppershop 1.5 |
|
9 |
*ERP: Lx-Office ERP |
|
10 |
***************************************************************/ |
|
11 |
// ----------------------------------------------------------------------- |
|
12 |
// Damit jedes andere Modul ueberpruefen kann ob dieses hier schon "included" ist |
|
13 |
// wird folgende Vairable auf true gesetzt (Name = Ext. Modulname + Dateiname ohne .php) |
|
14 |
$erp_export_erp_export = true; |
|
15 |
|
|
16 |
?> |
|
17 |
<html> |
|
18 |
<head><title>Lx-ERP Export der Shopartikel</title> |
|
19 |
<link type="text/css" REL="stylesheet" HREF="css/main.css"></link> |
|
20 |
<script language="JavaScript"> |
|
21 |
<!-- |
|
22 |
function pepper() { |
|
23 |
} |
|
24 |
//--> |
|
25 |
</script> |
|
26 |
<body> |
|
27 |
|
|
28 |
<?php |
|
29 |
$inip=get_cfg_var("include_path"); |
|
30 |
ini_set("include_path",$inip.":/usr/share/pear/:."); |
|
31 |
|
|
32 |
require_once "DB.php"; |
|
33 |
require_once "conf.php"; |
|
34 |
|
|
35 |
$db=DB::connect($SHOPdns); |
|
36 |
if (!$db) dbFehler("",$db->getDebugInfo()); |
|
37 |
if (DB::isError($db)) { |
|
38 |
dbFehler("",$db->getDebugInfo()); |
|
39 |
die ($db->getDebugInfo()); |
|
40 |
}; |
|
41 |
$db2=DB::connect($ERPdns); |
|
42 |
if (!$db2) dbFehler("",$db2->getDebugInfo()); |
|
43 |
if (DB::isError($db2)) { |
|
44 |
dbFehler("",$db2->getDebugInfo()); |
|
45 |
die ($db2->getDebugInfo()); |
|
46 |
}; |
|
47 |
/**************************************************** |
|
48 |
* dbFehler |
|
49 |
* in: sql,err = string |
|
50 |
* out: |
|
51 |
* Fehlermeldungen ausgeben |
|
52 |
*****************************************************/ |
|
53 |
function dbFehler($sql,$err) { |
|
54 |
global $showErr; |
|
55 |
if ($showErr) |
|
56 |
echo "</td></tr></table><font color='red'>$sql : $err</font><br>"; |
|
57 |
} |
|
58 |
function checkBestellung($status) { |
|
59 |
global $db; |
|
60 |
if ($status=="B") { $where="";} // B = alle Bestellungeb, N = neue, Y = alte |
|
61 |
else { $where="where Bestellung_bezahlt = '$status'";} |
|
62 |
$sql="select * from bestellung $where order by Datum"; |
|
63 |
$rs=$db->getAll($sql,DB_FETCHMODE_ASSOC); |
|
64 |
return (count($rs)>0)?count($rs):false; |
|
65 |
} |
|
66 |
function getBestellKunde($BID) { |
|
67 |
global $db; |
|
68 |
$sql="select * from kunde left join bestellung_kunde on Kunden_ID=FK_Kunden_ID where FK_Bestellungs_ID=$BID"; |
|
69 |
$rs=$db->getAll($sql,DB_FETCHMODE_ASSOC); |
|
70 |
return $rs[0]["Kunden_Nr"]; |
|
71 |
} |
|
72 |
function sonderkosten($transID,$data,$id,$f) { |
|
73 |
global $db2,$versand,$nachn,$minder,$treuh,$paypal; |
|
74 |
$sql="insert into orderitems (trans_id, parts_id, description, qty, sellprice, unit, ship, discount) values ("; |
|
75 |
$sql.=$transID.",".${$id}["ID"].",'".${$id}["TXT"]."',1,".$data.",'mal',0,0)"; |
|
76 |
fputs($f,"$transID,".${$id}["ID"].",'".${$id}["TXT"]."',1,$data\n"); |
|
77 |
if (!$db2->query($sql)) { return false; } |
|
78 |
else { return true; }; |
|
79 |
} |
|
80 |
function insBestArtikel($zeile,$transID) { |
|
81 |
global $db,$db2,$div07,$div16,$f, |
|
82 |
$versandID,$nachnID,$minderID,$treuhID,$paypalID; |
|
83 |
$BID=$zeile["Bestellungs_ID"]; |
|
84 |
$sql ="select * from artikel left join artikel_bestellung on Artikel_ID=FK_Artikel_ID "; |
|
85 |
$sql.="left join bestellung on Bestellungs_ID=FK_Bestellungs_ID where Bestellungs_ID=$BID"; |
|
86 |
$rs=$db->getAll($sql,DB_FETCHMODE_ASSOC); |
|
87 |
$ok=true; |
|
88 |
foreach ($rs as $zeile) { |
|
89 |
$sql="select * from parts where partnumber='".$zeile["Artikel_Nr"]."'"; |
|
90 |
$rs2=$db2->getAll($sql,DB_FETCHMODE_ASSOC); |
|
91 |
if ( $rs2[0]["id"]) {$artID=$rs2[0]["id"]; } |
|
92 |
else { $artID=($zeile["MwSt_Satz"]=="7")?$div07["ID"]:$div16["ID"]; }; |
|
93 |
//$preis=round($zeile["Preis"]/($zeile["MwSt_Satz"]+100)*100,2); |
|
94 |
$preis=$zeile["Preis"]; |
|
95 |
$notes=$zeile["Artikelname"]; |
|
96 |
$vari=split(chr(254),$zeile["Variation"]); |
|
97 |
if ($vari) { for($cnt=0; $cnt<count($vari); $cnt++) { |
|
98 |
$notes.="\n".$vari[$cnt]; |
|
99 |
$cnt++; |
|
100 |
$preis+=trim($vari[$cnt]) * $zeile["Anzahl"]; |
|
101 |
} |
|
102 |
}; |
|
103 |
$opts=split(chr(254),$zeile["Optionen"]); |
|
104 |
if ($opts) { for($cnt=0; $cnt<count($opts); $cnt++) { |
|
105 |
$notes.="\n".$opts[$cnt]; |
|
106 |
$cnt++; |
|
107 |
$preis+=trim($opts[$cnt]) * $zeile["Anzahl"]; |
|
108 |
} |
|
109 |
} |
|
110 |
$sql="insert into orderitems (trans_id, parts_id, description, qty, sellprice, unit, ship, discount) values ("; |
|
111 |
$sql.=$transID.",".$artID.",'".$notes."',".$zeile["Anzahl"].",".$preis.",'Stck',0,0)"; |
|
112 |
if (!$db2->query($sql)) { $ok=false; break; }; |
|
113 |
fputs($f,$transID.",".$artID.",'".$zeile["Artikelname"]."',".$zeile["Anzahl"].",".$preis."\n"); |
|
114 |
echo "-".$artID." ".$zeile["Anzahl"]." x ".$preis." ".$zeile["Artikelname"]."<br>"; |
|
115 |
} |
|
116 |
if ($zeile["Versandkosten"]) { |
|
117 |
$rc=sonderkosten($transID,$zeile["Versandkosten"],"versand",$f); |
|
118 |
} |
|
119 |
if ($zeile["Nachnamebetrag"]) { |
|
120 |
$rc=sonderkosten($transID,$zeile["Nachnamebetrag"],"nachn",$f); |
|
121 |
} |
|
122 |
if ($zeile["Mindermengenzuschlag"]) { |
|
123 |
$rc=sonderkosten($transID,$zeile["Mindermengenzuschlag"],"minder",$f); |
|
124 |
} |
|
125 |
if ($zeile["Treuhandkosten"]) { |
|
126 |
$rc=sonderkosten($transID,$zeile["Treuhandkosten"],"treuh",$f); |
|
127 |
} |
|
128 |
if ($zeile["Paypalkosten"]) { |
|
129 |
$rc=sonderkosten($transID,$zeile["Paypalkosten"],"paypal",$f); |
|
130 |
} |
|
131 |
if ($ok) { |
|
132 |
$sql="update bestellung set Bestellung_bezahlt='Y' WHERE Bestellungs_ID =$BID"; |
|
133 |
$rc=$db->query($sql); |
|
134 |
fputs($f,"ok\n"); |
|
135 |
return true; |
|
136 |
} else { |
|
137 |
$sql="delete from orderitems where trans_id=$transID"; |
|
138 |
$rc=$db->query($sql); |
|
139 |
$sql="delete from oe where id=$transID"; |
|
140 |
$rc=$db->query($sql); |
|
141 |
fputs($f,"Fehler (insBestArtikel)!!!!\n"); |
|
142 |
return false; |
|
143 |
} |
|
144 |
} |
|
145 |
function getBestellung_() { |
|
146 |
global $db,$db2,$ERPusr,$f; |
|
147 |
$sql="select * from bestellung where Bestellung_bezahlt='N' order by Bestellungs_ID"; |
|
148 |
$rs=$db->getAll($sql,DB_FETCHMODE_ASSOC); |
|
149 |
$ok=true; |
|
150 |
foreach ($rs as $zeile) { |
|
151 |
$kdnr=getBestellKunde($zeile["Bestellungs_ID"]); |
|
152 |
$newID=uniqid (rand()); |
|
153 |
$sql="insert into oe (notes) values ('$newID')"; |
|
154 |
$rc=$db2->query($sql); |
|
155 |
$sql="select * from oe where notes = '$newID'"; |
|
156 |
$rs2=$db2->getAll($sql,DB_FETCHMODE_ASSOC); |
|
157 |
$Bezahlung=$zeile["Bezahlungsart"]; |
|
158 |
if ($Bezahlung=="Lastschrift") { |
|
159 |
$sql="select * from kunde where Kunden_Nr=$kdnr"; |
|
160 |
$kd=$db->getAll($sql,DB_FETCHMODE_ASSOC); |
|
161 |
$Bezahlung.="\nKontoinhaber: ".$kd[0]["kontoinhaber"]."\n"; |
|
162 |
$Bezahlung.="Bankname: ".$kd[0]["bankname"]."\n"; |
|
163 |
$Bezahlung.="Blz: ".$kd[0]["blz"]."\n"; |
|
164 |
$Bezahlung.="KontoNr: ".$kd[0]["kontonummer"]; |
|
165 |
} |
|
166 |
$sql ="update oe set ordnumber=".$zeile["Bestellungs_ID"].", transdate='".$zeile["Datum"]."', intnotes='".$zeile["Anmerkung"]; |
|
167 |
$sql.="', customer_id=$kdnr, amount=".($zeile["Rechnungsbetrag"]+$zeile["MwSt"]).", netamount=".$zeile["Rechnungsbetrag"]; |
|
168 |
$sql.=", reqdate='".$zeile["Datum"]."', notes='$Bezahlung', taxincluded='f', curr='EUR',employee_id=".$ERPusr["ID"].", vendor_id=0 "; |
|
169 |
$sql.="where id=".$rs2[0]["id"]; |
|
170 |
$rc=$db2->query($sql); |
|
171 |
fputs($f,"ordnumber=".$zeile["Bestellungs_ID"].", transdate='".$zeile["Datum"]."', customer_id=$kdnr, amount=".($zeile["Rechnungsbetrag"]+$zeile["MwSt"]).", notes=".$zeile["Bezahlungsart"]."\n"); |
|
172 |
echo $rs2[0]["id"]."<br>"; |
|
173 |
if (!insBestArtikel($zeile,$rs2[0]["id"])) { $ok=false; break; }; |
|
174 |
} |
|
175 |
return $ok; |
|
176 |
} |
|
177 |
function chkKdData($data) { |
|
178 |
global $db2; |
|
179 |
$sql="select * from customer where id = ".$data["Kunden_Nr"]; |
|
180 |
$rs=$db2->getAll($sql,DB_FETCHMODE_ASSOC); |
|
181 |
if ($rs[0]["zipcode"]<>$data["Plz"]) $set.="zipcode='".$data["Plz"]."',"; |
|
182 |
if ($rs[0]["city"]<>$data["Ort"]) $set.="city='".$data["Ort"]."',"; |
|
183 |
if ($rs[0]["land"]<>$data["Land"]) $set.="land='".$data["Land"]."',"; |
|
184 |
if ($rs[0]["phone"]<>$data["Tel"])$set.="phone='".$data["Tel"]."',"; |
|
185 |
if ($rs[0]["fax"]<>$data["Fax"]) $set.="fax='".$data["Fax"]."',"; |
|
186 |
if ($rs[0]["email"]<>$data["Email"])$set.="email='".$data["Email"]."',"; |
|
187 |
if ($rs[0]["notes"]<>$data["Beschreibung"])$set.="notes='".$data["Beschreibung"]."',"; |
|
188 |
if ($data["Firma"]) { |
|
189 |
if ($rs[0]["name"]<>$data["Firma"]) $set.="set name='".$data["Firma"]."',"; |
|
190 |
if ($rs[0]["name2"]<>$data["Anrede"]." ".$data["Vorname"]." ".$data["Nachname"]) $set.="name2='".$data["Anrede"]." ".$data["Vorname"]." ".$data["Nachname"]."',"; |
|
191 |
} else { |
|
192 |
if ($rs[0]["name"]<>$data["Nachname"].", ".$data["Vorname"]) $set.="set name='".$data["Nachname"].", ".$data["Vorname"]."',"; |
|
193 |
} |
|
194 |
if ($data["Strasse"]) { |
|
195 |
if ($rs[0]["street"]<>$data["Strasse"]) $set.="street='".$data["Strasse"]."',"; |
|
196 |
} else if ($data["Postfach"]) { |
|
197 |
if ($rs[0]["street"]<>$data["Postfach"]) $set.="street='".$data["Postfach"]."',"; |
|
198 |
}; |
|
199 |
if ($set) { |
|
200 |
$sql="update customer set ".substr($set,0,-1)." where id=".$rs[0]["id"]; |
|
201 |
$rc=$db2->query($sql); |
|
202 |
} |
|
203 |
} |
|
204 |
function insKdData($data) { |
|
205 |
global $db2; |
|
206 |
$newID=$data["Kunden_ID"]; |
|
207 |
$sql="insert into customer (name) values ('$newID')"; |
|
208 |
$rc=$db2->query($sql); |
|
209 |
$sql="select * from customer where name = '$newID'"; |
|
210 |
$rs=$db2->getAll($sql,DB_FETCHMODE_ASSOC); |
|
211 |
if ($data["Firma"]) { $set.="set name='".$data["Firma"]."',name2='".$data["Anrede"]." ".$data["Vorname"]." ".$data["Nachname"]."',"; } |
|
212 |
else { $set.="set name='".$data["Nachname"].", ".$data["Vorname"]."',"; } |
|
213 |
if ($data["Strasse"]) { $set.="street='".$data["Strasse"]."',"; } |
|
214 |
else if ($data["Postfach"]) { $set.="street='".$data["Postfach"]."',"; }; |
|
215 |
$set.="zipcode='".$data["Plz"]."',"; |
|
216 |
$set.="city='".$data["Ort"]."',"; |
|
217 |
$set.="land='".$data["Land"]."',"; |
|
218 |
$set.="phone='".$data["Tel"]."',"; |
|
219 |
$set.="fax='".$data["Fax"]."',"; |
|
220 |
$set.="email='".$data["Email"]."',"; |
|
221 |
$set.="notes='".$data["Beschreibung"]."',"; |
|
222 |
$set.="taxincluded='f' "; |
|
223 |
$sql="update customer ".$set; |
|
224 |
$sql.="where id=".$rs[0]["id"]; |
|
225 |
$rc=$db2->query($sql); |
|
226 |
return $rs[0]["id"]; |
|
227 |
} |
|
228 |
function checkKunde() { |
|
229 |
global $db,$f; |
|
230 |
$sql="select * from kunde left join bestellung_kunde on FK_Kunden_ID=Kunden_ID left join bestellung on Bestellungs_ID=FK_Bestellungs_ID where Bestellung_bezahlt='N'"; |
|
231 |
$rs=$db->getAll($sql,DB_FETCHMODE_ASSOC); |
|
232 |
$ok=true; |
|
233 |
$anzahl=count($rs); |
|
234 |
$neu=0; $old=0; |
|
235 |
foreach ($rs as $zeile) { |
|
236 |
if ($zeile["Kunden_Nr"]>0) { |
|
237 |
chkKdData($zeile); |
|
238 |
$old++; |
|
239 |
} else { |
|
240 |
$zeile["Kunden_Nr"]=insKdData($zeile); |
|
241 |
if ($zeile["Kunden_Nr"]>0) { |
|
242 |
$sql="update kunde set Kunden_Nr='".$zeile["Kunden_Nr"]."' where k_ID=".$zeile["k_ID"]; |
|
243 |
$rc=$db->query($sql); |
|
244 |
} else { |
|
245 |
$ok=false; break; |
|
246 |
} |
|
247 |
$neu++; |
|
248 |
} |
|
249 |
fputs($f,$zeile["Nachname"]." ".$zeile["Firma"]."\n"); |
|
250 |
fputs($f,"\n----------------------------------------\n\n"); |
|
251 |
} |
|
252 |
return ($ok)?array($anzahl,$neu,$old):false; |
|
253 |
} |
|
254 |
|
|
255 |
function savedata($str) { |
|
256 |
global $f; |
|
257 |
foreach ($str as $val) { |
|
258 |
$str.=$val.","; |
|
259 |
} |
|
260 |
fputs($f,substr($str,0,-1)."\n"); |
|
261 |
} |
|
262 |
|
|
263 |
$f=fopen("./module/export_to_erp/tmp/".date("y-m-dH:i").".shop","w"); |
|
264 |
$ok=checkBestellung("N"); |
|
265 |
if ($ok) { |
|
266 |
echo "Es liegen $ok Bestellungen vor. <br>"; |
|
267 |
fputs($f,"Es liegen $ok Bestellungen vor. \n"); |
|
268 |
$ok=checkKunde(); |
|
269 |
if ($ok) { |
|
270 |
echo $ok[0]." Kunden, davon ".$ok[1]." neue(r) Kunde(n).<br>"; |
|
271 |
fputs($f,$ok[0]." Kunden, davon ".$ok[1]." neue(r) Kunde(n).\n"); |
|
272 |
$ok=getBestellung_(); |
|
273 |
if ($ok) { echo "Daten transferiert!"; fputs($f,"Daten transferiert!\n");} |
|
274 |
else { echo "Fehler (Bestellungen)! ! ! "; fputs($f,"Fehler (Bestellungen)! ! !\n");}; |
|
275 |
} else { |
|
276 |
echo "Fehler (Kunden)! ! ! "; fputs($f,"Fehler (Kunden)! ! !\n"); |
|
277 |
} |
|
278 |
} else { echo "Keine Bestellungen!<br>"; fputs($f,"keine Bestellungen\n");}; |
|
279 |
|
|
280 |
fclose($f); |
|
281 |
|
|
282 |
if ($backlink == 6) { |
|
283 |
echo "<button type='button' onClick='self.location.href=\"./module_admin_aufruf.php?darstellen=6\"'>Zurück zur Moduladministration</button>"; |
|
284 |
} |
|
285 |
else { |
|
286 |
echo "<button type='button' onClick='self.location.href=\"./module_admin_aufruf.php?darstellen=1&".urlencode($window_source)."=".urlencode($previous_selected_module)."\"'>Zurück zur Modulverwaltung</button>"; |
|
287 |
} |
|
288 |
|
|
289 |
?> |
|
290 |
</body> |
|
291 |
</html> |
pepper/export_to_erp/initialize_module.php | ||
---|---|---|
1 |
<?php |
|
2 |
// Filename: initialize_module.php |
|
3 |
// |
|
4 |
// Modul: Externes PhPepperShopmodul: log_viewer |
|
5 |
// |
|
6 |
// Autoren: Jos? Fontanil & Reto Glanzmann |
|
7 |
// |
|
8 |
// Zweck: Definition des Log-Viewer Moduls |
|
9 |
// |
|
10 |
// Sicherheitsstatus: *** ADMIN *** |
|
11 |
// |
|
12 |
// Version: 1.5 |
|
13 |
// |
|
14 |
// CVS-Version / Datum: $Id: initialize_module.php,v 1.1 2004/06/29 08:47:16 hli Exp $ $Dl: 26.05.04 11:20:43$ |
|
15 |
// |
|
16 |
// ----------------------------------------------------------------------- |
|
17 |
// PhPepperShop Shopsystem |
|
18 |
// Copyright (C) 2001-2004 Jose Fontanil, Reto Glanzmann |
|
19 |
// |
|
20 |
// Lizenz |
|
21 |
// ====== |
|
22 |
// |
|
23 |
// Die verbindliche PhPepperShop Lizenz ist in folgender |
|
24 |
// Datei definiert: PhPepperShop_license.txt |
|
25 |
// ----------------------------------------------------------------------- |
|
26 |
// API Version der hier verwendeten PhPepperShop Modulschnittstelle: |
|
27 |
$pps_module_api = '1.0'; |
|
28 |
|
|
29 |
// Informationen zu externen PhPepperShop Modulen: |
|
30 |
// =============================================== |
|
31 |
// Module bestehen meistens aus zwei Verzeichnissen: {shopdir}/shop/module/modul_name |
|
32 |
// und {shopdir}/shop/Admin/module/modul_name. Im Admin-Modulverzeichnis muss mindestens |
|
33 |
// diese Datei (initialize_module.php) vorhanden sein. Es gibt auch reine Administrations- |
|
34 |
// module, welche nur Dateien im Admin-Unterverzeichnis haben und keine Dateien im kunden- |
|
35 |
// seitigen Verzeichnis benoetigen. |
|
36 |
// - Ein Modul kann aber ohne weiteres auch eigene Unterverzeichnisse besitzen, sowie auch |
|
37 |
// Submodule haben. |
|
38 |
// - Damit Module Daten persistent speichern koennen, duerfen sie waehrend der Installation |
|
39 |
// eigene Tabellen erstellen und bestehende um eigene Attribute erweitern. Bei einer De- |
|
40 |
// installation werden diese Datenbankerweiterungen wieder entfernt. |
|
41 |
// - User-Security Scripte befinden sich in {shopdir}/shop/module/modul_name, |
|
42 |
// die Admin-Security-Scripts befinden sich im Admin-Pendant. |
|
43 |
// - Module koenne (zumindest im Moment) noch keine eigenen Interfaces haben. |
|
44 |
// - Module koennen weitere Module als Voraussetzung angeben. |
|
45 |
|
|
46 |
// Definition der Variablen: |
|
47 |
// ========================= |
|
48 |
// Die weiter unten definierten Variablen dienen der Beschreibung des Moduls. Diese muss |
|
49 |
// sehr ausfuehrlich sein, damit das automatisierte Installations- und Deinstallationsscript |
|
50 |
// durchlaufen kann. Nomenklatur: |
|
51 |
// x.) Bezeichnung : Leitet eine weitere Definition ein. x ist eine Laufnummer |
|
52 |
// ! Beschreibung : Beschreibung umschreibt Hinweise zum Thema der Bezeichnung |
|
53 |
// --> Einschraenkung : Mit --> werden ZWINGEND ZU BEFOLGENDE Einschraenkungen der Bezeichnung genannt |
|
54 |
|
|
55 |
// -------------------------------------------------------------------------------------- |
|
56 |
// ******************************* DEFINITION DES MODULS ******************************* |
|
57 |
// -------------------------------------------------------------------------------------- |
|
58 |
|
|
59 |
// 1.) Name des Moduls (entspricht dem Verzeichnisname des Moduls) |
|
60 |
// --> Der Name eines externen PhPepperShop Moduls darf hoechstens 40 Zeichen lang sein. |
|
61 |
// --> Der Name muss mindestens 3 Zeichen lang sein. |
|
62 |
// --> Er darf NUR aus alphanummerischen Zeichen und dem Underscore Zeichen (_) bestehen. |
|
63 |
// --> Dieser Name ist gleichzeitig auch der Name des Verzeichnisses des Moduls. |
|
64 |
$moduldef['modulname'] = 'export_to_erp'; |
|
65 |
|
|
66 |
// 2.) Bezeichnung des Moduls |
|
67 |
// ! Dies ist die Bezeichnung des Moduls und unterliegt somit weniger Restriktionen als der Modulname |
|
68 |
// --> Der Name darf hoechstens 40 Zeichen lang sein |
|
69 |
// --> Der Name muss mindestens 3 Zeichen lang sein. |
|
70 |
$moduldef['modulbezeichnung'] = 'ERP Export'; |
|
71 |
|
|
72 |
// 3.) Versionschecknummern |
|
73 |
// ! Diese Nummern definieren die zu verwendende PhPepperShop Versionen. Die Versionisierung |
|
74 |
// ist wie folgt: Die erste und zweite Nummer (durch Punkt getrennt) ergeben ein Release. |
|
75 |
// Jedes unterstuetzte Release muss explizit angegeben werden. Die dritte (durch einen |
|
76 |
// Punkt getrennte Nummer (eigentlich ein String), definiert Versionen des Releases. Alle |
|
77 |
// Versionen eines Releases sind kompatibel, es sei denn man definiert auch die Versions- |
|
78 |
// Nummer, dann sind alle aelteren Versionen des angegebenen Releases inkompatibel. |
|
79 |
// Bsp. 1.4;1.5 = Das Modul ist kompatibel zu den Releases 1.4 und 1.5. Dies schliesst auch |
|
80 |
// alle Versionen der beiden Releases mit ein: 1.4.003, 1.4.004, 1.5.1, ... |
|
81 |
// Bsp. 1.4.005;1.5 = Hier sind alle Versionen von 1.4 mit und nach 1.4.005 kompatibel und |
|
82 |
// alle Versionen von 1.5. |
|
83 |
// ! Achtung: Man sollte keine zukuenftigen Releases angeben! |
|
84 |
// --> Einzelne Versionen via Strichpunkt getrennt eingeben. |
|
85 |
$moduldef['versionschecknummern'] = '1.4.008;1.5'; |
|
86 |
|
|
87 |
// 4.) Kurzbeschreibung |
|
88 |
// ! Formatierungen sollen via HTML-Tags eingegeben werden. |
|
89 |
$moduldef['kurzbeschreibung'] = 'Eportiert Kundendaten und Bestellungen für Lx-Office ERP. |
|
90 |
Neukunden werden in der ERP angelegt und die ERP-KdNr in Kundendaten eingepflegt, |
|
91 |
bei Bestandskunden werden die Kundendaten abgeglichen. |
|
92 |
Das Feld "Bestellung_bezahlt" ist der Merker für neue Bestellungen. |
|
93 |
'; |
|
94 |
|
|
95 |
// 5.) Weiterfuehrender Link |
|
96 |
// ! Wenn dieser (optionale) Link angegeben ist, so kann der Shopadmin hier weitere Infos zum Modul holen. |
|
97 |
// --> Das Schema muss vor der URL angegeben werden (Schema = http:// oder https://, ...) |
|
98 |
$moduldef['weitere_infos_link'] = 'http://www.lx-office.org/'; |
|
99 |
|
|
100 |
// 6.) Version dieses Moduls |
|
101 |
$moduldef['modulversion'] = '0.3'; |
|
102 |
|
|
103 |
// 7.) Releasedatum dieser Modulversion |
|
104 |
// --> Format: TT.MM.JJJJ |
|
105 |
$moduldef['releasedatum'] = '17.12.2004'; |
|
106 |
|
|
107 |
// 8.) Informationen zu den Entwicklern |
|
108 |
// ! Beispiel: Jos? Fontanil <fontajos@phpeppershop.com>. Strings in <> werden als E-Mail angezeigt. |
|
109 |
$moduldef['entwickler_infos'] = 'Holger Lindemann, Lx-System'; |
|
110 |
|
|
111 |
// 9.) Ist Submodul von |
|
112 |
// ! Hier kann man den Modulnamen (nicht die Modulbezeichnung!) des Hauptmoduls angeben, falls dieses |
|
113 |
// Modul hier ein Submodul des Hauptmoduls ist. |
|
114 |
// --> Der Name eines externen PhPepperShop Moduls darf hoechstens 40 Zeichen lang sein. |
|
115 |
// --> Der Name muss mindestens 3 Zeichen lang sein. |
|
116 |
// --> Er darf nur aus alphanummerischen Zeichen und dem Underscore Zeichen (_) bestehen. |
|
117 |
// --> Dieser Name ist gleichzeitig auch der Name des Verzeichnisses des HAUPTmoduls. |
|
118 |
$moduldef['submodule_of'] = ''; |
|
119 |
|
|
120 |
// 10.) Fingerprint |
|
121 |
// ! Im Moment noch nicht benutzt - Spaeter wird hier ein MD5 Digest hinterlegbar sein, welcher dem |
|
122 |
// Shopadministrator erlaubt die Integritaet eines Moduls zu ueberpruefen. |
|
123 |
// --> MD5 Digest (32 Chars Laenge, Hexadezimales Alphabet) |
|
124 |
$moduldef['fingerprint'] = '32fedef6229faab095a47718bac5d666'; |
|
125 |
|
|
126 |
// 11.) Unterstuetzte Locales (Sprachen und optional Laender) - dient (vorerst) nur zur Anzeige fuer den Shopadmin |
|
127 |
// --> Format: ISO-639-1 fuer alleinstehende Sprachen (Bsp. de;en;fr;sp;...) |
|
128 |
// --> Format: ISO-639-2 fuer Sprachen inkl. Laender (Bsp. de_CH;de_DE;en_GB;en_US) |
|
129 |
// --> Wenn das Modul weder Sprach-, noch Laenderabhaengig ist kann all angegeben werden. |
|
130 |
// --> Die einzelnen Angaben koennen Strichpunkt separiert eingegeben werden. ISO-639-1 und -2 koennen gemixt werden. |
|
131 |
$moduldef['locales'] = 'all'; |
|
132 |
|
|
133 |
// 12.) Interfaces, bei welchen sich das Modul registrieren soll |
|
134 |
// ! Dies ist ein etwas komplexerer Eingabetyp - es ist ein mehrdimensionaler Array - mehr nicht. |
|
135 |
// ! Pro Interface, bei welchem sich das Modul registrieren will, sind vier Angaben noetig: |
|
136 |
// (1) Interface_ID, (2) Datei, worin sich die auszufuehrende Funktion befindet, |
|
137 |
// (3) Name der auszufuehrenden Funktion, (4) Filtertyp |
|
138 |
// --> Format: array('i_id'=>'w','file'=>'x','func'=>'y','filter'=>'z') |
|
139 |
// --> w = Interface_ID, Format: positive Integerzahl (max. Digits == 11) |
|
140 |
// --> x = Dateiname, Format: Dateiname.Extension (kein Pfad) |
|
141 |
// --> y = Funktionsname, Format: Name der Funktion ohne Klammern mit Argumenten |
|
142 |
// --> z = Filtertyp, Format: one_way oder filter |
|
143 |
// Registrierung beim ersten Interface: |
|
144 |
$moduldef['interfaces'] = array(); |
|
145 |
|
|
146 |
// 13.) Eigene Tabellen, welche angelegt werden sollen |
|
147 |
// ! Hier werden die eigens fuer dieses Modul zu erstellenden Tabellen angegeben |
|
148 |
// ! Wenn keine Tabellen erstellt werden muessen, einfach leerer Array definieren |
|
149 |
// --> Achtung: Eine Tabelle muss mindestens EIN Attribut besitzen, sonst wird sie nicht angelegt. |
|
150 |
// --> Format: array('table_name'=>'x','table_beschreibung'=>'y','attribute'=>z) |
|
151 |
// --> x = Name der Tabelle: MySQL Restriktionen (max. 64 Zeichen, keine Sonderzeichen, ...) |
|
152 |
// --> y = Beschreibung der Tabelle: Alphanummerische Zeichen, Kurzbeschrieb des Zwecks |
|
153 |
// --> z = Die Attribute der Tabelle, Format: |
|
154 |
// array('name'=>a,'typ'=>b,'laenge'=>c,'zusatz'=>d,'null'=>e,'default'=>f,'extra'=>g, |
|
155 |
// 'primary'=>h,'index'=>i,'unique'=>j,'volltext'=>k,'beschreibung'=>l) |
|
156 |
// --> a = Name des Attributs: (Alphanummerische Zeichen, siehe reservierte Woerter von MySQL) |
|
157 |
// --> b = Typ: Datentyp dieses Tabellenattributs (z.B. int, varchar, text, ...) |
|
158 |
// --> c = Laenge: Positive Integerzahl oder leer lassen (manchmal auch als maxlength interpretiert) |
|
159 |
// --> d = Zusatz: '' | 'BINARY' | 'UNSIGNED' | 'UNSIGNED ZEROFILL' |
|
160 |
// --> e = Null Setting: 'NULL | 'NOT NULL' |
|
161 |
// --> f = Default: Defaultwert bei Neuerstellung in einer Zeile (max. Zeichenlaenge = 255) |
|
162 |
// --> g = Extra: '' | 'auto_increment' |
|
163 |
// --> h = Primary: '0' = ist NICHT Primary Key | '1' = IST Primary Key |
|
164 |
// --> i = Index: '0' = Nein | '1' = Ja |
|
165 |
// --> j = Unique: '0' = Nein | '1' = Ja |
|
166 |
// --> k = Volltext Index: '0' = Nein | '1' = Ja (nicht bei allen Typen moeglich) |
|
167 |
// --> l = Beschreibung: Wird nur hier und im Modulprozess verwendet (max. Chars = 255) |
|
168 |
// Beschreibung der ersten eigenen Tabelle: |
|
169 |
$moduldef['eigene_tabellen'] = array(); |
|
170 |
|
|
171 |
// 14.) Zu erweiternde, schon bestehende Tabellen |
|
172 |
// ! Hier werden die Tabellen beschrieben, welche schon existieren und durch weitere Attribute |
|
173 |
// erweitert werden sollen. |
|
174 |
// ! Wenn keine Tabellen erweitert werden sollen, einfach leerer Array definieren |
|
175 |
// --> Format: Dasselbe Format wie bei $moduldef['eigene_tabellen']. Die Beschreibung |
|
176 |
// einer schon bestehenden Tabelle wird ignoriert, der Name muss aber stimmen. |
|
177 |
$moduldef['erweiterte_tabellen'] = array(); |
|
178 |
|
|
179 |
// 15.) Submodule |
|
180 |
// ! Wenn dieses Modul aus mehreren weiteren Modulen besteht, so koennen diese hier angegeben werden. |
|
181 |
// ! Wenn keine Submodule existieren, einfach einen leeren String angeben. (Strichpunkt getrennte Liste) |
|
182 |
// --> Format: 'submodul_name_1;submodul_name2;...;submodul_namex' |
|
183 |
$moduldef['submodule'] = ''; |
|
184 |
|
|
185 |
// 16.) Vorausgesetzte Module |
|
186 |
// ! Hier werden Module angegeben, welche korrekt installiert vorhanden sein muessen, damit dieses |
|
187 |
// Modul ueberhaupt erst installiert wird. (Strichpunkt getrennte Liste) |
|
188 |
// ! Wenn keine solchen Module gibt, einfach einen leeren String uebergeben |
|
189 |
// --> Format: 'required_modul_name_1;required_modul_name2;...;required_modul_namex' |
|
190 |
$moduldef['required_modules'] = ''; |
|
191 |
|
|
192 |
// 17.) Security ID |
|
193 |
// ! Mit der Security_ID kann man dem Modul den Zugang zu verschiedenen Interfaces sperren. |
|
194 |
// Auf diese Weise kann ein kompromittiertes Modul nur begrenzt Schaden anrichten. |
|
195 |
// ! Die niedrigste Stufe der Security_ID ist = 1, die h?chste Stufe = 32768. Je hoeher die |
|
196 |
// angegebene Security_ID ist, desto h?her ist auch die Zahl der erlaubten Interfaces |
|
197 |
// ! Welches Interface, welche minimale Security_ID erfordert um benutzt werden zu koennen, |
|
198 |
// ist in der Tabelle module_interfaces mit den Interfaceeintraegen ersichtlich. |
|
199 |
// --> Format: 'required_modul_name_1;required_modul_name2;...;required_modul_namex' |
|
200 |
$moduldef['security_id'] = '1'; |
|
201 |
|
|
202 |
// 18.) Valid Hosts |
|
203 |
// ! Erweiterte Security wird es in der naechsten API-Version noch mit der valid_hosts Angabe geben. |
|
204 |
// Die Datenbank ist dafuer schon vorbereitet. (all = Alle Hosts, im Moment die Standardeinstellung) |
|
205 |
// Ausgewertet wird die Angabe aber noch nicht. |
|
206 |
// --> Format: all = Alle hosts | localhost = nur dieser Rechner | mehrere Rechner via ; getrennt angeben |
|
207 |
$moduldef['valid_hosts'] = 'all'; |
|
208 |
|
|
209 |
// 19.) Name des Administrationsmenus |
|
210 |
// ! Im Administrationstool hat das Verwaltungsmenu dieses Moduls einen Namen, hier kann man |
|
211 |
// einen Namen definieren, wenn man keinen angibt, wird einfach die Modulbezeichnung verwendet |
|
212 |
// --> Format: Maximale Laenge 40 Zeichen, moeglichst keine Sonderzeichen verwenden |
|
213 |
$moduldef['admin_menu_name'] = 'ERP Export'; |
|
214 |
|
|
215 |
// 20.) URL zur Datei, wo das Admin-Verwaltungsmenu liegt |
|
216 |
// ! Diese URL ist entweder absolut oder (besser) relativ zum {shopdir}/shop/Admin/module/modul_name Verzeichnis |
|
217 |
// Die hier angegebene Datei wird 'verlinkt' und mit dem in 'admin_menu_name' Namen versehen. |
|
218 |
// Info: Achtung: Jeder Link in dieser Datei muss folgende GET-Parameter mitgeben: |
|
219 |
// - darstellen=".$HTTP_GET_VARS['darstellen'] |
|
220 |
// - installed_selection=".$HTTP_GET_VARS['installed_selection'] |
|
221 |
// - backlink=".$HTTP_GET_VARS['backlink'] |
|
222 |
// --> Format: URL |
|
223 |
//$moduldef['admin_menu_link'] = 'show_log_viewer.php'; |
|
224 |
$moduldef['admin_menu_link'] = 'export_to_erp.php'; |
|
225 |
|
|
226 |
// 21.) URL zum Icon des Adminmenus |
|
227 |
// ! Diese URL ist relativ zum {shopdir}/shop/Admin/ Verzeichnis (sonst gibt es einen include-Fehler |
|
228 |
// Die hier angegebene Datei wird 'verlinkt' und mit dem in 'admin_menu_name' Namen versehen. |
|
229 |
// --> Format: URL |
|
230 |
// --> Format Icon: 48px x 48px, GIF oder PNG oder JPG. |
|
231 |
$moduldef['admin_menu_img'] = 'modul_admin_img.gif'; |
|
232 |
|
|
233 |
// -------------------------------------------------------------------------------------- |
|
234 |
// ***************************** ENDE DEFINITION DES MODULS ***************************** |
|
235 |
// -------------------------------------------------------------------------------------- |
|
236 |
|
|
237 |
|
|
238 |
// Bitte unterhalb dieser Zeile keine Aenderungen mehr vornehmen. |
|
239 |
|
|
240 |
|
|
241 |
// ----------------------------------------------------------------------- |
|
242 |
// Damit jedes andere Modul ueberpruefen kann ob dieses hier schon "included" ist |
|
243 |
// wird folgende Vairable auf true gesetzt (Name = Ext. Modulname + Dateiname ohne .php) |
|
244 |
$module_name_inkl_prefix = $module_modulname.'_initialize_module'; |
|
245 |
$$module_name_inkl_prefix = true; |
|
246 |
|
|
247 |
// 'Mitsenden' der hier verwendeten API-Version |
|
248 |
$moduldef['pps_module_api'] = $pps_module_api; |
|
249 |
|
|
250 |
// Moduldefinitionsarray loeschen und somit den Speicher wieder freigeben |
|
251 |
|
|
252 |
// End of file ----------------------------------------------------------- |
|
253 |
?> |
pepper/menu.ini | ||
---|---|---|
1 |
|
|
2 |
[Shop] |
|
3 |
|
|
4 |
[Shop--Warenexport] |
|
5 |
module=pepper/shopimport_db.php |
|
6 |
|
|
7 |
[Shop--Bestellungen] |
|
8 |
module=pepper/pepperexport.php |
|
9 |
|
|
10 |
[Shop--Konfiguration] |
|
11 |
module=pepper/confedit.php |
|
12 |
|
pepper/pepperexport.php | ||
---|---|---|
1 |
<? |
|
2 |
/*************************************************************** |
|
3 |
* $Id: pepperexport.php,v 2.0 2006/02/06 13:49:11 hli Exp $ |
|
4 |
*Author: Holger Lindemann |
|
5 |
*Copyright: (c) 2004 Lx-System |
|
6 |
*License: non free |
|
7 |
*eMail: info@lx-system.de |
|
8 |
*Version: 1.3.0 |
|
9 |
*Shop: PHPeppershop 2.0 |
|
10 |
*ERP: Lx-Office ERP >= 2.2.0 |
|
11 |
***************************************************************/ |
|
12 |
?> |
|
13 |
<html> |
|
14 |
<head><title>Lx-ERP Export der Shopartikel</title> |
|
15 |
<link type="text/css" REL="stylesheet" HREF="css/main.css"></link> |
|
16 |
<body> |
|
17 |
|
|
18 |
<?php |
|
19 |
require_once "DB.php"; |
|
20 |
require_once "conf.php"; |
|
21 |
$db=DB::connect($SHOPdns); |
|
22 |
if (!$db) dbFehler("",$db->getDebugInfo()); |
|
23 |
if (DB::isError($db)) { |
|
24 |
dbFehler("",$db->getDebugInfo()); |
|
25 |
die ($db->getDebugInfo()); |
|
26 |
}; |
|
27 |
$db2=DB::connect($ERPdns); |
|
28 |
if (!$db2) dbFehler("",$db2->getDebugInfo()); |
|
29 |
if (DB::isError($db2)) { |
|
30 |
dbFehler("",$db2->getDebugInfo()); |
|
31 |
die ($db2->getDebugInfo()); |
|
32 |
}; |
|
33 |
/**************************************************** |
|
34 |
* dbFehler |
|
35 |
* in: sql,err = string |
|
36 |
* out: |
|
37 |
* Fehlermeldungen ausgeben |
|
38 |
*****************************************************/ |
|
39 |
function dbFehler($sql,$err) { |
|
40 |
global $showErr; |
|
41 |
if ($showErr) |
|
42 |
echo "</td></tr></table><font color='red'>$sql : $err</font><br>"; |
|
43 |
} |
|
44 |
function checkBestellung($status) { |
|
45 |
global $db; |
|
46 |
if ($status=="B") { $where="";} // B = alle Bestellungeb, N = neue, Y = alte |
|
47 |
else { $where="where Bestellung_bezahlt = '$status'";} |
|
48 |
$sql="select * from bestellung $where and Datum is not null and Bestellung_abgeschlossen = 'Y' order by Datum"; |
|
49 |
$rs=$db->getAll($sql,DB_FETCHMODE_ASSOC); |
|
50 |
return (count($rs)>0)?count($rs):false; |
|
51 |
} |
|
52 |
function getBestellKunde($BID) { |
|
53 |
global $db; |
|
54 |
$sql="select * from kunde left join bestellung_kunde on Kunden_ID=FK_Kunden_ID where FK_Bestellungs_ID=$BID"; |
|
55 |
$rs=$db->getAll($sql,DB_FETCHMODE_ASSOC); |
|
56 |
return $rs[0]["Kunden_Nr"]; |
|
57 |
} |
|
58 |
function sonderkosten($transID,$data,$id,$f) { |
|
59 |
global $db2,$versand,$nachn,$minder,$treuh,$paypal; |
|
60 |
$sql="insert into orderitems (trans_id, parts_id, description, qty, sellprice, unit, ship, discount) values ("; |
|
61 |
$sql.=$transID.",".${$id}["ID"].",'".${$id}["TXT"]."',1,".$data.",'mal',0,0)"; |
|
62 |
fputs($f,"$transID,".${$id}["ID"].",'".${$id}["TXT"]."',1,$data\n"); |
|
63 |
if (!$db2->query($sql)) { return false; } |
|
64 |
else { return true; }; |
|
65 |
} |
|
66 |
function insBestArtikel($zeile,$transID) { |
|
67 |
global $db,$db2,$div07,$div16,$f, |
|
68 |
$versandID,$nachnID,$minderID,$treuhID,$paypalID; |
|
69 |
$BID=$zeile["Bestellungs_ID"]; |
|
70 |
$sql ="select * from artikel left join artikel_bestellung on Artikel_ID=FK_Artikel_ID "; |
|
71 |
$sql.="left join bestellung on Bestellungs_ID=FK_Bestellungs_ID where Bestellungs_ID=$BID"; |
|
72 |
$rs=$db->getAll($sql,DB_FETCHMODE_ASSOC); |
|
73 |
$ok=true; |
|
74 |
foreach ($rs as $zeile) { |
|
75 |
$sql="select * from parts where partnumber='".$zeile["Artikel_Nr"]."'"; |
|
76 |
$rs2=$db2->getAll($sql,DB_FETCHMODE_ASSOC); |
|
77 |
if ( $rs2[0]["id"]) {$artID=$rs2[0]["id"]; } |
|
78 |
else { $artID=($zeile["MwSt_Satz"]=="7")?$div07["ID"]:$div16["ID"]; }; |
|
79 |
//$preis=round($zeile["Preis"]/($zeile["MwSt_Satz"]+100)*100,2); |
|
80 |
$preis=$zeile["Preis"]; |
|
81 |
$notes=$zeile["Artikelname"]; |
|
82 |
$vari=split(chr(254),$zeile["Variation"]); |
|
83 |
if ($vari) { for($cnt=0; $cnt<count($vari); $cnt++) { |
|
84 |
$notes.="\n".$vari[$cnt]; |
|
85 |
$cnt++; |
|
86 |
$preis+=trim($vari[$cnt]) * $zeile["Anzahl"]; |
|
87 |
} |
|
88 |
}; |
|
89 |
$opts=split(chr(254),$zeile["Optionen"]); |
|
90 |
if ($opts) { for($cnt=0; $cnt<count($opts); $cnt++) { |
|
91 |
$notes.="\n".$opts[$cnt]; |
|
92 |
$cnt++; |
|
93 |
$preis+=trim($opts[$cnt]) * $zeile["Anzahl"]; |
|
94 |
} |
|
95 |
} |
|
96 |
if ($zeile["Zusatztexte"]) { |
|
97 |
$zusatz=strtr($zeile["Zusatztexte"],"þ","\n"); |
|
98 |
$notes.="\n".$zusatz; |
|
99 |
} |
|
100 |
$sql="insert into orderitems (trans_id, parts_id, description, qty, sellprice, unit, ship, discount) values ("; |
|
101 |
$sql.=$transID.",".$artID.",'".$notes."',".$zeile["Anzahl"].",".$preis.",'Stck',0,0)"; |
|
102 |
$rc=$db2->query($sql); |
|
103 |
if (!$rc) { $ok=false; break; }; |
|
104 |
fputs($f,$transID.",".$artID.",'".$zeile["Artikelname"]."',".$zeile["Anzahl"].",".$preis."\n"); |
|
105 |
echo " - Artikel:[ BuNr.:$artID ArtNr:<b> ".$zeile["Anzahl"]." x ".$zeile["Artikel_Nr"]."</b> :".$zeile["Artikelname"]." ]<br>"; |
|
106 |
} |
|
107 |
if ($zeile["Versandkosten"] && $ok) { |
|
108 |
$ok=sonderkosten($transID,$zeile["Versandkosten"],"versand",$f); |
|
109 |
} |
|
110 |
if ($zeile["Nachnamebetrag"] && $ok) { |
|
111 |
$ok=sonderkosten($transID,$zeile["Nachnamebetrag"],"nachn",$f); |
|
112 |
} |
|
113 |
if ($zeile["Mindermengenzuschlag"] && $ok) { |
|
114 |
$ok=sonderkosten($transID,$zeile["Mindermengenzuschlag"],"minder",$f); |
|
115 |
} |
|
116 |
if ($zeile["Treuhandkosten"] && $ok) { |
|
117 |
$ok=sonderkosten($transID,$zeile["Treuhandkosten"],"treuh",$f); |
|
118 |
} |
|
119 |
if ($zeile["Paypalkosten"] && $ok) { |
|
120 |
$ok=sonderkosten($transID,$zeile["Paypalkosten"],"paypal",$f); |
|
121 |
} |
|
122 |
if ($ok) { |
|
123 |
$sql="update bestellung set Bestellung_bezahlt='Y' WHERE Bestellungs_ID =$BID"; |
|
124 |
$rc=$db->query($sql); |
|
125 |
fputs($f,"ok\n"); |
|
126 |
return true; |
|
127 |
} else { |
|
128 |
$sql="delete from orderitems where trans_id=$transID"; |
|
129 |
$rc=$db->query($sql); |
|
130 |
$sql="delete from oe where id=$transID"; |
|
131 |
$rc=$db->query($sql); |
|
132 |
fputs($f,"Fehler (insBestArtikel)!!!!\n"); |
|
133 |
return false; |
|
134 |
} |
|
135 |
} |
|
136 |
function getNextAnr() { |
|
137 |
global $db2; |
|
138 |
$sql="select * from defaults"; |
|
139 |
$sql1="update defaults set sonumber="; |
|
140 |
$rc=$db2->query("BEGIN"); |
|
141 |
$rs2=$db2->getAll($sql,DB_FETCHMODE_ASSOC); |
|
142 |
$auftrag=$rs2[0]["sonumber"]+1; |
|
143 |
$rc=$db2->query($sql1.$auftrag); |
|
144 |
$rc=$db2->query("COMMIT"); |
|
145 |
return $auftrag; |
|
146 |
} |
|
147 |
function getNextKnr() { |
|
148 |
global $db2; |
|
149 |
$sql="select * from defaults"; |
|
150 |
$sql1="update defaults set customernumber='"; |
|
151 |
$rc=$db2->query("BEGIN"); |
|
152 |
$rs2=$db2->getAll($sql,DB_FETCHMODE_ASSOC); |
|
153 |
$kdnr=$rs2[0]["customernumber"]+1; |
|
154 |
$rc=$db2->query($sql1.$kdnr."'"); |
|
155 |
$rc=$db2->query("COMMIT"); |
|
156 |
return $kdnr; |
|
157 |
} |
|
158 |
function getBestellung() { |
|
159 |
global $db,$db2,$ERPusr,$f,$preA,$auftrnr; |
|
160 |
$sql="select * from bestellung where Bestellung_bezahlt='N' order by Bestellungs_ID"; |
|
161 |
$rs=$db->getAll($sql,DB_FETCHMODE_ASSOC); |
|
162 |
$ok=true; |
|
163 |
foreach ($rs as $zeile) { |
|
164 |
$kdnr=getBestellKunde($zeile["Bestellungs_ID"]); |
|
165 |
echo "Kunde:[ Buchungsnummer:$kdnr ] "; |
|
166 |
$newID=uniqid (rand()); |
|
167 |
if (ereg("&r=([0-9]+)",$zeile["Bestellung_string"],$refnr)) { |
|
168 |
$refnr=$refnr[1]; |
|
169 |
} else { |
|
170 |
$refnr=$zeile["Bestellungs_ID"]; |
|
171 |
} |
|
172 |
if ($auftrnr) { |
|
173 |
$anr=$preA.getNextAnr(); |
|
174 |
} else { |
|
175 |
$anr=$preA.$refnr; |
|
176 |
} |
|
177 |
$sql="insert into oe (notes,ordnumber,cusordnumber) values ('$newID','$anr','$refnr')"; |
|
178 |
$rc=$db2->query($sql); |
|
179 |
$sql="select * from oe where notes = '$newID'"; |
|
180 |
$rs2=$db2->getAll($sql,DB_FETCHMODE_ASSOC); |
|
181 |
$Bezahlung=$zeile["Bezahlungsart"]; |
|
182 |
if ($Bezahlung=="Lastschrift") { |
|
183 |
$sql="select * from kunde where Kunden_Nr=$kdnr"; |
|
184 |
$kd=$db->getAll($sql,DB_FETCHMODE_ASSOC); |
|
185 |
$Bezahlung.="\nKontoinhaber: ".$kd[0]["kontoinhaber"]."\n"; |
|
186 |
$Bezahlung.="Bankname: ".$kd[0]["bankname"]."\n"; |
|
187 |
$Bezahlung.="Blz: ".$kd[0]["blz"]."\n"; |
|
188 |
$Bezahlung.="KontoNr: ".$kd[0]["kontonummer"]; |
|
189 |
} |
|
190 |
$sql ="update oe set transdate='".$zeile["Datum"]."', intnotes='".$zeile["Anmerkung"]; |
|
191 |
$sql.="', customer_id=$kdnr, amount=".$zeile["Rechnungsbetrag"].", netamount=".($zeile["Rechnungsbetrag"]-$zeile["MwSt"]); |
|
192 |
$sql.=", reqdate='".$zeile["Datum"]."', notes='$Bezahlung', taxincluded='f', curr='EUR',employee_id=".$ERPusr["ID"].", vendor_id=0 "; |
|
193 |
$sql.="where id=".$rs2[0]["id"]; |
|
194 |
$rc=$db2->query($sql); |
|
195 |
fputs($f,"ordnumber=".$zeile["Bestellungs_ID"].", transdate='".$zeile["Datum"]."', customer_id=$kdnr, amount=".($zeile["Rechnungsbetrag"]+$zeile["MwSt"]).", notes=".$zeile["Bezahlungsart"]."\n"); |
|
196 |
echo "Auftrag:[ Buchungsnummer:".$rs2[0]["id"]." AuftrNr:<b>".$anr."</b> ]<br>"; |
|
197 |
if (!insBestArtikel($zeile,$rs2[0]["id"])) { $ok=false; echo " Fehler<br>"; break; } else { echo " ok<br>"; }; |
|
198 |
} |
|
199 |
return $ok; |
|
200 |
} |
|
201 |
function chkKdData($data) { |
|
202 |
global $db2; |
|
203 |
$sql="select * from customer where id = ".$data["Kunden_Nr"]; |
|
204 |
$rs=$db2->getAll($sql,DB_FETCHMODE_ASSOC); |
|
205 |
if ($rs[0]["zipcode"]<>$data["PLZ"]) $set.="zipcode='".$data["PLZ"]."',"; |
|
206 |
if ($rs[0]["city"]<>$data["Ort"]) $set.="city='".$data["Ort"]."',"; |
|
207 |
if ($rs[0]["country"]<>$data["Land"]) $set.="country='".$data["Land"]."',"; |
|
208 |
if ($rs[0]["phone"]<>$data["Tel"])$set.="phone='".$data["Tel"]."',"; |
|
209 |
if ($rs[0]["fax"]<>$data["Fax"]) $set.="fax='".$data["Fax"]."',"; |
|
210 |
if ($rs[0]["email"]<>$data["Email"])$set.="email='".$data["Email"]."',"; |
|
211 |
if ($rs[0]["notes"]<>$data["Beschreibung"])$set.="notes='".$data["Beschreibung"]."',"; |
|
212 |
if ($data["Firma"]) { |
|
213 |
if ($rs[0]["name"]<>$data["Firma"]) $set.="set name='".$data["Firma"]."',"; |
Auch abrufbar als: Unified diff
Freigabe der Shopschnittstelle für PHPeppershop
readme.first lesen!