PageRenderTime 48ms CodeModel.GetById 17ms RepoModel.GetById 1ms app.codeStats 0ms

/finans/kontrolspor.php

https://github.com/nielsrune/saldi
PHP | 311 lines | 270 code | 17 blank | 24 comment | 21 complexity | af2d8433e16002f4b17ed565333727ba MD5 | raw file
Possible License(s): LGPL-2.1
  1. <?php
  2. // ----------finans/kontrolspor.php-------------lap 3.2.5-----2011-11-27-----
  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) 2003-2011 DANOSOFT ApS
  22. // ----------------------------------------------------------------------
  23. ob_start();
  24. @session_start();
  25. $s_id=session_id();
  26. $title="Kontrolspor";
  27. $modulnr=4;
  28. $css="../css/standard.css";
  29. print "<script LANGUAGE=\"JavaScript\" SRC=\"../javascript/overlib.js\"></script>";
  30. include("../includes/connect.php");
  31. include("../includes/online.php");
  32. include("../includes/std_func.php");
  33. include("../includes/udvaelg.php");
  34. $id = $_GET['id'];
  35. $kontonr = $_GET['kontonr'];
  36. $bilag = $_GET['bilag'];
  37. $transdate = $_GET['transdate'];
  38. $logdate = $_GET['logdate'];
  39. $logtime = $_GET['logtime'];
  40. $debet = $_GET['debet'];
  41. $kredit = $_GET['kredit'];
  42. $kladde_id = $_GET['kladde_id'];
  43. $projekt_id=$_GET['projekt_id'];
  44. $afd=$_GET['afd'];
  45. $beskrivelse=$_GET['beskrivelse'];
  46. $faktura=$_GET['faktura'];
  47. $sort = $_GET['sort'];
  48. $nysort = $_GET['nysort'];
  49. $idnumre = $_GET['idnumre'];
  50. $kontonumre = $_GET['kontonumre'];
  51. $fakturanumre = $_GET['fakturanumre'];
  52. $bilagsnumre = $_GET['bilagsnumre'];
  53. $debetbelob = $_GET['debetbelob'];
  54. $kreditbelob = $_GET['kreditbelob'];
  55. $transdatoer = $_GET['transdatoer'];
  56. $logdatoer = $_GET['logdatoer'];
  57. $logtid = $_GET['logtid'];
  58. $kladdenumre = $_GET['kladdenumre'];
  59. $projektnumre = $_GET['projektnumre'];
  60. $beskrivelse = $_GET['beskrivelse'];
  61. $start = $_GET['start'];
  62. $csv = if_isset($_GET['csv']);
  63. if ($submit=$_POST['submit']){
  64. $linjeantal = trim($_POST['linjeantal']);
  65. $idnumre = trim($_POST['idnumre']);
  66. $kontonumre = trim($_POST['kontonumre']);
  67. $fakturanumre = trim($_POST['fakturanumre']);
  68. $bilagsnumre = trim($_POST['bilagsnumre']);
  69. $debetbelob = trim($_POST['debetbelob']);
  70. $kreditbelob = trim($_POST['kreditbelob']);
  71. $transdatoer = trim($_POST['transdatoer']);
  72. $logdatoer = trim($_POST['logdatoer']);
  73. $logtid = trim($_POST['logtid']);
  74. $kladdenumre = trim($_POST['kladdenumre']);
  75. $projektnumre = trim($_POST['projektnumre']);
  76. $beskrivelse = trim($_POST['beskrivelse']);
  77. $sort = $_POST['sort'];
  78. $nysort = $_POST['nysort'];
  79. $cookievalue="$idnumre;$kontonumre;$fakturanumre;$bilagsnumre;$debetbelob;$kreditbelob;$transdatoer;$logdatoer;$logtid;$kladdenumre;$projeknumre;$beskrivelse;$linjeantal";
  80. setcookie("saldi_kontrolspor", $cookievalue);
  81. } else {
  82. list ($idnumre, $kontonumre, $fakturanumre, $bilagsnumre, $debetbelob, $kreditbelob, $transdatoer, $logdatoer, $logtid, $kladdenumre, $projeknumre, $beskrivelse, $linjeantal) = explode(";", $_COOKIE['saldi_kontrolspor']);
  83. $beskrivelse=str_replace("semikolon",";",$beskrivelse);
  84. }
  85. ob_end_flush(); //Sender det "bufferede" output afsted...
  86. if (!$idnumre&&!$kontonumre&&!$fakturanumre&&!$bilagsnumre&&!$debetbelob&&!$kreditbelob&&!$transdatoer&&!$logdatoer&&!$logtid&&!$kladdenumre&&!$projeknumre&&!$beskrivelse) {
  87. $r=db_fetch_array(db_select("select * from grupper where art = 'RA' and kodenr='$regnaar'",__FILE__ . " linje " . __LINE__));
  88. $transdatoer="01".$r['box1'].substr($r['box2'],-2).":31".$r['box3'].substr($r['box4'],-2);
  89. }
  90. $r=db_fetch_array(db_select("select * from grupper where art = 'PRJ' and kodenr!='0'",__FILE__ . " linje " . __LINE__));
  91. $vis_projekt=$r['id'];
  92. if ($logtid) {
  93. list ($h,$m)=explode(":",$logtid);
  94. $h=$h*1;
  95. $m=$m*1;
  96. if (strlen($h)>2) $h=substr($h,-2);
  97. if (strlen($m)>2) $m=substr($m,-2);
  98. $logtid="$h:$m";
  99. }
  100. # $valg="idnumre=$idnumre&kontonumre=$kontonumre&fakturanumre=$fakturanumre&bilagsnumre$bilagsnumre&debetbelob=$debetbelob&kreditbelob=$kreditbelob&transdatoer=$transdatoer&logdatoer=$logdatoer&logtid=$logtid&kladdenumre=$kladdenumre&projeknumre=$projeknumre&$beskrivelse = $_GET['beskrivelse'];
  101. $tidspkt=date("U");
  102. $modulnr=2;
  103. if (!$sort) {$sort = "id desc";}
  104. elseif ($nysort==$sort){$sort=$sort." desc";}
  105. elseif ($nysort) {$sort=$nysort;}
  106. print "<table width=100% height=100% border=0 cellspacing=0 cellpadding=0><tbody>";
  107. print "<tr><td height = 25 align=center valign=top>";
  108. print "<table width=100% align=center border=0 cellspacing=2 cellpadding=0><tbody>";
  109. print "<tr>";
  110. print "<td width=10% $top_bund>";
  111. if ($popup) print "<a href=../includes/luk.php accesskey=L>Luk</a></td>";
  112. else print "<a href=rapport.php accesskey=L>Luk</a></td>";
  113. print "<td width=80% $top_bund>Kontrolspor</td>";
  114. print "<td width=10% $top_bund><a href=kontrolspor.php?sort=$sort&valg=$valg$hreftext&csv=1' title=\"".findtekst(505,$sprog_id)."\">CSV</a></td>";
  115. print "</tr>\n";
  116. print "<tr>";
  117. print "<form name=transaktionsliste action=kontrolspor.php method=post>";
  118. if (!$linjeantal) $linjeantal=50;
  119. # echo "A next $next start $start | linjeantal $linjeantal<br>";
  120. $next=udskriv($idnumre, $bilagsnumre, $kladdenumre, $fakturanumre, $kontonumre, $transdatoer, $logdatoer, $debetbelob, $kreditbelob, $logtid, $beskrivelse, $sort, $start+50,'',$projektnumre);
  121. # echo "B next $next start $start | linjeantal $linjeantal<br>";
  122. if ($start>=$linjeantal) {
  123. $tmp=$start-$linjeantal;
  124. print "<td><a href='kontrolspor.php?sort=$sort&start=$tmp'><img src=../ikoner/left.png style=\"border: 0px solid; width: 15px; height: 15px;\"></a></td>";
  125. } else print "<td></td>";
  126. print "<td align=center><span title= 'Angiv maksimale antal linjer, som skal vises pr. side'><input class=\"inputbox\" type=text style=\"text-align:right;width:30px\" name=\"linjeantal\" value=\"$linjeantal\"></td>";
  127. $tmp=$start+$linjeantal;
  128. if ($next>0) {
  129. print "<td align=right><a href='kontrolspor.php?sort=$sort&start=$tmp'><img src=../ikoner/right.png style=\"border: 0px solid; width: 15px; height: 15px;\"></a></td>";
  130. } else print "<td></td>";
  131. print "</tr>\n";
  132. print "</tbody></table>";
  133. print " </td></tr><tr><td align=center valign=top>";
  134. print "<table cellpadding=1 cellspacing=1 border=0 width=100% valign = top>";
  135. print "<tbody>";
  136. print "<tr>";
  137. print "<td align=center><b><a href='kontrolspor.php?nysort=id&sort=$sort&valg=$valg$hreftext'>Id</b></td>";
  138. print "<td align=center><b><a href='kontrolspor.php?nysort=transdate&sort=$sort&valg=$valg$hreftext'>Dato</a></b></td>";
  139. print "<td align=center><b><a href='kontrolspor.php?nysort=logdate&sort=$sort&valg=$valg$hreftext'>Log. dato</a></b></td>";
  140. print "<td align=center><b>Tidspkt.</a></b></td>";
  141. print "<td align=center><b><a href='kontrolspor.php?nysort=kladde_id&sort=$sort&valg=$valg$hreftext'>Kladde</a></b></td>";
  142. print "<td align=center><b><a href='kontrolspor.php?nysort=bilag&sort=$sort&valg=$valg$hreftext'>Bilag</a></b></td>";
  143. print "<td align=center><b><a href='kontrolspor.php?nysort=kontonr&sort=$sort&valg=$valg$hreftext'>Konto</b></td>";
  144. print "<td align=center><b><a href='kontrolspor.php?nysort=faktura&sort=$sort&valg=$valg$hreftext'>Fakturanr</a></b></td>";
  145. print "<td align=center><b><a href='kontrolspor.php?nysort=debet&sort=$sort&valg=$valg$hreftext'>Debet</a></b></td>";
  146. print "<td align=center><b><a href='kontrolspor.php?nysort=kredit&sort=$sort&valg=$valg$hreftext'>Kredit</a></b></td>";
  147. if($vis_projekt) print "<td align=center><b><a href='kontrolspor.php?nysort=projekt&sort=$sort&valg=$valg$hreftext'>Projekt</a></b></td>";
  148. print "<td align=center><b><a href='kontrolspor.php?nysort=beskrivelse&sort=$sort&valg=$valg$hreftext'>S&oslash;getekst</a></b></td>";
  149. print "</tr>\n";
  150. print "<form name=ordreliste action=kontrolspor.php method=post>";
  151. print "<input type=hidden name=valg value=\"$valg\">";
  152. print "<input type=hidden name=sort value=\"$sort\">";
  153. #print "<input type=hidden name=nysort value=\"$nysort\">";
  154. print "<input type=hidden name=kontoid value=\"$kontoid\">";
  155. print "<input type=hidden name=start value=\"$start\">";
  156. print "<tr>";
  157. print "<td align=right><span title= 'Angiv et id-nummer eller angiv to adskilt af kolon (f.eks 345:350)'><input class=\"inputbox\" type=\"text\" style=\"text-align:right;width:50px\" name=\"idnumre\" value=\"$idnumre\"></td>";
  158. print "<td align=right><span title= 'Angiv en dato eller angiv to adskilt af kolon (f.eks 010605:300605)'><input class=\"inputbox\" type=\"text\" style=\"text-align:right;width:80px\" name=\"transdatoer\" value=\"$transdatoer\"></td>";
  159. print "<td align=right><span title= 'Angiv en dato eller angiv to adskilt af kolon (f.eks 010605:300605)'><input class=\"inputbox\" type=\"text\" style=\"text-align:right;width:80px\" name=\"logdatoer\" value=\"$logdatoer\"></td>";
  160. print "<td align=right><span title= 'Angiv et tidspunkt (f.eks 17:35)'><input class=\"inputbox\" type=\"text\" style=\"text-align:right;width:50px\" name=\"logtid\" value=\"$logtid\"></td>";
  161. print "<td align=right><span title= 'Angiv et kassekladdenummer eller angiv to adskilt af kolon (f.eks 345:350)'><input class=\"inputbox\" type=\"text\" style=\"text-align:right;width:50px\" name=\"kladdenumre\" value=\"$kladdenumre\"></td>";
  162. print "<td align=right><span title= 'Angiv et bilagsnummer eller angiv to adskilt af kolon (f.eks 345:350)'><input class=\"inputbox\" type=\"text\" style=\"text-align:right;width:50px\" name=\"bilagsnumre\" value=\"$bilagsnumre\"></td>";
  163. print "<td align=right><span title= 'Angiv et kontonummer eller angiv to adskilt af kolon (f.eks 345:350)'><input class=\"inputbox\" type=\"text\" style=\"text-align:right;width:50px\" name=\"kontonumre\" value=\"$kontonumre\"></td>";
  164. print "<td align=right><span title= 'Angiv et fakturanummer eller angiv to adskilt af kolon (f.eks 345:350)'><input class=\"inputbox\" type=\"text\" style=\"text-align:right;width:50px\" name=\"fakturanumre\" value=\"$fakturanumre\"></td>";
  165. print "<td align=right><span title= 'Angiv et bel&oslash;b eller angiv to adskilt af kolon (f.eks 10000,00:14999,99)'><input class=\"inputbox\" type=\"text\" style=\"text-align:right;width:80px\" name=\"debetbelob\" value=\"$debetbelob\"></td>";
  166. print "<td align=right><span title= 'Angiv et bel&oslash;b eller angiv to adskilt af kolon (f.eks 10000,00:14999,99)'><input class=\"inputbox\" type=\"text\" style=\"text-align:right;width:80px\" name=\"kreditbelob\" value=\"$kreditbelob\"></td>";
  167. if ($vis_projekt) print "<td align=right><span title= 'Angiv et projektnummer eller angiv to adskilt af kolon (f.eks 5:7)'><input class=\"inputbox\" type=\"text\" style=\"text-align:right;width:200px\" name=\"projektnumre\" value=\"$projektnumre\"></td>";
  168. print "<td><span title= 'Angiv en s&oslash;getekst. Der kan anvendes * f&oslash;r og efter teksten'><input class=\"inputbox\" type=\"text\" style=\"text-align:left;width:200px\" size=35 name=beskrivelse value=\"$beskrivelse\"></td>";
  169. print "<td><input type=submit value=\"OK\" name=\"submit\"></td>";
  170. print "</form></tr>\n";
  171. udskriv($idnumre,$bilagsnumre,$kladdenumre,$fakturanumre,$kontonumre,$transdatoer,$logdatoer,$debetbelob,$kreditbelob,$logtid,$beskrivelse,$sort,$start,'skriv',$projektnumre);
  172. ####################################################################################
  173. function udskriv($idnumre, $bilagsnumre, $kladdenumre, $fakturanumre,$kontonumre,$transdatoer,$logdatoer,$debetbelob,$kreditbelob,$logtid,$beskrivelse,$sort,$start,$skriv,$projektnumre) {
  174. global $bgcolor;
  175. global $bgcolor5;
  176. global $linjeantal;
  177. global $regnaar;
  178. global $vis_projekt;
  179. global $rettigheder;
  180. global $csv;
  181. if ($sort=='id') $sort='transaktioner.id';
  182. $ret_projekt=substr($rettigheder,1,1);
  183. if ($csv) {
  184. $fp=fopen("../temp/$db/kontrolspor.csv","w");
  185. fwrite($fp,"Id".chr(9)."Dato".chr(9)."Logdato".chr(9)."Logtid".chr(9)."Kladde id".chr(9)."Bilag".chr(9)."Kontonr".chr(9)."Kontonavn".chr(9)."Faktura".chr(9)."Debet".chr(9)."Kredit".chr(9)."Projekt".chr(9)."Beskrivelse\n");
  186. }
  187. $udvaelg='';
  188. if ($idnumre) $udvaelg=$udvaelg.udvaelg($idnumre, 'transaktioner.id', 'NR');
  189. if ($bilagsnumre) $udvaelg=$udvaelg.udvaelg($bilagsnumre, 'transaktioner.bilag', 'NR');
  190. if ($kladdenumre) $udvaelg=$udvaelg.udvaelg($kladdenumre, 'transaktioner.kladde_id', 'NR');
  191. if ($fakturanumre) $udvaelg=$udvaelg.udvaelg($fakturanumre, 'transaktioner.faktura', 'TEXT');
  192. if ($kontonumre) $udvaelg=$udvaelg.udvaelg($kontonumre, 'transaktioner.kontonr', 'NR');
  193. if ($transdatoer) $udvaelg=$udvaelg.udvaelg($transdatoer, 'transaktioner.transdate', 'DATO');
  194. if ($logdatoer) $udvaelg=$udvaelg.udvaelg($logdatoer, 'transaktioner.logdate', 'DATO');
  195. if ($debetbelob) $udvaelg=$udvaelg.udvaelg($debetbelob, 'transaktioner.debet', 'BELOB');
  196. if ($kreditbelob) $udvaelg=$udvaelg.udvaelg($kreditbelob, 'transaktioner.kredit', 'BELOB');
  197. if ($projektnumre) $udvaelg=$udvaelg.udvaelg($projektnumre, 'transaktioner.projekt', '');
  198. if ($logtid) $udvaelg=$udvaelg.udvaelg($logtid, 'transaktioner.logtime', 'TID');
  199. $udvaelg=trim($udvaelg);
  200. if (substr($udvaelg,0,3)=='and') $udvaelg="where".substr($udvaelg, 3);
  201. if ($sort=="logdate") $sort = $sort.", logtime";
  202. $beskrivelse=trim(strtolower($beskrivelse));
  203. if (substr($beskrivelse,0,1)=='*'){
  204. $beskrivelse=substr($beskrivelse,1);
  205. $startstjerne=1;
  206. }
  207. if (substr($beskrivelse,-1,1)=='*') {
  208. $beskrivelse=substr($beskrivelse,0,strlen($beskrivelse)-1);
  209. $slutstjerne=1;
  210. }
  211. $b_strlen=strlen($beskrivelse);
  212. if (!$udvaelg) $udvaelg="where";
  213. else $udvaelg=$udvaelg." and";
  214. $x=0;
  215. # echo "select transaktioner.*, kontoplan.beskrivelse as kontonavn from transaktioner, kontoplan $udvaelg kontoplan.regnskabsaar='$regnaar' and kontoplan.kontonr = transaktioner.kontonr order by $sort<br>";
  216. $query = db_select("select transaktioner.*, kontoplan.beskrivelse as kontonavn from transaktioner, kontoplan $udvaelg kontoplan.regnskabsaar='$regnaar' and kontoplan.kontonr = transaktioner.kontonr order by $sort",__FILE__ . " linje " . __LINE__);
  217. while ($row =db_fetch_array($query)) {
  218. if (($beskrivelse)&&($row['beskrivelse'])){
  219. $udskriv=0;
  220. if ($startstjerne){
  221. if ($slutstjerne) {
  222. if (strpos(strtolower($row['beskrivelse']), $beskrivelse)) $udskriv=1;
  223. } elseif (substr(strtolower($row['beskrivelse']),-$b_strlen,$b_strlen)==$beskrivelse) $udskriv=1;
  224. } elseif ($slutstjerne) {
  225. if (substr(strtolower($row['beskrivelse']),0,$b_strlen)==$beskrivelse) $udskriv=1;
  226. } elseif (strtolower($row['beskrivelse']) == $beskrivelse) $udskriv=1;
  227. } else $udskriv=1;
  228. if ($udskriv) $x++;
  229. # echo "(($x>=$start)&&($x<$start+$linjeantal) && ($udskriv))<br>";
  230. if ((($x>=$start)&&($x<$start+$linjeantal) && ($udskriv)) || $csv){
  231. $y++;
  232. if ($csv || $skriv) {
  233. # echo "Y1 $y<br>";
  234. $transdato=dkdato($row['transdate']);
  235. $logdato=dkdato($row['logdate']);
  236. $debetsum=afrund($debetsum+$row['debet'],2);
  237. $kreditsum=afrund($kreditsum+$row['kredit'],2);
  238. if ($skriv && !$csv) {
  239. if ($linjebg!=$bgcolor) {$linjebg=$bgcolor; $color='#000000';}
  240. else {$linjebg=$bgcolor5; $color='#000000';}
  241. print "<tr bgcolor=\"$linjebg\">";
  242. print "<td align=right> $row[id]</span><br></td>";
  243. print "<td align=right> $transdato<br></td>";
  244. print "<td align=right> $logdato<br></td>";
  245. print "<td align=right>". substr($row['logtime'],0,5)."<br></td>";
  246. print "<td align=right> $row[kladde_id]<br></td>";
  247. print "<td align=right> $row[bilag]<br></td>";
  248. print "<td align=right><span title='$row[kontonavn]'>$row[kontonr]<br></span></td>";
  249. print "<td align=right> $row[faktura]<br></td>";
  250. if ($row[debet]) print "<td align=right> ".dkdecimal($row['debet'])."<br></td>";
  251. else print "<td>&nbsp;</td>";
  252. if ($row[kredit]) print "<td align=right> ".dkdecimal($row['kredit'])."<br></td>";
  253. else print "<td>&nbsp;</td>";
  254. if ($vis_projekt) {
  255. ($row['projekt'] && $ret_projekt)?$title="Projektnummeret kan rettes ved at klikke her":$title=NULL;
  256. ($ret_projekt)?$tmp="<a href=\"../includes/ret_transaktion.php?id=$row[id]&felt=projekt\">$row[projekt]</a>":$tmp=$row['projekt'];
  257. print "<td align=right title=\"$title\">$tmp<br></td>";
  258. }
  259. print "<td> &nbsp; $row[beskrivelse]<br></td>";
  260. print "</tr>\n";
  261. }
  262. if ($csv) {
  263. fwrite($fp,$row['id'].chr(9).$transdato.chr(9).$logdato.chr(9).substr($row['logtime'],0,5).chr(9).$row['kladde_id'].chr(9).$row['bilag'].chr(9).$row['kontonr'].chr(9).utf8_decode(stripslashes($row['kontonavn'])).chr(9).$row['faktura'].chr(9).dkdecimal($row['debet']).chr(9).dkdecimal($row['kredit']).chr(9).$row['projekt'].chr(9).utf8_decode(stripslashes($row['beskrivelse']))."\n");
  264. }
  265. }
  266. }
  267. }
  268. if ($csv){ fclose($fp);
  269. print "<BODY onLoad=\"JavaScript:window.open('../temp/$db/kontrolspor.csv' ,'' ,'$jsvars');\">\n";
  270. }
  271. if (!$csv && ($debetsum || $kreditsum)) {
  272. ($vis_projekt)?$colspan=12:$colspan=11;
  273. print "<tr><td colspan=\"$colspan\"><hr></td></tr>";
  274. print "<td colspan=8>Kontrolsum<br></td><td align=right>".dkdecimal($debetsum)."<br></td><td align=right>".dkdecimal($kreditsum)."<br></td><td><br></td></tr>";
  275. }
  276. # print "<tr><td colspan=11><hr></td></tr>";
  277. # echo "Y2 $y<br>";
  278. return ($y);
  279. } #endfunction udskriv()
  280. ?>
  281. </tbody>
  282. </table>
  283. </td></tr>
  284. </tbody></table>
  285. </body></html>