7 $monLibrary= dirname(__FILE__) .
"/../library";
8 $sharedLibrary= dirname(__FILE__) .
"/../../shared/library";
9 require_once(
"$monLibrary/cu_top.i");
10 require_once(
"$monLibrary/ck_hticket.i");
11 require_once(
"$sharedLibrary/cu_flagconst.i");
13 if (!CheckPerm($link, $Hu, basename($_SERVER[
'SCRIPT_NAME']), $_SERVER[
'REMOTE_ADDR'])) {
16 header(
"Location: /hcuadm/hcu_noperm.prg");
19 $dms_ok=array(
'pos'=>
'digits',
'report'=>
'digits',
'title'=>
'string',
20 'recstart'=>
'digits',
'recend'=>
'digits',
'fieldcnt'=>
'digits',
21 'orderby'=>
'string',
'orderdir'=>
'string',
'upd'=>
'string',
'rec'=>
'array');
25 $report = (isset($report) ? $report : 0);
31 # build the query so that the first field in the select list is a unique key 33 $selqry =
"select user_name as \"CU\", ";
34 $selqry .=
"name as \"Name\", ";
35 $selqry .=
"dec_31_assets as \"Assets\", ";
36 $selqry .=
"dec_31_mem as \"Members\", ";
37 $selqry .=
"ceo_mgr as \"CEO Manager\", ";
38 $selqry .=
"date_live as \"Date Live\" ";
39 $selqry .=
"from cuinfo ";
40 $selqry .=
"where ((system_options & $SYS_TYPE_CLOSED) = 0) ";
41 $prep_fields =
"\$rec[\$i][1] = prep_save(\$rec[\$i][1]); ";
42 $prep_fields .=
"\$rec[\$i][4] = prep_save(\$rec[\$i][4]); ";
43 $updqry =
"update cuinfo set name = '{\$rec[\$i][1]}', ";
44 $updqry .=
"dec_31_assets = {\$rec[\$i][2]}, ";
45 $updqry .=
"dec_31_mem = {\$rec[\$i][3]}, ";
46 $updqry .=
"ceo_mgr = '{\$rec[\$i][4]}', ";
47 $updqry .=
"date_live = case when trim('{\$rec[\$i][5]}') = '' then null else nullif('{\$rec[\$i][5]}','')::date end ";
48 $updqry .=
"where user_name = '{\$rec[\$i][0]}';";
50 $title =
"Assets and Members";
54 $selqry =
"select m.id as \"ID Num\", ";
55 $selqry .=
"m.user_name as \"CU\", ";
56 $selqry .=
"m.fname as \"First Name\", ";
57 $selqry .=
"m.lname as \"Last Name\", ";
58 $selqry .=
"m.phone as \"Phone\", ";
59 $selqry .=
"m.email as \"Email\", ";
60 $selqry .=
"m.comment as \"Comment\" ";
61 $selqry .=
"from monitor_contact m ";
62 $selqry .=
"join cuinfo i on m.user_name = i.user_name ";
63 $selqry .=
"where ((i.system_options & $SYS_TYPE_CLOSED) = 0) ";
64 $selqry .=
"and m.role = '10_WEB' ";
65 $prep_fields =
"\$rec[\$i][2] = prep_save(\$rec[\$i][2]); ";
66 $prep_fields .=
"\$rec[\$i][3] = prep_save(\$rec[\$i][3]); ";
67 $prep_fields .=
"\$rec[\$i][4] = prep_save(\$rec[\$i][4]); ";
68 $prep_fields .=
"\$rec[\$i][5] = prep_save(\$rec[\$i][5]); ";
69 $prep_fields .=
"\$rec[\$i][6] = prep_save(\$rec[\$i][6]); ";
70 $updqry =
"update monitor_contact set ";
71 $updqry .=
"fname = '{\$rec[\$i][2]}', ";
72 $updqry .=
"lname = '{\$rec[\$i][3]}', ";
73 $updqry .=
"phone = '{\$rec[\$i][4]}', ";
74 $updqry .=
"email = '{\$rec[\$i][5]}', ";
75 $updqry .=
"comment = '{\$rec[\$i][6]}' ";
76 $updqry .=
"where id = '{\$rec[\$i][0]}';";
77 $title =
"Web Contact Info";
81 $selqry =
"select i.user_name as \"CU\", ";
82 $selqry .=
"i.ceo_mgr as \"CEO Manager\", ";
83 $selqry .=
"i.addr1 as \"Address\", i.addr2 as \"Address2\", ";
84 $selqry .=
"i.city as \"City\", i.state as \"State\", ";
85 $selqry .=
"i.zip as \"Zip\" ";
86 $selqry .=
"from cuinfo i ";
87 $selqry .=
"where ((system_options & $SYS_TYPE_CLOSED) = 0) ";
88 $prep_fields =
"\$rec[\$i][1] = prep_save(\$rec[\$i][1]); ";
89 $prep_fields .=
"\$rec[\$i][2] = prep_save(\$rec[\$i][2]); ";
90 $prep_fields .=
"\$rec[\$i][3] = prep_save(\$rec[\$i][3]); ";
91 $prep_fields .=
"\$rec[\$i][4] = prep_save(\$rec[\$i][4]); ";
92 $updqry =
"update cuinfo set ceo_mgr = '{\$rec[\$i][1]}', ";
93 $updqry .=
"addr1 = '{\$rec[\$i][2]}', ";
94 $updqry .=
"addr2 = '{\$rec[\$i][3]}', ";
95 $updqry .=
"city = '{\$rec[\$i][4]}', ";
96 $updqry .=
"state = '{\$rec[\$i][5]}', ";
97 $updqry .=
"zip = '{\$rec[\$i][6]}' ";
98 $updqry .=
"where user_name = '{\$rec[\$i][0]}';";
99 $title =
"Address List";
103 $selqry =
"select i.user_name as \"CU\", i.date_trained as \"Date Trained\", ";
104 $selqry .=
"i.date_hb_billed as \"Banking Billed\", ";
105 $selqry .=
"i.date_ws_billed as \"Website Billed\", ";
106 $selqry .=
"i.txtbill_date as \"TXT Billed\", ";
107 $selqry .=
"i.ivrbill_date as \"IVR Billed\" ";
108 $selqry .=
"from cuinfo i ";
109 $selqry .=
"where ((system_options & $SYS_TYPE_CLOSED) = 0) ";
111 $updqry =
"update cuinfo set ";
112 $updqry .=
"date_trained = case when trim('{\$rec[\$i][1]}') = '' then null else nullif('{\$rec[\$i][1]}','')::date end, ";
113 $updqry .=
"date_hb_billed = case when trim('{\$rec[\$i][2]}') = '' then null else nullif('{\$rec[\$i][2]}','')::date end, ";
114 $updqry .=
"date_ws_billed = case when trim('{\$rec[\$i][3]}') = '' then null else nullif('{\$rec[\$i][3]}','')::date end, ";
115 $updqry .=
"txtbill_date = case when trim('{\$rec[\$i][4]}') = '' then null else nullif('{\$rec[\$i][4]}','')::date end, ";
116 $updqry .=
"ivrbill_date = case when trim('{\$rec[\$i][5]}') = '' then null else nullif('{\$rec[\$i][5]}','')::date end ";
117 $updqry .=
"where user_name = '{\$rec[\$i][0]}';";
119 $title =
"Training and Billing";
123 $selqry =
"select user_name as \"CU\", ";
124 $selqry .=
"name as \"Name\", ";
125 $selqry .=
"home_page_url as \"Home Page\" ";
126 $selqry .=
"from cuinfo ";
127 $selqry .=
"where ((system_options & $SYS_TYPE_CLOSED) = 0) ";
128 $prep_fields =
"\$rec[\$i][1] = prep_save(\$rec[\$i][1]); ";
129 $prep_fields .=
"\$rec[\$i][2] = prep_save(\$rec[\$i][2]); ";
130 $updqry =
"update cuinfo set name = '{\$rec[\$i][1]}', ";
131 $updqry .=
"home_page_url = '{\$rec[\$i][2]}' ";
132 $updqry .=
"where user_name = '{\$rec[\$i][0]}';";
134 $title =
"Home Page URLS";
138 $selqry =
"select user_name as \"CU\", ";
139 $selqry .=
"hcuref_name as \"Reference Name\", ";
140 $selqry .=
"hcuref_email as \"Reference Email\", ";
141 $selqry .=
"main_phone as \"Telephone\" ";
142 $selqry .=
"from cuinfo ";
143 $selqry .=
"where ((system_options & $SYS_TYPE_CLOSED) = 0) ";
144 $prep_fields =
"\$rec[\$i][1] = prep_save(\$rec[\$i][1]); ";
145 $prep_fields .=
"\$rec[\$i][2] = prep_save(\$rec[\$i][2]); ";
146 $updqry =
"update cuinfo set hcuref_name = '{\$rec[\$i][1]}', ";
147 $updqry .=
"hcuref_email = '{\$rec[\$i][2]}', ";
148 $updqry .=
"main_phone = '{\$rec[\$i][3]}' ";
149 $updqry .=
"where user_name = '{\$rec[\$i][0]}';";
151 $title =
"HomeCU References";
155 $selqry =
"select user_name as \"CU\", ";
156 $selqry .=
"charter_number as \"Charter\", ";
157 $selqry .=
"name as \"Name\", ";
158 $selqry .=
"dec_31_assets as \"Assets\", ";
159 $selqry .=
"dec_31_mem as \"Members\", ";
160 $selqry .=
"date_live as \"Date Live\" ";
161 $selqry .=
"from cuinfo ";
162 $selqry .=
"where ((system_options & $SYS_TYPE_CLOSED) = 0) ";
163 $prep_fields =
"\$rec[\$i][2] = prep_save(\$rec[\$i][2]); ";
164 $updqry =
"update cuinfo set charter_number = '{\$rec[\$i][1]}', ";
165 $updqry .=
"name = '{\$rec[\$i][2]}', ";
166 $updqry .=
"dec_31_assets = {\$rec[\$i][3]}, ";
167 $updqry .=
"dec_31_mem = {\$rec[\$i][4]}, ";
168 $updqry .=
"date_live = case when trim('{\$rec[\$i][5]}') = '' then null else nullif('{\$rec[\$i][5]}','')::date end ";
169 $updqry .=
"where user_name = '{\$rec[\$i][0]}';";
171 $title =
"Charters, Assets and Members";
175 $selqry =
"select user_name as \"CU\", ";
176 $selqry .=
"name as \"Name\", ";
177 $selqry .=
"contract_expires as \"Contract Expires\", ";
178 $selqry .=
"renewal_term as \"Renewal Months\" ";
179 $selqry .=
"from cuinfo ";
180 $selqry .=
"where ((system_options & $SYS_TYPE_CLOSED) = 0) ";
181 $prep_fields =
"\$rec[\$i][1] = prep_save(\$rec[\$i][1]); ";
182 $updqry =
"update cuinfo set name = '{\$rec[\$i][1]}', ";
183 $updqry .=
"contract_expires = case when trim('{\$rec[\$i][2]}') = '' then null else nullif('{\$rec[\$i][2]}','')::date end, ";
184 $updqry .=
"renewal_term = case when regexp_replace('{\$rec[\$i][3]}','[^[:digit:]]','','g') = '' or regexp_replace('{\$rec[\$i][3]}','[^[:digit:]]','','g')::integer = 0 then 1 else regexp_replace('{\$rec[\$i][3]}','[^[:digit:]]','','g')::integer end ";
185 $updqry .=
"where user_name = '{\$rec[\$i][0]}';";
187 $title =
"Contract Expiration and Renewal";
191 # show list of selections 192 header(
"Expires: Sat 20 May 1995 03:32:38 GMT");
193 header(
"Pragma: no-cache");
194 header(
"Cache-Control: no-cache, must-revalidate");
195 cu_header(
"Choose Data");
197 <table width=
'40%' border=
'0' align=
'center' cellpadding=3 cellspacing=0
class=
'dmsbg'><tr><td>
198 <table width=
'100%' border=
'0' align=
'center' cellpadding=2 cellspacing=0 bgcolor=
'white'>
199 <tr
class=
'bar'><td align=
'center'><font size=+1>Please Choose Data</font></td></tr>
200 <tr><td><a href=
"$infourl/hcuadm/cuilist.prg" target=
"parent">Credit Union List</a></td></tr>
201 <tr
class=
'hdr'><td>Administrative Quick Edits</td></tr>
202 <tr
class=
'odd'><td> <a href=
'$PHP_SELF?report=1'>Assets and Members</a></td></tr>
203 <tr
class=
'even'><td> <a href=
'$PHP_SELF?report=2'>Web Contact Info</a></td></tr>
204 <tr
class=
'odd'><td> <a href=
'$PHP_SELF?report=3'>Address List</a></td></tr>
205 <tr
class=
'even'><td> <a href=
'$PHP_SELF?report=4'>Training and Billing</a></td></tr>
206 <tr
class=
'odd'><td> <a href=
'$PHP_SELF?report=5'>Home Page URLS</a></td></tr>
207 <tr
class=
'even'><td> <a href=
'$PHP_SELF?report=6'>HomeCU References</a></td></tr>
208 <tr
class=
'odd'><td> <a href=
'$PHP_SELF?report=7'>Charters, Assets and Members</a></td></tr>
209 <tr
class=
'even'><td> <a href=
'$PHP_SELF?report=8'>Contract Expiration</a></td></tr>
221 for ($i = $recstart; $i < $recend; $i++) {
227 # Build one big sql so we can post it in a transaction 229 eval(
"$prep_fields");
230 eval(
"\$sql .= \"$updqry\";");
238 if (!$result = db_query($sql,$dbh)) {
239 pg_die(pg_errormessage($dbh), $sql, __FILE__, __LINE__);
241 #pg_die("Just Checking... ",$sql, __FILE__, __LINE__); 245 # If the post fails, return to the same page with the old data refreshed 246 # and an error message showing. 250 # If the post works, move to the next requested page (forward or backward) 256 $orderby = (trim($orderby)==
"" ?
"1" : $orderby);
257 $orderdir = (trim($orderdir)==
"" ?
"ASC" : $orderdir);
258 if (!$result = db_query($selqry .
" ORDER BY " . $orderby .
" " . $orderdir,$dbh)) {
259 pg_die(pg_errormessage($dbh), $selqry .
" ORDER BY " . $sqlorder .
" " . $orderdir, __FILE__, __LINE__);
261 $num_rows = db_num_rows($result);
262 $num_fields = @pg_numfields($result);
264 $query = display_form($result);
266 function display_form ($dt_result) {
267 global $infourl, $pos, $dbh, $selqry, $orderby, $orderdir, $report, $title, $PHP_SELF;
275 $strShowingRecords =
"Showing records ";
277 $strPrevious =
"Previous";
282 $strEmptySet =
"No records found";
287 $pos_next = $pos + $cfgMaxRows;
288 $pos_prev = $pos - $cfgMaxRows;
290 $num_rows = @pg_numrows($dt_result);
292 $num_fields = @pg_numfields($dt_result);
294 $iNumRows = $num_rows;
295 if ($num_rows < $pos_next) {
296 $pos_next = $num_rows;
299 $strNavigation .=
"<table border=0 cellpadding=2 cellspacing=0 ><tr>\n";
300 $strNavigation .=
"<td align=left class='dtl'>";
301 if ($pos >= $cfgMaxRows) {
303 $strNavigation .=
"<a href=\"javascript:submitform('0','$orderby','$orderdir');\"><< $strPos1 </a> | ";
305 $strNavigation .=
" <a href=\"javascript:submitform('$pos_prev','$orderby','$orderdir');\">< $strPrevious </a> | ";
307 $strNavigation .=
" ";
309 $strNavigation .=
"</td>\n";
311 $strNavigation .=
"<td align=center class='dtl'>\n";
314 if (empty($cfgMaxPages)) {
318 $iCount = $pos - ($cfgMaxRows * $cfgMaxPages);
322 $iPageCnt = (int)($iCount / $cfgMaxRows);
323 $iPageStop = $pos + ($cfgMaxRows * ($cfgMaxPages + 1));
325 for (; $iCount < $iNumRows && $iCount < $iPageStop; $iCount += $cfgMaxRows) {
328 if ($iCount != $pos) {
329 $strPages .=
"<a href=\"javascript:submitform('$iCount','$orderby','$orderdir');\">$iPageCnt</a> | ";
331 if ($iNumRows > $cfgMaxRows) {
332 $strPages .=
"$iPageCnt | ";
336 $strNavigation .= preg_replace(
"/ \| $/",
"", $strPages);
338 $strNavigation .=
"</td>\n";
340 $strNavigation .=
"<td align=right class='dtl'>";
341 if ($pos_next < $num_rows) {
342 $strNavigation .=
" | <a href=\"javascript:submitform('$pos_next','$orderby','$orderdir');\"> $strNext ></a>";
345 $pos_end = $num_rows - $cfgMaxRows;
346 $strNavigation .=
" | <a href=\"javascript:submitform('$pos_end','$orderby','$orderdir');\"> $strEnd >></a>";
348 $strNavigation .=
" ";
350 $strNavigation .=
"</td>\n";
351 $strNavigation .=
"</tr></table>\n";
353 header(
"Expires: Sat 20 May 1995 03:32:38 GMT");
354 header(
"Pragma: no-cache");
355 header(
"Cache-Control: no-cache, must-revalidate");
359 function submitform(npos, nsort, ndir)
361 document.listform.pos.value=npos;
362 document.listform.orderby.value=nsort;
363 document.listform.orderdir.value=ndir;
364 document.listform.submit();
367 <table border=0 align=center width=
'90%' cellpadding=3 cellspacing=0
class=
'dmsbg'>
368 <tr><td
class=
'bar' align=
'center'><font size=
"+1">$title</font></td></tr>
370 <table border=$cfgBorder align=center width=
'100%' cellpadding=2 cellspacing=0 bgcolor=white>
371 <tr><td
class=
'dtl' align=
'left'>
372 <a href=
'$infourl/hcuadm/cuilist.prg'>Credit Union List</a>
373 <a href=
'$PHP_SELF?report=0'>Menu</a> </td>
374 <td
class=
'dtl' align=
'right'>
377 echo
"$strShowingRecords " . strval($pos + 1) .
" - $pos_next ($num_rows $strTotal)";
379 echo
"</td></tr></table>";
382 echo
"<table border=$cfgBorder align=center width='100%' cellpadding=2 cellspacing=0 bgcolor=white>";
386 for ($i_field = 0; $i_field < $num_fields; $i_field++) {
387 $field_name = pg_fieldname($dt_result, $i_field);
388 if (@pg_numrows($dt_result) > 1) {
390 $sort_order = ($i_field+1);
393 if ($sort_order == $orderby) {
394 $sort_dir = ($orderdir ==
"ASC" ?
"DESC" :
"ASC");
395 $sort_img = ($orderdir ==
"ASC" ?
"<img src='/monitor/images/sortu.gif'>" :
"<img src='/monitor/images/sortd.gif'>");
397 echo
"<th class='small'><A HREF=\"javascript:submitform('$pos','$sort_order','$sort_dir');\">$field_name</a>$sort_img</th>\n";
399 echo
"<th>$field_name</th>";
403 if ((@pg_numrows($dt_result)) < 1) {
404 echo
"<tr class='odd'><td colspan='$num_fields'>$strEmptySet</td></tr>";
406 echo
"<form name='listform' action='$PHP_SELF' method='POST'> 407 <input type=hidden name='pos' value='$pos'> 408 <input type=hidden name='report' value='$report'> 409 <input type=hidden name='title' value='$title'> 410 <input type=hidden name='recstart' value='$pos'> 411 <input type=hidden name='recend' value='$pos_next'> 412 <input type=hidden name='fieldcnt' value='$num_fields'> 413 <input type=hidden name='orderby' value='$orderby'> 414 <input type=hidden name='orderdir' value='$orderdir'> 415 <input type=hidden name='upd' value='upd'>";
416 for ($i_row = $pos; $i_row < $pos_next; $i_row++) {
417 $row = pg_fetch_row($dt_result, $i_row);
418 $i_row % 2 ? $rbg=
"odd_small" : $rbg =
"even_small";
419 echo
"<tr class=$rbg>";
423 $field_type = pg_fieldtype($dt_result, 0);
424 $field_name = pg_fieldname($dt_result, 0);
425 if (preg_match(
"/(int|numeric)/i", $field_type)) {
426 echo
"<td align=right valign=top> $row[0] ";
427 } elseif ($cfgShowBlob ==
false && preg_match(
"/BLOB/i", $field_type)) {
428 echo
"<td align=right valign=top> [BLOB] ";
429 } elseif (preg_match(
"/(text|char)/i", $field_type)) {
431 if (strlen($row[0]) > $cfgMaxText && !empty($cfgMaxText)) {
432 $strLgText = nl2br(htmlspecialchars(substr($row[0], 0, $cfgMaxText))) .
" <br><b>... $strMore ...</b>";
434 $strLgText = nl2br(htmlspecialchars($row[0]));
436 echo
"<td valign=top> $strLgText";
437 } elseif ($field_type ==
"bool") {
438 echo
"<td valign=top> ", bool_YesNo($row[0]),
" ";
440 echo
"<td valign=top> ", nl2br(htmlspecialchars($row[0])),
" ";
442 echo
"<input type=hidden name=rec[$i_row][0] value=\"$row[0]\"></td>\n";
444 for ($i_field = 1; $i_field < pg_numfields($dt_result); $i_field++) {
445 if (!isset($row[$i_field]))
446 unset($row[$i_field]);
447 $field_type = pg_fieldtype($dt_result, $i_field);
448 $field_name = pg_fieldname($dt_result, $i_field);
449 if (preg_match(
"/(int|numeric)/i", $field_type)) {
450 echo
"<td align=right valign=top> <input type=text name=rec[$i_row][$i_field] value=\"" . trim($row[$i_field]) .
"\"> </td>\n";
451 } elseif ($cfgShowBlob ==
false && preg_match(
"/BLOB/i", $field_type)) {
452 echo
"<td align=right valign=top> [BLOB] </td>\n";
453 } elseif (preg_match(
"/(text|char)/i", $field_type)) {
454 echo
"<td valign=top> <input type=text name=rec[$i_row][$i_field] value=\"" . dms_disphtml($row[$i_field]) .
"\" maxsize='" . pg_fieldsize($dt_result, $i_field) .
"'></td>\n";
455 } elseif (preg_match(
"/date/i", $field_type)) {
456 echo
"<td valign=top> <input type=text name=rec[$i_row][$i_field] value=\"" . trim($row[$i_field]) .
"\" size='12' maxsize='10'></td>\n";
457 } elseif ($field_type ==
"bool") {
458 echo
"<td valign=top> ", bool_YesNo($row[$i_field]),
" </td>\n";
460 echo
"<td valign=top> ", nl2br(htmlspecialchars($row[$i_field])),
" </td>\n";
467 echo
"<tr><td><input type='submit' name='upd' value='Update'></form>";
468 echo
"</tr></table>\n";
470 echo
"</td></tr></table>";
476 function pg_die($error =
"", $query =
"", $err_file = __FILE__, $err_line = __LINE__) {
477 global $strError,$strMySQLSaid, $strBack, $selqry, $link, $db, $table, $cfgDebug, $server;
479 echo
"<b><font face=\"arial,helvetican,sans-serif\" color=\"red\">$strError - $err_file -- Line: $err_line</font></b><p>";
481 $error = @pg_errormessage();
483 echo
"<font face=\"arial,helvetican,sans-serif\" color=\"red\">", $strMySQLSaid . $error;
487 if (!empty($query)) {
488 echo
"<br>Your query: <br><b>", nl2br(htmlentities($query)),
"</b>";
490 echo
"<br><a href=\"javascript:history.back()\">$strBack</a></font>";
493 echo
"<br>Link: $link<br>DB: $db<br>Table: $table<br>Server: $server";