示例#1
0
 /**
  * Overloaded: ABN Amro shows the GIRO and fixes newlines etc
  * @inheritdoc
  */
 protected function parseTransactionAccountName()
 {
     $results = parent::parseTransactionAccountName();
     if ($results !== '') {
         return $results;
     }
     $results = [];
     //     echo strpos($this->getCurrentTransactionData(), 'NAAM:')."\n";
     //echo preg_match('/NAAM:(.*?)(OMSCHRIJVING|MACHTIGING)/s', $this->getCurrentTransactionData(), $results),"\n";
     if (strpos($this->getCurrentTransactionData(), 'NAAM:') !== false && preg_match('/NAAM:(.*?)(OMSCHRIJVING|MACHTIGING)/s', $this->getCurrentTransactionData(), $results) && !empty($results[1])) {
         //     echo $results[1];
         $accountName = trim($results[1]);
         if (!empty($accountName)) {
             return $this->sanitizeAccountName($accountName);
         }
     }
     if (preg_match('#/NAME/(.*?)/(REMI|ADDR)/#ms', $this->getCurrentTransactionData(), $results) && !empty($results[1])) {
         $accountName = trim($results[1]);
         if (!empty($accountName)) {
             return $this->sanitizeAccountName($accountName);
         }
     }
     if (preg_match('/:86:(GIRO|BGC\\.)\\s+[\\d]+ (.+)/', $this->getCurrentTransactionData(), $results) && !empty($results[2])) {
         return $this->sanitizeAccountName($results[2]);
     }
     /*if (preg_match('/:86:.+\n(.*)\n/', $this->getCurrentTransactionData(), $results)
                     && !empty($results[1])
             ) {
                 return $this->sanitizeAccountName($results[1]);
             }
     */
     return '';
 }
示例#2
0
 /**
  * Overloaded: ABN Amro shows the GIRO and fixes newlines etc
  * @inheritdoc
  */
 protected function parseTransactionAccountName()
 {
     $results = parent::parseTransactionAccountName();
     if ($results !== '') {
         return $results;
     }
     $results = [];
     if (preg_match('/:86:(GIRO|BGC\\.)\\s+[\\d]+ (.+)/', $this->getCurrentTransactionData(), $results) && !empty($results[2])) {
         return $this->sanitizeAccountName($results[2]);
     }
     if (preg_match('/:86:.+\\n(.*)\\n/', $this->getCurrentTransactionData(), $results) && !empty($results[1])) {
         return $this->sanitizeAccountName($results[1]);
     }
     return '';
 }
示例#3
0
 /**
  * Overloaded: Added simple IBAN transaction handling
  * @inheritdoc
  */
 protected function parseTransactionAccountName()
 {
     $name = parent::parseTransactionAccountName();
     if ($name !== '') {
         return $name;
     }
     // IBAN
     $transactionData = str_replace('Europese Incasso, doorlopend ', '', $this->getCurrentTransactionData());
     $transactionData = preg_replace('![\\r\\n]+!', '', $transactionData);
     if (preg_match('#/CNTP/[^/]*/[^/]*/(.*?)/#', $transactionData, $results)) {
         $name = trim($results[1]);
         if (!empty($name)) {
             return $this->sanitizeAccountName($name);
         }
     }
     if (preg_match('#:86:.*? [^ ]+ (.*)#', $transactionData, $results) !== 1) {
         return '';
     }
     return $this->parseNameFromTransactionData($results[1]);
 }