PageRenderTime 45ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/lager/vvsimport.php

https://github.com/nielsrune/saldi
PHP | 255 lines | 214 code | 21 blank | 20 comment | 45 complexity | be391d1868b2b4cd44fb6266c30dad43 MD5 | raw file
Possible License(s): LGPL-2.1
  1. <?php
  2. // -------------------------------------------lager/vvsimport.pgp------------patch 1.1.2------------------
  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. //
  10. // Dette program er udgivet med haab om at det vil vaere til gavn,
  11. // men UDEN NOGEN FORM FOR REKLAMATIONSRET ELLER GARANTI. Se
  12. // GNU General Public Licensen for flere detaljer.
  13. //
  14. // En dansk oversaettelse af licensen kan laeses her:
  15. // http://www.fundanemt.com/gpl_da.html
  16. //
  17. // Copyright (c) 2004-2007 DANOSOFT ApS
  18. // ----------------------------------------------------------------------
  19. @session_start();
  20. $s_id=session_id();
  21. $title="Vareimport";
  22. include("../includes/connect.php");
  23. include("../includes/online.php");
  24. include("../includes/dkdato.php");
  25. include("../includes/dkdecimal.php");
  26. include("../includes/db_query.php");
  27. print "<table width=\"100%\" height=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tbody>";
  28. print "<tr><td height = \"25\" align=\"center\" valign=\"top\">";
  29. print "<table width=\"100%\" align=\"center\" border=\"0\" cellspacing=\"1\" cellpadding=\"0\"><tbody>";
  30. print "<td width=\"10%\" $top_bund>$font<small><a href=varer.php? accesskey=L>Luk</a></small></td>";
  31. print "<td width=\"80%\" $top_bund align=\"center\">$font<small>Vareimport</small></td>";
  32. print "<td width=\"10%\" $top_bund align=\"right\">$font</td>";
  33. print "</tbody></table>";
  34. print "</td></tr>";
  35. if($_POST) {
  36. $submit=trim($_POST[submit]);
  37. $filnavn=$_POST['filnavn'];
  38. $splitter=$_POST['splitter'];
  39. $feltnavn=$_POST['feltnavn'];
  40. $feltantal=$_POST['feltantal'];
  41. $leverandor=$_POST['leverandor'];
  42. $varegrp=$_POST['varegrp'];
  43. $rabat=$_POST['rabat'];
  44. echo "Submit $submit<br>";
  45. if ($submit=="Flyt") {
  46. flyt_data($filnavn,$leverandor,$varegrp, $rabat);
  47. }
  48. if (basename($_FILES['uploadedfile']['name'])) {
  49. $filnavn = "../temp/" . basename( $_FILES['uploadedfile']['name']);
  50. if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $filnavn)) {
  51. # echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded";
  52. vis_data($filnavn, $leverandor,$varegrp, $rabat);
  53. # vis_data($kladde_id, $_FILES['uploadedfile']['name'], '', '', 1);
  54. }else{
  55. echo "Der er sket en fejl ved hentningen af filen, pr&oslash;v igen!";
  56. }
  57. exit;
  58. }
  59. elseif($submit=='Vis'){
  60. vis_data($filnavn, $leverandor,$varegrp, $rabat);
  61. } else upload();
  62. } else upload();
  63. print "</tbody></table>";
  64. ################################################################################################################
  65. function upload(){
  66. global $font;
  67. print "<tr><td width=100% align=center><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tbody>";
  68. print "<form enctype=\"multipart/form-data\" action=\"vvsimport.php\" method=\"POST\">";
  69. print "<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"9999999\" />";
  70. print "<input type=\"hidden\" name=\"kladde_id\" value=$kladde_id />";
  71. print "<tr><td width=100% align=center>$font V&aelig;lg datafil: <input name=\"uploadedfile\" type=\"file\" /><br /></td></tr>";
  72. print "<tr><td><br></td></tr>";
  73. print "<tr><td align=center><input type=\"submit\" value=\"Hent\" /></td></tr>";
  74. print "<tr><td></form></td></tr>";
  75. print "</tbody></table>";
  76. print "</td></tr>";
  77. }
  78. function vis_data($filnavn, $leverandor, $varegrp, $rabat) {
  79. global $font;
  80. list($kontonr, $tmp)=explode(" : ", $leverandor);
  81. if (!$feltnavn) $feltnavn=array();
  82. $fp=fopen("../temp/".$filnavn,"r");
  83. print "<tr><td width=100% align=center><table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"1\"><tbody>";
  84. print "<form enctype=\"multipart/form-data\" action=\"vvsimport.php\" method=\"POST\">";
  85. print "&nbsp; Leverand&oslash;r &nbsp;<select name=leverandor>\n";
  86. if ($leverandor) print "<option>$leverandor</option>\n";
  87. $q = db_select("select * from adresser where art='K' order by firmanavn");
  88. print "<option></option>";
  89. while ($r = db_fetch_array($q)) {
  90. if ($r[kontonr]!=$kontonr) print "<option>$r[kontonr] : $r[firmanavn]</option>";
  91. }
  92. print "</select>";
  93. if (!in_array('Varegrp.', $feltnavn)) {
  94. print "&nbsp; Varegrp. &nbsp;<select name=varegrp>\n";
  95. if ($varegrp) print "<option>$varegrp</option>\n";
  96. $q = db_select("select * from grupper where art='VG'");
  97. print "<option></option>";
  98. while ($r = db_fetch_array($q)) {
  99. if ($r[kodenr]!=$kodenr) print "<option>$r[kodenr] : $r[beskrivelse]</option>";
  100. }
  101. print "</select>";
  102. }
  103. print "&nbsp; Rabat &nbsp;<input type=text name = rabat size=2 value=$rabat>&nbsp;%\n";
  104. print "<input type=\"hidden\" name=\"filnavn\" value=$filnavn>";
  105. print "<input type=\"hidden\" name=\"feltantal\" value=$feltantal>";
  106. print "&nbsp; <input type=\"submit\" name=submit value=\"Vis\" />";
  107. if ($leverandor && $varegrp && $rabat) {
  108. print "&nbsp; <input type=\"submit\" name=submit value=\"Flyt\" />";
  109. }
  110. print "</form>";
  111. print "</td></tr>";
  112. print "<tr><td>Varenr.</td>";
  113. print "<td>Beskrivelse</td>\n";
  114. print "<td>Salgspris</td>\n";
  115. print "<td>Kostpris</td>\n";
  116. print "<td>Enhed</td>\n";
  117. $fp=fopen("../temp/".$filnavn,"r");
  118. if ($fp) {
  119. $x=0;
  120. while (!feof($fp)) {
  121. $x++;
  122. $linje=fgets($fp);
  123. $felt=array();
  124. print "<tr>";
  125. $felt[0]=substr($linje,1,10);
  126. $felt[1]=substr($linje,12,35);
  127. $felt[2]=substr($linje,47,10);
  128. $felt[3]=substr($linje,58,3);
  129. $felt[4]=substr($linje,61,3);
  130. $felt[5]=substr($linje,64,1);
  131. $felt[6]=substr($linje,65,3);
  132. $felt[1]=str_replace(chr(145),"ć",$felt[1]);
  133. $felt[1]=str_replace(chr(155),"ř",$felt[1]);
  134. $felt[1]=str_replace(chr(134),"ĺ",$felt[1]);
  135. $felt[1]=str_replace(chr(146),"Ć",$felt[1]);
  136. $felt[1]=str_replace(chr(157),"Ř",$felt[1]);
  137. $felt[1]=str_replace(chr(143),"Ĺ",$felt[1]);
  138. for ($y=0; $y<$feltantal; $y++) {
  139. if ($feltnavn[$y] == 'Varegrp.' && !in_array($felt[$y], $feltnavn)) $linjefarve[$x]='red';
  140. }
  141. for ($y=0; $y<=3; $y++) {
  142. if ((substr($felt[$y],0,1) == '"')&&(substr($felt[$y],-1) == '"')) $felt[$y]=substr($felt[$y],1,strlen($felt[$y])-2);
  143. if ($y==2) {
  144. $tmp=dkdecimal($felt[$y]/100);
  145. print "<td><FONT COLOR=#000000><small>$tmp&nbsp;</small></td>";
  146. $tmp=dkdecimal(($felt[$y]/100)-($felt[$y]/10000*$rabat));
  147. print "<td><FONT COLOR=#000000><small>$tmp&nbsp;</small></td>";
  148. }
  149. else print "<td><FONT COLOR=#000000><small>$felt[$y]&nbsp;</small></td>";
  150. }
  151. print "</tr>";
  152. }
  153. if ($linjefarve) print "<BODY onLoad=\"javascript:alert('Rřde linjer vil ikke blive importeret - varegruppe findes ikke')\">";
  154. }
  155. fclose($fp);
  156. print "</tbody></table>";
  157. print "</td></tr>";
  158. }
  159. function flyt_data($filnavn,$leverandor,$varegrp, $rabat)
  160. {
  161. global $font;
  162. list($kontonr, $tmp)=explode(" : ", $leverandor);
  163. $kontonr=trim($kontonr);
  164. list($lev_kontonr, $tmp)=explode(":",$leverandor);
  165. list($gruppe, $tmp)=explode(":",$varegrp);
  166. $gruppe=trim($gruppe);
  167. $r = db_fetch_array(db_select("select id from adresser where kontonr = $lev_kontonr"));
  168. $lev_id=$r[id];
  169. $x=0;
  170. $q = db_select("select varenr from varer");
  171. while ($r = db_fetch_array($q)) {
  172. $x++;
  173. $exist_vnr[$x]=$r['varenr'];
  174. }
  175. $fp=fopen("../temp/".$filnavn,"r");
  176. if ($fp) {
  177. transaktion('begin');
  178. $x=0;
  179. while (!feof($fp)) {
  180. $x++;
  181. $linje=fgets($fp);
  182. $felt=array();
  183. $felt[0]=substr($linje,1,10);
  184. $felt[1]=substr($linje,12,35);
  185. $felt[2]=substr($linje,47,10);
  186. $felt[3]=substr($linje,58,3);
  187. $felt[4]=substr($linje,61,3);
  188. $felt[5]=substr($linje,64,1);
  189. $felt[6]=substr($linje,65,3);
  190. $felt[7]=substr($linje,6,3);
  191. $felt[1]=str_replace(chr(145),"ć",$felt[1]);
  192. $felt[1]=str_replace(chr(155),"ř",$felt[1]);
  193. $felt[1]=str_replace(chr(134),"ĺ",$felt[1]);
  194. $felt[1]=str_replace(chr(146),"Ć",$felt[1]);
  195. $felt[1]=str_replace(chr(157),"Ř",$felt[1]);
  196. $felt[1]=str_replace(chr(143),"Ĺ",$felt[1]);
  197. for ($y=0; $y<6; $y++) {
  198. if ((substr($felt[$y],0,1) == '"')&&(substr($felt[$y],-1) == '"')) $felt[$y]=substr($felt[$y],1,strlen($felt[$y])-2);
  199. if ($y==0) {
  200. $varenr=trim($felt[$y]);
  201. $lev_varenr=trim($felt[$y]);
  202. }
  203. elseif ($y==1) $beskrivelse=addslashes(trim($felt[$y]));
  204. elseif ($y==2) {
  205. $salgspris=$felt[$y]/100;
  206. if ($rabat) {
  207. $kostpris=($felt[$y]/100)-($felt[$y]/10000*$rabat);
  208. }
  209. }
  210. elseif ($y==3) $enhed=trim($felt[$y]);
  211. elseif ($y==5) {
  212. if ($felt[$y]=="S") $lukket='1';
  213. else $lukket='0';
  214. }
  215. }
  216. if (in_array($varenr,$exist_vnr)) {
  217. db_modify("update varer set beskrivelse='$beskrivelse', salgspris='$salgspris', kostpris='$kostpris', enhed='$enhed', gruppe='$gruppe', lukket='$lukket' where varenr='$varenr'");
  218. $r=db_fetch_array(db_select("select id from varer where varenr='$varenr'"));
  219. $r2=db_fetch_array(db_select("select id from vare_lev where vare_id='$r[id]' and lev_id='$lev_id'"));
  220. if ($r2[id]) db_modify("update vare_lev set kostpris=$kostpris[$y], lev_varenr=$lev_varenr[$y] where id='$r2[id]'");
  221. else db_modify("insert into vare_lev(vare_id, lev_id, lev_varenr, kostpris) values ('$r[id]', '$lev_id', '$lev_varenr', '$kostpris')");
  222. } else {
  223. db_modify("insert into varer (varenr, beskrivelse, salgspris, kostpris, enhed, gruppe, lukket) values ('$varenr', '$beskrivelse', '$salgspris', '$kostpris', '$enhed', '$gruppe', '$lukket')");
  224. $r=db_fetch_array(db_select("select id from varer where varenr='$varenr'"));
  225. db_modify("insert into vare_lev(vare_id, lev_id, lev_varenr, kostpris) values ('$r[id]', '$lev_id', '$lev_varenr', '$kostpris')");
  226. }
  227. }
  228. transaktion('commit');
  229. }
  230. fclose($fp);
  231. print "</tbody></table>";
  232. print "</td></tr>";
  233. }
  234. ?>