Odyssey
quickedit.prg
1 <?php
2 /**
3  * Change History:
4  * 05/01/13 mbl - Added fname, lname, decider to monitor_contact table.
5  */
6 
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");
12 
13  if (!CheckPerm($link, $Hu, basename($_SERVER['SCRIPT_NAME']), $_SERVER['REMOTE_ADDR'])) {
14  // ** Permissions failed
15  // ** redirect to new page
16  header("Location: /hcuadm/hcu_noperm.prg");
17  exit;
18  }
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');
22 
23 dms_import($dms_ok);
24 
25 $report = (isset($report) ? $report : 0);
26 
27  switch ($report) {
28 
29  case 1:
30 #
31 # build the query so that the first field in the select list is a unique key
32 #
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]}';";
49 
50  $title = "Assets and Members";
51  break;
52 
53  case 2:
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";
78  break;
79 
80  case 3:
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";
100  break;
101 
102  case 4:
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) ";
110  $prep_fields = "";
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]}';";
118 
119  $title = "Training and Billing";
120  break;
121 
122  case 5:
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]}';";
133 
134  $title = "Home Page URLS";
135  break;
136 
137  case 6:
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]}';";
150 
151  $title = "HomeCU References";
152  break;
153 
154  case 7:
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]}';";
170 
171  $title = "Charters, Assets and Members";
172  break;
173 
174  case 8:
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]}';";
186 
187  $title = "Contract Expiration and Renewal";
188  break;
189 
190  default:
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");
196 print <<<EOF
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>&nbsp;&nbsp;&nbsp;<a href='$PHP_SELF?report=1'>Assets and Members</a></td></tr>
203  <tr class='even'><td>&nbsp;&nbsp;&nbsp;<a href='$PHP_SELF?report=2'>Web Contact Info</a></td></tr>
204  <tr class='odd'><td>&nbsp;&nbsp;&nbsp;<a href='$PHP_SELF?report=3'>Address List</a></td></tr>
205  <tr class='even'><td>&nbsp;&nbsp;&nbsp;<a href='$PHP_SELF?report=4'>Training and Billing</a></td></tr>
206  <tr class='odd'><td>&nbsp;&nbsp;&nbsp;<a href='$PHP_SELF?report=5'>Home Page URLS</a></td></tr>
207  <tr class='even'><td>&nbsp;&nbsp;&nbsp;<a href='$PHP_SELF?report=6'>HomeCU References</a></td></tr>
208  <tr class='odd'><td>&nbsp;&nbsp;&nbsp;<a href='$PHP_SELF?report=7'>Charters, Assets and Members</a></td></tr>
209  <tr class='even'><td>&nbsp;&nbsp;&nbsp;<a href='$PHP_SELF?report=8'>Contract Expiration</a></td></tr>
210 </table>
211  </td></tr></table>
212 EOF;
213  exit;
214 
215  }
216 
217 if ($upd) {
218  unset($upd);
219  $sql="";
220 
221  for ($i = $recstart; $i < $recend; $i++) {
222 #
223 # Check the data
224 #
225 
226 #
227 # Build one big sql so we can post it in a transaction
228 #
229  eval("$prep_fields");
230  eval("\$sql .= \"$updqry\";");
231 
232  }
233 #
234 # Post the update
235 #
236 $dbh = $link;
237 
238 if (!$result = db_query($sql,$dbh)) {
239  pg_die(pg_errormessage($dbh), $sql, __FILE__, __LINE__);
240 }
241 #pg_die("Just Checking... ",$sql, __FILE__, __LINE__);
242 
243 #echo "$sql";
244 #
245 # If the post fails, return to the same page with the old data refreshed
246 # and an error message showing.
247 #
248 
249 #
250 # If the post works, move to the next requested page (forward or backward)
251 #
252 
253 }
254 $dbh = $link;
255 
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__);
260 }
261 $num_rows = db_num_rows($result);
262 $num_fields = @pg_numfields($result);
263 
264 $query = display_form($result);
265 
266 function display_form ($dt_result) {
267  global $infourl, $pos, $dbh, $selqry, $orderby, $orderdir, $report, $title, $PHP_SELF;
268 
269 $cfgQuotes="\"";
270 $cfgBorder=0;
271 $cfgMaxRows=20;
272 $cfgMaxPages=5;
273 $cfgMaxText=255;
274 $cfgOrder="DESC";
275 $strShowingRecords = "Showing records ";
276 $strTotal = "total";
277 $strPrevious = "Previous";
278 $strNext = "Next";
279 $strPos1 = "Begin";
280 $strEnd = "End";
281 $strMore = "More";
282 $strEmptySet = "No records found";
283 
284  if (!isset($pos))
285  $pos = 0;
286 
287  $pos_next = $pos + $cfgMaxRows;
288  $pos_prev = $pos - $cfgMaxRows;
289 
290  $num_rows = @pg_numrows($dt_result);
291 
292  $num_fields = @pg_numfields($dt_result);
293 
294  $iNumRows = $num_rows;
295  if ($num_rows < $pos_next) {
296  $pos_next = $num_rows;
297  }
298 
299  $strNavigation .= "<table border=0 cellpadding=2 cellspacing=0 ><tr>\n";
300  $strNavigation .= "<td align=left class='dtl'>";
301  if ($pos >= $cfgMaxRows) {
302  //doj added link to beginning of results
303  $strNavigation .= "<a href=\"javascript:submitform('0','$orderby','$orderdir');\">&lt;&lt; $strPos1 </a> | ";
304 
305  $strNavigation .= " <a href=\"javascript:submitform('$pos_prev','$orderby','$orderdir');\">&lt; $strPrevious </a> | ";
306  } else {
307  $strNavigation .= "&nbsp;";
308  }
309  $strNavigation .= "</td>\n";
310 
311  $strNavigation .= "<td align=center class='dtl'>\n";
312 
313  //doj now only the previous and next $cfgMaxPages pages will be shown
314  if (empty($cfgMaxPages)) {
315  $cfgMaxPages = 5;
316  }
317 
318  $iCount = $pos - ($cfgMaxRows * $cfgMaxPages);
319  if ($iCount < 0)
320  $iCount = 0;
321 
322  $iPageCnt = (int)($iCount / $cfgMaxRows);
323  $iPageStop = $pos + ($cfgMaxRows * ($cfgMaxPages + 1));
324 
325  for (; $iCount < $iNumRows && $iCount < $iPageStop; $iCount += $cfgMaxRows) {
326  //doj until here
327  $iPageCnt++;
328  if ($iCount != $pos) {
329  $strPages .= "<a href=\"javascript:submitform('$iCount','$orderby','$orderdir');\">$iPageCnt</a> | ";
330  } else {
331  if ($iNumRows > $cfgMaxRows) {
332  $strPages .= "$iPageCnt | ";
333  }
334  }
335  }
336  $strNavigation .= preg_replace("/ \| $/", "", $strPages);
337 
338  $strNavigation .= "</td>\n";
339 
340  $strNavigation .= "<td align=right class='dtl'>";
341  if ($pos_next < $num_rows) {
342  $strNavigation .= " | <a href=\"javascript:submitform('$pos_next','$orderby','$orderdir');\"> $strNext &gt;</a>";
343 
344  //doj link to end of results
345  $pos_end = $num_rows - $cfgMaxRows;
346  $strNavigation .= " | <a href=\"javascript:submitform('$pos_end','$orderby','$orderdir');\"> $strEnd &gt;&gt;</a>";
347  } else {
348  $strNavigation .= "&nbsp;";
349  }
350  $strNavigation .= "</td>\n";
351  $strNavigation .= "</tr></table>\n";
352 
353 header("Expires: Sat 20 May 1995 03:32:38 GMT");
354 header("Pragma: no-cache");
355 header("Cache-Control: no-cache, must-revalidate");
356 cu_header("$title");
357 print <<<EOF
358  <script>
359  function submitform(npos, nsort, ndir)
360  {
361  document.listform.pos.value=npos;
362  document.listform.orderby.value=nsort;
363  document.listform.orderdir.value=ndir;
364  document.listform.submit();
365  }
366  </script>
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>
369  <tr><td>
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>&nbsp;&nbsp;&nbsp;
373  <a href='$PHP_SELF?report=0'>Menu</a>&nbsp;&nbsp;&nbsp;</td>
374  <td class='dtl' align='right'>&nbsp;
375 EOF;
376  if ($num_rows > 1) {
377  echo "$strShowingRecords " . strval($pos + 1) . " - $pos_next ($num_rows $strTotal)";
378  }
379  echo "</td></tr></table>";
380 
381  echo $strNavigation;
382  echo "<table border=$cfgBorder align=center width='100%' cellpadding=2 cellspacing=0 bgcolor=white>";
383  echo "<tr>";
384  //echo "<tr><td class='hdr' colspan='$num_fields' align='center'>$title</td></tr><tr>";
385 
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) {
389 
390  $sort_order = ($i_field+1);
391  $sort_dir = "ASC";
392  $sort_img = "";
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'>");
396  }
397  echo "<th class='small'><A HREF=\"javascript:submitform('$pos','$sort_order','$sort_dir');\">$field_name</a>$sort_img</th>\n";
398  } else {
399  echo "<th>$field_name</th>";
400  }
401  }
402  echo "</tr>\n";
403  if ((@pg_numrows($dt_result)) < 1) {
404  echo "<tr class='odd'><td colspan='$num_fields'>$strEmptySet</td></tr>";
405  } else {
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>";
420 #
421  if (!isset($row[0]))
422  unset($row[0]);
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>&nbsp;$row[0]&nbsp;";
427  } elseif ($cfgShowBlob == false && preg_match("/BLOB/i", $field_type)) {
428  echo "<td align=right valign=top>&nbsp;[BLOB]&nbsp;";
429  } elseif (preg_match("/(text|char)/i", $field_type)) {
430  // If the text is longer than $cfgMaxText characters, let's cut it short
431  if (strlen($row[0]) > $cfgMaxText && !empty($cfgMaxText)) {
432  $strLgText = nl2br(htmlspecialchars(substr($row[0], 0, $cfgMaxText))) . " <br><b>... $strMore ...</b>";
433  } else {
434  $strLgText = nl2br(htmlspecialchars($row[0]));
435  }
436  echo "<td valign=top>&nbsp;$strLgText";
437  } elseif ($field_type == "bool") {
438  echo "<td valign=top>&nbsp;", bool_YesNo($row[0]), "&nbsp;";
439  } else {
440  echo "<td valign=top>&nbsp;", nl2br(htmlspecialchars($row[0])), "&nbsp;";
441  }
442  echo "<input type=hidden name=rec[$i_row][0] value=\"$row[0]\"></td>\n";
443 #
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>&nbsp;<input type=text name=rec[$i_row][$i_field] value=\"" . trim($row[$i_field]) . "\">&nbsp;</td>\n";
451  } elseif ($cfgShowBlob == false && preg_match("/BLOB/i", $field_type)) {
452  echo "<td align=right valign=top>&nbsp;[BLOB]&nbsp;</td>\n";
453  } elseif (preg_match("/(text|char)/i", $field_type)) {
454  echo "<td valign=top>&nbsp;<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>&nbsp;<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>&nbsp;", bool_YesNo($row[$i_field]), "&nbsp;</td>\n";
459  } else {
460  echo "<td valign=top>&nbsp;", nl2br(htmlspecialchars($row[$i_field])), "&nbsp;</td>\n";
461  }
462  }
463 
464  }
465 }
466 
467 echo "<tr><td><input type='submit' name='upd' value='Update'></form>";
468  echo "</tr></table>\n";
469  echo $strNavigation;
470  echo "</td></tr></table>";
471  return $query;
472 }
473 // Function: pg_die($error, $query)
474 // Params: $error -- The displayable error text. Usually passed as pg_errormessage()
475 // $query -- The query which was attempted
476 function pg_die($error = "", $query = "", $err_file = __FILE__, $err_line = __LINE__) {
477  global $strError,$strMySQLSaid, $strBack, $selqry, $link, $db, $table, $cfgDebug, $server;
478 
479  echo "<b><font face=\"arial,helvetican,sans-serif\" color=\"red\">$strError - $err_file -- Line: $err_line</font></b><p>";
480  if (empty($error)) {
481  $error = @pg_errormessage();
482  }
483  echo "<font face=\"arial,helvetican,sans-serif\" color=\"red\">", $strMySQLSaid . $error;
484  if (empty($query)) {
485  $query = $selqry;
486  }
487  if (!empty($query)) {
488  echo "<br>Your query: <br><b>", nl2br(htmlentities($query)), "</b>";
489  }
490  echo "<br><a href=\"javascript:history.back()\">$strBack</a></font>";
491 
492  if ($cfgDebug) {
493  echo "<br>Link: $link<br>DB: $db<br>Table: $table<br>Server: $server";
494  }
495 
496  echo "<p>";
497  exit;
498 }
499 ?>