PageRenderTime 51ms CodeModel.GetById 23ms RepoModel.GetById 0ms 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
Possible License(s): LGPL-2.1
  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. @session_start();
  28. $s_id=session_id();
  29. $title="Eksporter variantvarer";
  30. $css="../css/standard.css";
  31. include("../includes/connect.php");
  32. include("../includes/online.php");
  33. include("../includes/std_func.php");
  34. $returside="../diverse.php";
  35. $filnavn="../temp/variantvarer.csv";
  36. (isset($_GET['start']))?$start=$_GET['start']:$start=1;
  37. $slut=$start+999;
  38. $x=0;
  39. $r=db_fetch_array(db_select("SELECT relfilenode FROM pg_class WHERE relname = 'variant_varer'",__FILE__ . " linje " . __LINE__)) ;
  40. $relfilenode=$r['relfilenode']*1;
  41. $r=db_fetch_array(db_select("SELECT * FROM pg_attribute WHERE attrelid= '$relfilenode' and attname = 'variant_salgspris'",__FILE__ . " linje " . __LINE__));
  42. if ($r['attisdropped']!='f' || !$r['attname']) {
  43. db_modify("alter TABLE variant_varer ADD variant_salgspris numeric(15,3)",__FILE__ . " linje " . __LINE__);
  44. }
  45. $r=db_fetch_array(db_select("SELECT * FROM pg_attribute WHERE attrelid= '$relfilenode' and attname = 'variant_kostpris'",__FILE__ . " linje " . __LINE__));
  46. if ($r['attisdropped']!='f' || !$r['attname']) {
  47. db_modify("alter TABLE variant_varer ADD variant_kostpris numeric(15,3)",__FILE__ . " linje " . __LINE__);
  48. }
  49. $r=db_fetch_array(db_select("SELECT * FROM pg_attribute WHERE attrelid= '$relfilenode' and attname = 'variant_vejlpris'",__FILE__ . " linje " . __LINE__));
  50. if ($r['attisdropped']!='f' || !$r['attname']) {
  51. db_modify("alter TABLE variant_varer ADD variant_vejlpris numeric(15,3)",__FILE__ . " linje " . __LINE__);
  52. }
  53. $q=db_select("select * from varianter",__FILE__ . " linje " . __LINE__);
  54. while ($r=db_fetch_array($q)) {
  55. $varianter_id[$x]=$r['id'];
  56. $varianter_beskrivelse[$x]=$r['beskrivelse'];
  57. $varianter_shop_id[$x]=$r['shop_id'];
  58. $x++;
  59. }
  60. $x=0;
  61. $q=db_select("select * from variant_typer",__FILE__ . " linje " . __LINE__);
  62. while ($r=db_fetch_array($q)) {
  63. $varianttyper_id[$x]=$r['id'];
  64. $varianttyper_beskrivelse[$x]=$r['beskrivelse'];
  65. $varianttyper_shop_id[$x]=$r['shop_id'];
  66. #echo "$varianttyper_id[$x] $varianttyper_beskrivelse[$x]<br>";
  67. $x++;
  68. }
  69. if ($start==1) $fp=fopen($filnavn,"w");
  70. else $fp=fopen($filnavn,"a");
  71. $overskrift="varenr".chr(9)."beskrivelse".chr(9)."stregkode".chr(9)."kostpris".chr(9)."salgspris".chr(9)."vejl.pris";
  72. for ($x=0;$x<count($varianter_id);$x++) {
  73. $overskrift.=chr(9).$varianter_beskrivelse[$x];
  74. }
  75. if ($charset=="UTF-8") $overskrift=utf8_decode($overskrift);
  76. if (fwrite($fp, "$overskrift\r\n")) {
  77. $z=0;
  78. $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__);
  79. while ($r=db_fetch_array($q)) {
  80. $z++;
  81. if ($z>=$start && $z<=$slut) {
  82. $vare_id=$r['id'];
  83. $varenr=$r['varenr'];
  84. $beskrivelse=$r['beskrivelse'];
  85. $variant_stregkode=$r['variant_stregkode'];
  86. $variant_type=explode(chr(9),$r['variant_type']);
  87. # $variant_lager=$r['lager'];
  88. $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']);
  89. for ($x=0;$x<count($varianter_id);$x++) {
  90. # $linje.=chr(9)."$varianter_beskrivelse[$x]";
  91. $tmp=NULL;
  92. for ($y=0;$y<count($varianttyper_id);$y++) {#20140526
  93. if (isset($varianttyper_id[$y]) && isset($variant_type[$x]) && $varianttyper_id[$y]==$variant_type[$x]) $tmp=$varianttyper_beskrivelse[$y];
  94. }
  95. $linje.=chr(9).'"'."$tmp".'"';
  96. }
  97. $linje=str_replace("\n","",$linje);
  98. if ($charset=="UTF-8") $linje=utf8_decode($linje);
  99. fwrite($fp, $linje."\r\n");
  100. } elseif ($z>$slut) {
  101. break(1);
  102. }
  103. }
  104. }
  105. fclose($fp);
  106. if ($z>$slut) {
  107. print "Udlæser variantvarer ";
  108. for ($x=1000;$x<=$start;$x+=1000) print " *";
  109. print "<br>";
  110. print "<META HTTP-EQUIV=REFRESH CONTENT=\"0; URL=exporter_variantvarer.php?start=$z\">";
  111. exit;
  112. }
  113. print "<table width=\"100%\" height=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tbody>";
  114. print "<tr><td align=\"center\" valign=\"top\">";
  115. print "<table width=\"100%\" align=\"center\" border=\"0\" cellspacing=\"2\" cellpadding=\"0\"><tbody>";
  116. print "<td width=\"10%\" $top_bund><a href=diverse.php?sektion=div_io accesskey=L>Luk</a></td>";
  117. print "<td width=\"80%\" $top_bund>$title</td>";
  118. print "<td width=\"10%\" $top_bund><br></td>";
  119. print "</tbody></table>";
  120. print "</td></tr>";
  121. print "<td align=center valign=top>";
  122. print "<table cellpadding=\"1\" cellspacing=\"1\" border=\"0\"><tbody>";
  123. print "<tr><td align=center> H&oslash;jreklik her: </td><td $top_bund><a href='$filnavn'>variantvarer</a></td></tr>";
  124. print "<tr><td align=center colspan=2> V&aelig;lg \"gem destination som\"</td></tr>";
  125. print "</tbody></table>";
  126. ?>
  127. </tbody>
  128. </table>
  129. </td></tr>
  130. </tbody></table>
  131. </body></html>