/**
  * 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();
 }