/** * Validate the current credit card details */ function validate_card_details(&$ret) { // validate input fields if ($this->req_all_flds) { $this->req_fields_arr = array('first_name', 'last_name', 'address1', 'state', 'zip'); } if (is_array($this->req_fields_arr)) { $validate = true; global $VAR; foreach ($this->req_fields_arr as $fld) { if (empty($this->billing["{$fld}"]) && empty($this->account["{$fld}"])) { $VAR["{$fld}_error"] = true; $validate = false; } } if (!$validate) { global $C_translate; $ret['status'] = 0; $ret['msg'] = $C_translate->translate('missing_fields', 'checkout', ''); return false; } } // validate actual credit card details include_once PATH_CORE . 'validate.inc.php'; $validate = new CORE_validate(); $this->billing["cc_no"] == preg_replace('/^[0-9]/', '', $this->billing["cc_no"]); if (!$validate->validate_cc($this->billing["cc_no"], false, $this->billing["card_type"], $this->cfg['card_type'])) { $ret['status'] = 0; global $C_translate; $ret['msg'] = $C_translate->translate('card_invalid', 'checkout', ''); } elseif (!$validate->validate_cc_exp(@$this->billing["exp_month"], @$this->billing["exp_year"])) { $ret['status'] = 0; global $C_translate; $ret['msg'] = $C_translate->translate('card_exp_invalid', 'checkout', ''); } else { $ret['status'] = 1; return true; } return false; }