Odyssey
ViewStatement.prg
1 <?php
2 
3 require_once("dms_imp_val.i");
4 
5 $dms_ok=array('mode'=>'string','mem_num'=>'digits');
6 dms_import($dms_ok);
7 
8 $stmntdir = "/home/$chome/stmnt/history/";
9 if (! is_readable($stmntdir)) {
10 
11 print "<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=2 WIDTH=90% align='center'>
12  <tr><td class='hdrc'>eStatement Directory Not Found</td></tr>
13  <tr><td class='dtlc'><span class='msg'>
14  Your credit union is not set up for eStatements. <br>
15  Please contact HomeCU for assistance.
16  </span></td></tr>
17  <tr><td class='dtll'><hr></td></tr></table>";
18 
19  } else {
20 
21  if (!isset($mode)) $mode = "ENTER";
22 
23  $err_msg = "";
24  if ($mode == "VIEW") {
25  // Validate member number before trying to VIEW the e-statement
26  if (trim($mem_num) == '' || !is_numeric($mem_num)) {
27  $err_msg .= "<li>Please enter the member number.</li><br>";
28  } else {
29  $mem_num = trim($mem_num);
30  }
31 #
32  if ($err_msg != '') {
33  $err_msg = "Unable to view member statement<br>$err_msg";
34  $mode = "ENTER";
35  }
36  }
37 
38  if ($err_msg != '') {
39  $err_msg = "<tr><td colspan='2' class='dtlc'>
40  <span class='msg'>$err_msg</span>
41  </td></tr><tr><td colspan='2' class='dtl'><hr></td></tr>";
42  }
43  switch ($mode) {
44  case "VIEW":
45  // Show the TOC from the member E-Statement file
46 #
47 $stmntdir = "/home/$chome/stmnt/history/";
48 $stmntdir .= substr($mem_num,0,1);
49 $filename = "${stmntdir}/{$mem_num}";
50 
51 if (is_readable($filename)) {
52 
53 $pnewsLink="";
54 $pdffound=0;
55 $pnewsBar = "";
56 $pnewsDelim = "";
57 
58  $pdfnews = "/home/$chome/public_html/pdf/newsletter.pdf";
59  $pdfkids = "/home/$chome/public_html/pdf/kidsnews.pdf";
60  $pdfprime = "/home/$chome/public_html/pdf/primenews.pdf";
61  $pdfsenior = "/home/$chome/public_html/pdf/seniornews.pdf";
62  $pdfins = "/home/$chome/public_html/pdf/insert.pdf";
63  $pdffee = "/home/$chome/public_html/pdf/fees.pdf";
64  $pdfprivacy = "/home/$chome/public_html/pdf/privacy.pdf";
65 
66 if (is_readable("$pdfnews")) {
67  $pnewsLink .= "<a href='/fi/$chome/pdf/newsletter.pdf' target='view_pdf'>Newsletter</a> &nbsp;&nbsp;";
68  $pdffound++;
69 }
70 if (is_readable("$pdfkids")) {
71  $pnewsLink .= "<a href='/fi/$chome/pdf/kidsnews.pdf' target='view_pdf'>Youth Newsletter</a> &nbsp;&nbsp;";
72  $pdffound++;
73 }
74 if (is_readable("$pdfprime")) {
75  $pnewsLink .= "<a href='/fi/$chome/pdf/primenews.pdf' target='view_pdf'>Prime Newsletter</a> &nbsp;&nbsp;";
76  $pdffound++;
77 }
78 if (is_readable("$pdfsenior")) {
79  $pnewsLink .= "<a href='/fi/$chome/pdf/seniornews.pdf' target='view_pdf'>Senior Newsletter</a> &nbsp; &nbsp;";
80  $pdffound++;
81 }
82 
83 if ($pdffound) {
84  $pnewsBar = 'Newsletters';
85  $pnewsDelim = " and ";
86 }
87 
88 if (is_readable("$pdfins") || is_readable("$pdffee") || is_readable("$pdfprivacy")) {
89  $pnewsBar .= ($pnewsDelim . 'Statement Inserts');
90 }
91 
92 if (is_readable("$pdfins")) {
93  $pnewsLink .= " &nbsp; &nbsp; &nbsp; <a href='/fi/$chome/pdf/insert.pdf' target='view_pdf'>Statement Insert</a>";
94  $pdffound++;
95 }
96 
97 if (is_readable("$pdffee")) {
98  $pnewsLink .= "&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href='/fi/$chome/pdf/fees.pdf' target='view_pdf'>Fee Schedule</a>";
99  $pdffound++;
100 }
101 if (is_readable("$pdfprivacy")) {
102  $pnewsLink .= "&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href='/~$chome/pdf/privacy.pdf' target='view_pdf'>Privacy Policy</a>";
103  $pdffound++;
104 }
105  if ("$pnewsLink" > "" ) {
106  print "<br>
107  <TABLE BORDER=0 CELLSPACING=1 CELLPADDING=2 WIDTH=90% align='center'>
108  <tr><td CLASS='hdrc' colspan='3'>$pnewsBar</td></tr>
109  <tr class='dtll'><td colspan='3'>&nbsp;$pnewsLink</td></tr>";
110  }
111 
112 print "<br><TABLE BORDER=0 CELLSPACING=1 CELLPADDING=2 WIDTH=90% align='center'>
113 <tr><td CLASS='hdrc' colspan='3'>ACCOUNT " . $mem_num . " eSTATEMENTS</td></tr>";
114 
115 
116 print "<tr><td class='hdrc'>Statement</td>
117  <td class='hdrc'>Type</td>
118  <td class='hdrc'>Period Ending</td></tr>";
119 
120 // open file for reading
121 $zp = gzopen($filename, "r");
122 
123 // read the TOC open mark
124 $TOCmark = gzgets($zp,4096);
125 
126 // output until end of the TOC and close it.
127 while ($buf = gzgets($zp,4096)) {
128  $buf = preg_replace("/^> /","",$buf);
129  if ($buf == $TOCmark) { break; }
130  list($bd, $ldTime, $ldProc, $PerEnd, $PerType, $PerDesc) =
131  explode("\t",$buf);
132  if ("$ldTime" != "") {
133  print "<tr><td class='dtll'><a href='https://" . $_SERVER['SERVER_NAME'] . "/cgi-bin/EStateDisp.pdf?cu=$Cu&chome=$chome&adm=1&mn=" . $mem_num . "&st_id=";
134  print urlencode(rtrim($buf));
135  print "/file.pdf' target='_stmnt'>$PerDesc</href></td><td class='dtll'>";
136  switch ($PerType) {
137  case "M":
138  print 'Monthly';
139  break;
140  case "Q":
141  print 'Quarterly';
142  break;
143  case "SA":
144  print 'Semi-Annual';
145  break;
146  case "T":
147  print 'Tax Form';
148  break;
149  }
150  $PerEnd = substr($PerEnd,4,2) . "/" . substr($PerEnd,0,4);
151  print "</td><td class='dtll'>$PerEnd</td></tr>\n";
152  }
153 }
154 
155 print "</table><p>";
156 } else {
157 print "
158 <form method='post' action='{$_SERVER['SCRIPT_NAME']}?ft={$ft}'>
159  <input type='hidden' name='mode' value='ENTER'><br>
160 <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=2 WIDTH=90% align='center'>
161  <tr><td class='hdrc'>eStatement File Not Found</td></tr>
162  <tr><td class='dtlc'>Member {$mem_num} does not have any eStatements</td></tr>
163  <tr><td class='dtll'><hr></td></tr>
164  <tr> <td class='dtlc'>
165  <input type='submit' value=' OK ' name='btnStmnt'></td></tr>
166 </table>
167 </form>";
168  }
169 break;
170  case "ENTER":
171  default:
172 
173  print <<< print_html
174  <form name="stmntinfo" method="post" action="{$_SERVER['SCRIPT_NAME']}?ft={$ft}">
175  <input type="hidden" name="mode" value="VIEW">
176  <br>
177  <table width="90%" border=0 cellpadding=0 cellspacing=0 align='center'>
178  <tr>
179  <td colspan="2" class="hdrc" align="center">
180  View Member eStatement
181  </td>
182  </tr>
183  $err_msg
184  <tr>
185  <td class="dtlr">
186  Member Number:
187  </td>
188  <td class="dtll">
189  <input type="text" name="mem_num" value="{$mem_num}" size="12" maxlength="12">
190  </td>
191  </tr>
192  <tr>
193  <td colspan="2" class="dtl"><hr></td>
194  </tr>
195  <tr>
196  <td class="dtl">&nbsp;</td>
197  <td class="dtll">
198  <input type="submit" value="Show Statements &nbsp;&gt;&gt;" name="btnStmnt">
199  </td>
200  </tr>
201  </table></form>
202  <script language="javascript">
203  <!--
204  document.forms[0].mem_num.focus();
205  // -->
206  </script>
207 print_html;
208 
209  break;
210  }
211 }
212 ?>