PageRenderTime 6ms CodeModel.GetById 7ms app.highlight 119ms RepoModel.GetById 44ms app.codeStats 0ms

/systemdata/importer_variantvarer.php

https://github.com/nielsrune/saldi
PHP | 590 lines | 508 code | 29 blank | 53 comment | 179 complexity | 5b4c84c3ed6e1fc44dd84774192a79c9 MD5 | raw file
  1<?php
  2// ------systemdata/importer_variantvarer.php---lap 3.1.3--2013-04-18--------
  3// LICENS
  4//
  5// Dette program er fri software. Du kan gendistribuere det og / eller
  6// modificere det under betingelserne i GNU General Public License (GPL)
  7// som er udgivet af The Free Software Foundation; enten i version 2
  8// af denne licens eller en senere version efter eget valg
  9// Fra og med version 3.2.2 dog under iagttagelse af følgende:
 10// 
 11// Programmet må ikke uden forudgående skriftlig aftale anvendes
 12// i konkurrence med DANOSOFT ApS eller anden rettighedshaver til programmet.
 13//
 14// Dette program er udgivet med haab om at det vil vaere til gavn,
 15// men UDEN NOGEN FORM FOR REKLAMATIONSRET ELLER GARANTI. Se
 16// GNU General Public Licensen for flere detaljer.
 17//
 18// En dansk oversaettelse af licensen kan laeses her:
 19// http://www.fundanemt.com/gpl_da.html
 20//
 21// Copyright (c) 2004-2013 DANOSOFT ApS
 22// ----------------------------------------------------------------------
 23
 24@session_start();
 25$s_id=session_id();
 26$css="../css/standard.css";
 27
 28$title="Importer_variantvarer";
 29
 30include("../includes/connect.php");
 31include("../includes/online.php");
 32include("../includes/std_func.php");
 33
 34print "<div align=\"center\">\n";
 35
 36print "<table width=\"100%\" height=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tbody>\n";
 37print "<tr><td height = \"25\" align=\"center\" valign=\"top\">\n";
 38print "<table width=\"100%\" align=\"center\" border=\"0\" cellspacing=\"2\" cellpadding=\"0\"><tbody>\n";
 39if ($popup) print "<td width=\"10%\" $top_bund><a href=../includes/luk.php accesskey=L>Luk</a></td>\n"; 
 40else print "<td width=\"10%\" $top_bund><a href=diverse.php?sektion=div_io accesskey=L>Luk</a></td>\n";
 41print "<td width=\"80%\" $top_bund>$title</td>\n";
 42print "<td width=\"10%\" $top_bund><br></td>\n";
 43print "</tbody></table>\n";
 44print "</td></tr>\n";
 45
 46$submit=if_isset($_POST['submit']);
 47if($submit) {
 48	if (strstr($submit, "Import")) $submit="Importer";
 49	$filnavn=$_POST['filnavn'];
 50	$splitter=$_POST['splitter'];
 51	$feltnavn=$_POST['feltnavn'];
 52	$feltantal=$_POST['feltantal'];
 53	$tegnset=$_POST['tegnset'];
 54
 55	if (basename($_FILES['uploadedfile']['name'])) {
 56		$filnavn="../temp/".$db."_".str_replace(" ","_",$brugernavn).".csv";
 57		if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $filnavn)) {
 58			vis_data($filnavn, '', '', 1, $bilag,$tegnset);
 59		} else echo "Der er sket en fejl under hentningen, pr&oslash;v venligst igen";
 60	} elseif($submit=='Vis'){
 61		vis_data($filnavn, $splitter, $feltnavn,$feltantal,$varenr,$bilag,$tegnset);
 62	}	elseif($submit=='Importer'){
 63		if (($filnavn)&&($splitter))	overfoer_data($filnavn,$splitter,$feltnavn,$feltantal,$tegnset);
 64		else vis_data($filnavn,$splitter,$feltnavn,$feltantal,$varenr,$bilag,$tegnset);
 65	}
 66} else {
 67	if (!$r1=db_fetch_array(db_select("select box1, box2, beskrivelse from grupper where art='RA' order by kodenr desc",__FILE__ . " linje " . __LINE__))) {
 68		exit;
 69	}
 70	upload($bilag);
 71}
 72print "</tbody></table>";
 73print "</body></html>";
 74#####################################################################################################
 75function upload($bilag){
 76
 77print "<form enctype=\"multipart/form-data\" action=\"importer_variantvarer.php\" method=\"POST\">\n";
 78print "<tr><td width=100% align=center><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tbody>\n";
 79print "<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"900000\">\n";
 80print "<input type=\"hidden\" name=\"bilag\" value=$bilag>\n";
 81print "<tr><td width=100% align=center> V&aelig;lg datafil: <input name=\"uploadedfile\" type=\"file\" /><br /></td></tr>\n";
 82print "<tr><td><br></td></tr>\n";
 83print "<tr><td align=center><input type=\"submit\" name=\"submit\" value=\"Hent\" /></td></tr>\n";
 84#print "</tbody></table>\n";
 85#print "</td></tr>\n";
 86print "<tr><td></form></td></tr>\n";
 87}
 88
 89function vis_data($filnavn, $splitter, $feltnavn, $feltantal,$tegneset){
 90global $charset;
 91
 92$fp=fopen("$filnavn","r");
 93if ($fp) {
 94	for ($y=1; $y<4; $y++) $linje=fgets($fp);#korer frem til linje nr. 4.
 95	if ($charset=='UTF-8' && $tegnset!='UTF-8') $linje=utf8_encode($linje);
 96	elseif ($charset!='UTF-8' && $tegnset=='UTF-8') $linje=utf8_decode($linje);
 97	$tmp=$linje;
 98	while ($tmp=substr(strstr($tmp,";"),1)) {$semikolon++;}
 99	$tmp=$linje;
100	while ($tmp=substr(strstr($tmp,","),1)) {$komma++;}
101	$tmp=$linje;
102	while ($tmp=substr(strstr($tmp,chr(9)),1)) {$tabulator++;}
103	$tmp='';
104	if (($komma>$semikolon)&& ($komma>$tabulator)) {$tmp='Komma'; $feltantal=$komma;}
105	elseif (($semikolon>$tabulator)&&($semikolon>$komma)) {$tmp='Semikolon'; $feltantal=$semikolon;}			
106	elseif (($tabulator>$semikolon)&&($tabulator>$komma)) {$tmp='Tabulator'; $feltantal=$tabulator;}			
107	if (!$splitter) {$splitter=$tmp;}
108	$cols=$feltantal+1;
109}
110fclose($fp);
111$tmp='';
112if ($feltnavn) {
113	for ($y=0; $y<=$feltantal; $y++) {
114 		if ($tmp) $tmp=$tmp.";".$feltnavn[$y];
115		else $tmp=$feltnavn[$y];
116	}
117	setcookie("saldi_variantimp",$tmp,time()+60*60*24*30);
118} elseif (isset($_COOKIE['saldi_variantimp'])) {
119	$tmp = $_COOKIE['saldi_variantimp'];
120	$feltnavn=explode(";",$tmp);
121}
122print "<tr><td width=100% align=center><table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"1\"><tbody>";
123print "<form enctype=\"multipart/form-data\" action=\"importer_variantvarer.php\" method=\"POST\">";
124#print "<tr><td colspan=6 width=100% align=center> $filnavn</td></tr>";
125print "<tr><td colspan=\"".$cols."\" align=center><span title='Angiv tegnsæt for import'>Tegnsæt<select name=tegnset>\n";
126if ($tegnset) {print "<option>$tegnset</option>\n";}
127if ($tegnset!='ISO-8859-1') print "<option>ISO-8859-1</option>\n";
128if ($tegnset!='UTF-8') print "<option>UTF-8</option>\n";
129print "</select></span>";
130print "<span title='Angiv hvilket skilletegn der anvendes til opdeling af kolonner'>Separatortegn&nbsp;<select name=splitter>\n";
131if ($splitter) {print "<option>$splitter</option>\n";}
132if ($splitter!='Semikolon') print "<option>Semikolon</option>\n";
133if ($splitter!='Komma') print "<option>Komma</option>\n";
134if ($splitter!='Tabulator') print "<option>Tabulator</option>\n";
135print "</select></span>";
136print "<input type=\"hidden\" name=\"filnavn\" value=$filnavn>";
137print "<input type=\"hidden\" name=\"feltantal\" value=$feltantal>";
138print "&nbsp; <input type=\"submit\" name=\"submit\" value=\"Vis\" />";
139
140$x=0;
141$q=db_select("select varenr,id from varer",__FILE__ . " linje " . __LINE__);
142while ($r=db_fetch_array($q)) {
143	$varer_id[$x]=$r['id'];
144	$varer_nr[$x]=$r['varenr'];
145	$x++;
146}
147$x=0;
148$q=db_select("select * from varianter");
149while ($r=db_fetch_array($q)) {
150	$varianter_id[$x]=$r['id'];
151	$varianter_beskrivelse[$x]=$r['beskrivelse'];
152	$varianter_shop_id[$x]=$r['shop_id'];
153	$x++;
154}
155
156$feltnavne="varenr".chr(9)."stregkode";
157for ($i=0;$i<count($varianter_id);$i++) {
158 $feltnavne.=chr(9)."$varianter_beskrivelse[$i]";
159}
160$feltnavne.=chr(9)."salgspris".chr(9)."kostpris".chr(9)."vejl.pris";
161$felt_navn=explode(chr(9),$feltnavne);
162$felt_antal=count($felt_navn);
163for ($y=0; $y<=$feltantal; $y++) {
164	for ($x=0; $x<=$felt_antal; $x++) {
165		if ($felt_navn[$x] && $feltnavn[$y]==$felt_navn[$x] && $felt_aktiv[$x]==1) {
166			print "<BODY onLoad=\"javascript:alert('Der kan kun v&aelig;re 1 kolonne med $felt_navn[$x]')\">";
167			$feltnavn[$y]='';
168		} elseif ($felt_navn[$x] && $feltnavn[$y]==$felt_navn[$x]) $felt_aktiv[$x]=1;
169	}
170	if ($feltnavn[$y]=='varenr')$varenr=1;
171	if ($feltnavn[$y]=='stregkode')$stregkode=1;
172}
173if (($filnavn)&&($splitter)&&($varenr==1)&&($stregkode==1)) print "&nbsp; <input type=\"submit\" name=\"submit\" value=\"Import&eacute;r\" /></td></tr>";
174elseif (!$stregkode) print "<BODY onLoad=\"javascript:alert('Felt for stregkode ikke valgt')\">";
175 
176print "<tr><td colspan=$cols><hr></td></tr>\n";
177if ((!$splitter)||($splitter=='Semikolon')) {$splitter=';';}
178elseif ($splitter=='Komma') {$splitter=',';}
179elseif ($splitter=='Tabulator') {$splitter=chr(9);}
180for ($y=0; $y<=$feltantal; $y++) {
181	if ($feltnavn[$y]) print "<td><select name=feltnavn[$y]>\n";
182	else  print "<td align=center><select name=feltnavn[$y]>\n";
183	print "<option>$feltnavn[$y]</option>\n";
184	if ($feltnavn[$y]) print "<option></option>\n";
185	for ($x=0; $x<=$felt_antal; $x++) {
186		if ($feltnavn[$y]!=$felt_navn[$x]) print "<option>$felt_navn[$x]</option>\n";
187	}
188	print "</td>";
189}
190print "</form></td></tr>";
191$fp=fopen("$filnavn","r");
192if ($fp) {
193	$x=0;
194	$kontonumre=array();
195	while (!feof($fp)) {
196		$skriv_linje=0;
197		if ($linje=fgets($fp)) {
198			$x++;
199#cho "$x | $linje<br>";		
200			$skriv_linje=1;
201			if ($charset=='UTF-8') $linje=utf8_encode($linje);
202			$felt=array();
203			$felt = opdel($splitter, $linje);
204			for ($y=0; $y<=$feltantal; $y++) {
205#cho "$feltnavn[$y] => $felt[$y]<br>";
206				$fejl[$y]='';
207				$feltfejl[$y]=0;
208				$felt[$y]=trim($felt[$y]);
209				if ((substr($felt[$y],0,1) == '"')&&(substr($felt[$y],-1) == '"')) $felt[$y]=substr($felt[$y],1,strlen($felt[$y])-2);
210				if ($feltnavn[$y]=='varenr')	{
211					$tmp=NULL;
212					for($i=0;$i<count($varer_id);$i++) {
213						if ($felt[$y]==$varer_nr[$i]) {
214							$tmp=$varer_id[$i];
215							break 1;
216						}
217					}
218					if (!$tmp) {
219						$skriv_linje=2;
220						$fejl[$y].="varenr $felt[$y] ikke fundet, "; 
221					}
222				}
223				if ($feltnavn[$y]=='kostpris')	{
224					$tmp=str_replace(",","",$felt[$y]);
225					$tmp=str_replace(".","",$tmp);
226					if ($tmp && !is_numeric($tmp)) {
227						$skriv_linje=2;
228						$fejl[$y].="kostpris $tmp ikke numerisk, "; 
229					}	
230				}
231				if ($feltnavn[$y]=='salgspris')	{
232					$tmp=str_replace(",","",$felt[$y]);
233					$tmp=str_replace(".","",$tmp);
234					if ($tmp && !is_numeric($tmp)) {
235						$skriv_linje=2;
236						$fejl[$y].="salgspris $tmp ikke numerisk, "; 
237					}
238				}
239				if ($feltnavn[$y]=='vejl.pris')	{
240					$tmp=str_replace(",","",$felt[$y]);
241					$tmp=str_replace(".","",$tmp);
242					if ($tmp && !is_numeric($tmp)) {
243						$skriv_linje=2;
244						$fejl[$y].="vejl pris $tmp ikke numerisk, "; 
245					}
246				}
247#				if ($feltnavn[$y]=='varenr'&&!is_numeric($felt[$y])) {
248#					$skriv_linje=2;
249#					print "<BODY onLoad=\"javascript:alert('R&oslash;de linjer indeholder fejl (kontonummer ikke numerisk) og bliver ikke importeret')\">";
250#					print "<BODY onLoad=\"javascript:alert('varenrnummer skal v&aelig;re numerisk')\">";
251#				} 
252			}
253 		}
254		if ($skriv_linje==2) print "<BODY onLoad=\"javascript:alert('R&oslash;de linjer/felter indeholder fejl og bliver ikke importeret')\">";
255		if ($skriv_linje>=1){
256			print "<tr>";
257#			print "<tr><td>$bilag</td>";
258			for ($y=0; $y<=$feltantal; $y++) {
259				if ($skriv_linje==2) $color="#e00000";
260				elseif ($feltfejl[$y]) $color="#e00000";
261				else $color="#000000";
262				if ($feltnavn[$y]) {print "<td title=\"$fejl[$y]\"><span style=\"color: $color;\">$felt[$y]&nbsp;</span></td>";}
263				else {print "<td align=\"center\" title=\"$fejl[$y]\"><span style=\"color: rgb(153, 153, 153);\">$felt[$y]&nbsp;</span></td>";}
264			}
265			print "</tr>";
266		}
267	}
268}
269fclose($fp);
270print "</tbody></table>";
271print "</td></tr>";
272}
273
274function overfoer_data($filnavn, $splitter, $feltnavn, $feltantal,$tegnset){
275global $charset;
276
277$fp=fopen("$filnavn","r");
278if ($fp) {
279	for ($y=1; $y<4; $y++) {
280		$tmp=fgets($fp);
281		if($tmp) $linje=$tmp;
282	}
283	$tmp=$linje;
284	while ($tmp=substr(strstr($tmp,";"),1)) {$semikolon++;}
285	$tmp=$linje;
286	while ($tmp=substr(strstr($tmp,","),1)) {$komma++;}
287	$tmp=$linje;
288	while ($tmp=substr(strstr($tmp,chr(9)),1)) {$tabulator++;}
289	$tmp='';
290	if (($komma>$semikolon)&& ($komma>$tabulator)) {$tmp='Komma'; $feltantal=$komma;}
291	elseif (($semikolon>$tabulator)&&($semikolon>$komma)) {$tmp='Semikolon'; $feltantal=$semikolon;}			
292	elseif (($tabulator>$semikolon)&&($tabulator>$komma)) {$tmp='Tabulator'; $feltantal=$tabulator;}			
293	if (!$splitter) {$splitter=$tmp;}
294	$cols=$feltantal+1;
295}
296
297fclose($fp);
298
299$x=0;
300$q=db_select("select * from varianter",__FILE__ . " linje " . __LINE__);
301while ($r=db_fetch_array($q)) {
302	$varianter_id[$x]=$r['id'];
303	$varianter_beskrivelse[$x]=strtolower($r['beskrivelse']);
304	$varianter_shop_id[$x]=$r['shop_id'];
305	$x++;
306}
307
308$q=db_select("select * from variant_varer order by variant_stregkode",__FILE__ . " linje " . __LINE__);
309while ($r=db_fetch_array($q)) {
310	if ($stregkode==$r['variant_stregkode']) {
311		db_modify("delete from variant_varer where id='$r[id]'",__FILE__ . " linje " . __LINE__);
312	} else {
313		$stregkode=$r['variant_stregkode'];
314	}
315}
316
317$x=0;
318$q=db_select("select * from variant_typer",__FILE__ . " linje " . __LINE__);
319while ($r=db_fetch_array($q)) {
320	$variant_type_id[$x]=$r['id'];
321	$variant_type_variant_id[$x]=$r['variant_id'];
322	$variant_type_beskrivelse[$x]=strtolower($r['beskrivelse']);
323	$variant_type_shop_id[$x]=$r['shop_id'];
324	$x++;
325}
326
327$x=0;
328$q=db_select("select varenr,id,varianter from varer",__FILE__ . " linje " . __LINE__);
329while ($r=db_fetch_array($q)) {
330	$varer_id[$x]=$r['id'];
331	$varer_nr[$x]=$r['varenr'];
332	$varer_varianter[$x]=$r['varianter'];
333	$x++;
334}
335
336for ($y=0; $y<=$feltantal; $y++) {
337	for ($x=0; $x<=$felt_antal; $x++) {
338		if ($felt_navn[$x] && $feltnavn[$y]==$felt_navn[$x]&& $felt_aktiv[$x]==1) {
339		print "<BODY onLoad=\"javascript:alert('Der kan kun v&aelig;re 1 kolonne med $felt_navn[$x]')\">";
340		$feltnavn[$y]='';
341		} elseif ($felt_navn[$x] && $feltnavn[$y]==$felt_navn[$x]) $felt_aktiv[$x]=1;
342	}
343}
344
345print "<tr><td colspan=$cols><hr></td></tr>\n";
346if ((!$splitter)||($splitter=='Semikolon')) {$splitter=';';}
347elseif ($splitter=='Komma') {$splitter=',';}
348elseif ($splitter=='Tabulator') {$splitter=chr(9);}
349
350# print "<tr><td><span title='Angiv 1. bilagsnummer'><input type=text size=4 name=bilag value=$bilag></span></td>";
351
352transaktion('begin');
353 #echo "delete from kontoplan where regnskabsaar='$regnskabsaar'<br>";
354#db_modify("delete from de where regnskabsaar='$regnskabsaar'");attrelid    	attname   
355
356$r=db_fetch_array(db_select("SELECT relfilenode FROM pg_class WHERE relname = 'variant_varer'",__FILE__ . " linje " . __LINE__)) ;
357$relfilenode=$r['relfilenode']*1;
358$r=db_fetch_array(db_select("SELECT * FROM pg_attribute WHERE attrelid= '$relfilenode' and attname = 'variant_salgspris'",__FILE__ . " linje " . __LINE__));
359if ($r['attisdropped']!='f' || !$r['attname']) {
360	db_modify("alter TABLE variant_varer ADD variant_salgspris numeric(15,3)",__FILE__ . " linje " . __LINE__);
361}
362$r=db_fetch_array(db_select("SELECT * FROM pg_attribute WHERE attrelid= '$relfilenode' and attname = 'variant_kostpris'",__FILE__ . " linje " . __LINE__));
363if ($r['attisdropped']!='f' || !$r['attname']) {
364	db_modify("alter TABLE variant_varer ADD variant_kostpris numeric(15,3)",__FILE__ . " linje " . __LINE__);
365}
366$r=db_fetch_array(db_select("SELECT * FROM pg_attribute WHERE attrelid= '$relfilenode' and attname = 'variant_vejlpris'",__FILE__ . " linje " . __LINE__));
367if ($r['attisdropped']!='f' || !$r['attname']) {
368	db_modify("alter TABLE variant_varer ADD variant_vejlpris numeric(15,3)",__FILE__ . " linje " . __LINE__);
369}
370$fp=fopen("$filnavn","r");
371if ($fp) {
372	$kontonumre=array();
373	$x=0;
374	$imp_antal=0;
375	$upd_antal=0;
376	$kostpris=0;
377	$salgspris=0;
378	$variant_type=NULL;
379	$varenr="";	
380	while (!feof($fp)) {
381		$skriv_linje=0;
382		if ($linje=fgets($fp)) {
383			$x++;
384			$skriv_linje=1;
385			if ($charset=='UTF-8' && $tegnset!='UTF-8') $linje=utf8_encode($linje);
386			elseif ($charset!='UTF-8' && $tegnset=='UTF-8') $linje=utf8_decode($linje);
387			$variant_type=NULL;
388			$felt=array();
389 			$felt = opdel($splitter, $linje);
390 			for ($y=0; $y<count($felt); $y++) {
391				$medtag_felt[$y]=1;
392				if ($feltnavn[$y]=='salgspris') $feltnavn[$y]="variant_salgspris";
393				if ($feltnavn[$y]=='kostpris') $feltnavn[$y]="variant_kostpris";
394				if ($feltnavn[$y]=='vejl.pris') $feltnavn[$y]="variant_vejlpris";
395				if ($feltnavn[$y]=='varenr') $feltnavn[$y]="vare_id";
396				if ($feltnavn[$y]=='stregkode') $feltnavn[$y]="variant_stregkode";
397				$felt[$y]=trim($felt[$y]);
398				$feltnavn[$y]=strtolower($feltnavn[$y]);
399				if ((substr($felt[$y],0,1) == '"')&&(substr($felt[$y],-1) == '"')) $felt[$y]=substr($felt[$y],1,strlen($felt[$y])-2);
400				if ($feltnavn[$y]=='stregkode') {
401					if (!$stregkode=$felt[$y]) $skriv_linje=0;
402				}
403				if ($feltnavn[$y]=='vare_id')	{
404					for($i=0;$i<count($varer_id);$i++) {
405						if ($felt[$y]==$varer_nr[$i]) {
406							$felt[$y]=$varer_id[$i];
407							$vare_id=$varer_id[$i];
408							break 1;
409						}
410					}
411					$felt[$y]*=1;
412				}
413				if ($feltnavn[$y]=='variant_kostpris')	{
414					$tmp=str_replace(",","",$felt[$y]);
415					$tmp=str_replace(".","",$tmp);
416					if ($tmp && !is_numeric($tmp)) $skriv_linje=0;
417					elseif (!is_numeric($felt[$y])) $felt[$y]=usdecimal($felt[$y]);
418					$kostpris=$felt[$y]*1;
419				}
420				if ($feltnavn[$y]=='variant_salgspris')	{
421					$tmp=str_replace(",","",$felt[$y]);
422					$tmp=str_replace(".","",$tmp);
423					if ($tmp && !is_numeric($tmp)) $skriv_linje=0;
424					elseif (!is_numeric($felt[$y])) $felt[$y]=usdecimal($felt[$y]);
425					$salgspris=$felt[$y]*1;
426				}
427				if ($feltnavn[$y]=='variant_vejlpris')	{
428					$tmp=str_replace(",","",$felt[$y]);
429					$tmp=str_replace(".","",$tmp);
430					if ($tmp && !is_numeric($tmp)) $skriv_linje=0;
431					elseif (!is_numeric($felt[$y])) $felt[$y]=usdecimal($felt[$y]);
432					$vejlpris=$felt[$y]*1;
433				}
434#cho "F $feltnavn[$y]<br>";
435				if (in_array(strtolower($feltnavn[$y]),$varianter_beskrivelse)) {
436				$medtag_felt[$y]=0;
437				for($i=0;$i<count($varianter_id);$i++) {
438					if (strtolower($feltnavn[$y])==$varianter_beskrivelse[$i]) {
439					for($v=0;$v<count($varer_id);$v++) {
440						if ($varer_id[$v]==$vare_id) {
441							$v_var=explode(chr(9),$varer_varianter[$v]);
442							if (!in_array($varianter_id[$i],$v_var)) {
443								if ($varer_varianter[$v]) $varer_varianter[$v].=chr(9).$varianter_id[$i];
444								else $varer_varianter[$v]=$varianter_id[$i];
445							}		
446						}
447					}
448					#echo strtolower($feltnavn[$y])."==".$varianter_beskrivelse[$i]."<br>";
449#echo "Felt = $felt[$y]<br>"; 
450						$tmp=NULL;
451						for($t=0;$t<count($variant_type_id);$t++) {
452#cho "$felt[$y]!=$variant_type_beskrivelse[$t]<br>";
453							if (strtolower($felt[$y])==strtolower($variant_type_beskrivelse[$t])) 
454
455#							$nyt_feltnavn[$y]=$feltnavn[$y];
456							$tmp=$variant_type_id[$t];
457#						$variant_type_id[$x]=$r['id'];
458#	$variant_type_variant_id[$x]=$r['variant_id'];
459#	$variant_type_beskrivelse[$x]=strtolower($r['beskrivelse']);
460#	$variant_type_shop_id[$x]=$r['shop_id'];
461						} 
462						$felt[$y]=$tmp;	
463						if ($variant_type) {
464#cho "$variant_type.=chr(9).$tmp<br>";
465							$variant_type.=chr(9).$tmp;
466							} else {
467#cho "$variant_type.=chr(9).$tmp<br>";
468								$variant_type=$tmp;
469							}
470						}
471					}
472				}
473				if ($feltnavn[$y]=='variant_stregkode')	$stregkode=$felt[$y];
474			}
475 		}
476 		if ($skriv_linje==1) {
477			$vare_a="variant_type";
478			$vare_b="'".$variant_type."'";
479			$upd="variant_type='".$variant_type."'";
480			for ($y=0; $y<=$feltantal; $y++) {
481				if ($feltnavn[$y] && $medtag_felt[$y]) {
482					if ($nyt_feltnavn[$y]) $feltnavn[$y]=$nyt_feltnavn[$y];
483					$felt[$y]=db_escape_string($felt[$y]);
484					$vare_a.=",".$feltnavn[$y];
485					$vare_b.=",'".$felt[$y]."'";
486					$upd=$upd.",".$feltnavn[$y]."='".$felt[$y]."'";
487				}
488			}
489#cho "select id from variant_varer where variant_stregkode='$stregkode'<br>";
490				if ($r=db_fetch_array(db_select("select id from variant_varer where variant_stregkode='$stregkode'",__FILE__ . " linje " . __LINE__))) {
491					$variant_id=$r['id'];
492					$upd_antal++;
493#cho "update variant_varer set $upd where id='$variant_id'<br>";
494					db_modify("update variant_varer set $upd where id='$variant_id'",__FILE__ . " linje " . __LINE__);
495				} else {
496					$imp_antal++;
497#cho "insert into variant_varer($vare_a) values ($vare_b)<br>";
498					db_modify("insert into variant_varer($vare_a) values ($vare_b)",__FILE__ . " linje " . __LINE__);
499				}
500		}
501	}
502}
503fclose($fp);
504
505for($v=0;$v<count($varer_id);$v++) {
506	if ($varer_varianter[$v]) {
507		$v_var=explode(chr(9),$varer_varianter[$v]);
508		$v2=array();
509		$tmp=NULL;
510		for ($i=0;$i<count($v_var);$i++){
511			if (!in_array($v_var[$i],$v2)) {
512				($tmp)?$tmp.=chr(9).$v_var[$i]:$tmp=$v_var[$i];
513			}
514			$v2[$i]=$v_var[$i];
515		}
516		db_modify("update varer set varianter = '$tmp' where id='$varer_id[$v]'",__FILE__ . " linje " . __LINE__);
517	}
518}
519transaktion('commit');
520print "</tbody></table>";
521print "</td></tr>";
522print "<BODY onLoad=\"javascript:alert('$imp_antal variant_varer importeret, $upd_antal variant_varer opdateret')\">";
523#print "<BODY onLoad=\"javascript:alert('$imp_antal varianter importeret')\">";
524#print "<meta http-equiv=\"refresh\" content=\"0;URL=../includes/luk.php\">";
525exit;
526} # endfunc overfoer_data
527
528function nummertjek ($nummer){
529	$nummer=trim($nummer);
530	$retur=1;
531	$nummerliste=array("1", "2", "3", "4", "5", "6", "7", "8", "9", "0", ",", ".", "-");
532	for ($x=0; $x<strlen($nummer); $x++) {
533		if (!in_array($nummer{$x}, $nummerliste)) $retur=0;
534	}
535	if ($retur) {
536		for ($x=0; $x<strlen($nummer); $x++) {
537			if ($nummer{$x}==',') $komma++;
538			elseif ($nummer{$x}=='.') $punktum++;		
539		}
540		if ((!$komma)&&(!$punktum)) $retur='US';
541		elseif (($komma==1)&&(substr($nummer,-3,1)==',')) $retur='DK';
542		elseif (($punktum==1)&&(substr($nummer,-3,1)=='.')) $retur='US';
543		elseif (($komma==1)&&(!$punktum)) $retur='DK';
544		elseif (($punktum==1)&&(!$komma)) $retur='US';	
545	}
546	return $retur=chr(32);
547}
548function opdel ($splitter,$linje){
549	global $feltantal;
550	$anftegn=0;	
551	$x=0;
552	$y=0;
553
554	if (substr($linje,0,1)==chr(34)) {
555		$anftegn=1;
556		$x++;	
557 }
558	for($z=$x;$z<=strlen($linje);$z++) {
559		$tegn=substr($linje,$z,1);
560		if (!$anftegn && substr($linje,$z-1,1)==$splitter && $tegn==chr(34)) {
561			$anftegn=1;
562 		}
563		if ($anftegn && $tegn==chr(34) && substr($linje,$z+1,1)==$splitter) {
564			$y++;
565			$z++;
566			$anftegn=0;
567		} elseif (!$anftegn && substr($linje,$z,1)==$splitter) {
568#cho "$y B $var[$y]<br>";
569			$y++;
570		} elseif ($tegn!=chr(34)) {
571			$var[$y]=$var[$y].substr($linje,$z,1);
572		}
573	}
574	return $var;
575}
576function find_lev_id($kontonr) {
577	$kontonr=trim($kontonr);
578	if ($r=db_fetch_array(db_select("select id from adresser where kontonr='$kontonr'",__FILE__ . " linje " . __LINE__))) return ($r['id']);
579	else return(0);
580}
581function find_varegrp($gruppe) {
582	$gruppe=trim($gruppe);
583	if (!is_numeric($gruppe)) {
584		$low=strtolower($gruppe);
585		$up=strtoupper($gruppe);
586		if ($r=db_fetch_array(db_select("select kodenr from grupper where art='VG' and (lower(beskrivelse)='$low' or upper(beskrivelse)='$up')",__FILE__ . " linje " . __LINE__))) return ($r['kodenr']);
587		else return(0);
588	} elseif ($r=db_fetch_array(db_select("select id from grupper where art='VG' and kodenr = '$gruppe'",__FILE__ . " linje " . __LINE__))) return ($gruppe);
589	else return(0);
590}