|
|
|
@ -93,7 +93,8 @@ class GenerateTransactions |
|
|
|
if (in_array($type, ['reconciliation', 'initial-balance', 'expense', 'revenue'], true)) { |
|
|
|
continue; |
|
|
|
} |
|
|
|
$iban = (string) $entry->iban; |
|
|
|
$iban = $this->filterSpaces((string) $entry->iban); |
|
|
|
|
|
|
|
if ('' !== $iban) { |
|
|
|
app('log')->debug(sprintf('Collected IBAN "%s" (%s) under ID #%d', $iban, $entry->type, $entry->id)); |
|
|
|
$return[$iban] = $entry->id; |
|
|
|
@ -513,4 +514,61 @@ class GenerateTransactions |
|
|
|
app('log')->debug(sprintf('End of %s', __METHOD__)); |
|
|
|
return $transaction; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @param string $iban |
|
|
|
* @return string |
|
|
|
*/ |
|
|
|
private function filterSpaces(string $iban): string |
|
|
|
{ |
|
|
|
$search = [ |
|
|
|
"\u{0001}", // start of heading
|
|
|
|
"\u{0002}", // start of text
|
|
|
|
"\u{0003}", // end of text
|
|
|
|
"\u{0004}", // end of transmission
|
|
|
|
"\u{0005}", // enquiry
|
|
|
|
"\u{0006}", // ACK
|
|
|
|
"\u{0007}", // BEL
|
|
|
|
"\u{0008}", // backspace
|
|
|
|
"\u{000E}", // shift out
|
|
|
|
"\u{000F}", // shift in
|
|
|
|
"\u{0010}", // data link escape
|
|
|
|
"\u{0011}", // DC1
|
|
|
|
"\u{0012}", // DC2
|
|
|
|
"\u{0013}", // DC3
|
|
|
|
"\u{0014}", // DC4
|
|
|
|
"\u{0015}", // NAK
|
|
|
|
"\u{0016}", // SYN
|
|
|
|
"\u{0017}", // ETB
|
|
|
|
"\u{0018}", // CAN
|
|
|
|
"\u{0019}", // EM
|
|
|
|
"\u{001A}", // SUB
|
|
|
|
"\u{001B}", // escape
|
|
|
|
"\u{001C}", // file separator
|
|
|
|
"\u{001D}", // group separator
|
|
|
|
"\u{001E}", // record separator
|
|
|
|
"\u{001F}", // unit separator
|
|
|
|
"\u{007F}", // DEL
|
|
|
|
"\u{00A0}", // non-breaking space
|
|
|
|
"\u{1680}", // ogham space mark
|
|
|
|
"\u{180E}", // mongolian vowel separator
|
|
|
|
"\u{2000}", // en quad
|
|
|
|
"\u{2001}", // em quad
|
|
|
|
"\u{2002}", // en space
|
|
|
|
"\u{2003}", // em space
|
|
|
|
"\u{2004}", // three-per-em space
|
|
|
|
"\u{2005}", // four-per-em space
|
|
|
|
"\u{2006}", // six-per-em space
|
|
|
|
"\u{2007}", // figure space
|
|
|
|
"\u{2008}", // punctuation space
|
|
|
|
"\u{2009}", // thin space
|
|
|
|
"\u{200A}", // hair space
|
|
|
|
"\u{200B}", // zero width space
|
|
|
|
"\u{202F}", // narrow no-break space
|
|
|
|
"\u{3000}", // ideographic space
|
|
|
|
"\u{FEFF}", // zero width no -break space
|
|
|
|
"\x20", // plain old normal space
|
|
|
|
]; |
|
|
|
return str_replace($search, '', $iban); |
|
|
|
} |
|
|
|
} |