PageRenderTime 2ms CodeModel.GetById 356ms app.highlight 10ms RepoModel.GetById 165ms app.codeStats 0ms

/systemdata/exporter_variantvarer.php

https://github.com/nielsrune/saldi
PHP | 145 lines | 103 code | 14 blank | 28 comment | 24 complexity | 6fb043b8f1ed41af7ccfa15bfe05bb4f MD5 | raw file
  1<?php
  2// ---------/systemdata/exporter_variantvarer.php---lap 3.4.1--2014-05-26------------------------
  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// Programmet 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-2016 DANOSOFT ApS
 22// ----------------------------------------------------------------------
 23// 20130412 Rettet i formatet
 24// 20140516 Grundet timeout ved mange varer eksporteres nu max 1000 hvorefter rutinen genstarter der hvor den er nået til. Søg $start,$slut & $z; 
 25// 20140516 Indsat dkdecimal ved udskrivning af kost',salgs', og vejl.pris. 
 26// 20140526 Rettet $varianter_id til $varianttypre_id 
 27
 28@session_start();
 29$s_id=session_id();
 30$title="Eksporter variantvarer";
 31$css="../css/standard.css";
 32
 33include("../includes/connect.php");
 34include("../includes/online.php");
 35include("../includes/std_func.php");
 36
 37$returside="../diverse.php";
 38
 39$filnavn="../temp/variantvarer.csv";
 40(isset($_GET['start']))?$start=$_GET['start']:$start=1;
 41$slut=$start+999;
 42$x=0;
 43
 44$r=db_fetch_array(db_select("SELECT relfilenode FROM pg_class WHERE relname = 'variant_varer'",__FILE__ . " linje " . __LINE__)) ;
 45$relfilenode=$r['relfilenode']*1;
 46$r=db_fetch_array(db_select("SELECT * FROM pg_attribute WHERE attrelid= '$relfilenode' and attname = 'variant_salgspris'",__FILE__ . " linje " . __LINE__));
 47if ($r['attisdropped']!='f' || !$r['attname']) {
 48	db_modify("alter TABLE variant_varer ADD variant_salgspris numeric(15,3)",__FILE__ . " linje " . __LINE__);
 49}
 50$r=db_fetch_array(db_select("SELECT * FROM pg_attribute WHERE attrelid= '$relfilenode' and attname = 'variant_kostpris'",__FILE__ . " linje " . __LINE__));
 51if ($r['attisdropped']!='f' || !$r['attname']) {
 52	db_modify("alter TABLE variant_varer ADD variant_kostpris numeric(15,3)",__FILE__ . " linje " . __LINE__);
 53}
 54$r=db_fetch_array(db_select("SELECT * FROM pg_attribute WHERE attrelid= '$relfilenode' and attname = 'variant_vejlpris'",__FILE__ . " linje " . __LINE__));
 55if ($r['attisdropped']!='f' || !$r['attname']) {
 56	db_modify("alter TABLE variant_varer ADD variant_vejlpris numeric(15,3)",__FILE__ . " linje " . __LINE__);
 57}
 58
 59$q=db_select("select * from varianter",__FILE__ . " linje " . __LINE__);
 60while ($r=db_fetch_array($q)) {
 61	$varianter_id[$x]=$r['id'];
 62	$varianter_beskrivelse[$x]=$r['beskrivelse'];
 63	$varianter_shop_id[$x]=$r['shop_id'];
 64	$x++;
 65}
 66
 67$x=0;
 68$q=db_select("select * from variant_typer",__FILE__ . " linje " . __LINE__);
 69while ($r=db_fetch_array($q)) {
 70	$varianttyper_id[$x]=$r['id'];
 71	$varianttyper_beskrivelse[$x]=$r['beskrivelse'];
 72	$varianttyper_shop_id[$x]=$r['shop_id'];
 73#echo "$varianttyper_id[$x] $varianttyper_beskrivelse[$x]<br>";
 74	$x++;
 75}
 76if ($start==1) $fp=fopen($filnavn,"w");
 77else $fp=fopen($filnavn,"a");
 78$overskrift="varenr".chr(9)."beskrivelse".chr(9)."stregkode".chr(9)."kostpris".chr(9)."salgspris".chr(9)."vejl.pris";
 79for ($x=0;$x<count($varianter_id);$x++) {
 80	$overskrift.=chr(9).$varianter_beskrivelse[$x];
 81}
 82if ($charset=="UTF-8") $overskrift=utf8_decode($overskrift);
 83
 84if (fwrite($fp, "$overskrift\r\n")) {
 85	$z=0;
 86	$q=db_select("select varer.id,varer.varenr,varer.beskrivelse,variant_varer.variant_stregkode,variant_varer.variant_type,variant_varer.variant_salgspris,variant_varer.variant_kostpris,variant_varer.variant_vejlpris from varer,variant_varer where varer.id=variant_varer.vare_id order by varer.varenr,variant_varer.variant_stregkode",__FILE__ . " linje " . __LINE__);
 87	while ($r=db_fetch_array($q)) {
 88		$z++;
 89		if ($z>=$start && $z<=$slut) {
 90			$vare_id=$r['id'];
 91			$varenr=$r['varenr'];
 92			$beskrivelse=$r['beskrivelse'];
 93			$variant_stregkode=$r['variant_stregkode'];
 94			$variant_type=explode(chr(9),$r['variant_type']);
 95
 96#			$variant_lager=$r['lager'];
 97			$linje='"'.$varenr.'"'.chr(9).'"'.$beskrivelse.'"'.chr(9).'"'.$variant_stregkode.'"'.chr(9).dkdecimal($r['variant_kostpris']).chr(9).dkdecimal($r['variant_salgspris']).chr(9).dkdecimal($r['variant_vejlpris']);
 98			for ($x=0;$x<count($varianter_id);$x++) {
 99#			$linje.=chr(9)."$varianter_beskrivelse[$x]";
100				$tmp=NULL;
101				for ($y=0;$y<count($varianttyper_id);$y++) {#20140526
102					if (isset($varianttyper_id[$y]) && isset($variant_type[$x]) && $varianttyper_id[$y]==$variant_type[$x]) $tmp=$varianttyper_beskrivelse[$y];
103				}
104				$linje.=chr(9).'"'."$tmp".'"';
105			}
106			$linje=str_replace("\n","",$linje);
107			if ($charset=="UTF-8") $linje=utf8_decode($linje);
108			fwrite($fp, $linje."\r\n");
109		} elseif ($z>$slut) {
110			break(1);
111		}
112	}
113} 
114fclose($fp);
115if ($z>$slut) {
116	print "Udlæser variantvarer ";
117	for ($x=1000;$x<=$start;$x+=1000) print " *";
118	print "<br>";
119	print "<META HTTP-EQUIV=REFRESH CONTENT=\"0; URL=exporter_variantvarer.php?start=$z\">";
120	exit;
121}			
122
123
124print "<table width=\"100%\" height=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tbody>";
125print "<tr><td align=\"center\" valign=\"top\">";
126print "<table width=\"100%\" align=\"center\" border=\"0\" cellspacing=\"2\" cellpadding=\"0\"><tbody>";
127print "<td width=\"10%\" $top_bund><a href=diverse.php?sektion=div_io accesskey=L>Luk</a></td>";
128print "<td width=\"80%\" $top_bund>$title</td>";
129print "<td width=\"10%\" $top_bund><br></td>";
130print "</tbody></table>";
131print "</td></tr>";
132print "<td align=center valign=top>";
133print "<table cellpadding=\"1\" cellspacing=\"1\" border=\"0\"><tbody>";
134
135print "<tr><td align=center> H&oslash;jreklik her: </td><td $top_bund><a href='$filnavn'>variantvarer</a></td></tr>";
136print "<tr><td align=center colspan=2> V&aelig;lg \"gem destination som\"</td></tr>";
137
138print "</tbody></table>";
139
140?>
141</tbody>
142</table>
143</td></tr>
144</tbody></table>
145</body></html>