PageRenderTime 49ms CodeModel.GetById 18ms RepoModel.GetById 1ms app.codeStats 0ms

/debitor/debitor.php

https://github.com/nielsrune/saldi
PHP | 416 lines | 317 code | 40 blank | 59 comment | 103 complexity | ffc6c4318558cf2f700506e1d3a3c7fa MD5 | raw file
Possible License(s): LGPL-2.1
  1. <?php
  2. // ---------------debitor/debitor.php---lap 3.2.9------2013-02-10----
  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-2013 DANOSOFT ApS
  22. // ----------------------------------------------------------------------
  23. // 2013.02.10 Break ændret til break 1
  24. #ob_start();
  25. @session_start();
  26. $s_id=session_id();
  27. $check_all=NULL; $ny_sort=NULL;
  28. $find=array();$dg_id=array();$dg_navn=array();$selectfelter=array();
  29. print "
  30. <script LANGUAGE=\"JavaScript\">
  31. <!--
  32. function MasseFakt(tekst)
  33. {
  34. var agree = confirm(tekst);
  35. if (agree)
  36. return true ;
  37. else
  38. return false ;
  39. }
  40. // -->
  41. </script>
  42. ";
  43. $css="../css/standard.css";
  44. $modulnr=6;
  45. $title="Debitorliste";
  46. $firmanavn=NULL;
  47. include("../includes/connect.php");
  48. include("../includes/online.php");
  49. include("../includes/std_func.php");
  50. include("../includes/udvaelg.php");
  51. $id = if_isset($_GET['id']);
  52. $returside=if_isset($_GET['returside']);
  53. $valg= strtolower(if_isset($_GET['valg']));
  54. $sort = if_isset($_GET['sort']);
  55. $start = if_isset($_GET['start']);
  56. $nysort = if_isset($_GET['nysort']);
  57. if (!$valg) $valg="debitor";
  58. $sort=str_replace("adresser.","",$sort);
  59. if ($sort && $nysort==$sort) $sort=$sort." desc";
  60. elseif ($nysort) $sort=$nysort;
  61. $r=db_fetch_array(db_select("select box7 from grupper where art = 'DIV' and kodenr = '2'",__FILE__ . " linje " . __LINE__));
  62. $jobkort=$r['box7'];
  63. if (!$r=db_fetch_array(db_select("select id from grupper where art = 'DLV' and kode='$valg' and kodenr = '$bruger_id'",__FILE__ . " linje " . __LINE__))) {
  64. # db_modify("update grupper set box2='$returside' where id='$r[id]'",__FILE__ . " linje " . __LINE__);
  65. #} else {
  66. if ($valg=="debitor") {
  67. $box3="kontonr".chr(9)."firmanavn".chr(9)."addr1".chr(9)."addr2".chr(9)."postnr".chr(9)."bynavn".chr(9)."kontakt".chr(9)."tlf".chr(9)."kontoansvarlig";
  68. $box5="right".chr(9)."left".chr(9)."left".chr(9)."left".chr(9)."left".chr(9)."left".chr(9)."left".chr(9)."left".chr(9)."left";
  69. $box4="5".chr(9)."35".chr(9)."10".chr(9)."10".chr(9)."10".chr(9)."10".chr(9)."10".chr(9)."10".chr(9)."10";
  70. $box6="Kontonr".chr(9)."Firmanavn".chr(9)."Adresse".chr(9)."Adresse 2".chr(9)."Postnr".chr(9)."By".chr(9)."Kontakt".chr(9)."Telefon".chr(9)."S&aelig;lger";
  71. } else {
  72. $box3="kontonr".chr(9)."firmanavn".chr(9)."addr1".chr(9)."addr2".chr(9)."postnr".chr(9)."bynavn".chr(9)."kontakt".chr(9)."tlf".chr(9)."kontoansvarlig";
  73. $box5="right".chr(9)."left".chr(9)."left".chr(9)."left".chr(9)."left".chr(9)."left".chr(9)."left".chr(9)."left".chr(9)."left";
  74. $box4="5".chr(9)."35".chr(9)."10".chr(9)."10".chr(9)."10".chr(9)."10".chr(9)."10".chr(9)."10".chr(9)."10";
  75. $box6="Kontonr".chr(9)."Firmanavn".chr(9)."Adresse".chr(9)."Adresse 2".chr(9)."Postnr".chr(9)."By".chr(9)."Kontakt".chr(9)."Telefon".chr(9)."S&aelig;lger";
  76. }
  77. db_modify("insert into grupper(beskrivelse,kode,kodenr,art,box3,box4,box5,box6,box7)values('debitorlistevisning','$valg','$bruger_id','DLV','$box3','$box4','$box5','$box6','100')",__FILE__ . " linje " . __LINE__);
  78. } else {
  79. $r=db_fetch_array(db_select("select box1,box2,box7,box9,box10 from grupper where art = 'DLV' and kode='$valg' and kodenr = '$bruger_id'",__FILE__ . " linje " . __LINE__));
  80. $dg_liste=explode(chr(9),$r['box1']);
  81. $cat_liste=explode(chr(9),$r['box2']);
  82. $linjeantal=$r['box7'];
  83. if (!$sort) $sort=$r['box9'];
  84. $find=explode("\n",$r['box10']);
  85. }
  86. if ($popup) $returside= "../includes/luk.php";
  87. else $returside= "../index/menu.php";
  88. db_modify("update grupper set box9='$sort' where art = 'DLV' and kode='$valg' and kodenr = '$bruger_id'",__FILE__ . " linje " . __LINE__);
  89. $tidspkt=date("U");
  90. if ($submit=if_isset($_POST['submit'])) {
  91. $find=if_isset($_POST['find']);
  92. $valg=if_isset($_POST['valg']);
  93. $sort = if_isset($_POST['sort']);
  94. $nysort = if_isset($_POST['nysort']);
  95. $firma=if_isset($_POST['firma']);
  96. }
  97. if (!$valg) $valg = "debitor";
  98. if (!$sort) $sort = "firmanavn";
  99. $sort=str_replace("adresser.","",$sort);
  100. $sortering=$sort;
  101. print "<table width=100% height=100% border=0 cellspacing=0 cellpadding=0><tbody>\n";
  102. print "<tr><td height = 25 align=center valign=top>";
  103. print "<table width=100% align=center border=0 cellspacing=2 cellpadding=0><tbody><td width=10% $top_bund>\n";
  104. print "<a href=$returside accesskey=L>Luk</a></td>";
  105. print "<td width=80% $top_bund align=center><table border=0 cellspacing=2 cellpadding=0><tbody>\n";
  106. if ($valg=='debitor') print "<td width = 20% align=center $knap_ind>&nbsp;Debitorer&nbsp;</td>";
  107. else print "<td width = 20% align=center><a href='debitor.php?valg=debitor&returside=$returside'>&nbsp;Debitorer&nbsp;</a></td>";
  108. if ($valg=='historik') print "<td width = 20% align=center $knap_ind>&nbsp;Historik&nbsp;</td>";
  109. else print "<td width = 20% align=center><a href='debitor.php?valg=historik&returside=$returside'>&nbsp;Historik&nbsp;</a></td>";
  110. if ($jobkort) print "<td width = 20% align=center><a href=jobliste.php title =\"Klik her for at skifte til joblisten\">".findtekst(38,$sprog_id)."</a></td>";
  111. print "</tbody></table></td>\n";
  112. print "<td width=5% $top_bund><a accesskey=V href=debitorvisning.php?valg=$valg>Visning</a></td>\n";
  113. #if ($popup) {
  114. # print "<td width=5% $top_bund onClick=\"javascript:debitor=window.open('debitorkort.php?returside=debitor.php','ordre','scrollbars=1,resizable=1');ordre.focus();\"><a accesskey=N href=debitor.php?sort=$sort>Ny</a></td>\n";
  115. # } else {
  116. print "<td width=5% $top_bund><a href=debitorkort.php?returside=debitor.php>Ny</a></td>\n";
  117. # }
  118. print "</td></tr>\n";
  119. #print "<tr><td></td><td align=center><table border=1 cellspacing=0 cellpadding=0><tbody>\n";
  120. #print "<td width = 20%$top_bund align=center><a href=debitor.php?valg=tilbud accesskey=T>Tilbud</a></td>";
  121. #print "<td width = 20% bgcolor=$bgcolor5 align=center> Ordrer</td>";
  122. #print "<td width = 20% bgcolor=$bgcolor5 align=center> Faktura</td>";
  123. #print "</tbody></table></td><td></td</tr>\n";
  124. print "</tbody></table>";
  125. print " </td></tr>\n<tr><td align=\"center\" valign=\"top\" width=\"100%\">";
  126. $r = db_fetch_array(db_select("select box3,box4,box5,box6,box8 from grupper where art = 'DLV' and kodenr = '$bruger_id' and kode='$valg'",__FILE__ . " linje " . __LINE__));
  127. $vis_felt=explode(chr(9),$r['box3']);
  128. $feltbredde=explode(chr(9),$r['box4']);
  129. $justering=explode(chr(9),$r['box5']);
  130. $feltnavn=explode(chr(9),$r['box6']);
  131. $vis_feltantal=count($vis_felt);
  132. $select=explode(chr(9),$r['box8']);
  133. $y=0;
  134. for ($x=0;$x<=$vis_feltantal;$x++) {
  135. if ($select[$x]) {
  136. $selectfelter[$y]=$vis_felt[$x];
  137. $y++;
  138. }
  139. }
  140. $numfelter=array("rabat","momskonto","kreditmax","betalingsdage","gruppe","kontoansvarlig");
  141. ####################################################################################
  142. $udvaelg=NULL;
  143. $tmp=trim($find[0]);
  144. for ($x=1;$x<$vis_feltantal;$x++) $tmp=$tmp."\n".trim($find[$x]);
  145. $tmp=addslashes($tmp);
  146. db_modify("update grupper set box10='$tmp' where art = 'DLV' and kode='$valg' and kodenr = '$bruger_id'",__FILE__ . " linje " . __LINE__);
  147. for ($x=0;$x<$vis_feltantal;$x++) {
  148. $find[$x]=addslashes(trim($find[$x]));
  149. $tmp=$vis_felt[$x];
  150. if ($find[$x] && !in_array($tmp,$numfelter)) {
  151. $tmp2="adresser.".$tmp."";
  152. $udvaelg=$udvaelg.udvaelg($find[$x],$tmp2, '');
  153. } elseif ($find[$x]||$find[$x]=="0") {
  154. $tmp2="adresser.".$tmp."";
  155. $udvaelg=$udvaelg.udvaelg($find[$x],$tmp2, 'NR');
  156. }
  157. }
  158. if (count($dg_liste)) {
  159. $x=0;
  160. $q=db_select("select * from grupper where art = 'DG' order by beskrivelse",__FILE__ . " linje " . __LINE__);
  161. while ($r=db_fetch_array($q)) {
  162. $x++;
  163. $dg_id[$x]=$r['id'];
  164. $dg_kodenr[$x]=$r['kodenr']*1;
  165. $dg_navn[$x]=$r['beskrivelse'];
  166. }
  167. $dg_antal=$x;
  168. }
  169. if (count($cat_liste)) {
  170. $r=db_fetch_array(db_select("select box1,box2 from grupper where art='DebInfo'",__FILE__ . " linje " . __LINE__));
  171. $cat_id=explode(chr(9),$r['box1']);
  172. $cat_beskrivelse=explode(chr(9),$r['box2']);
  173. $cat_antal=count($cat_id);
  174. }
  175. $sortering="adresser.".$sortering;
  176. $ialt=0;
  177. $lnr=0;
  178. if (!$linjeantal) $linjeantal=100;
  179. $slut=$start+$linjeantal;
  180. $adresserantal=0;
  181. $r=db_fetch_array(db_select("select count(id) as antal from adresser where art = 'D' $udvaelg",__FILE__ . " linje " . __LINE__));
  182. $antal=$r['antal'];
  183. print "<table cellpadding=1 cellspacing=1 border=0 valign=top width=100%><tbody>\n<tr>";
  184. if ($start>0) {
  185. $prepil=$start-$linjeantal;
  186. if ($prepil<0) $prepil=0;
  187. print "<td><a href=debitor.php?start=$prepil&valg=$valg><img src=../ikoner/left.png style=\"border: 0px solid; width: 15px; height: 15px;\"></a></td>";
  188. } else print "<td></td>";
  189. for ($x=0;$x<$vis_feltantal;$x++) {
  190. if ($feltbredde[$x]) $width="width=$feltbredde[$x]";
  191. else $width="";
  192. print "<td align=$justering[$x] $width><b><a href='debitor.php?nysort=$vis_felt[$x]&sort=$sort&valg=$valg'>$feltnavn[$x]</b></td>\n";
  193. }
  194. if ($antal>$slut && !$dg_liste[0] && !$cat_liste[0]) {
  195. $nextpil=$start+$linjeantal;
  196. print "<td align=right><a href=debitor.php?start=$nextpil&valg=$valg><img src=../ikoner/right.png style=\"border: 0px solid; width: 15px; height: 15px;\"></a></td><tr>";
  197. }
  198. print "</tr>\n";
  199. if ($dg_antal || $cat_antal) $linjeantal=0;
  200. #################################### Sogefelter ##########################################
  201. print "<form name=debitorliste action=debitor.php method=post>";
  202. print "<input type=hidden name=valg value=$valg>";
  203. print "<input type=hidden name=sort value='$ny_sort'>";
  204. print "<input type=hidden name=nysort value='$sort'>";
  205. print "<input type=hidden name=kontoid value=$kontoid>";
  206. print "<tr><td></td>"; #giver plase til venstrepil v. flere sider
  207. if (!$start) {
  208. for ($x=0;$x<$vis_feltantal;$x++) {
  209. $span='';
  210. print "<td align=$justering[$x]><span title= '$span'>";
  211. if ($vis_felt[$x]=="kontoansvarlig") {
  212. $ansat_id=array();$ansat_init=array();
  213. $y=0;
  214. $q=db_select("select distinct(ansatte.id) as ansat_id,ansatte.initialer as initialer from ansatte,adresser where adresser.art='S' and ansatte.konto_id=adresser.id order by ansatte.initialer",__FILE__ . " linje " . __LINE__);
  215. while ($r=db_fetch_array($q)) {
  216. $y++;
  217. $ansat_id[$y]=$r['ansat_id'];
  218. $ansat_init[$y]=$r['initialer'];
  219. }
  220. $ansatantal=$y;
  221. if (in_array($vis_felt[$x],$selectfelter)) {
  222. print "<SELECT NAME=\"find[$x]\">";
  223. if (!$find[$x]) print "<option value=\"\"></option>";
  224. for ($y=1;$y<=$ansatantal;$y++) if ($ansat_init[$y] && $find[$x]==$ansat_id[$y]) print "<option value=\"$ansat_id[$y]\">".stripslashes($ansat_init[$y])."</option>";
  225. if ($find[$x]) print "<option value=\"\"></option>";
  226. for ($y=1;$y<=$ansatantal;$y++) if ($ansat_init[$y] && $find[$x]!=$ansat_id[$y]) print "<option value=\"$ansat_id[$y]\">".stripslashes($ansat_init[$y])."</option>";
  227. print "</SELECT></td>";
  228. }
  229. # print "<input class=\"inputbox\" type=text readonly=$readonly size=$feltbredde[$x] style=\"text-align:$justering[$x]\" name=find[$x] value=\"$r[tmp]\">";
  230. } elseif ($vis_felt[$x]=="status") {
  231. $status_id=array();$status_init=array();
  232. $r=db_fetch_array(db_select("select box3,box4 from grupper where art='DebInfo'",__FILE__ . " linje " . __LINE__));
  233. $status_id=explode(chr(9),$r['box3']);
  234. $status_beskrivelse=explode(chr(9),$r['box4']);
  235. $status_antal=count($status_id);
  236. if (in_array($vis_felt[$x],$selectfelter)) {
  237. print "<SELECT NAME=\"find[$x]\">";
  238. if (!$find[$x]) print "<option value=\"\"></option>";
  239. for ($y=0;$y<$status_antal;$y++) {
  240. if ($status_beskrivelse[$y] && $find[$x]==$status_id[$y]) print "<option value=\"$status_id[$y]\">".stripslashes($status_beskrivelse[$y])."</option>";
  241. }
  242. if ($find[$x]) print "<option value=\"\"></option>";
  243. for ($y=0;$y<$status_antal;$y++) {
  244. if ($status_beskrivelse[$y] && $find[$x]!=$status_id[$y]) print "<option value=\"$status_id[$y]\">".stripslashes($status_beskrivelse[$y])."</option>";
  245. }
  246. print "</SELECT></td>";
  247. }
  248. # print "<input class=\"inputbox\" type=text readonly=$readonly size=$feltbredde[$x] style=\"text-align:$justering[$x]\" name=find[$x] value=\"$r[tmp]\">";
  249. } elseif (in_array($vis_felt[$x],$selectfelter)) {
  250. $tmp=$vis_felt[$x];
  251. print "<SELECT NAME=\"find[$x]\">";
  252. $q=db_select("select distinct($tmp) from adresser where art = 'D'");
  253. print "<option>".stripslashes($find[$x])."</option>";
  254. if ($find[$x]) print "<option></option>";
  255. while ($r=db_fetch_array($q)) {
  256. print "<option>$r[$tmp]</option>";
  257. }
  258. print "</SELECT></td>";
  259. } else print "<input class=\"inputbox\" type=text size=$feltbredde[$x] style=\"text-align:$justering[$x]\" name=find[$x] value=\"$find[$x]\">";
  260. }
  261. print "</td>\n";
  262. print "<td><input type=submit value=\"OK\" name=\"submit\"></td>";
  263. print "</form></tr><td></td>\n";
  264. }
  265. ######################################################################################################################
  266. $udv1=$udvaelg;
  267. $colspan=$vis_feltantal+1;
  268. $dgcount=count($dg_liste);
  269. (!$dgcount)?$dgcount=1:NULL;
  270. for($i=0;$i<$dgcount;$i++) {
  271. if ($dg_liste[$i]) {
  272. for($i2=0;$i2<=$dg_antal;$i2++ ) {
  273. if($dg_liste[$i]==$dg_id[$i2]) {
  274. if (!$start && !$lnr) {
  275. # print "<tr><td colspan=\"$colspan\"><hr></td>";
  276. $tmp=$start+$linjeantal;
  277. }
  278. if (!$cat_liste[0]) {
  279. print "<tr><td></td><td colspan=\"2\"><b>$dg_navn[$i2]</b></td></tr>";
  280. print "<tr><td colspan=\"$colspan\"><hr></td>";
  281. }
  282. $udv1=$udvaelg." and gruppe=$dg_kodenr[$i2]";
  283. break 1;
  284. }
  285. }
  286. }
  287. $catcount=count($cat_liste);
  288. (!$catcount)?$catcount=1:NULL;
  289. for($i3=0;$i3<$catcount;$i3++) {
  290. if ($cat_liste[$i3]) {
  291. for($i4=0;$i4<=$cat_antal;$i4++ ) {
  292. if($cat_liste[$i3]==$cat_id[$i4]) {
  293. if (!$start && !$lnr) {
  294. # print "<td colspan=\"$colspan\"><b>$cat_beskrivelse[$i4]</b></td></tr>";
  295. # print "<tr><td colspan=\"$colspan\"><hr></td>";
  296. $tmp=$start+$linjeantal;
  297. # if ($antal>$slut) print "<td align=center><a href=debitor.php?start=$tmp&valg=$valg><img src=../ikoner/right.png style=\"border: 0px solid; width: 15px; height: 15px;\"></a></td><tr>";
  298. }
  299. print "<tr><td colspan=\"$colspan\"><hr></td>";
  300. if ($dg_navn[$i2]) $tmp="<td colspan=\"2\"><b>$dg_navn[$i2]</b></td>";
  301. else $tmp="";
  302. print "<tr><td></td>$tmp<td colspan=\"2\"><b>$cat_beskrivelse[$i4]</b></td></tr>";
  303. print "<tr><td colspan=\"$colspan\"><hr></td>";
  304. $udv2=$udv1." and kategori = '$cat_id[$i4]'";
  305. break 1;
  306. }
  307. }
  308. }
  309. if (!$udv2) $udv2=$udv1;
  310. if (!$udv2) $udv2=$udvaelg;
  311. $query = db_select("select * from adresser where art = 'D' $udv2 order by $sortering",__FILE__ . " linje " . __LINE__);
  312. while ($row=db_fetch_array($query)) {
  313. $debitorkort="debitorkort".$row['id'];
  314. $lnr++;
  315. if(($lnr>=$start && $lnr<$slut) || $udv2) {
  316. $adresseantal++;
  317. if (($tidspkt-($row['tidspkt'])>3600)||($row['hvem']==$brugernavn)) {
  318. # if ($popup) {
  319. # $javascript="onClick=\"javascript:".$valg."kort=window.open('".$valg."kort.php?tjek=$row[id]&id=$row[id]&returside=debitor.php','$debitorkort','scrollbars=1,resizable=1');$debitorkort.focus();\" onMouseOver=\"this.style.cursor = 'pointer'\" ";
  320. # $understreg='<span style="text-decoration: underline;">';
  321. # $hrefslut="";
  322. # } else {
  323. $javascript="";
  324. $understreg="<a href=".$valg."kort.php?tjek=$row[id]&id=$row[id]&returside=debitor.php>";
  325. $hrefslut="</a>";
  326. # }
  327. $linjetext="";
  328. } else {
  329. $javascript="onClick=\"javascript:$debitorkort.focus();\"";
  330. $understreg='';
  331. $linjetext="<span title= 'Kortet er l&aring;st af $row[hvem]'>";
  332. }
  333. if ($linjebg!=$bgcolor) {$linjebg=$bgcolor; $color='#000000';}
  334. else {$linjebg=$bgcolor5; $color='#000000';}
  335. print "<tr bgcolor=\"$linjebg\"><td bgcolor=$bgcolor></td>";
  336. print "<td align=$justering[0] $javascript> $linjetext $understreg $row[kontonr]$hrefslut</span><br></td>";
  337. for ($x=1;$x<$vis_feltantal;$x++) {
  338. print "<td align=$justering[$x]>";
  339. $tmp=$vis_felt[$x];
  340. if ($vis_felt[$x]=='kontoansvarlig') {
  341. for ($y=1;$y<=$ansatantal;$y++) {
  342. if ($ansat_id[$y]==$row[$tmp]) print stripslashes($ansat_init[$y]);
  343. }
  344. } elseif ($vis_felt[$x]=='status') {
  345. for ($y=0;$y<=$status_antal;$y++) {
  346. if ($row[$tmp] && $status_id[$y]==$row[$tmp]) print stripslashes($status_beskrivelse[$y]);
  347. }
  348. } else print $row[$tmp];
  349. print "</td>";
  350. }
  351. print "<input type=hidden name=adresse_id[$adresseantal] value=$row[id]>";
  352. # $colspan=$vis_feltantal+2;
  353. # if ($r=db_fetch_array(db_select("select id from grupper where art = 'DLV' and kode = '$valg' and kodenr = '$bruger_id'",__FILE__ . " linje " . __LINE__))) {
  354. # db_modify("update grupper set box1='$debitorliste' where id='$r[id]'",__FILE__ . " linje " . __LINE__);
  355. # }
  356. }
  357. }}}
  358. #print "<tr><td colspan=$colspan><hr></td></tr>\n";
  359. #$cols--;
  360. print "<tr>";
  361. if ($prepil || $prepil=='0') print "<td colspan=$colspan><a href=debitor.php?start=$prepil&valg=$valg><img src=../ikoner/left.png style=\"border: 0px solid; width: 15px; height: 15px;\"></a></td>";
  362. else print "<td colspan=$colspan><br></td>";
  363. if ($nextpil) print "<td align=right><a href=debitor.php?start=$nextpil&valg=$valg><img src=../ikoner/right.png style=\"border: 0px solid; width: 15px; height: 15px;\"></a></td><tr>";
  364. else print "<td></td>";
  365. print "</tr>";
  366. $colspan++;
  367. print "<tr><td colspan=$colspan width=100%><hr></td></tr>";
  368. #print "<table border=0 width=100%><tbody>";
  369. #print "</tbody></table></td>";
  370. #print "<tr><td colspan=$colspan><hr></td></tr>\n";
  371. ?>
  372. </tbody>
  373. </table>
  374. </td></tr>
  375. </tbody></table>
  376. </body></html>