Cleanup, added docs & RC 2
This commit is contained in:
		| @@ -18,6 +18,10 @@ use Inforbank\Application; | ||||
|  | ||||
| class Berichten | ||||
| { | ||||
|     /** | ||||
|      * Get all messages for a user | ||||
|      * @return array | ||||
|      */ | ||||
|     public static function getUserBerichten() | ||||
|     { | ||||
|         $container = Application::getContainer(); | ||||
| @@ -36,7 +40,7 @@ class Berichten | ||||
|                 "datum" => $datum, | ||||
|                 "gelezen" => $bericht['gelezen'] | ||||
|             ); | ||||
|             if(!$bericht['gelezen']){ | ||||
|             if (!$bericht['gelezen']) { | ||||
|                 $bericht->update([ | ||||
|                     "gelezen" => true | ||||
|                 ]); | ||||
| @@ -46,6 +50,12 @@ class Berichten | ||||
|         return $berichtArray; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Send new message | ||||
|      * @param  int $user        Klantid | ||||
|      * @param  string $afzender String name of the sender | ||||
|      * @param  string $bericht  Message | ||||
|      */ | ||||
|     public static function newBericht($user, $afzender, $bericht) | ||||
|     { | ||||
|         $container = Application::getContainer(); | ||||
|   | ||||
| @@ -16,7 +16,7 @@ namespace Inforbank\Application\Helper; | ||||
|  | ||||
| class IBAN | ||||
| { | ||||
|     private function wordToNumbers($word) | ||||
|     private static function wordToNumbers($word) | ||||
|     { | ||||
|         $newword = ""; | ||||
|         $wordarray = str_split($word); | ||||
| @@ -30,7 +30,7 @@ class IBAN | ||||
|         return $newword; | ||||
|     } | ||||
|  | ||||
|     private function getCheckDigits($bignum) | ||||
|     private static function getCheckDigits($bignum) | ||||
|     { | ||||
|         //Modulo staartdeling | ||||
|         $modulo97 = (int)substr($bignum, 0, 6); | ||||
| @@ -48,7 +48,7 @@ class IBAN | ||||
|         return $checkdigits; | ||||
|     } | ||||
|  | ||||
|     public function isValidIBAN($iban) | ||||
|     public static function isValidIBAN($iban) | ||||
|     { | ||||
|         $iban = str_replace(" ", "", $iban); | ||||
|         $landcode = substr($iban, 0, 2); | ||||
| @@ -56,38 +56,38 @@ class IBAN | ||||
|         $identificatie = substr($iban, 4); | ||||
|         $identificatie .= $landcode; | ||||
|         $identificatie .= "00"; | ||||
|         $nummer = $this->wordToNumbers($identificatie); | ||||
|         return $controle == $this->getCheckDigits($nummer); | ||||
|         $nummer = self::wordToNumbers($identificatie); | ||||
|         return $controle == self::getCheckDigits($nummer); | ||||
|     } | ||||
|  | ||||
|     public function getRekeningNummer($iban) | ||||
|     public static function getRekeningNummer($iban) | ||||
|     { | ||||
|         return substr(str_replace(" ", "", $iban), 8); | ||||
|     } | ||||
|  | ||||
|     public function getBank($iban) | ||||
|     public static function getBank($iban) | ||||
|     { | ||||
|         return substr(str_replace(" ", "", $iban), 4, 4); | ||||
|     } | ||||
|  | ||||
|     public function getLand($iban) | ||||
|     public static function getLand($iban) | ||||
|     { | ||||
|         return substr(str_replace(" ", "", $iban), 0, 2); | ||||
|     } | ||||
|  | ||||
|     public function getIBAN($rekeningnr) | ||||
|     public static function getIBAN($rekeningnr) | ||||
|     { | ||||
|         $landcode = "NL"; // NL in vertaling | ||||
|         $landnumber = $this->wordToNumbers($landcode); | ||||
|         $landnumber = self::wordToNumbers($landcode); | ||||
|  | ||||
|  | ||||
|         $bankcode = "INFO"; | ||||
|         $banknumber = $this->wordToNumbers($bankcode); | ||||
|         $banknumber = self::wordToNumbers($bankcode); | ||||
|  | ||||
|         $rekeningnr = str_pad($rekeningnr, 10, 0, STR_PAD_LEFT); | ||||
|  | ||||
|         $bignum = $banknumber . $rekeningnr . $landnumber . "00"; | ||||
|         $checkdigits = $this->getCheckDigits($bignum); | ||||
|         $checkdigits = self::getCheckDigits($bignum); | ||||
|  | ||||
|         $rekeningnrarr = str_split($rekeningnr, 4); | ||||
|         return $landcode.$checkdigits." ".$bankcode." ".$rekeningnrarr[0]." ".$rekeningnrarr[1]." ".$rekeningnrarr[2]; | ||||
|   | ||||
| @@ -16,6 +16,9 @@ namespace Inforbank\Application\Helper\Idob; | ||||
|  | ||||
| use Inforbank\Application; | ||||
|  | ||||
| /** | ||||
|  * Used for client authentication in IDOB | ||||
|  */ | ||||
| class Client | ||||
| { | ||||
|     private $client; | ||||
|   | ||||
| @@ -18,6 +18,14 @@ use Inforbank\Application; | ||||
|  | ||||
| class Transactie | ||||
| { | ||||
|     /** | ||||
|      * Create IDOB transaction | ||||
|      * @param  string $reference   Reference passed by the client (webshop) | ||||
|      * @param  string $clientId    Client identifier | ||||
|      * @param  double $amount      Transaction amount | ||||
|      * @param  string $description Description for the user | ||||
|      * @return int                 Transaction identifier | ||||
|      */ | ||||
|     public static function createTransactie($reference, $clientId, $amount, $description) | ||||
|     { | ||||
|         $container = Application::getContainer(); | ||||
| @@ -33,6 +41,11 @@ class Transactie | ||||
|         return $trans['id']; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Get IDOB transaction data | ||||
|      * @param  int $id    Transaction identifier | ||||
|      * @return array | ||||
|      */ | ||||
|     public static function getTransactie($id) | ||||
|     { | ||||
|         $container = Application::getContainer(); | ||||
| @@ -54,6 +67,11 @@ class Transactie | ||||
|         ); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Set the IDOB transaction status | ||||
|      * @param int $id        Transaction identifier | ||||
|      * @param int $status    Status: 1 for pending, 2 for paid, 3 for unknown | ||||
|      */ | ||||
|     public static function setTransactionStatus($id, $status) | ||||
|     { | ||||
|         $container = Application::getContainer(); | ||||
|   | ||||
| @@ -18,6 +18,10 @@ use Inforbank\Application; | ||||
|  | ||||
| class Klant | ||||
| { | ||||
|     /** | ||||
|      * Get current user data | ||||
|      * @return array | ||||
|      */ | ||||
|     public static function getCurrentUser() | ||||
|     { | ||||
|         $container = Application::getContainer(); | ||||
|   | ||||
| @@ -69,20 +69,20 @@ class Overboekingen | ||||
|             $ascii = ord($char); | ||||
|             if ($char === "." || $char === ",") { | ||||
|                 $komma++; | ||||
|                 if($komma > 1){ | ||||
|                 if ($komma > 1) { | ||||
|                     //Twee komma's | ||||
|                     return false; | ||||
|                 } | ||||
|             } elseif (($ascii >= ord("0") && $ascii <= ord("9") || $char === "-")) { | ||||
|                 if($komma >= 1){ | ||||
|                 if ($komma >= 1) { | ||||
|                     $decimalen++; | ||||
|                     if ($decimalen > 2) { | ||||
|                         //Meer dan twee cijfers achter de komma | ||||
|                         return false; | ||||
|                     } | ||||
|                 }else{ | ||||
|                 } else { | ||||
|                     $cijfers++; | ||||
|                     if($cijfers > 9){ | ||||
|                     if ($cijfers > 9) { | ||||
|                         //Te veel cijfers voor de komma | ||||
|                         return false; | ||||
|                     } | ||||
| @@ -101,7 +101,7 @@ class Overboekingen | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * | ||||
|      * Maak een nieuwe overboeking aan | ||||
|      * @param IBAN $van De rekening waar het bedrag vanaf wordt gehaald | ||||
|      * @param IBAN $naar De rekening waar het bedrag bijkomt | ||||
|      * @param double $bedrag Het bedrag | ||||
| @@ -115,15 +115,15 @@ class Overboekingen | ||||
|             //error: rekening is niet van klant | ||||
|             Overboekingen::error(Overboekingen::$EIGENAAR); | ||||
|         } | ||||
|         $ibanHelper = new IBAN(); | ||||
|         if (!$ibanHelper->isValidIBAN($naar)) { | ||||
|  | ||||
|         if (!IBAN::isValidIBAN($naar)) { | ||||
|             //error: ongeldige iban | ||||
|             throw new Exception("De IBAN van de ontvanger is ongeldig.", Overboekingen::$IBAN); | ||||
|         } elseif (!($ibanHelper->getLand($naar) == "NL" && $ibanHelper->getBank($naar) === "INFO")) { | ||||
|         } elseif (!(IBAN::getLand($naar) == "NL" && IBAN::getBank($naar) === "INFO")) { | ||||
|             //error: andere bank | ||||
|             Overboekingen::error(Overboekingen::$BANK); | ||||
|         } | ||||
|         $naarRekeningnr = $ibanHelper->getRekeningNummer($naar); | ||||
|         $naarRekeningnr = IBAN::getRekeningNummer($naar); | ||||
|  | ||||
|         //Controleer of de rekening bestaat | ||||
|         $db = Application::getContainer()->db; | ||||
| @@ -180,7 +180,7 @@ class Overboekingen | ||||
|         ]); | ||||
|         //Stuur bericht bij laag saldo | ||||
|         if ($vanRekening['saldo'] - $bedragvalue < 20) { | ||||
|             Berichten::newBericht(Application::getContainer()->auth->getUserID(), "Bank", "U heeft een laag saldo op uw rekening: " . $ibanHelper->getIBAN($vanRekening['nr']) . ".<br/>Uw huidige saldo is " . money_format('%(#1n', $vanRekening['saldo'] - $bedragvalue) . "."); | ||||
|             Berichten::newBericht(Application::getContainer()->auth->getUserID(), "Bank", "U heeft een laag saldo op uw rekening: " . IBAN::getIBAN($vanRekening['nr']) . ".<br/>Uw huidige saldo is " . money_format('%(#1n', $vanRekening['saldo'] - $bedragvalue) . "."); | ||||
|         } | ||||
|         //In de database worden de getallen met 10 cijfers voor de komma opgeslagen | ||||
|         //Als het saldo te hoog wordt heb je een probleem | ||||
|   | ||||
| @@ -16,6 +16,13 @@ namespace Inforbank\Application\Helper; | ||||
|  | ||||
| class Redirect | ||||
| { | ||||
|     /** | ||||
|      * Create a new redirect to the given path | ||||
|      * @param  Request $request | ||||
|      * @param  Response $response | ||||
|      * @param  string $path | ||||
|      * @return Response object | ||||
|      */ | ||||
|     public static function create($request, $response, $path) | ||||
|     { | ||||
|         $basePath = $request->getUri()->getBaseUrl(); | ||||
|   | ||||
| @@ -21,13 +21,16 @@ class Rekeningen | ||||
|     public static $BETAALREKENING = 1; | ||||
|     public static $SPAARREKENING = 2; | ||||
|  | ||||
|     /** | ||||
|      * Return the current user bank accounts | ||||
|      * @return array | ||||
|      */ | ||||
|     public static function getCurrentUserRekeningen() | ||||
|     { | ||||
|         $container = Application::getContainer(); | ||||
|         $user = $container->auth->getUserID(); | ||||
|  | ||||
|         $db = $container->db; | ||||
|         $ibanhelper = new IBAN; | ||||
|  | ||||
|         $rekeningen = $db->rekeningen->where('klantid', $user); | ||||
|  | ||||
| @@ -37,7 +40,7 @@ class Rekeningen | ||||
|             $type = $db->types->where('id', $rekening['typeid'])[$rekening['typeid']]; | ||||
|  | ||||
|             $returnArray[] = array( | ||||
|                 "iban" => $ibanhelper->getIBAN($rekening['rekeningnr']), | ||||
|                 "iban" => IBAN::getIBAN($rekening['rekeningnr']), | ||||
|                 "nr" => $rekening['rekeningnr'], | ||||
|                 "saldo" => (double) $rekening['saldo'], | ||||
|                 "naam" => $type['rekeningnaam'], | ||||
| @@ -48,6 +51,11 @@ class Rekeningen | ||||
|         return $returnArray; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Check if the current user is the owner of this bank account | ||||
|      * @param  string  $iban | ||||
|      * @return boolean | ||||
|      */ | ||||
|     public static function isEigenRekeningIBAN($iban) | ||||
|     { | ||||
|         $rekeningen = Rekeningen::getCurrentUserRekeningen(); | ||||
| @@ -62,6 +70,11 @@ class Rekeningen | ||||
|         return $vanRekening; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Check if the current user is the owner of this bank account | ||||
|      * @param  string  $nr Internal bank account number | ||||
|      * @return boolean | ||||
|      */ | ||||
|     public static function isEigenRekeningnr($nr) | ||||
|     { | ||||
|         $rekeningen = Rekeningen::getCurrentUserRekeningen(); | ||||
|   | ||||
| @@ -5,15 +5,17 @@ namespace Inforbank\Application\Helper; | ||||
| use Exception; | ||||
| use Inforbank\Application; | ||||
|  | ||||
| class Statistieken { | ||||
| class Statistieken | ||||
| { | ||||
|     public static $EIGENAAR = 1; | ||||
|      | ||||
|     public static function getSaldoverloop($dagen, $rekeningNummer){ | ||||
|         if(!Rekeningen::isEigenRekeningnr($rekeningNummer)){ | ||||
|  | ||||
|     public static function getSaldoverloop($dagen, $rekeningNummer) | ||||
|     { | ||||
|         if (!Rekeningen::isEigenRekeningnr($rekeningNummer)) { | ||||
|             throw new Exception("Dit is niet uw eigen rekening", Statistieken::$EIGENAAR); | ||||
|         } | ||||
|         $xas = array(); | ||||
|         for($i = $dagen; $i >= 0; $i--){ | ||||
|         for ($i = $dagen; $i >= 0; $i--) { | ||||
|             $xas[] = date("Y-m-d", strtotime("now") - $i * 86400); | ||||
|         } | ||||
|         $container = Application::getContainer(); | ||||
| @@ -26,27 +28,27 @@ class Statistieken { | ||||
|         $huidigSaldo = (double)$saldo; | ||||
|         $vandaag = strtotime("now"); | ||||
|         $yas = array_fill(0, $dagen + 1, 0); | ||||
|         foreach($eraf as $af){ | ||||
|                 $dag = strtotime($af['datum']); | ||||
|                 $diff = floor(($vandaag - $dag)/86400); | ||||
|                 if($diff <= $dagen){ | ||||
|                         $yas[$dagen - $diff] = (double)$af['bedr']; | ||||
|                 } | ||||
|         foreach ($eraf as $af) { | ||||
|             $dag = strtotime($af['datum']); | ||||
|             $diff = floor(($vandaag - $dag)/86400); | ||||
|             if ($diff <= $dagen) { | ||||
|                 $yas[$dagen - $diff] = (double)$af['bedr']; | ||||
|             } | ||||
|         } | ||||
|         foreach($erbij as $bij){ | ||||
|                 $dag = strtotime($bij['datum']); | ||||
|                 $diff = floor(($vandaag - $dag)/86400); | ||||
|                 if($diff <= $dagen){ | ||||
|                         $yas[$dagen - $diff + 1] -= (double)$bij['bedr']; | ||||
|                 }else{ | ||||
|                         break; | ||||
|                 } | ||||
|         foreach ($erbij as $bij) { | ||||
|             $dag = strtotime($bij['datum']); | ||||
|             $diff = floor(($vandaag - $dag)/86400); | ||||
|             if ($diff <= $dagen) { | ||||
|                 $yas[$dagen - $diff + 1] -= (double)$bij['bedr']; | ||||
|             } else { | ||||
|                 break; | ||||
|             } | ||||
|         } | ||||
|         $verandering = 0; | ||||
|         for($i = $dagen; $i >= 0; $i--){ | ||||
|                 $huidigSaldo += $verandering; | ||||
|                 $verandering = $yas[$i]; | ||||
|                 $yas[$i] = $huidigSaldo; | ||||
|         for ($i = $dagen; $i >= 0; $i--) { | ||||
|             $huidigSaldo += $verandering; | ||||
|             $verandering = $yas[$i]; | ||||
|             $yas[$i] = $huidigSaldo; | ||||
|         } | ||||
|         return [ | ||||
|             "x-as" => $xas, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user