case AN_REASON_NOACHTYPE:
case AN_REASON_NOACHTYPE2:
{
- // Not implemented yet.
+ if (!empty($extra->x_echeck_type)) {
+ switch ($extra->x_echeck_type) {
+ // CCD=BUSINESSCHECKING
+ case 'CCD':
+ {
+ set_config('an_acceptechecktypes', 'CHECKING,SAVINGS');
+ email_to_admin("$message " .
+ "This is new config(an_acceptechecktypes):", array('CHECKING','SAVINGS'));
+ }
+ break;
+ // WEB=CHECKING or SAVINGS
+ case 'WEB':
+ {
+ set_config('an_acceptechecktypes', 'BUSINESSCHECKING');
+ email_to_admin("$message " .
+ "This is new config(an_acceptechecktypes):", array('BUSINESSCHECKING'));
+ }
+ break;
+ }
+ }
break;
}
}
<tr>
<td align="right"><?php print_string("echeckacctype", "enrol_authorize") ?>: </td>
<td align="left"><?php
- $acctypes = array(
- 'CHECKING' => get_string("echeckchecking", "enrol_authorize"),
- 'BUSINESSCHECKING' => get_string("echeckbusinesschecking", "enrol_authorize"),
- 'SAVINGS' => get_string("echecksavings", "enrol_authorize")
- );
+ $acctypes = array();
+ $acctypesenabled = get_list_of_bank_account_types();
+ foreach ($acctypesenabled as $key) {
+ $acctypes[$key] = get_string("echeck".strtolower($key), "enrol_authorize");
+ }
choose_from_menu($acctypes, 'acctype', $form->acctype);
if (!empty($classreference->authorizeerrors['acctype'])) { formerr($classreference->authorizeerrors['acctype']); }
?>
$extra->x_bank_aba_code = $form->abacode;
$extra->x_bank_acct_num = $form->accnum;
$extra->x_bank_acct_type = $form->acctype;
+ $extra->x_echeck_type = ($form->acctype == 'BUSINESSCHECKING') ? 'CCD' : 'WEB';
$extra->x_bank_name = $form->bankname;
$extra->x_currency_code = $curcost['currency'];
$extra->x_amount = $curcost['cost'];
}
}
+function get_list_of_bank_account_types($getall = false)
+{
+ global $CFG;
+
+ if ($getall || empty($CFG->an_acceptechecktypes)) {
+ return array('CHECKING', 'BUSINESSCHECKING', 'SAVINGS');
+ }
+ else {
+ return explode(',', $CFG->an_acceptechecktypes);
+ }
+}
+
function ABAVal($aba)
{
if (ereg("^[0-9]{9}$", $aba)) {
$err['accnum'] = get_string('invalidaccnum', 'enrol_authorize');
}
- if (empty($form->acctype) || !in_array($form->acctype, array('CHECKING', 'BUSINESSCHECKING', 'SAVINGS'))) {
+ if (empty($form->acctype) || !in_array($form->acctype, get_list_of_bank_account_types())) {
$err['acctype'] = get_string('invalidacctype', 'enrol_authorize');
}