/** * Konstruktor * * @param string $bank_code_or_iban * @param string $account_number */ public function __construct($bank_code_or_iban = false, $account_number = false) { $this->tan_medium = false; $this->aqbanking = false; $this->iban = false; $this->balance = false; $bank_code = false; /* * wenn die ersten 2 ziffern buchstaben sind handelt es sich um eine iban und wird zerlegt */ if (ctype_alpha(substr($bank_code_or_iban . '', 0, 2))) { $this->setIBAN($bank_code_or_iban); /* * auflösen in kto und blz nur bei deutschen konten */ if (substr($bank_code_or_iban . '', 0, 2) == 'DE') { $bank_code = substr($bank_code_or_iban, 4, 8); $account_number = substr($bank_code_or_iban, 12, 10); } } if ($bank_code !== false) { $this->setBankCode($bank_code); } if ($account_number !== false) { $this->setAccountNumber($account_number); } /* * set IBAN if not setted */ if (!$this->iban) { $gen = new IBANGenerator($bank_code, $account_number); $this->setIBAN($gen->generate()); } /* * set tan mode to smsTAN by default */ $this->setTanModeSMS(); }
/** * Generiere aus Bankleitzahl und Kontonummer die IBAN */ public function generateIBAN() { $IBANGenerator = new IBANGenerator($this->bank_code, $this->account_number, $this->locale); $this->iban = $IBANGenerator->generate(); }