Odyssey
cumntc.prg
1 <?php
2 $monLibrary= dirname(__FILE__) . "/../library";
3 $sharedLibrary= dirname(__FILE__) . "/../../shared/library";
4 require_once("$monLibrary/cu_top.i");
5 require_once("$monLibrary/ck_hticket.i");
6 require_once("$monLibrary/cu_pass.i");
7 require_once("$sharedLibrary/cu_flagconst.i");
8 
9 if (!CheckPerm($link, $Hu, basename($_SERVER['SCRIPT_NAME']), $_SERVER['REMOTE_ADDR'])) {
10  // ** Permissions failed
11  // ** redirect to new page
12  header("Location: /hcuadm/hcu_noperm.prg");
13  exit;
14  }
15 
16 $string = array("filter" => FILTER_SANITIZE_STRING);
17 $stringNoEncodeQuote = array("filter" => FILTER_SANITIZE_STRING,
18  "options" => array("flags" => FILTER_FLAG_NO_ENCODE_QUOTES));
19 $digits = array("filter" => FILTER_SANITIZE_NUMBER_INT);
20 $array = HCUFILTER_INPUT_ARRAY;
21 $dms_ok = array(
22  'Flang'=>$string,'speak'=>$string,'cu_types'=>$array,
23  'tdesc_'=>'prefix_s','action'=>$string,'origbatch'=>$string,'cu'=>$string,
24  'user_name'=>$string,'orgname'=>$stringNoEncodeQuote,
25  'pname'=>$stringNoEncodeQuote,'fid'=>$string,
26  'rt'=>$string,'Flag8'=>$digits,'Flag16'=>$digits,'Flag32'=>$digits,
27  'Flag1'=>$digits,'Flag64'=>$digits,'Flag4'=>$digits,
28  'Flag128'=>$digits,'Flag256'=>$digits,'Flag512'=>$digits,
29  'Flag1024'=>$digits,'Flag2048'=>$digits,'Flag65536'=>$digits,
30  'Flag1048576'=>$digits,'Flag2_16384'=>$digits,'Flag33554432'=>$digits,
31  'Flag1073741824'=>$digits,'Flag2_1'=>$digits,'Flag2_2'=>$digits,
32  'Flag2_512'=>$digits,'Flag2_4'=>$digits,'Flag2_8'=>$digits,
33  'Flag2_16'=>$digits,'Flag2_4096'=>$digits,'Flag2_8192'=>$digits,
34  'Flag2_1024'=>$digits,'ckhexkey'=>$string,'Flag2'=>$digits,
35  'Flag67108864'=>$digits,'bp_cuid'=>$string,'bp_secret'=>$string,
36  'Flag524288'=>$digits,'Flag4194304'=>$digits,'Flag8388608'=>$digits,
37  'Flag16777216'=>$digits,'Flag134217728'=>$digits,'Flag268435456'=>$digits,
38  'Flag536870912'=>$digits,'Flag2_32'=>$digits,'Flag2_64'=>$digits,
39  'Flag2_2048'=>$digits,'Flagsortorder'=>$digits,'Flagloansort'=>$digits,
40  'retrylimit'=>$digits,'gracelimit'=>$digits,'pwdays'=>$digits,
41  'min_chlng_qst'=>$digits,'loginscript'=>$string,'offlineblurb'=>$stringNoEncodeQuote,
42  'ahdropdays'=>$digits,'lhdropdays'=>$digits,'trandropdays'=>$digits,
43  'trandropbatches'=>$digits,'cu_exp_days'=>$digits,'tranformat'=>$digits,
44  'nextbatch'=>$digits,'mxcu'=>$string,'cutxt_email'=>$string,'cucc_email'=>$string,
45  'liveserver'=>$string,'liveport'=>$digits,'livewait'=>$digits,
46  'histdays'=>$digits,'t'=>$string,'vendor'=>$string,'tz'=>$string,
47  'img'=>$string,'bp_vendor'=>$string,'ssovendor'=>$string,
48  'cookie_ver'=>$string,'offlinestat'=>$string, 'livebatch'=>$string,
49  'save'=>$string,'rowid'=>$string,'ccinfourl'=>$string,'ckurl'=>$string,
50  'ckorgid'=>$string,'tranfldsep'=>$string,'traneol'=>$string,
51  'Flag2_32768'=>$digits,'Flag2_65536'=>$digits, "Flag3_2048" => $digits,
52  'Flag2_131072'=>$digits,'Flag2_262144'=>$digits,'Flag2_524288'=>$digits,
53  'Flag2_1048576'=>$digits,'Flag2_2097152'=>$digits,
54  'Flag2_4194304'=>$digits,'Flag2_8388608'=>$digits,'Flag2_134217728'=>$digits,
55  'Flag2_16777216'=>$digits,'Flag2_33554432'=>$digits,'trmemomaxlen'=>$digits,
56  'Flag2_536870912'=>$digits,'Flag2_67108864'=>$digits,'Flag2_1073741824'=>$digits,
57  'pwdcfg_use'=>$digits,'pwdcfg_len'=>$digits,'pwdcfg_upper'=>$digits,
58  'pwdcfg_lower'=>$digits,'pwdcfg_special'=>$digits,'pwdcfg_digits'=>$digits,
59  'FlagBankingActivation' => $digits,'Flag3_1'=>$digits,'Flag3_2'=>$digits,
60  'Flag3_4'=>$digits, "Flag3_8192" => $digits, "Flag3_16384" => $digits,
61  "Flag3_32768" => $digits,'Flag3_16'=>$digits, 'Flag3_32'=>$digits,
62  'Flag3_64'=>$digits, 'Flag3_128'=>$digits, 'Flag3_256'=>$digits,
63  'Flag3_512'=>$digits, 'Flag3_1024' => $digits, 'Flag3_65536'=>$digits,
64  'Flag3_131072'=> $digits, 'Flag3_262144' => $digits, "Flag3_524288" => $digits
65 );
66 
67 // set default values for flag variables
68 $parametersDefaults= array(
69  "Flag1"=>0, "Flag2"=>0, "Flag4"=>0, "Flag8"=>0, "Flag16"=>0, "Flag32"=>0,
70  "Flag64"=>0, "Flag128"=>0, "Flag256"=>0, "Flag512"=>0, "Flag1024"=>0,
71  "Flag2048"=>0, "Flag65536"=>0, "Flag524288"=>0,
72  "Flag1048576"=>0, "Flag4194304"=>0, "Flag8388608"=>0, "Flag16777216"=>0,
73  "Flag33554432"=>0, "Flag67108864"=>0, "Flag134217728"=>0,
74  "Flag268435456"=>0, "Flag536870912"=>0, "Flag1073741824"=>0, "Flag3_4096" => 0,
75  "Flag2_1"=>0, "Flag2_2"=>0, "Flag2_4"=>0, "Flag2_8"=>0, "Flag2_16"=>0,
76  "Flag2_32"=>0, "Flag2_64"=>0, "Flag2_512"=>0, "Flag2_1024"=>0, "Flag2_2048"=>0,
77  "Flag2_4096"=>0, "Flag2_8192"=>0, "Flag2_16384"=>0, "Flag2_32768"=>0,
78  "Flag2_65536"=>0, "Flag2_131072"=>0, "Flag2_262144"=>0, "Flag2_524288"=>0,
79  "Flag2_1048576"=>0, "Flag2_2097152"=>0, "Flag2_4194304"=>0, "Flag2_8388608"=>0,
80  "Flag2_16777216"=>0, "Flag2_33554432"=>0, "Flag2_67108864"=>0,
81  "Flag2_134217728"=>0, "Flag2_536870912"=>0, "Flag2_1073741824" => 0,
82  "Flag3_16384" => 0, "Flag3_32768" => 0,
83  "Flag3_1"=>0, "Flag3_2"=>0, "Flag3_4"=>0, "Flag3_8"=>0, "Flag3_16"=>0,
84  "Flag3_32"=>0, "Flag3_64"=>0, "Flag3_128"=>0, "Flag3_256"=>0, "Flag3_512"=>0,
85  "Flag3_1024"=>0, "Flag3_2048"=>0, "Flag3_8192" => 0, "Flag3_65536"=>0,
86  "Flag3_131072" => 0, "Flag3_262144" => 0, "Flag3_524288" => 0
87 );
88 
89 $parametersImport = array("a" => array());
90 HCU_ImportVars($parametersImport, "a", $dms_ok);
91 $parameters = array_merge($parametersDefaults, $parametersImport["a"]);
92 extract($parameters);
93 
94 $helpicon="<img src='/monitor/images/q1.gif' border=0 alt='View Help' valign='top'>";
95 $docsicon="<img src='/monitor/images/folder.gif' border=0 alt='View Docs' valign='top'>";
96 $helpdoc="$infourl/hcuadm/TxnFormats.html";
97 $imgdoc="$infourl/hcuadm/cuimage?";
98 $bpdoc="$infourl/hcuadm/cusso.prg?act=4";
99 $bnicon="<img src='/monitor/images/more.gif' border=0 alt='Edit' valign='top'>";
100 $bannerlink = "<a href='javascript:show_banner();'>$bnicon</a>";
101 $ssodoc="$infourl/hcuadm/cusso.prg?act=5";
102 
103  function print_java() {
104 global $rowid;
105  // This function will print the javascript needed to validate the new / fetch screens
106  print <<< java_code
107  <script language="javascript">
108  <!-- Hide Javascript from older browsers
109  function show_banner()
110  {
111  helpwin=window.open("/hcuadm/BannerMntc.prg?rowid=$rowid","_Banner","toolbar=1,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=1,width=600,height=320"); // height was 640 with the mobile visible.
112  helpwin.focus();
113  }
114  function show_help(marker)
115  {
116  helpwin=window.open(marker,"_Help","toolbar=1,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=1,width=600,height=340");
117  helpwin.focus();
118  }
119  function show_smarthelp(chosen)
120  {
121  var marker;
122  var low;
123  var high;
124  var ch = document.zero.elements[chosen];
125  var iurl = document.zero.infourl.value;
126 
127  if (chosen == 'img') {
128  marker=iurl + '/hcuadm/cuimage?';
129  low=4;
130  high=5;
131  } else if (chosen == 'bp_vendor') {
132  marker=iurl + '/hcuadm/cusso.prg?';
133  low=4;
134  high=6;
135  } else if (chosen == 'ssovendor') {
136  marker=iurl + '/hcuadm/cusso.prg?';
137  low=5;
138  high=6;
139  }
140  if (ch.selectedIndex==0 || ch.options[ch.selectedIndex].value=='NO') {
141  marker = marker + 'act=' + low;
142  } else {
143  marker = marker + 'act=' + high + '&vc=' + ch.options[ch.selectedIndex].value;
144  }
145  helpwin=window.open(marker,"_Help","toolbar=1,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=1,width=600,height=340");
146  helpwin.focus();
147  }
148 
149  function show_docs(chosen)
150  {
151  var marker;
152  var ch = document.zero.elements[chosen];
153  var iurl = document.zero.infourl.value;
154 
155  if (chosen == 'img') {
156  marker=iurl + '/hcuadm/DocMaint?csub=Image_Vendors';
157  } else if (chosen == 'bp_vendor') {
158  marker=iurl + '/hcuadm/DocMaint?csub=SSO_Partners';
159  } else if (chosen == 'ssovendor') {
160  marker=iurl + '/hcuadm/DocMaint?csub=SSO_Partners';
161  }
162  if (ch.selectedIndex!=0 && ch.options[ch.selectedIndex].value!='NO') {
163  marker = marker + '&ndir=' + ch.options[ch.selectedIndex].value;
164  }
165  helpwin=window.open(marker,"_Help","toolbar=1,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=1,width=600,height=340");
166  helpwin.focus();
167  }
168  // Function: val_save
169  // Parameters: None
170  // Purpose: To validate any field information before saving
171  function val_save() {
172  var db_select = false;
173  var mtx_select = false;
174  var err_msg = "";
175  var lhdays = "";
176  var ahdays = "";
177  var trdays = "";
178  var trbatch = "";
179 
180  // Validate some fields that Must be entered
181  // CU Prefix
182  if (document.forms[0].elements['cu'].value == "")
183  err_msg += "A CU Prefix must be entered.\\n";
184  // User / Home Direcotry Name
185  if (document.forms[0].elements['user_name'].value == "")
186  err_msg += "A User / Home Directory Name must be entered.\\n";
187  // CU Code Type
188  // if (document.forms[0].elements['t'].selectedIndex == 0)
189  // err_msg += "A CU Code Type must be selected.\\n";
190 
191  // Validate the account history drop days is either 'HOLD' or >= 94
192  ahdays = document.forms[0].elements['ahdropdays'].value;
193  ahdays = ahdays.toUpperCase();
194  if (ahdays != 'HOLD') {
195  // Must be a numeric value, validate and a min of 94
196  ahdays = parseInt(ahdays);
197  if (isNaN(ahdays))
198  err_msg += "Invalid entry for Account History Drop Days. Valid Entries are: Hold, number >= 94.\\n";
199  else if(ahdays < 94)
200  err_msg += "Invalid entry for Account History Drop Days. Valid Entries are: Hold, number >= 94.\\n";
201  }
202 
203  // Validate the loan history drop days is either 'HOLD' or >= 187
204  lhdays = document.forms[0].elements['lhdropdays'].value;
205  lhdays = lhdays.toUpperCase();
206  if (lhdays != 'HOLD') {
207  // Must be a numeric value, validate and a min of 187
208  lhdays = parseInt(lhdays);
209  if (isNaN(lhdays))
210  err_msg += "Invalid entry for Loan History Drop Days. Valid Entries are: Hold, number >= 187.\\n";
211  else if(lhdays < 187)
212  err_msg += "Invalid entry for Loan History Drop Days. Valid Entries are: Hold, number >= 187.\\n";
213  }
214 
215  // Validate the transaction drop days is either 'HOLD' or >= 366
216  trdays = document.forms[0].elements['trandropdays'].value;
217  trdays = trdays.toUpperCase();
218  if (trdays != 'HOLD') {
219  // Must be a numeric value, validate and a min of 366
220  trdays = parseInt(trdays);
221  if (isNaN(trdays))
222  err_msg += "Invalid entry for Transaction Drop Days. Valid Entries are: Hold, number >= 366.\\n";
223  else if(trdays < 366)
224  err_msg += "Invalid entry for Transaction Drop Days. Valid Entries are: Hold, number >= 366.\\n";
225  }
226 
227  // Validate the transaction drop days is either 'HOLD' or >= 366
228  trbatch = document.forms[0].elements['trandropbatches'].value;
229  trbatch = trbatch.toUpperCase();
230  if (trbatch != 'HOLD') {
231  // Must be a numeric value, validate and a min of 3
232  trbatch = parseInt(trbatch);
233  if (isNaN(trbatch))
234  err_msg += "Invalid entry for Transaction Batches. Valid Entries are: Hold, number >= 3.\\n";
235  else if(trbatch < 3)
236  err_msg += "Invalid entry for Transaction Batches. Valid Entries are: Hold, number >= 3.\\n";
237  }
238 
239  if (err_msg != "") {
240  err_msg += "\\nThese must be fixed before you are allowed to save this Credit Union.\\n";
241  window.alert(err_msg);
242  return false;
243  }
244  else {
245  return true;
246  }
247  }
248  // Function: set_flags
249  // Parameters: Integer value indicating flags to be set
250  // Purpose: To reset processing flags to the requested default values
251  function set_flags(req_flag) {
252  document.forms[0].elements['Flag1'].checked = (req_flag & 1);
253  document.forms[0].elements['Flag2'].checked = (req_flag & 2);
254  document.forms[0].elements['Flag8'].checked = (req_flag & 8);
255  document.forms[0].elements['Flag16'].checked = (req_flag & 16);
256  document.forms[0].elements['Flag32'].checked = (req_flag & 32);
257  document.forms[0].elements['Flag64'].checked = (req_flag & 64);
258  document.forms[0].elements['Flag128'].checked = (req_flag & 128);
259  document.forms[0].elements['Flag256'].checked = (req_flag & 256);
260  document.forms[0].elements['Flag512'].checked = (req_flag & 512);
261  document.forms[0].elements['Flag1024'].checked = (req_flag & 1024);
262  document.forms[0].elements['Flag2048'].checked = (req_flag & 2048);
263  document.forms[0].elements['Flagsortorder'][0].checked = (req_flag & 4096);
264  document.forms[0].elements['Flagsortorder'][1].checked = (req_flag & 8192);
265  document.forms[0].elements['Flagsortorder'][2].checked = (req_flag & 16384);
266  document.forms[0].elements['Flagsortorder'][3].checked = (req_flag & 32768);
267  document.forms[0].elements['Flagsortorder'][4].checked = (req_flag & 2097152);
268  document.forms[0].elements['Flag65536'].checked = (req_flag & 65536);
269  document.forms[0].elements['Flagloansort'][0].checked = (req_flag & 131072);
270  document.forms[0].elements['Flagloansort'][1].checked = (req_flag & 262144);
271  document.forms[0].elements['Flag524288'].checked = (req_flag & 524288);
272  document.forms[0].elements['Flag1048576'].checked = (req_flag & 1048576);
273  document.forms[0].elements['Flag4194304'].checked = (req_flag & 4194304);
274  document.forms[0].elements['Flag8388608'].checked = (req_flag & 8388608);
275  document.forms[0].elements['Flag16777216'].checked = (req_flag & 16777216);
276  document.forms[0].elements['Flag33554432'].checked = (req_flag & 33554432);
277  document.forms[0].elements['Flag67108864'].checked = (req_flag & 67108864);
278  document.forms[0].elements['Flag134217728'].checked = (req_flag & 134217728);
279  document.forms[0].elements['Flag268435456'].checked = (req_flag & 268435456);
280  document.forms[0].elements['Flag536870912'].checked = (req_flag & 536870912);
281  document.forms[0].elements['Flag1073741824'].checked = (req_flag & 1073741824);
282  }
283 
284  // I'm sure that this will be written better when/if this script gets updated and JQuery is available.
285  function thisDependency(element3_32)
286  {
287  var element3_64= document.forms[0].elements['Flag3_64'];
288  if (element3_32.checked)
289  {
290  element3_64.disabled= false;
291  }
292  else
293  {
294  element3_64.disabled= true;
295  element3_64.checked= false;
296  }
297  }
298 
299  function thisXACDependency(element3_256) {
300  var element3_32768 = document.forms[0].elements['Flag3_32768'];
301  var element3_524288 = document.forms[0].elements['Flag3_524288'];
302 
303  if (element3_256.checked) {
304  element3_32768.disabled= false;
305  element3_524288.disabled= false;
306  } else {
307  element3_32768.disabled= true;
308  element3_32768.checked= false;
309  element3_524288.disabled= true;
310  element3_524288.checked= false;
311  }
312  }
313  // Stop Hiding java script -->
314  </script>
315 java_code;
316 
317  }
318 
319  function check_fields() {
320  global $cu, $user_name, $t, $db, $mtx, $mxcu, $ahdropdays, $lhdropdays, $trandropdays, $trandropbatches, $Flag8, $Flag16,$cu_types;
321  // The purpose of this function is to check to make sure the required fields are entered
322  // Or special validation is done on other fields. This will only display the errors
323  // And require the user to use the back key, most likely losing the changes they made
324  $err_msg = "";
325 
326  // Validate These fields are entered
327  // CU Prefix
328  if (trim($cu) == "")
329  $err_msg = "CU Prefix must be entered.<br>";
330  // Directory name
331  if (trim($user_name) == "")
332  $err_msg .= "User / Home Directory Name must be entered.<br>";
333  // CU Type Code
334  if (trim($t) == "")
335  $t='ST';
336  # $err_msg .= "A CU Type Code must be selected.<br>";
337  if ( is_array( $cu_types ) ) {
338  if (in_array("CC", $cu_types) && in_array("CE", $cu_types)) {
339  // CC and CE trancodes are mutually exclusive
340  $err_msg .= "CC Loan Type 18 payments can post as LP or as CP, but not both. <br>";
341  }
342  }
343  // Validate that ahdropdays is either HOLD or min of 94
344  $ahdropdays = strtoupper(trim($ahdropdays));
345  if ($ahdropdays != "HOLD") {
346  // Must be a number so convert it to a number and make sure it is a valid entry
347  $ahdropdays = intval($ahdropdays);
348  if ($ahdropdays < 94)
349  $err_msg .= "Invalid entry for Account History Drop Days. The value must be either 'HOLD' or a minimum of 94 days.<br>";
350  }
351 
352  // Validate that lhdropdays is either HOLD or min of 187
353  $lhdropdays = strtoupper(trim($lhdropdays));
354  if ($lhdropdays != "HOLD") {
355  // Must be a number so convert it to a number and make sure it is a valid entry
356  $lhdropdays = intval($lhdropdays);
357  if ($lhdropdays < 187)
358  $err_msg .= "Invalid entry for Loan History Drop Days. The value must be either 'HOLD' or a minimum of 187 days.<br>";
359  }
360 
361  // Validate that trandropdays is either HOLD or min of 366
362  $trandropdays = strtoupper(trim($trandropdays));
363  if ($trandropdays != "HOLD") {
364  // Must be a number so convert it to a number and make sure it is a valid entry
365  $trandropdays = intval($trandropdays);
366  if ($trandropdays < 366)
367  $err_msg .= "Invalid entry for Transaction Drop Days. The value must be either 'HOLD' or a minimum of 366 days.<br>";
368  }
369 
370  // Validate that tranbatches is either HOLD or min of 3
371  $trandropbatches = strtoupper(trim($trandropbatches));
372  if ($trandropbatches != "HOLD") {
373  // Must be a number so convert it to a number and make sure it is a valid entry
374  $trandropbatches = intval($trandropbatches);
375  if ($trandropbatches < 3)
376  $err_msg .= "Invalid entry for Transaction Batches. The value must be either 'HOLD' or a minimum of 3 days.<br>";
377  }
378 
379 
380  return $err_msg;
381  }
382 
383 
384  if (empty($action)) $action = 'list';
385 
386  switch ($action) {
387  case "fetch":
388  // connect to db
389  $dbh = $link;
390  $sql = "select cu, user_name, nextbatch,
391  fid, t, db, mtx, mxcu, img, ckhexkey, ckorgid, ckurl,
392  rt, orgname, livebatch,liveserver, showavailable as sab,
393  pname, liveport, livewait, retrylimit,
394  tranformat, ahdropdays, lhdropdays, trandropdays,
395  trandropbatches, tz, gracelimit, pwdays, flagset, flagset2, flagset3,
396  histdays, tranfldsep, traneol,bp_cuid, bp_secret, dep_exp_days,
397  ccinfourl, min_chlng_qst, cookie_ver, loginscript, offlinestat,
398  offlineblurb, bp_vendor, ssovendor, trmemomaxlen, pwdconfig
399  from cuadmin where user_name = '" . $rowid . "'";
400  $sth = db_query($sql, $dbh);
401  if ($sth) {
402  // display update form w/link to self ?action=update
403  cu_header("Credit Union Settings Maintenance -- Modify Account");
404  print_java();
405 
406  // ** LOAD THE txtbanking value from cuadmnotify
407  $CUTXT_Email = "";
408  $sql = "SELECT email
409  FROM cuadmnotify
410  WHERE role = 'txtbanking'
411  AND cu = '" . strtoupper(prep_save($rowid, 10)) . "' ";
412 
413  if ($adm_rs = db_query($sql, $dbh)) {
414  list($CUTXT_Email) = db_fetch_array($adm_rs);
415  $CUTXT_Email = dms_disphtml($CUTXT_Email);
416  }
417 
418  // ** LOAD THE Credit Card email value from cuadmnotify
419  $CUCC_Email = "";
420  $sql = "SELECT email
421  FROM cuadmnotify
422  WHERE role = 'ccemail'
423  AND cu = '" . strtoupper(prep_save($rowid, 10)) . "' ";
424 
425  if ($adm_rs = db_query($sql, $dbh)) {
426  list($CUCC_Email) = db_fetch_array($adm_rs);
427  $CUCC_Email = dms_disphtml($CUCC_Email);
428  }
429 
430 
431  $row=db_fetch_array($sth);
432  $row['cu']=trim($row['cu']);
433  $row['user_name']=trim($row['user_name']);
434 
435  $select_1 = $select_2 = $select_3 = "";
436  if (trim($row['t']) == 'ST')
437  $select_1 = "SELECTED";
438  elseif (trim($row['t']) == 'AMI')
439  $select_2 = "SELECTED";
440  elseif (trim($row['t']) == 'P')
441  $select_3 = "SELECTED";
442 
443  $tz_1 = $tz_2 = $tz_3 = $tz_4 = $tz_5 = "";
444  $tz_6 = $tz_7 = $tz_8 = $tz_9 = $tz_10 = "";
445  $tz_11 = $tz_12 = $tz_13 = "";
446  switch (trim($row['tz'])) {
447  case "Alaska":
448  $tz_1 = "SELECTED";
449  break;
450  case "Arizona":
451  $tz_2 = "SELECTED";
452  break;
453  case "Central":
454  $tz_3 = "SELECTED";
455  break;
456  case "East-Indiana":
457  $tz_4 = "SELECTED";
458  break;
459  case "Eastern":
460  $tz_5 = "SELECTED";
461  break;
462  case "Hawaii":
463  $tz_6 = "SELECTED";
464  break;
465  case "Indiana-Starke":
466  $tz_7 = "SELECTED";
467  break;
468  case "Michigan":
469  $tz_8 = "SELECTED";
470  break;
471  case "Mountain":
472  $tz_9 = "SELECTED";
473  break;
474  case "Pacific":
475  $tz_10 = "SELECTED";
476  break;
477  case "America/Port_of_Spain":
478  $tz_11 = "SELECTED";
479  break;
480  case "America/St_Thomas":
481  $tz_12 = "SELECTED";
482  break;
483  case "America/Puerto_Rico":
484  $tz_13 = "SELECTED";
485  break;
486  }
487 
488  if ($row['flagset'] & GetFlagsetValue("CU_SHOWAVAILABLE")) $flag1_ck = "CHECKED"; else $flag1_ck = "";
489  if ($row['flagset'] & GetFlagsetValue("CU_SHOWIMAGES")) $flag2_ck = "CHECKED"; else $flag2_ck = "";
490  if ($row['flagset'] & GetFlagsetValue("CU_3RDPARTYRDC")) $flag4_ck = "CHECKED"; else $flag4_ck = "";
491  if ($row['flagset'] & GetFlagsetValue("CU_MAILTXNS")) $flag8_ck = "CHECKED"; else $flag8_ck = "";
492  if ($row['flagset'] & GetFlagsetValue("CU_SAVETXNS")) $flag16_ck = "CHECKED"; else $flag16_ck = "";
493  if ($row['flagset'] & GetFlagsetValue("CU_COLLECTEMAIL")) $flag32_ck = "CHECKED"; else $flag32_ck = "";
494  if ($row['flagset'] & GetFlagsetValue("CU_CALCRUNBAL")) $flag64_ck = "CHECKED"; else $flag64_ck = "";
495  if ($row['flagset'] & GetFlagsetValue("CU_SHOWDEPDIVIDEND")) $flag128_ck = "CHECKED"; else $flag128_ck = "";
496  if ($row['flagset'] & GetFlagsetValue("CU_SHOWLNINTEREST")) $flag256_ck = "CHECKED"; else $flag256_ck = "";
497  if ($row['flagset'] & GetFlagsetValue("CU_SHOWLNTXNDESC")) $flag512_ck = "CHECKED"; else $flag512_ck = "";
498  if ($row['flagset'] & GetFlagsetValue("CU_SHOWLNTXNSPLIT")) $flag1024_ck = "CHECKED"; else $flag1024_ck = "";
499  if ($row['flagset'] & GetFlagsetValue("CU_HIDENA")) $flag2048_ck = "CHECKED"; else $flag2048_ck = "";
500  if ($row['flagset'] & GetFlagsetValue("CU_SORTORDER1")) $flag4096_ck = "CHECKED"; else $flag4096_ck = "";
501  if ($row['flagset'] & GetFlagsetValue("CU_SORTORDER2")) $flag8192_ck = "CHECKED"; else $flag8192_ck = "";
502  if ($row['flagset'] & GetFlagsetValue("CU_SORTORDER3")) $flag16384_ck = "CHECKED"; else $flag16384_ck = "";
503  if ($row['flagset'] & GetFlagsetValue("CU_SORTORDER4")) $flag32768_ck = "CHECKED"; else $flag32768_ck = "";
504  if ($row['flagset'] & GetFlagsetValue("CU_SORTORDER5")) $flag2097152_ck = "CHECKED"; else $flag2097152_ck = "";
505  if ($row['flagset'] & GetFlagsetValue("CU_LNBALUNUSABLE")) $flag65536_ck = "CHECKED"; else $flag65536_ck = "";
506  if ($row['flagset'] & GetFlagsetValue("CU_LNSORT1")) $flag131072_ck = "CHECKED"; else $flag131072_ck = "";
507  if ($row['flagset'] & GetFlagsetValue("CU_LNSORT2")) $flag262144_ck = "CHECKED"; else $flag262144_ck = "";
508  if ($row['flagset'] & GetFlagsetValue("CU_QIFDOWN")) $flag524288_ck = "CHECKED"; else $flag524288_ck = "";
509  if ($row['flagset'] & GetFlagsetValue("CU_MNYDOWN")) $flag4194304_ck = "CHECKED"; else $flag4194304_ck = "";
510  if ($row['flagset'] & GetFlagsetValue("CU_QKNDOWN")) $flag8388608_ck = "CHECKED"; else $flag8388608_ck = "";
511  if ($row['flagset'] & GetFlagsetValue("CU_SHOWNCUA")) $flag16777216_ck = "CHECKED"; else $flag16777216_ck = "";
512  if ($row['flagset'] & GetFlagsetValue("CU_MEMRESET")) $flag134217728_ck = "CHECKED"; else $flag134217728_ck = "";
513  if ($row['flagset'] & GetFlagsetValue("CU_ALLOWSWITCH")) $flag268435456_ck = "CHECKED"; else $flag268435456_ck = "";
514  if ($row['flagset'] & GetFlagsetValue("CU_PKT_SWITCH")) $flag536870912_ck = "CHECKED"; else $flag536870912_ck = "";
515  if ($row['flagset'] & GetFlagsetValue("CU_SHOWLNRATE")) $flag33554432_ck = "CHECKED"; else $flag33554432_ck = "";
516  if ($row['flagset'] & GetFlagsetValue("CU_HIDELOANDATE")) $flag1048576_ck = "CHECKED"; else $flag1048576_ck = "";
517  if ($row['flagset'] & GetFlagsetValue("CU_SHOWARCLINK")) $flag67108864_ck = "CHECKED"; else $flag67108864_ck = "";
518  if ($row['flagset'] & GetFlagsetValue("CU_HIDE_PYR")) $flag1073741824_ck = "CHECKED"; else $flag1073741824_ck = "";
519  if ($row['flagset2'] & GetFlagsetValue("CU2_HIDE_PAYOFF")) $flag2_1_ck = "CHECKED"; else $flag2_1_ck = "";
520  if ($row['flagset2'] & GetFlagsetValue("CU2_CALL_PAYOFF")) $flag2_2_ck = "CHECKED"; else $flag2_2_ck = "";
521  if ($row['flagset2'] & GetFlagsetValue("CU2_SPEC18")) $flag2_4_ck = "CHECKED"; else $flag2_4_ck = "";
522  if ($row['flagset2'] & GetFlagsetValue("CU2_SHOWCCRATE")) $flag2_8_ck = "CHECKED"; else $flag2_8_ck = "";
523  if ($row['flagset2'] & GetFlagsetValue("CU2_SHOWCCLPAY")) $flag2_16_ck = "CHECKED"; else $flag2_16_ck = "";
524  if ($row['flagset2'] & GetFlagsetValue("CU2_PROCRECUR")) $flag2_32_ck = "CHECKED"; else $flag2_32_ck = "";
525  if ($row['flagset2'] & GetFlagsetValue("CU2_ALLOWMESSAGE")) $flag2_64_ck = "CHECKED"; else $flag2_64_ck = "";
526  if ($row['flagset2'] & GetFlagsetValue("CU2_SORTORDER6")) $flag2_128_ck = "CHECKED"; else $flag2_128_ck = "";
527  if ($row['flagset2'] & GetFlagsetValue("CU2_SHOWHOLD")) $flag2_512_ck = "CHECKED"; else $flag2_512_ck = "";
528  if ($row['flagset2'] & GetFlagsetValue("CU2_SHOWCCSB")) $flag2_1024_ck = "CHECKED"; else $flag2_1024_ck = "";
529  if ($row['flagset2'] & GetFlagsetValue("CU2_USEONLDEP")) $flag2_2048_ck = "CHECKED"; else $flag2_2048_ck = "";
530  if ($row['flagset2'] & GetFlagsetValue("CU2_CC18NOINFO")) $flag2_4096_ck = "CHECKED"; else $flag2_4096_ck = "";
531  if ($row['flagset2'] & GetFlagsetValue("CU2_CC18SHOWZERO")) $flag2_8192_ck = "CHECKED"; else $flag2_8192_ck = "";
532  if ($row['flagset2'] & GetFlagsetValue("CU2_HIDE_PASTDUE")) $flag2_16384_ck = "CHECKED"; else $flag2_16384_ck = "";
533  if ($row['flagset2'] & GetFlagsetValue("CU2_OFX_MEMACCTID")) $flag2_32768_ck = "CHECKED"; else $flag2_32768_ck = "";
534  if ($row['flagset2'] & GetFlagsetValue("CU2_OFX_PASSLOAN")) $flag2_65536_ck = "CHECKED"; else $flag2_65536_ck = "";
535  if ($row['flagset2'] & GetFlagsetValue("CU2_10DAYPAY")) $flag2_131072_ck = "CHECKED"; else $flag2_131072_ck = "";
536  if ($row['flagset2'] & GetFlagsetValue("CU2_HIDE_CCAVAIL")) $flag2_262144_ck = "CHECKED"; else $flag2_262144_ck = "";
537  if ($row['flagset2'] & GetFlagsetValue("CU2_CALL_CCAVAIL")) $flag2_524288_ck = "CHECKED"; else $flag2_524288_ck = "";
538  if ($row['flagset2'] & GetFlagsetValue("CU2_SHOWBANNER")) $flag2_1048576_ck = "CHECKED"; else $flag2_1048576_ck = "";
539  if ($row['flagset2'] & GetFlagsetValue("CU2_ESCHEMA")) $flag2_2097152_ck = "CHECKED"; else $flag2_2097152_ck = "";
540  if ($row['flagset2'] & GetFlagsetValue("CU2_SHOW_LN_ESCROW")) $flag2_4194304_ck = "CHECKED"; else $flag2_4194304_ck = "";
541  if ($row['flagset2'] & GetFlagsetValue("CU2_SHOW_LN_FEE")) $flag2_8388608_ck = "CHECKED"; else $flag2_8388608_ck = "";
542  if ($row['flagset2'] & GetFlagsetValue("CU2_FRAMEFREE")) $flag2_16777216_ck = "CHECKED"; else $flag2_16777216_ck = "";
543  if ($row['flagset2'] & GetFlagsetValue("CU2_SHOWPEND")) $flag2_134217728_ck = "CHECKED"; else $flag2_134217728_ck = "";
544  if ($row['flagset2'] & GetFlagsetValue("CU2_ALLOW_MBR_ALERTS")) $flag2_33554432_ck = "CHECKED"; else $flag2_33554432_ck = "";
545  if ($row['flagset2'] & GetFlagsetValue("CU2_ALIAS_REQ")) $flag2_67108864_ck = "CHECKED"; else $flag2_67108864_ck = "";
546  if ($row['flagset2'] & GetFlagsetValue("CU2_ALIAS_OK")) $flag2_1073741824_ck = "CHECKED"; else $flag2_1073741824_ck = "";
547  if ($row['flagset2'] & GetFlagsetValue("CU2_LNSORT3")) $flag2_268435456_ck = "CHECKED"; else $flag2_268435456_ck = "";
548  if ($row['flagset2'] & GetFlagsetValue("CU2_RANDOM_CHAL")) $flag2_536870912_ck = "CHECKED"; else $flag2_536870912_ck = "";
549  if ($row['flagset3'] & GetFlagsetValue("CU3_ESTMNT_SIGNUP")) $flag3_1_ck = "CHECKED"; else $flag3_1_ck = "";
550  if ($row['flagset3'] & GetFlagsetValue("CU3_ESTMNT_CORE")) $flag3_2_ck = "CHECKED"; else $flag3_2_ck = "";
551  if ($row['flagset3'] & GetFlagsetValue("CU3_SHOW_ENROLL")) $flag3_4_ck = "CHECKED"; else $flag3_4_ck = "";
552  if ($row['flagset3'] & GetFlagsetValue("CU3_ENROLL_MIR")) $flag3_8_ck = "CHECKED"; else $flag3_8_ck = "";
553  if ($row['flagset3'] & GetFlagsetValue("CU3_MFA_AUTHCODE")) $flag3_16_ck = "CHECKED"; else $flag3_16_ck = "";
554  if ($row['flagset3'] & GetFlagsetValue("CU3_PREPEND_MBR_DESC")) $flag3_32_ck = "CHECKED"; else $flag3_32_ck = "";
555  if ($row['flagset3'] & GetFlagsetValue("CU3_MASK_MBR_DESC")) $flag3_64_ck = "CHECKED"; else $flag3_64_ck = "";
556  if ($row['flagset3'] & GetFlagsetValue("CU3_API_PLUS")) $flag3_128_ck = "CHECKED"; else $flag3_128_ck = "";
557  if ($row['flagset3'] & GetFlagsetValue("CU3_API_XAC")) $flag3_256_ck = "CHECKED"; else $flag3_256_ck = "";
558  if ($row['flagset3'] & GetFlagsetValue("CU3_QBDOWN")) $flag3_2048_ck = "CHECKED"; else $flag3_2048_ck = "";
559  if ($row['flagset3'] & GetFlagsetValue("CU3_LONGCODE_MFA")) $flag3_512_ck = "CHECKED"; else $flag3_512_ck = "";
560  if ($row['flagset3'] & GetFlagsetValue("CU3_SORTKEY_MICR")) $flag3_1024_ck = "CHECKED"; else $flag3_1024_ck = "";
561  if ($row['flagset3'] & GetFlagsetValue("CU3_ENROLL_PIN")) $flag3_4096_ck = "CHECKED"; else $flag3_4096_ck = "";
562  if ($row['flagset3'] & GetFlagsetValue("CU3_DISALLOW_MULTIPLE_ACCOUNTS")) $flag3_8192_ck = "CHECKED"; else $flag3_8192_ck = "";
563  if ($row['flagset3'] & GetFlagsetValue("CU3_DISALLOW_MULT_ACCOUNTS_TRANSFER")) $flag3_16384_ck = "CHECKED"; else $flag3_16384_ck = "";
564  if ($row['flagset3'] & GetFlagsetValue("CU3_CREATE_ACCESS_CONTROL_FROM_XAC")) $flag3_32768_ck = "CHECKED"; else $flag3_32768_ck = "";
565  if ($row['flagset3'] & GetFlagsetValue("CU3_ALLOW_LEAD_ZEROS")) $flag3_65536_ck = "CHECKED"; else $flag3_65536_ck = "";
566  if ($row['flagset3'] & GetFlagsetValue("CU3_ALLOW_COOKIE_MIGRATION")) $flag3_131072_ck = "CHECKED"; else $flag3_131072_ck = "";
567  if ($row['flagset3'] & GetFlagsetValue("CU3_MIR_PACKET_NOT_SUPPORTED")) $flag3_262144_ck = "CHECKED"; else $flag3_262144_ck = "";
568  if ($row['flagset3'] & GetFlagsetValue("CU3_EXCLUDE_XAC_FROM_PROFILE_DESCRIPTIONS")) $flag3_524288_ck = "CHECKED"; else $flag3_524288_ck = "";
569 
570  $hold_sql="select count(*) from pg_class
571  where relname='" . strtolower($row['cu']) . "holds'";
572  $hold_rs=db_query($hold_sql, $dbh);
573  list($holdexists) = db_fetch_array($hold_rs,0);
574  $flag2_512_message = ($holdexists ? $row['cu'] . 'holds table OK.': 'Create ' . $row['cu'] . 'holds table first.');
575  $flag2_512_message .= "&nbsp;&nbsp;<i>Holds require mindex.css 'posty' styles.</i>";
576  $flag2_512_enabled = ($holdexists ? '' : ' disabled');
577 
578  $flag2_134217728_message = ($holdexists ? $row['cu'] . 'holds table OK.': 'Create ' . $row['cu'] . 'holds table first.');
579  $flag2_134217728_message .= "&nbsp;&nbsp;<i>Holds require mindex.css 'posty' styles.</i>";
580  $flag2_134217728_enabled = ($holdexists ? '' : ' disabled');
581 
582  $onl_sql="select count(*) from pg_class
583  where (relname='" . strtolower($row['cu']) . "depositheader'
584  or relname='" . strtolower($row['cu']) . "depositdetail')";
585  $onl_rs=db_query($onl_sql, $dbh);
586  list($onlexists) = db_fetch_array($onl_rs,0);
587  $flag2_2048_message = ($onlexists == 2 ? $row['cu'] . 'OnLine Dep tables OK.': 'Create ' . $row['cu'] . 'OnLine Dep tables first.');
588  $flag2_2048_enabled = ($onlexists == 2 ? '' : ' disabled');
589 
590  $linfo_sql="select count(*) from pg_class
591  where relname='" . strtolower($row['cu']) . "loaninfo'";
592  $linfo_rs=db_query($linfo_sql, $dbh);
593  list($linfoexists) = db_fetch_array($linfo_rs,0);
594  $flag2_65536_message = ($linfoexists ? $row['cu'] . 'loaninfo table OK.': 'Create ' . $row['cu'] . 'loaninfo table first.');
595  $flag2_65536_enabled = ($linfoexists ? '' : ' disabled');
596 
597  $sel_fldsep0 = $sel_fldsep1 = "";
598  if ($row['tranfldsep'] == 0)
599  $sel_fldsep0 = "SELECTED";
600  elseif ($row['tranfldsep'] == 1)
601  $sel_fldsep1 = "SELECTED";
602 
603  $sel_eol0 = $sel_eol1 = $sel_eol2 = "";
604  if ($row['traneol'] == 0)
605  $sel_eol0 = "SELECTED";
606  elseif ($row['traneol'] == 1)
607  $sel_eol1 = "SELECTED";
608  elseif ($row['traneol'] == 2)
609  $sel_eol2 = "SELECTED";
610 
611  $sel_lbB = $sel_lbL = $sel_lbW = $sel_lbI = $sel_lbC = "";
612  if ($row['livebatch'] == 'B')
613  $sel_lbB = "SELECTED";
614  elseif ($row['livebatch'] == 'L')
615  $sel_lbL = "SELECTED";
616  elseif ($row['livebatch'] == 'W')
617  $sel_lbW = "SELECTED";
618  elseif ($row['livebatch'] == 'I')
619  $sel_lbI = "SELECTED";
620  elseif ($row['livebatch'] == 'C')
621  $sel_lbC = "SELECTED";
622 
623  // Here we will determine what transaction types have been selected for this credit Union
624  // Create an array that has all the selected types in it, then later we can do a search in the array
625  // to see if it exists in the list
626  $sql = "SELECT ht.trancode, t.trandesc, trim(ht.cudesc) as cudesc
627  FROM cuhavetrans ht
628  INNER JOIN cutrans t on t.trancode = ht.trancode
629  WHERE ht.cu = '${row['cu']}'";
630 
631  $sql_rs = db_query($sql, $dbh);
632  $type_list = array();
633  while ($sql_row = db_fetch_array($sql_rs)) {
634  $trancode=trim($sql_row['trancode']);
635  $type_list{$trancode} = $sql_row['cudesc'];
636  }
637 
638  // Trim the values before printing them to the screen
639  foreach($row as $key => $value) {
640  if ($key !== 'pwdconfig' && $key !== 'ccinfourl') {
641  $row[$key] = filter_var(trim($row[$key]), FILTER_SANITIZE_STRING); // Need to add the encoding here for the quotes to show up on the page appropriately.
642  } else {
643  $row[$key] = trim($row[$key]);
644  }
645  }
646  print <<< EOF
647  <form name="zero" action="cumntc.prg" method="post">
648  <input type="hidden" name="infourl" value="$infourl">
649  <input type="hidden" name="action" value="update">
650  <input type="hidden" name="origbatch" value="${row['nextbatch']}">
651  <table cellpadding=3 cellspacing=0 border=0 align=center class='dmsbg' width=98%><tr><td>
652  <table cellpadding=3 cellspacing=0 border=0 align=left bgcolor=white width="100%">
653  <tr><td class='bar' align=center colspan=2>
654  &nbsp;U&nbsp;P&nbsp;D&nbsp;A&nbsp;T&nbsp;E
655  &nbsp;C&nbsp;R&nbsp;E&nbsp;D&nbsp;I&nbsp;T
656  &nbsp;U&nbsp;N&nbsp;I&nbsp;O&nbsp;N
657  </td></tr>
658  <tr><td class='hdr' align=right nowrap width=20%>CU Prefix:</td>
659  <td class='dtl'><input type="hidden" name="cu" value="${row['cu']}">${row['cu']}</td></tr>
660  <tr><td class='hdr' align=right>User / Home Directory Name: </td>
661  <td class='dtl'><input type="text" size=10 maxlength=12 name="user_name" value="${row['user_name']}"></td></tr>
662  <tr><td colspan="2" class='bar'>&nbsp;</td></tr>
663  <tr><td class='hdr' align=right>Cu Name:</td>
664  <td class='dtl'><input type="text" size=40 maxlength=36 name="orgname" value="${row['orgname']}"></td></tr>
665  <tr><td class='hdr' align=right>CU Type Code: </td>
666  <td class='dtl'><select name="t" size="1">
667  <option value="">&lt;&lt;Select&gt;&gt;
668  <option value="ST" $select_1 >ST
669  <option value="AMI" $select_2 >AMI
670  <option value="P" $select_3>P
671  </select></td></tr>
672  <tr><td class='hdr' align=right>Product Name: </td>
673  <td class='dtl'><input type="text" size=30 maxlength=20 name="pname" value="${row['pname']}"></td></tr>
674 EOF;
675 
676  $altroute="/hcuadm/cualtroutes.prg?cu=${row['cu']}";
677  $altrt_sql="select count(*) from cualtroute
678  where cu='" . $row['cu'] . "'";
679  $altrt_rs=db_query($altrt_sql, $dbh);
680  list($altrtcount) = db_fetch_array($altrt_rs,0);
681  if ($altrtcount > 0 ) {
682  $rticon="<img src='/monitor/images/more.gif' border=0 alt='Edit' valign='top'>";
683 
684  $oldmac=(strstr($_SERVER['HTTP_USER_AGENT'],'Macintosh; U; PPC)'));
685  if ($oldmac) {
686  $altrtlink="<a href='javascript:show_help(\"$altroute\");'>$rticon</a>";
687  } else {
688  $altrtlink = "<div class=\"popmon\">
689 <ul>
690 <li>
691 <a href=\"$altroute\"
692 onClick='{
693 window.open(\"$altroute\",\"_popmon\",\"toolbar=1,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,hotkeys=no,width=450,height=300\"
694 ); return false;}'>
695 $rticon<!--[if IE 7]><!--></a><!--<![endif]-->
696 <dl>
697 <dd>
698 <p>Alternate RT Numbers<br><hr></p>";
699  $sqlAR = "select rt from cualtroute
700  where cu='${row['cu']}'";
701  $sthAR = db_query($sqlAR,$dbh);
702  for ($arow=0;list($aroute) = db_fetch_array($sthAR,$arow); $arow++) {
703 $altrtlink .= "$aroute<br>";
704 }
705 $altrtlink .= "</dd>
706 </dl>
707 <!--[if lte IE 6]>
708 </a>
709 <![endif]-->
710 </li>
711 </ul>
712 </div>";
713 }
714  } else {
715  $rticon="<img src='/monitor/images/add.gif' border=0 alt='Add' valign='top'>";
716  $altrtlink = "<a href='javascript:show_help(\"$altroute\");'>$rticon</a>";
717  }
718 
719  print <<< EOF
720  <tr><td class='hdr' align=right>FID Code: </td>
721  <td class='dtl'><input type="text" size=10 maxlength=6 name="fid" value="${row['fid']}"></td></tr>
722  <tr><td class='hdr' align=right>Route Code: </td>
723  <td class='dtl'><table width="100%"><td width="17%"><input type="text" size=20 maxlength=9 name="rt" value="${row['rt']}"></td><td width="*">$altrtlink</td></tr></table></td></tr>
724 </td></tr>
725  <tr><td class='hdr' align="right">CU Timezone: </td>
726  <td class='dtl'><select name="tz" size="1">
727  <option value="">&lt;&lt;Select&gt;&gt;
728  <option value="Alaska" $tz_1>Alaska
729  <option value="Arizona" $tz_2>Arizona
730  <option value="Central" $tz_3>Central
731  <option value="East-Indiana" $tz_4>East Indiana
732  <option value="Eastern" $tz_5>Eastern
733  <option value="Hawaii" $tz_6>Hawaii
734  <option value="Indiana-Starke" $tz_7>Indiana Starke
735  <option value="Michigan" $tz_8>Michigan
736  <option value="Mountain" $tz_9>Mountain
737  <option value="Pacific" $tz_10>Pacific
738  <option value="America/Port_of_Spain" $tz_11>Trinidad-Tobago
739  <option value="America/St_Thomas" $tz_12>US Virgin Islands
740  <option value="America/Puerto_Rico" $tz_13>Puerto Rico
741  </select></td></tr>
742  <tr><td colspan="2" class='bar'>&nbsp;</td></tr>
743  <tr><td class='hdr' align=right valign=top>Transaction Types Allowed:</td>
744  <td class='dtl' valign=top>
745  <table><tr><td class=dtl>&nbsp;</td><td class=dtl>Override Description</td><td class='dtl'>Notify Email</td></tr><tr>
746 EOF;
747 
748  $sql = "SELECT * FROM cutrans ORDER BY trandesc";
749  if ($sql_rs = db_query($sql, $dbh)) {
750  //Items were found in the table so print them, otherwise leave options empty
751  $row_cnt=0;
752  while($sql_row = db_fetch_array( $sql_rs, $row_cnt++)) {
753  $code = trim($sql_row['trancode']);
754  $desc = htmlspecialchars(trim($sql_row['trandesc']));
755 
756  if (in_array("$code",array_keys($type_list))) {
757  $chk = "CHECKED";
758  $cudesc = htmlentities($type_list{$code}, ENT_QUOTES);
759  } else {
760  $chk = "";
761  $cudesc ="";
762  }
763  printf("<td class='dtl'><input type='checkbox' value='%s' name='cu_types[]' %s>%s</td>\n",$code, $chk, $desc);
764  if ( ($sql_row['specialproc'] == 1) || ($sql_row['specialproc'] == 2) )
765  printf("<td class=dtl><input type='text' value='%s' name='tdesc_${code}' size=17 maxlength=40></td>",$cudesc);
766  else
767  print "<td class=dtl>&nbsp;</td>";
768  if ($code == "P1" )
769  // there is just one of these so just pass by name
770  printf("<td class=dtl><input type='text' value='%s' name='cucc_email' size=40 maxlength=40></td>",$CUCC_Email);
771  else
772  print "<td class=dtl>&nbsp;</td>";
773  print "</tr>\n";
774  }
775  print "</table>";
776  }
777  $dispInfoUrl = evalInfoUrl($row['ccinfourl']);
778  $cudp= GetFlagsetValue("CU_CUDP_DEFAULT");
779  $cusa= GetFlagsetValue("CU_CUSA_DEFAULT");
780  $ami= GetFlagsetValue("CU_AMI_DEFAULT");
781  $sos= GetFlagsetValue("CU_SOS_DEFAULT");
782  $peer= GetFlagsetValue("CU_PEER_DEFAULT");
783  $galaxy= GetFlagsetValue("CU_GALAXY_DEFAULT");
784  $csource= GetFlagsetValue("CU_CSOURCE_DEFAULT");
785  $cuc= GetFlagsetValue("CU_CUC_DEFAULT");
786  $genl= GetFlagsetValue("CU_GENL_DEFAULT");
787 
788  $flag3_64_disabled= $flag3_32_ck == "" ? "disabled" : "";
789  $flag3_32768_disabled = $flag3_256_ck == "" ? "disabled" : "";
790  $flag3_524288_disabled = $flag3_256_ck == "" ? "disabled" : "";
791 
792  print <<< EOF
793  </td></tr>
794  <tr><td colspan="2" class='bar'>&nbsp;</td></tr>
795  <tr>
796  <td align="right" nowrap valign="top" class="hdr">
797  Display Options:<br>
798  <input type=button value=" CUPRODIGY " onClick="set_flags($cudp);"><br><br>
799  <input type=button value=" CUSA " onClick="set_flags($cusa);"><br><br>
800  <input type=button value=" AMI " onClick="set_flags($ami);"><br><br>
801  <input type=button value="SOSystems" onClick="set_flags($sos);"><br><br>
802  <input type=button value="PEERLESS" onClick="set_flags($peer);"><br><br>
803  <input type=button value="GALAXY" onClick="set_flags($galaxy);"><br><br>
804  <input type=button value="COMPUSOURCE" onClick="set_flags($csource);"><br><br>
805  <input type=button value="CUC" onClick="set_flags($cuc);"><br><br>
806  <input type=button value="GENERIC" onClick="set_flags($genl);"><br>
807  </td>
808  <td valign="top" nowrap class='dtl'>
809  <input type="checkbox" name="Flag8" value="8" $flag8_ck>&nbsp;Mail Txns to CU<br>
810  <input type="checkbox" name="Flag16" value="16" $flag16_ck>&nbsp;Save Txns in DB<br>
811  <input type="checkbox" name="Flag32" value="32" $flag32_ck>&nbsp;Require E-mail Address<br>
812  <div class="depreciated"><input type="checkbox" name="Flag2_256" value="256" disabled>&nbsp;Show 'To' Member# in LIVE Cross-Accts</div>
813  <input type="checkbox" name="Flag3_32" value="32" $flag3_32_ck onclick="javascript:thisDependency(this)">&nbsp;Prepend member number to description
814  <font color='green'>e.g. 1103 / CHECKING - 10 if set.</font><br>
815  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="checkbox" name="Flag3_64" value="64" $flag3_64_ck $flag3_64_disabled>&nbsp;Mask member number
816  <font color='green'>Last four digits are shown. All other digits show as asterisks.</font><br>
817 <hr>
818  <input type="checkbox" name="Flag1" value="1" $flag1_ck>&nbsp;Show Available Balances<br>
819  <input type="checkbox" name="Flag64" value="64" $flag64_ck>&nbsp;Calculate Running Balance<br>
820  <input type="checkbox" name="Flag128" value="128" $flag128_ck>&nbsp;Show Deposit Dividends<br>
821  <input type="checkbox" name="Flag256" value="256" $flag256_ck>&nbsp;Show Loan Interest<br>
822  <input type="checkbox" name="Flag512" value="512" $flag512_ck>&nbsp;Show Loan Txn Descriptions<br>
823  <input type="checkbox" name="Flag1024" value="1024" $flag1024_ck>&nbsp;Split Loan Principal/Interest<br>
824  <input type="checkbox" name="Flag2048" value="2048" $flag2048_ck>&nbsp;Print Zero for NA Loan Balance<br>
825  <input type="checkbox" name="Flag65536" value="65536" $flag65536_ck>&nbsp;Hide Loan History Balance<br>
826  <input type="checkbox" name="Flag1048576" value="1048576" $flag1048576_ck>&nbsp;Hide Loan Next Due Date<br>
827  <input type="checkbox" name="Flag2_16384" value="16384" $flag2_16384_ck>&nbsp;Hide Loan Past Due marker<br>
828  <input type="checkbox" name="Flag33554432" value="33554432" $flag33554432_ck>&nbsp;Show Loan Interest Rate<br>
829  <input type="checkbox" name="Flag1073741824" value="1073741824" $flag1073741824_ck>&nbsp;Hide Prior Year Interest / Dividend<br>
830  <input type="checkbox" name="Flag2_1" value="1" $flag2_1_ck>&nbsp;Hide Loan Payoff<br>
831  <input type="checkbox" name="Flag2_2" value="2" $flag2_2_ck>&nbsp;Show Loan Payoff as 'Call'<br>
832  <input type="checkbox" name="Flag2_131072" value="131072" $flag2_131072_ck>&nbsp;Show 10-Day Loan Payoff<br>
833  <input type="checkbox" name="Flag2_4194304" value="4194304" $flag2_4194304_ck>&nbsp;Show Loan Escrow <font color='green'>(requires Expanded Loan Schema)</font><br>
834  <input type="checkbox" name="Flag2_8388608" value="8388608" $flag2_8388608_ck>&nbsp;Show Loan Fee <font color='green'>(requires Expanded Loan Schema)</font><br>
835  <input type="checkbox" name="Flag2_512" value="512" $flag2_512_ck $flag2_512_enabled>&nbsp;Show DP Account Hold Details &nbsp;&nbsp;<font color='green'>$flag2_512_message</font><br>
836  <input type="checkbox" name="Flag2_134217728" value="134217728" $flag2_134217728_ck $flag2_134217728_enabled>&nbsp;Show DP Account Pending Txns &nbsp;&nbsp;<font color='green'>$flag2_134217728_message</font><br>
837 <hr>
838  <input type="checkbox" name="Flag2_4" value="4" $flag2_4_ck>&nbsp;Show type 18 Loan as Credit Card<br>
839  <input type="checkbox" name="Flag2_8" value="8" $flag2_8_ck>&nbsp;Show Interest Rate for Credit Card<br>
840  <input type="checkbox" name="Flag2_16" value="16" $flag2_16_ck>&nbsp;Show Last Paid Date for Credit Card<br>
841  <input type="checkbox" name="Flag2_4096" value="4096" $flag2_4096_ck>&nbsp;No Info Available for type 18 Credit Card<br>
842  <input type="checkbox" name="Flag2_8192" value="8192" $flag2_8192_ck>&nbsp;Zero-Balance Credit Card OK for payment<br>
843  <input type="checkbox" name="Flag2_1024" value="1024" $flag2_1024_ck>&nbsp;Show Stmnt Bal for Credit Card &nbsp;&nbsp;<font color='green'>(LIVE only)</font><br>
844  <input type="checkbox" name="Flag2_262144" value="262144" $flag2_262144_ck>&nbsp;Hide Credit Card Available Bal <br>
845  <input type="checkbox" name="Flag2_524288" value="524288" $flag2_524288_ck>&nbsp;Show Credit Card Available Bal as 'Call' <br></td></tr>
846  <tr><td class='hdr' align=right valign='top'>Credit Card Info URL: </td>
847  <td class='dtl' valign='top'><textarea rows=4 cols=60 name="ccinfourl">$dispInfoUrl</textarea>
848  <br>
849  <font color='green'>
850  <strong>Legacy support:</strong><br/>
851  &nbsp;&nbsp;enter Full URL of outside link, or 'HomeCU' for us<br/>
852  &nbsp;&nbsp; or blank for no history (On a Single Line)<br/>
853  <strong>Enhanced support:</strong><br/>
854  &nbsp;&nbsp;Affected Loan Type, Option;<Br/>
855  &nbsp;&nbsp;Loan Type e.g. 18 for Credit Cards (always follow with a , [comma])<br/>
856  &nbsp;&nbsp;Option: type HomeCU for us<Br/>
857  &nbsp;&nbsp; type Full URL for outside link (always follow with a ; [semi-colon])<br/>
858  &nbsp;&nbsp; if #loan# is entered in URL, it will be replaced with loan number when displayed<br/>
859  &nbsp;&nbsp; if #acctid# is entered in URL, it will be replaced with the encrypted account id (C|6680|18)<br/>
860  &nbsp;&nbsp;More than one line may be added to this setup using semi-colons<br/>
861  &nbsp;&nbsp;Example: <strong>18, https://www.homecu.net/test/;</strong><br/>
862  <strong>Odyssey:</strong><br/>
863  &nbsp;&nbsp;3rd party credit card would be set up like this:<br/>
864  &nbsp;&nbsp;18, https://my.homecu.net/banking/hcuConnect.prg?cu=SCRUBCU&mode=HcuEZCARD&keyloc=EXTERNAL&a=#acctid#;<br/>
865  &nbsp;&nbsp;(note the #acctid#)<br/>
866  </font>
867  </td>
868  </tr>
869  <tr><td colspan="2" class='bar'>&nbsp;</td></tr>
870  <tr><td class='hdr' align=right>View Cleared Check Images thru: </td>
871  <td class='dtl'><select name="img" size="1">
872  <option value="">&lt;&lt;Select&gt;&gt;
873 EOF;
874  if (trim($row['img']) == 'NO') {
875  $sel = "SELECTED";
876  } else {
877  $sel = "";
878  }
879  print "<option value=\"NO\" $sel>NO";
880  $sql = "SELECT * FROM cuimagevendors ORDER BY img ";
881  if ($sql_rs = db_query($sql, $dbh)) {
882  $row_cnt = 0;
883  while($sql_row = db_fetch_array($sql_rs, $row_cnt++)) {
884  $code = htmlspecialchars(trim($sql_row['img']));
885  if (trim($row['img']) == trim($sql_row['img'])) {
886  $sel = "SELECTED";
887  } else {
888  $sel = "";
889  }
890 
891  printf("\n<option value=\"%s\" %s>%s</option>",$code, $sel, $code);
892  }
893  }
894  print <<<EOF
895  </select><a href='javascript:show_smarthelp("img");'>$helpicon</a>
896  &nbsp;&nbsp;<a href='javascript:show_docs("img");'>$docsicon</a>
897 </td></tr>
898  <tr><td class='hdr' align=right>Check Security Key: </td>
899  <td class='dtl'><input type="text" size=50 maxlength=32 name="ckhexkey" value="${row['ckhexkey']}"></td></tr>
900  <tr><td class='hdr' align=right>Check Org ID: </td>
901  <td class='dtl'><input type="text" size=30 maxlength=20 name="ckorgid" value="${row['ckorgid']}"></td></tr>
902  <tr><td class='hdr' align=right>Check Retrieval URL: </td>
903  <td class='dtl'><input type="text" size=40 name="ckurl" value="${row['ckurl']}"></td></tr>
904  <tr>
905  <td align="right" nowrap valign="top" class="hdr">&nbsp;</td>
906  <td valign="top" nowrap class='dtl'>
907  <input type="checkbox" name="Flag2" value="2" $flag2_ck>&nbsp;Show Check Images<br>
908  <input type="checkbox" name="Flag67108864" value="67108864" $flag67108864_ck>&nbsp;Show Archived Checks Link<br>
909  <input type="checkbox" name="Flag3_1024" value="1024" $flag3_1024_ck>&nbsp;Allow sortkey contents to override Check Clearing info<br></td></tr>
910 
911 
912  <tr>
913  <td align="right" nowrap valign="top" class="hdr">&nbsp;</td>
914  <td valign="top" nowrap class='dtl'>
915 <hr></td></tr>
916  <tr><td class='hdr' align=right>Bill Pay Vendor: </td>
917  <td class='dtl'><select name="bp_vendor" size="1">
918  <option value="">&lt;&lt;Select&gt;&gt;
919 EOF;
920  if (trim($row['bp_vendor']) == 'NO') {
921  $sel = "SELECTED";
922  } else {
923  $sel = "";
924  }
925  print "<option value=\"NO\" $sel>NO";
926  $sql = "SELECT * FROM cussovendors where ssotype='B'
927  ORDER BY ssovendor ";
928  if ($sql_rs = db_query($sql, $dbh)) {
929  $row_cnt = 0;
930  while($sql_row = db_fetch_array($sql_rs, $row_cnt++)) {
931  $code = htmlspecialchars(trim($sql_row['ssovendor']));
932  if (trim($row['bp_vendor']) == trim($sql_row['ssovendor'])) {
933  $sel = "SELECTED";
934  } else {
935  $sel = "";
936  }
937 
938  printf("\n<option value=\"%s\" %s>%s</option>",$code, $sel, $code);
939  }
940  }
941  print <<<EOF
942  </select><a href='javascript:show_smarthelp("bp_vendor");'>$helpicon</a>
943  &nbsp;&nbsp;<a href='javascript:show_docs("bp_vendor");'>$docsicon</a>
944 </td></tr>
945  <tr><td class='hdr' align=right>Bill Pay Institution ID: </td>
946  <td class='dtl'><input type="text" size=12 maxlength=9 name="bp_cuid" value="${row['bp_cuid']}"></td></tr>
947  <tr><td class='hdr' align=right>Bill Pay Secret: </td>
948  <td class='dtl'><input type="text" size=40 maxlength=255 name="bp_secret" value="${row['bp_secret']}"></td></tr>
949  <tr>
950  <td align="right" nowrap valign="top" class="hdr">&nbsp;</td>
951  <td valign="top" nowrap class='dtl'>
952 <hr></td></tr>
953  <tr><td class='hdr' align=right>Trusted Access Vendor: </td>
954  <td class='dtl'><select name="ssovendor" size="1">
955  <option value="">&lt;&lt;Select&gt;&gt;
956 EOF;
957  if (trim($row['ssovendor']) == 'NO') {
958  $sel = "SELECTED";
959  } else {
960  $sel = "";
961  }
962  print "<option value=\"NO\" $sel>NO";
963  $sql = "SELECT * FROM cussovendors where ssotype <> 'B'
964  ORDER BY ssovendor ";
965  if ($sql_rs = db_query($sql, $dbh)) {
966  $row_cnt = 0;
967  while($sql_row = db_fetch_array($sql_rs, $row_cnt++)) {
968  $code = htmlspecialchars(trim($sql_row['ssovendor']));
969  if (trim($row['ssovendor']) == trim($sql_row['ssovendor'])) {
970  $sel = "SELECTED";
971  } else {
972  $sel = "";
973  }
974 
975  printf("\n<option value=\"%s\" %s>%s</option>",$code, $sel, $code);
976  }
977  }
978 
979  print <<<EOF
980  </select><a href='javascript:show_smarthelp("ssovendor");'>$helpicon</a>
981  &nbsp;&nbsp;<a href='javascript:show_docs("ssovendor");'>$docsicon</a>
982 </td></tr>
983  <tr>
984  <td align="right" nowrap valign="top" class="hdr">Feature Settings:</td>
985  <td valign="top" nowrap class='dtl'>
986 <hr>
987  <input type="checkbox" name="Flag524288" value="524288" $flag524288_ck>&nbsp;Allow QIF Download Format<br>
988  <input type="checkbox" name="Flag4194304" value="4194304" $flag4194304_ck>&nbsp;Allow MNY Download Format<br>
989  <input type="checkbox" name="Flag8388608" value="8388608" $flag8388608_ck>&nbsp;Allow QKN Download Format<br>
990  <input type="checkbox" name="Flag3_2048" value="2048" $flag3_2048_ck>&nbsp;Allow QuickBooks Download Format<br>
991  <input type="checkbox" name="Flag2_32768" value="32768" $flag2_32768_ck>&nbsp;Include Member # in QKN ACCTID element<br>
992  <input type="checkbox" name="Flag2_65536" value="65536" $flag2_65536_ck $flag2_65536_enabled>&nbsp;Include Loans in QKN / MNY download &nbsp;&nbsp;<font color='green'>$flag2_65536_message</font><br>
993 <hr>
994  <input type="checkbox" name="Flag16777216" value="16777216" $flag16777216_ck>&nbsp;Show NCUA Logo<br>
995  <input type="checkbox" name="Flag134217728" value="134217728" $flag134217728_ck>&nbsp;Allow Members to Reset Passwords<br>
996  <input type="checkbox" name="Flag268435456" value="268435456" $flag268435456_ck>&nbsp;Allow Switch Accounts<br>
997  <input type="checkbox" name="Flag536870912" value="536870912" $flag536870912_ck disabled>&nbsp;Switch Accounts in Live Packet<br>
998  <input type="checkbox" name="Flag2_32" value="32" $flag2_32_ck>&nbsp;Allow Repeating Transactions<br>
999  <input type="checkbox" name="Flag2_33554432" value="33554432" $flag2_33554432_ck>&nbsp;Allow Member Alert Processing &nbsp;&nbsp;<font color='green'>(affects LIVE only)</font><br>
1000  <input type="checkbox" name="Flag2_64" value="64" $flag2_64_ck>&nbsp;Allow Member Messages<br>
1001  <input type="checkbox" name="Flag2_2048" value="2048" $flag2_2048_ck $flag2_2048_enabled>&nbsp;Allow OnLine Deposits &nbsp;&nbsp;<font color='green'>$flag2_2048_message</font><br>
1002  <input type="checkbox" name="Flag2_2097152" value="2097152" $flag2_2097152_ck>&nbsp;Use Expanded Loan Schema<br>
1003  <input type="checkbox" name="Flag4" value="4" $flag4_ck>&nbsp;Use depositlimit for Remote Deposit Capture<br>
1004  <input type="checkbox" name="Flag3_1" value="1" $flag3_1_ck>&nbsp;Allow member sign up for eStatements at first login &nbsp;&nbsp;<font color='green'>(Upgrade)</font><br>
1005  <input type="checkbox" name="Flag3_4" value="4" $flag3_4_ck>&nbsp;Show "Enroll Now" button on Login screen &nbsp;&nbsp;<font color='green'>(Upgrade)</font><br>
1006  <input type="checkbox" name="Flag3_2" value="2" $flag3_2_ck>&nbsp;Enable Core Requested eStatements &nbsp;&nbsp;<font color='green'>(Upgrade)</font><br>
1007 
1008  <hr><b>Banking Activation Options:</b><br>
1009  <input type="radio" name="FlagBankingActivation" value="0" checked>&nbsp;Secure Forms (unless MA is checked)<br/>
1010  <input type="radio" name="FlagBankingActivation" value="8" $flag3_8_ck>&nbsp;MIR Packet Verification&nbsp;&nbsp;<br/>
1011  <input type="radio" name="FlagBankingActivation" value="4096" $flag3_4096_ck>&nbsp;Core PIN Verification<br/>
1012 </td></tr>
1013  <tr>
1014  <td align="right" nowrap valign="top" class="hdr">Odyssey Options:</td>
1015  <td valign="top" nowrap class='dtl'>
1016  <hr>
1017  <input type="checkbox" name="Flag3_128" value="128" $flag3_128_ck>&nbsp;Use core API+ features&nbsp;&nbsp;
1018  <font color='green'>(Balance Only, History On-Demand)</font><br/>
1019  <input type="checkbox" name="Flag3_256" value="256" $flag3_256_ck onclick="javascript:thisXACDependency(this)">&nbsp;Request Core Cross Account Packet&nbsp;&nbsp;<font color='green'>(XAC request)</font><br/>
1020 
1021  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="checkbox" name="Flag3_32768" value="32768" $flag3_32768_ck $flag3_32768_disabled>&nbsp;Create Access Control records from XAC&nbsp;&nbsp;<br/>
1022  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="checkbox" name="Flag3_524288" value="524288" $flag3_524288_ck $flag3_524288_disabled>&nbsp;Exclude Cross Accounts from Profile Descriptions&nbsp;&nbsp;<br/>
1023 
1024  <input type="checkbox" name="Flag3_8192" value="8192" $flag3_8192_ck>&nbsp;Allow only one account per user&nbsp;&nbsp;<br/>
1025  <input type="checkbox" name="Flag3_16384" value="16384" $flag3_16384_ck>&nbsp;Prevent transfers for non-related accounts&nbsp;&nbsp;<br/>
1026  <input type="checkbox" name="Flag3_65536" value="65536" $flag3_65536_ck>&nbsp;Allow member accounts with leading zeros<br/>
1027  <input type="checkbox" name="Flag3_131072" value="131072" $flag3_131072_ck>&nbsp;Allow Device Cookie migration<br/>
1028  <input type="checkbox" name="Flag3_262144" value="262144" $flag3_262144_ck>&nbsp;MIR Packet Not Supported<br/>
1029  </td></tr>
1030  <tr>
1031  <td align="right" nowrap valign="top" class="hdr">Sorting Options:</td>
1032  <td valign="top" nowrap class='dtl'>
1033  <hr><b>Sort Account Transactions by:</b><br>
1034  <input type="radio" name="Flagsortorder" value="4096" $flag4096_ck>&nbsp;Type, Certificate#, Trace#<br>
1035  <input type="radio" name="Flagsortorder" value="8192" $flag8192_ck>&nbsp;Type, Certificate#, Date, Sortkey<br>
1036  <input type="radio" name="Flagsortorder" value="16384" $flag16384_ck>&nbsp;Type, Certificate#, Date, Trace#<br>
1037  <input type="radio" name="Flagsortorder" value="32768" $flag32768_ck>&nbsp;Type Numerics, Certificate#, Date, Trace#<br>
1038  <input type="radio" name="Flagsortorder" value="2097152" $flag2097152_ck>&nbsp;Type, Certificate#, Date, AccountHistory OID<br>
1039  <input type="radio" name="Flagsortorder" value="128" $flag2_128_ck>&nbsp;AccountBalance OID, Date, Trace (Cu upload order)<br>
1040  <hr><b>Sort Loan Transactions by:</b><br>
1041  <input type="radio" name="Flagloansort" value="131072" $flag131072_ck>&nbsp;Loan#, Date, Trace#<br>
1042  <input type="radio" name="Flagloansort" value="262144" $flag262144_ck>&nbsp;Loan# Numerics, Date, Trace#<br>
1043  <input type="radio" name="Flagloansort" value="268435456" $flag2_268435456_ck>&nbsp;LoanBalance OID, Date, Trace# (Cu upload order)<br>
1044  </td>
1045  </tr>
1046  <tr>
1047  <td align="right" nowrap valign="top" class="hdr">Banner Options:</td>
1048  <td valign="top" class='dtl'><hr>
1049  <table width="100%">
1050 <td width="30%"><input type="checkbox" name="Flag2_1048576" value="1048576" $flag2_1048576_ck>&nbsp;Show Embedded Banner<br>
1051 </td>
1052 <td width="*">$bannerlink</td></tr>
1053 </table></td></tr>
1054  <tr><td colspan="2" class='bar'>&nbsp;</td></tr>
1055  <tr><td class='hdr' align=right>User Login Retry Limit: </td>
1056  <td class='dtl'><input type="text" size=4 maxlength=2 name="retrylimit" value="${row['retrylimit']}"><font color="green">###</font>
1057  </td></tr>
1058  <tr><td class='hdr' align=right># Logins Before Expired Password Lockout: </td>
1059  <td class='dtl'><input type="text" size=4 maxlength=2 name="gracelimit" value="${row['gracelimit']}"><font color="green">###</font>
1060  <tr><td class='hdr' align=right>Passwords Automatically Expire # Days: </td>
1061  <td class='dtl'><input type="text" size=6 maxlength=4 name="pwdays" value="${row['pwdays']}"><font color="green">### or 0 for off</font>
1062  </td></tr>
1063  <tr><td class='hdr' align='right' valign='top'>Minimum Number of Challenge Questions for Members: </td>
1064  <td class='dtl'><input type="text" size=4 maxlength=2 name="min_chlng_qst" value="${row['min_chlng_qst']}"><font color="green">## or 0</font>
1065  <br>
1066  <input type="checkbox" name="Flag2_1073741824" value="1073741824" $flag2_1073741824_ck>&nbsp;ALLOW Username to replace Member Number<br>
1067  <input type="checkbox" name="Flag2_67108864" value="67108864" $flag2_67108864_ck>&nbsp;REQUIRE Username to replace Member Number
1068  <br>
1069  <input type="checkbox" name="Flag2_536870912" value="536870912" $flag2_536870912_ck>&nbsp;Show One Random Question at a time<br>
1070  <input type="checkbox" name="Flag3_16" value="16" $flag3_16_ck>&nbsp;Use MFA Secure Access Codes instead of Challenge Questions<br></td></tr>
1071 EOF;
1072 
1073  // set up the password configuration values
1074  // NOTE: The Password Configuration feature is for the Home Banking Upgrade but care needs to
1075  // be taken so mobile and apps get the feature at the correct time, and legacy isn't broken.
1076  $pwd_config = trim( $row['pwdconfig'] );
1077 
1078  if ( strlen( $pwd_config ) > 0 ) {
1079  $pwdConfigAry = HCU_JsonDecode($pwd_config);
1080  $pwdcfg_use = $pwdConfigAry["use"];
1081  $pwdcfg_len = $pwdConfigAry["len"];
1082  $pwdcfg_upper = $pwdConfigAry["upper"];
1083  $pwdcfg_lower = $pwdConfigAry["lower"];
1084  $pwdcfg_special = $pwdConfigAry["spec"];
1085  $pwdcfg_digits = $pwdConfigAry["digit"];
1086  } else {
1087  // set up the defaults
1088  $pwdcfg_use = 0;
1089  $pwdcfg_len = 6;
1090  $pwdcfg_upper = 0;
1091  $pwdcfg_lower = 0;
1092  $pwdcfg_special = 0;
1093  $pwdcfg_digits = 0;
1094  }
1095  $usePwdConfig = $pwdcfg_use > 0 ? "checked='CHECKED'" : "";
1096 
1097  print <<<EOF
1098  <tr>
1099  <td class='hdr' align='right' valign='top'>Password requirement configuration: </td>
1100  <td class='dtl'>
1101  <input type="checkbox" name="pwdcfg_use" value="1" {$usePwdConfig} >&nbsp;Use requirements <span style='color:red;'>(NOTE: Need at least one letter, one digit, and eight character length to enable usage.)</span><br>
1102  <input type="number" name="pwdcfg_len" value="{$pwdcfg_len}">&nbsp;Minimum password length<br>
1103  <input type="number" name="pwdcfg_upper" value="{$pwdcfg_upper}">&nbsp;Minimum number of UPPER case<br>
1104  <input type="number" name="pwdcfg_lower" value="{$pwdcfg_lower}">&nbsp;Minimum number of lower case<br>
1105  <input type="number" name="pwdcfg_special" value="{$pwdcfg_special}">&nbsp;Minimum number of special characters<br>
1106  <input type="number" name="pwdcfg_digits" value="{$pwdcfg_digits}">&nbsp;Minimum number of digits<br>
1107  </td>
1108  </tr>
1109  <tr><td colspan="2" class='bar'>&nbsp;</td></tr>
1110  <tr><td class='hdr' align=right>Security Version: </td>
1111  <td class='dtl'><select name="cookie_ver" size="1">
1112  <option value=""
1113 EOF;
1114  if (trim($row['cookie_ver']) == '') { print ' selected'; }
1115 print ">&lt;&lt;Select&gt;&gt;</option>
1116  <option value='L'";
1117  if (trim($row['cookie_ver']) == 'L') { print ' selected'; }
1118 print ">Legacy</option>
1119  <option value='F'";
1120  if (trim($row['cookie_ver']) == 'F') { print ' selected'; }
1121 print <<<EOF
1122 >2-Factor</option>
1123  </select></td></tr>
1124  <tr><td class='hdr' align=right>Home Banking Scripts: </td>
1125  <td class='dtl'><input type="checkbox" name="Flag2_16777216" value="16777216" $flag2_16777216_ck>&nbsp;Frame Free
1126  </td></tr>
1127  <tr><td class='hdr' align=right>Login Script: </td>
1128  <td class='dtl'><input type="text" size=20 maxlength='50' name="loginscript" value="${row['loginscript']}">
1129  <font color="green" size="2">Values: cu_login for Legacy; cuauth for 2-Factor</font>
1130  </td></tr>
1131  <tr><td class='hdr' align=right>Offline Status: </td>
1132  <td class='dtl'><select name="offlinestat" size="1">
1133  <option value=""
1134 EOF;
1135  if (trim($row['offlinestat']) == '') { print ' selected'; }
1136  print ">&lt;&lt;Select&gt;&gt;</option>
1137  <option value='N'";
1138  if (trim($row['offlinestat']) == 'N') { print ' selected'; }
1139  print ">Active</option>
1140  <option value='U'";
1141  if (trim($row['offlinestat']) == 'U') { print ' selected'; }
1142  print ">Offline (Auto Up)</option>
1143  <option value='Y'";
1144  if (trim($row['offlinestat']) == 'Y') { print ' selected'; }
1145  print ">Offline (Stay Down)</option>
1146  <option value='R'";
1147  if (trim($row['offlinestat']) == 'R') { print ' selected'; }
1148 print <<<EOF
1149  >Read-Only</option>
1150  </select>
1151  <font color="green" size="2">Read-Only is for Batch systems</font>
1152 </td></tr>
1153  <tr><td class='hdr' align=right>Offline Message: </td>
1154  <td class='dtl'><input type="text" size=75 name="offlineblurb" value="${row['offlineblurb']}"></td></tr>
1155  <tr><td colspan="2" class='bar'>&nbsp;</td></tr>
1156  <tr><td class='hdr' align=right nowrap># Days Before Dropping Account History: </td>
1157  <td class='dtl'><input type="text" size=6 maxlength=4 name="ahdropdays" value="${row['ahdropdays']}">
1158  <font color="green" size="2">Values: HOLD or min. number of 94</font>
1159  </td></tr>
1160  <tr><td class='hdr' align=right># Days Before Dropping Loan History: </td>
1161  <td class='dtl'><input type="text" size=6 maxlength=4 name="lhdropdays" value="${row['lhdropdays']}">
1162  <font color="green" size="2">Values: HOLD or min. number of 187</font>
1163  </td></tr>
1164  <tr><td class='hdr' align=right># Days to Keep Transactions: </td>
1165  <td class='dtl'><input type="text" size=6 maxlength=4 name="trandropdays" value="${row['trandropdays']}">
1166  <font color="green" size="2">Values: HOLD or min. number of 366</font>
1167  </td></tr>
1168  <tr><td class='hdr' align=right>Minimum # of Batches to Keep: </td>
1169  <td class='dtl'><input type="text" size=6 maxlength=4 name="trandropbatches" value="${row['trandropbatches']}">
1170  <font color="green" size="2">Values: HOLD or min. number of 3</font>
1171  </td></tr>
1172  <tr><td class='hdr' align=right># of Days to Expire Online Deposits: </td>
1173  <td class='dtl'><input type="text" size=6 maxlength=4 name="cu_exp_days" value="${row['dep_exp_days']}">
1174  <font color="green" size="2">### min. number of 1</font>
1175  </td></tr>
1176  <tr><td colspan="2" class='bar'>&nbsp;</td></tr>
1177 
1178 
1179 
1180 
1181 
1182 
1183  <tr><td class='hdr' align=right>Download Transaction Format: </td>
1184  <td class='dtl'><input type="text" size=4 maxlength=2 name="tranformat" value="${row['tranformat']}"><font color="green">###</font>
1185 <a href='javascript:show_help("$helpdoc#intro");'>$helpicon</a></td></tr>
1186  <tr><td class='hdr' align=right>Transaction Field Delimiter: </td>
1187  <td class='dtl'><select size=2 name="tranfldsep">
1188  <option value=0 $sel_fldsep0>Tab (default)
1189  <option value=1 $sel_fldsep1>Space
1190  </select> </td></tr>
1191  <tr><td class='hdr' align=right>Transaction End-of-Line: </td>
1192  <td class='dtl'><select size=3 name="traneol">
1193  <option value=0 $sel_eol0>Newline (default)
1194  <option value=1 $sel_eol1>Nothing
1195  <option value=2 $sel_eol2>CRLF
1196  </select></td></tr>
1197  <tr><td class='hdr' align=right>Last Batch Number:</td>
1198  <td class='dtl'><input type="text" size=10 maxlength=6 name="nextbatch" value="${row['nextbatch']}"><font color="green">###</font>
1199  </td></tr>
1200  <tr><td class='hdr' align=right>Transfer Comment Limit:</td>
1201  <td class='dtl'><input type="text" size=4 maxlength=2 name="trmemomaxlen" value="${row['trmemomaxlen']}"><font color="green">Set to max length of transfer comment. Set to 0 to NOT display.</font>
1202  </td></tr>
1203  <tr><td class='hdr' align=right>CU Mail Exchanger: </td>
1204  <td class='dtl'><input type="text" size=40 maxlength=36 name="mxcu" value="${row['mxcu']}"></td></tr>
1205  <tr><td class='hdr' align=right>CU Long Code: </td>
1206  <td class='dtl'>
1207  <input type="text" size=40 maxlength=36 name="cutxt_email" value="$CUTXT_Email"><font color="green">Value must be set for TXT Banking to work (+12089991234)</font><br/>
1208  <input type="checkbox" name="Flag3_512" value="512" $flag3_512_ck>&nbsp;Use Long Code for MFA SAC and Alerts?&nbsp;&nbsp;<font color='green'>(Default is AWS SMS Service)</font>
1209  </td></tr>
1210  <tr><td colspan="2" class='bar'>&nbsp;</td></tr>
1211  <tr><td nowrap align="right" valign="top" class="hdr">Home CU Type: </td>
1212  <td class='dtl'>
1213  <select name="livebatch" size="2">
1214  <option value="B" $sel_lbB>Batch</option>
1215  <option value="L" $sel_lbL>Live</option>
1216  <option value="W" $sel_lbW>Web ONLY</option>
1217  <option value="I" $sel_lbI>IVR</option>
1218  <option value="C" $sel_lbC>Closed</option>
1219  </select>
1220  </td>
1221  </tr>
1222  <tr><td class='hdr' align=right>Batch PGLoad Command:<br>Live Server URL: </td>
1223  <td class='dtl'><input type="text" size=40 maxlength=100 name="liveserver" value="${row['liveserver']}"></td></tr>
1224  <tr><td class='hdr' align=right>Live Server Port: </td>
1225  <td class='dtl'><input type="text" size=8 maxlength=5 name="liveport" value="${row['liveport']}"><font color="green">###</font></td></tr>
1226  <tr><td class='hdr' align=right>Live Query Minimum Interval </td>
1227  <td class='dtl'><input type="text" size=8 maxlength=5 name="livewait" value="${row['livewait']}"><font color="green">### (Null & Zero default to 300)</font></td></tr>
1228  <tr><td class='hdr' align=right>Packet Days: </td>
1229  <td class='dtl'><input type="text" size=8 maxlength=5 name="histdays" value="${row['histdays']}"><font color="green">###</font></td></tr>
1230  <tr><td colspan=2 align=center class='dtl'>
1231  <input type="submit" value="Save" name="save" onclick="return val_save();"></td></tr>
1232  </table></td></tr></table></form>
1233 EOF;
1234  cu_footer();
1235  }
1236  break;
1237  case "update":
1238 
1239  // validate entries
1240  $found_errs = "";
1241  $dbh=$link;
1242  $sql = "select cu from cuadmin where cu = '" . trim($cu) . "'";
1243  $keycheck = db_must_exist($sql, $dbh);
1244 
1245  if ( $pwdcfg_use && $pwdcfg_len < 8 ) {
1246  $found_errs .= "Minimum password length needs to be at least 8 characters<br>";
1247  }
1248 
1249  if ( $pwdcfg_len > 20 ) {
1250  $found_errs .= "Minimum password length exceeds the maximum 20 characters<br>";
1251  }
1252 
1253  if ( ($pwdcfg_upper + $pwdcfg_lower + $pwdcfg_special + $pwdcfg_digits) > 20 ) {
1254  $found_errs .= "Minimum password requirements exceed the maximum 20 characters<br>";
1255  }
1256 
1257  if ( $pwdcfg_use && (($pwdcfg_upper + $pwdcfg_lower) < 1 || $pwdcfg_digits < 1) ) {
1258  $found_errs .= "Need at least one character and one digit<br>";
1259  }
1260 
1261  if ($keycheck == 0) { $found_errs .= "Invalid Credit Union $cu<br>";}
1262  $found_errs .= check_fields();
1263  if ($found_errs == "") {
1264  // Calculate the new flagset value by adding up all the flags
1265  $flags =
1266  $Flag1 + $Flag2 + $Flag4 + $Flag8 + $Flag16 + $Flag32 +
1267  $Flag64 + $Flag128 + $Flag256 + $Flag512 + $Flag1024 +
1268  $Flag2048 + $Flag65536 + $Flag524288 +
1269  $Flag1048576 + $Flag4194304 + $Flag8388608 + $Flag16777216 +
1270  $Flag33554432 + $Flag67108864 + $Flag134217728 +
1271  $Flag268435456 + $Flag536870912 + $Flag1073741824;
1272 
1273  if ($Flagsortorder != 128) { $flags += $Flagsortorder; }
1274  if ($Flagloansort != 268435456) { $flags += $Flagloansort; }
1275 
1276  $flags2 =
1277  $Flag2_1 + $Flag2_2 + $Flag2_4 + $Flag2_8 + $Flag2_16 + $Flag2_32 + $Flag2_64 + $Flag2_512 + $Flag2_1024 + $Flag2_2048 +
1278  $Flag2_4096 + $Flag2_8192 + $Flag2_16384 + $Flag2_32768 + $Flag2_65536 + $Flag2_131072 + $Flag2_262144 + $Flag2_524288 +
1279  $Flag2_1048576 + $Flag2_2097152 + $Flag2_4194304 + $Flag2_8388608 + $Flag2_16777216 + $Flag2_33554432 + $Flag2_67108864 +
1280  $Flag2_134217728 + $Flag2_536870912 + $Flag2_1073741824;
1281 
1282  $flags3 =
1283  $Flag3_1 + $Flag3_2 + $Flag3_4 + $Flag3_16 + $Flag3_32 + $Flag3_64 + $Flag3_128 + $Flag3_256 + $Flag3_512 +
1284  $Flag3_1024 + $Flag3_2048 + $Flag3_8192 + $Flag3_16384 + $Flag3_32768 + $Flag3_65536 + $Flag3_131072 +
1285  $Flag3_262144 + $Flag3_524288;
1286 
1287  if ($Flagsortorder == 128) { $flags2 += $Flagsortorder; }
1288  if ($Flagloansort == 268435456) { $flags2 += $Flagloansort; }
1289 
1290  switch($FlagBankingActivation) {
1291  case "8": // MIR activation
1292  case "4096": // PIN activation
1293  $flags3 += $FlagBankingActivation;
1294  break;
1295  }
1296 
1297  // create a JSON object of the password configuration
1298  $pwd_config = array( "use"=>$pwdcfg_use, "len"=>$pwdcfg_len, "upper"=>$pwdcfg_upper,
1299  "lower"=>$pwdcfg_lower, "spec"=>$pwdcfg_special, "digit"=>$pwdcfg_digits);
1300  $pwdcfg_store = HCU_JsonEncode($pwd_config);
1301 
1302 // Start Transaction
1303  $sql = "BEGIN WORK ";
1304  $sql_rs = db_query($sql, $dbh);
1305 
1306  $sql = "update cuadmin set ";
1307  if ("$nextbatch" != "$origbatch") {
1308  $sql .= " nextbatch = '" . $nextbatch . "', ";
1309  }
1310  $sql .= " user_name = '" . prep_save($user_name) . "',
1311  flagset = $flags,
1312  flagset2 = $flags2,
1313  flagset3 = $flags3,
1314  fid = '" . prep_save($fid) . "',
1315  t = '" . prep_save($t) . "',
1316  db = '" . prep_save($db) . "',
1317  mtx = '" . prep_save($mtx) . "',
1318  mxcu = '" . prep_save($mxcu) . "',
1319  img = '" . prep_save($img) . "',
1320  ckhexkey = '" . prep_save($ckhexkey) . "',
1321  ckorgid = '" . prep_save($ckorgid) . "',
1322  ckurl = '" . prep_save($ckurl) . "',
1323  rt = '" . prep_save($rt) . "',
1324  orgname = '" . prep_save($orgname) . "',
1325  livebatch = '" . prep_save($livebatch) . "',
1326  liveserver = '" . prep_save($liveserver) . "',
1327  pname = '" . prep_save($pname) . "',
1328  liveport = " . intval($liveport) . ",
1329  livewait = " . intval($livewait) . ",
1330  retrylimit = " . intval($retrylimit) . ",
1331  gracelimit = " . intval($gracelimit) . ",
1332  pwdays = " . intval($pwdays) . ",
1333  tranformat = " . intval($tranformat) . ",
1334  tranfldsep = " . intval($tranfldsep) . ",
1335  traneol = " . intval($traneol) . ",
1336  ahdropdays = '" . $ahdropdays . "',
1337  lhdropdays = '" . $lhdropdays . "',
1338  trandropdays = '" . $trandropdays . "',
1339  trandropbatches = '" . $trandropbatches . "',
1340  tz = '" . $tz . "',
1341  histdays = " . intval($histdays) . ",
1342  bp_cuid = '" . prep_save($bp_cuid) . "',
1343  bp_secret = '" . prep_save($bp_secret) . "',
1344  dep_exp_days = " . intval(GetFlagsetValue("cu_exp_days")) . ",
1345  ccinfourl = '" . setInfoText($ccinfourl) . "',
1346  min_chlng_qst = " . intval($min_chlng_qst) . ",
1347  cookie_ver = '" . $cookie_ver . "',
1348  loginscript = '" . prep_save($loginscript) . "',
1349  offlinestat = '" . prep_save($offlinestat) . "',
1350  offlineblurb = '" . prep_save($offlineblurb) . "',
1351  bp_vendor = '" . prep_save($bp_vendor) . "',
1352  ssovendor = '" . prep_save($ssovendor) . "',
1353  trmemomaxlen = " . intval($trmemomaxlen) . ",
1354  pwdconfig = '" . $pwdcfg_store . "'
1355  where cu = '" . $cu . "'";
1356 // Update cuadmin
1357  $sth = db_query($sql, $dbh);
1358  $sql1=$sql;
1359 
1360  // Now save the cutrans that were selected
1361  $tran_elements = count($cu_types);
1362  // Be sure all items are deleted before readding them
1363  $sql = " DELETE FROM cuhavetrans WHERE cu = '$cu'; ";
1364 
1365  for ($idx=0; $idx < $tran_elements; $idx++) {
1366  // Items were selected in the list add them here
1367  $tc=prep_save($cu_types[$idx]);
1368  /**
1369  * some tdesc_ variables do not exist because there are no input fields
1370  * for them. must check if they exist or this statement will throw php
1371  * warnings.
1372  *
1373  * example: Account Transfer, tdesc_AT doesn't exist there is no input field
1374  */
1375  $t=isset(${"tdesc_" . $tc}) ? ${"tdesc_" . $tc} : "";
1376  $tcdesc=prep_save($t);
1377  $sql .= " INSERT INTO cuhavetrans (cu, trancode, cudesc) VALUES ('" . strtoupper(prep_save($cu)) . "', '$tc', '$tcdesc');";
1378  }
1379  $sth2 = db_query($sql, $dbh);
1380 
1381  if ($sth && $sth2) {
1382 // Only commit if both were successful
1383  $sql = "COMMIT WORK";
1384  $sql_rs = db_query($sql, $dbh);
1385 
1386  // ** -- Commit the change to the cuadmnotify table for the txt emailing address
1387  update_cuadmnotify();
1388 
1389  // show confirmation screen w/link to self ?action=list & to menu
1390  cu_header("Credit Union Updated");
1391  cu_message("Succeeded<br>Credit Union successfully updated");
1392  cu_footer();
1393 
1394  } else {
1395  $sql_rs = db_query("ROLLBACK WORK", $dbh);
1396  cu_header("Credit Union Update Failed");
1397  cu_message("Failed<br>${found_errs}<br>${sql1}<br>${sql}");
1398 
1399  }
1400  } else {
1401 
1402  cu_header("Credit Union Update Failed");
1403  cu_message("Aborted<br>$found_errs");
1404  }
1405  break;
1406 
1407  }
1408 
1409 function update_cuadmnotify () {
1410  global $dbh, $user_name, $cutxt_email, $cucc_email;
1411 
1412  // * This will update the cuadmnotify table
1413  // *
1414  // ** First try to UPDATE the Table
1415  $sql = "UPDATE cuadmnotify
1416  SET email = '" . prep_save($cutxt_email, 40) . "'
1417  WHERE cu = '" . strtoupper(prep_save($user_name, 10)) . "'
1418  AND role = 'txtbanking' ";
1419  // ** If no records were update then INSERT
1420  $upd_rs = db_query($sql, $dbh);
1421  if (db_affected_rows($upd_rs) == 0) {
1422  // ** ONLY INSERT IF THERE IS A VALUE
1423  if (strlen($cutxt_email) > 0) {
1424  $sql = "INSERT INTO cuadmnotify
1425  (cu, role, email)
1426  VALUES
1427  ('" . strtoupper(prep_save($user_name, 10)) . "',
1428  'txtbanking',
1429  '" . prep_save($cutxt_email, 40) . "') ";
1430  $upd_rs = db_query($sql, $dbh);
1431  }
1432  }
1433 
1434  // Update the credit card payment request email
1435  $theEmail = trim( $cucc_email );
1436  if ( !strlen( $theEmail ) ) {
1437  // DELETE IF email IS EMPTY
1438  $sql = "DELETE FROM cuadmnotify
1439  WHERE cu = '" . strtoupper(prep_save($user_name, 10)) . "'
1440  AND role = 'ccemail' ";
1441  db_query($sql, $dbh);
1442  } else {
1443  // try and update
1444  $sql = "UPDATE cuadmnotify
1445  SET email = '" . prep_save($theEmail, 40) . "'
1446  WHERE cu = '" . strtoupper(prep_save($user_name, 10)) . "'
1447  AND role = 'ccemail' ";
1448  // ** If no records were updated then INSERT
1449  $upd_rs = db_query($sql, $dbh);
1450  if (db_affected_rows($upd_rs) == 0) {
1451  $sql = "INSERT INTO cuadmnotify
1452  (cu, role, email)
1453  VALUES
1454  ('" . strtoupper(prep_save($user_name, 10)) . "',
1455  'ccemail',
1456  '" . prep_save($theEmail, 40) . "') ";
1457  $upd_rs = db_query($sql, $dbh);
1458  }
1459  }
1460 }
1461 
1462 /**
1463  * evalInfoUrl
1464  *
1465  * @param string $dbValue - this is the saved value in the database, it should be
1466  * either a string, value HomeCU, or a json encoded value
1467  *
1468  * evalate the value being passed from the database
1469  * check to see if it starts with a '{', if it does, then I want to evaluate
1470  * as json value,
1471  * if it does NOT, then it is a simple string
1472  * @return string
1473  */
1474 function evalInfoUrl($dbValue) {
1475  $retVal = '';
1476 
1477  if (strlen($dbValue) > 0) {
1478  if (substr($dbValue, 0, 1) === '{') {
1479  $valAsArray = HCU_JsonDecode($dbValue);
1480  if (json_last_error() === JSON_ERROR_NONE) {
1481  foreach ($valAsArray as $strKey => $strValue) {
1482  $retVal .= $strKey . ", " . $strValue . ";\n";
1483  }
1484  } // ** else - return empty string
1485  } else {
1486  // ** SIMPLE STRING -- Return the value
1487  $retVal = $dbValue;
1488  }
1489  }
1490 
1491  return $retVal;
1492 }
1493 
1494 /**
1495  * setInfoText
1496  *
1497  * This function will take the string from the data screen and return the json value
1498  * based on the users entry of using legacy or enhanced version.
1499  *
1500  * @param type $txtValue - the string entered by the user
1501  * @return string
1502  */
1503 function setInfoText($txtValue) {
1504  $retVal = '';
1505  $infoAry = Array();
1506 
1507  // ** check to see if the value is set
1508  if ($txtValue !== '') {
1509  // If a comma is found in the string, then we will be encoding in json
1510  if (strstr($txtValue, ',') === false) {
1511  // * Legacy version
1512  // * *String value return what the user entered
1513  $retVal = $txtValue;
1514  } else {
1515  // * we will need to be doing some things.
1516  // First, split on all semi-colons
1517  foreach (explode(';', $txtValue) as $infoOption) {
1518  if (strlen($infoOption) > 0) {
1519  // ** Now explode on the ,
1520  $pieces = explode(',', $infoOption);
1521  if (count($pieces) > 1) {
1522  $infoAry[trim($pieces[0])] = trim($pieces[1]);
1523  }
1524  }
1525  }
1526 
1527  if (count($infoAry) > 0) {
1528  $retVal = HCU_JsonEncode($infoAry);
1529  }
1530  }
1531  }
1532 
1533  return $retVal;
1534 }
1535 
1536 ?>
Definition: User.php:7