PageRenderTime 47ms CodeModel.GetById 20ms RepoModel.GetById 1ms app.codeStats 0ms

/soapserver/invoice.php

https://github.com/nielsrune/saldi
PHP | 117 lines | 87 code | 6 blank | 24 comment | 15 complexity | 470950970a3e37d42403c21ee227eb03 MD5 | raw file
Possible License(s): LGPL-2.1
  1. <?php
  2. // #----------------- soapserver/invoice.php -----ver 3.2.4---- 2011.10.25 ----------
  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-2011 DANOSOFT ApS
  22. // ----------------------------------------------------------------------
  23. ini_set("soap.wsdl_cache_enabled", "0");
  24. function invoice($string) {
  25. $webservice='1';
  26. $fp=fopen("../temp/invoice.log","w");
  27. list($s_id,$tmp)=explode(chr(9),$string);
  28. if (!$s_id) return('1'.chr(9)."Missing session ID");
  29. # include("../includes/select.php");
  30. include ("../includes/connect.php");
  31. include ("../includes/online.php");
  32. include ("../includes/std_func.php");
  33. include ("../includes/ordrefunc.php");
  34. include ("../includes/formfunk.php");
  35. $linje=NULL;
  36. $ordre_id=str_replace($s_id,"",$string);
  37. $ordre_id=str_replace(chr(9),"",$ordre_id);
  38. $ordre_id=str_replace(chr(10),"",$ordre_id);
  39. $ordre_id=str_replace(chr(13),"",$ordre_id);
  40. # $ordre_id=str_replace(" ","",$ordre_id);
  41. $ordre_id=strtolower($ordre_id);
  42. list($table,$tmp)=explode("set",$ordre_id,2);
  43. $table=trim($table);
  44. $r=db_fetch_array(db_select("select momssats from ordrer where id = '$ordre_id'",__FILE__ . " linje " . __LINE__));
  45. $momssats=$r['momssats']*1;
  46. $x=0;
  47. $ordresum=0;
  48. $momssum=0;
  49. $kostsum=0;
  50. $momsdiff=0;
  51. $q=db_select("select * from ordrelinjer where ordre_id = '$ordre_id'",__FILE__ . " linje " . __LINE__);
  52. while ($r=db_fetch_array($q)) {
  53. if ($r['vare_id']) {
  54. $linjesum=$r['pris']*$r['antal']-($r['pris']*$r['antal']*$r['rabat']/100);
  55. $ordresum+=$linjesum;
  56. $linjemoms=$linjesum*$r['momssats']/100;
  57. $momssum+=$linjemoms;
  58. if ($r['momssats']!=$momssats || $r['momsfri']) $momsdiff=1;
  59. $kostsum+=$r['kostpris']*$r['antal'];
  60. }
  61. $ordresum=afrund($ordresum,2);
  62. if (!$momsdiff) $momssum=$ordresum*$momssats/100;
  63. $momssum=afrund($momssum,2);
  64. }
  65. transaktion('begin');
  66. $linje="update ordrer set status = '2',levdate = ordredate,fakturadate = ordredate,sum='$ordresum',moms='$momssum',udskriv_til='email',mail_fakt='on',momssats='$momssats',kostpris='$kostsum',projekt='' where id = '$ordre_id'";
  67. fwrite($fp,$linje."\n");
  68. $svar=db_modify($linje,__FILE__ . " linje " . __LINE__);
  69. list($fejl,$svar)=explode(chr(9),$svar);
  70. if ($fejl) return($fejl.chr(9).$svar);
  71. $linje="update ordrelinjer set projekt = '' where ordre_id = '$ordre_id'";
  72. fwrite($fp,$linje."\n");
  73. $svar=db_modify($linje,__FILE__ . " linje " . __LINE__);
  74. list($fejl,$svar)=explode(chr(9),$svar);
  75. if ($fejl) return($fejl.chr(9).$svar);
  76. $linje="update ordrelinjer set leveres = antal where ordre_id = '$ordre_id' and vare_id>'0'";
  77. fwrite($fp,$linje."\n");
  78. $svar=db_modify($linje,__FILE__ . " linje " . __LINE__);
  79. list($fejl,$svar)=explode(chr(9),$svar);
  80. if ($fejl) return($fejl.chr(9).$svar);
  81. $linje="levering($ordre_id,'on','','on')";
  82. fwrite($fp,$linje."\n");
  83. $svar=levering($ordre_id,'on','','on');
  84. if ($svar!='OK') return('1'.chr(9).$svar);
  85. $linje="update ordrelinjer set leveret = antal,leveres='0' where ordre_id = '$ordre_id' and vare_id>'0'";
  86. fwrite($fp,$linje."\n");
  87. $svar=db_modify($linje,__FILE__ . " linje " . __LINE__);
  88. $linje="bogfor($ordre_id,'on')";
  89. fwrite($fp,$linje."\n");
  90. $svar=bogfor($ordre_id,'on');
  91. list($fejl,$svar)=explode(chr(9),$svar);
  92. fwrite($fp,$fejl." ".$svar."\n");
  93. if ($fejl!='OK') {
  94. $linje="$fejl";
  95. # fwrite($fp,$linje."\n");
  96. return('1'.chr(9).$fejl);
  97. } else transaktion('commit');
  98. $linje="formularprint($ordre_id,'4','1',$charset,'email')";
  99. fwrite($fp,$linje."\n");
  100. $svar=formularprint($ordre_id,'4','1',$charset,'email');
  101. fwrite($fp,$linje."Svar ".$svar."\n");
  102. if ($svar && $svar!='OK') return('1'.chr(9).$svar);
  103. else {
  104. fclose($fp);
  105. return('0'.chr(9).$ordre_id);
  106. }
  107. }
  108. $server = new SoapServer("invoice.wsdl");
  109. $server->addFunction("invoice");
  110. $server->handle();
  111. ?>