From 8552933a528199e9a460c21af0418ff96161992a Mon Sep 17 00:00:00 2001 From: Christiaan Goossens Date: Mon, 3 Apr 2017 16:26:17 +0200 Subject: [PATCH] Several small fixes + removed unnecessary files --- assets/css/main.css | 7 +-- src/Application/Daniel.php | 28 ---------- src/Application/Helper/Overboekingen.php | 70 +++++++++++++----------- src/Application/Helper/Rekeningen.php | 15 +++-- src/Application/Transacties.php | 10 ++-- src/bootstrap.php | 11 +++- templates/__header.phtml | 15 +---- templates/berichten.phtml | 20 +++++-- templates/daniel.phtml | 59 -------------------- templates/index.phtml | 5 ++ templates/transacties.phtml | 17 ++++-- 11 files changed, 99 insertions(+), 158 deletions(-) delete mode 100644 src/Application/Daniel.php delete mode 100644 templates/daniel.phtml diff --git a/assets/css/main.css b/assets/css/main.css index 77e5537..a78c7ef 100644 --- a/assets/css/main.css +++ b/assets/css/main.css @@ -44,15 +44,14 @@ ul.nv { .circle { - border-radius: 50%; - color: #000000; + color: #0094ff; text-align: center; background: #ffffff; height: 20px; width: 20px; - display: table-cell; - text-align: center; + display: inline-block; border-radius: 50%; + margin-left: 10px; } /** Index **/ diff --git a/src/Application/Daniel.php b/src/Application/Daniel.php deleted file mode 100644 index d8da182..0000000 --- a/src/Application/Daniel.php +++ /dev/null @@ -1,28 +0,0 @@ -get('/daniel', function ($request, $response, $args) { - // Render index view - return $this->renderer->render($response, 'daniel.phtml', $args); - }); - } -} diff --git a/src/Application/Helper/Overboekingen.php b/src/Application/Helper/Overboekingen.php index 24563f9..672623b 100644 --- a/src/Application/Helper/Overboekingen.php +++ b/src/Application/Helper/Overboekingen.php @@ -6,8 +6,8 @@ use Exception; use Inforbank\Application; use Inforbank\Application\Helper\Rekeningen; -class Overboekingen { - +class Overboekingen +{ public static $EIGENAAR = 1; public static $IBAN = 2; public static $BANK = 3; @@ -19,37 +19,38 @@ class Overboekingen { public static $OMSCHRIJVING = 9; public static $SPAARREKENING = 10; - public static function getErrorMessage($code) { + public static function getErrorMessage($code) + { switch ($code) { case Overboekingen::$EIGENAAR: - $message = "U bent niet de eigenaar van de 'van' rekening"; + $message = "U bent niet de eigenaar van de betalende rekening."; break; case Overboekingen::$IBAN: - $message = "De IBAN van 'naar' is ongeldig"; + $message = "Het ontvangende rekeningnummer is ongeldig."; break; case Overboekingen::$BANK: - $message = "U kunt alleen binnen de InforBank geld overmaken"; + $message = "U kunt alleen binnen de InforBank geld overmaken."; break; case Overboekingen::$BESTAAN: - $message = "De 'naar' rekening bestaat niet"; + $message = "De 'naar' rekening bestaat niet."; break; case Overboekingen::$ZELFDE: - $message = "De 'van' en 'naar' rekening mogen niet hetzelfde zijn"; + $message = "De 'van' en 'naar' rekening mogen niet hetzelfde zijn."; break; case Overboekingen::$GETAL: - $message = "Het bedrag moet een getal zijn met maximaal 9 cijfers voor en 2 achter de komma"; + $message = "Het bedrag moet een getal zijn met maximaal 9 cijfers voor en 2 achter de komma."; break; case Overboekingen::$POSITIEF: - $message = "Het bedrag moet positief zijn"; + $message = "Het bedrag moet positief zijn."; break; case Overboekingen::$SALDO: - $message = "Uw saldo is te laag"; + $message = "Uw saldo is te laag voor deze betaling."; break; case Overboekingen::$OMSCHRIJVING: - $message = "De omschrijving mag niet langer dan 40 tekens zijn"; + $message = "De omschrijving mag niet langer dan 40 tekens zijn."; break; case Overboekingen::$SPAARREKENING: - $message = "Je kan geen geld overmaken van of naar een spaarrekening"; + $message = "Je kan geen geld overmaken van of naar een spaarrekening van een ander."; break; default: $message = ""; @@ -58,7 +59,8 @@ class Overboekingen { return $message; } - private static function isValidFloat($bedrag) { + private static function isValidFloat($bedrag) + { $hasdecimal = false; $decimals = 0; $voorcijfers = 0; @@ -69,7 +71,7 @@ class Overboekingen { if ($char === "." || $char === ",") { //Twee komma's return false; - } else if ($ascii >= ord("0") && $ascii <= ord("9")) { + } elseif ($ascii >= ord("0") && $ascii <= ord("9")) { $decimals++; if ($decimals > 2) { //Meer dan twee cijfers achter de komma @@ -79,9 +81,9 @@ class Overboekingen { //Ongeldig teken return false; } - } else if ($char === "." || $char === ",") { + } elseif ($char === "." || $char === ",") { $hasdecimal = true; - } else if ($ascii >= ord("0") || $ascii <= ord("9")) { + } elseif ($ascii >= ord("0") || $ascii <= ord("9")) { $voorcijfers++; if ($voorcijfers > 9) { //Te veel cijfers voor de komma @@ -95,10 +97,11 @@ class Overboekingen { return true; } - private static function error($code){ + private static function error($code) + { throw new Exception(Overboekingen::getErrorMessage($code), $code); } - + /** * * @param IBAN $van De rekening waar het bedrag vanaf wordt gehaald @@ -107,7 +110,8 @@ class Overboekingen { * @param string $omschrijving De omschrijving van de overoeking * $param string $type Het type overboeking */ - public static function createOverboeking($van, $naar, $bedrag, $omschrijving, $type) { + public static function createOverboeking($van, $naar, $bedrag, $omschrijving, $type) + { $vanRekening = Rekeningen::isEigenRekeningIBAN($van); if (!$vanRekening) { //error: rekening is niet van klant @@ -116,7 +120,7 @@ class Overboekingen { $ibanHelper = new IBAN(); if (!$ibanHelper->isValidIBAN($naar)) { //error: ongeldige iban - throw new Exception("De IBAN van de ontvanger is ongeldig", Overboekingen::$IBAN); + throw new Exception("De IBAN van de ontvanger is ongeldig.", Overboekingen::$IBAN); } elseif (!($ibanHelper->getLand($naar) == "NL" && $ibanHelper->getBank($naar) === "INFO")) { //error: andere bank Overboekingen::error(Overboekingen::$BANK); @@ -135,20 +139,23 @@ class Overboekingen { //error: afzender is hetzelfde als ontvanger Overboekingen::error(Overboekingen::$ZELFDE); } - if(!Rekeningen::isEigenRekeningnr($naarRekeningnr) + + if (!Rekeningen::isEigenRekeningnr($naarRekeningnr) && ((int)$naarRekening['typeid'] === Rekeningen::$SPAARREKENING - || (int)$vanRekening['typeid'] === Rekeningen::$SPAARREKENING)){ + || (int)$vanRekening['typeid'] === Rekeningen::$SPAARREKENING)) { Overboekingen::error(Overboekingen::$SPAARREKENING); } - + if (!Overboekingen::isValidFloat($bedrag)) { Overboekingen::error(Overboekingen::$GETAL); } - if ($bedrag <= 0) { + $bedragvalue = doubleval(str_replace(",", ".", $bedrag)); + + if ($bedragvalue <= 0) { Overboekingen::error(Overboekingen::$POSITIEF); } - $bedragvalue = doubleval(str_replace(",", ".", $bedrag)); + if ($bedragvalue > $vanRekening['saldo']) { Overboekingen::error(Overboekingen::$SALDO); } @@ -160,7 +167,7 @@ class Overboekingen { $db->transacties->insert([ "van" => $vanRekening['nr'], "naar" => $naarRekeningnr, - "bedrag" => $bedrag, + "bedrag" => $bedragvalue, "type" => $type, "omschrijving" => $omschrijving, "datum" => date("Y-m-d") @@ -168,20 +175,19 @@ class Overboekingen { //Wijzig saldo $db->rekeningen->where("rekeningnr", $vanRekening['nr'])->update([ - "saldo" => $vanRekening['saldo'] - $bedragvalue + "saldo" => ((double) $vanRekening['saldo'] - $bedragvalue) ]); $naarRekening->update([ - "saldo" => $naarRekening['saldo'] + $bedragvalue + "saldo" => ((double) $naarRekening['saldo'] + $bedragvalue) ]); //Stuur bericht bij laag saldo if ($vanRekening['saldo'] - $bedragvalue < 20) { - Berichten::newBericht(Application::getContainer()->auth->getUserID(), "De InforBank", "U heeft een laag saldo"); + Berichten::newBericht(Application::getContainer()->auth->getUserID(), "Bank", "U heeft een laag saldo op uw rekening: " . $ibanHelper->getIBAN($vanRekening['nr']) . ".
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 if ($naarRekening['saldo'] + $bedragvalue > 9000000000) { - Berichten::newBericht($naarRekening['klantid'], "De InforBank", "Uw saldo is te hoog"); + Berichten::newBericht($naarRekening['klantid'], "Bank", "Uw saldo is te hoog!"); } } - } diff --git a/src/Application/Helper/Rekeningen.php b/src/Application/Helper/Rekeningen.php index 406c524..0fdfe51 100644 --- a/src/Application/Helper/Rekeningen.php +++ b/src/Application/Helper/Rekeningen.php @@ -20,7 +20,7 @@ class Rekeningen { public static $BETAALREKENING = 1; public static $SPAARREKENING = 2; - + public static function getCurrentUserRekeningen() { $container = Application::getContainer(); @@ -47,8 +47,9 @@ class Rekeningen return $returnArray; } - - public static function isEigenRekeningIBAN($iban){ + + public static function isEigenRekeningIBAN($iban) + { $rekeningen = Rekeningen::getCurrentUserRekeningen(); $vanRekening = false; //Controleer of de rekening wel van de ingelogde klant is @@ -60,13 +61,15 @@ class Rekeningen } return $vanRekening; } - - public static function isEigenRekeningnr($nr){ + + public static function isEigenRekeningnr($nr) + { $rekeningen = Rekeningen::getCurrentUserRekeningen(); $vanRekening = false; + //Controleer of de rekening wel van de ingelogde klant is foreach ($rekeningen as $rek) { - if ($rek['nr'] === $nr) { + if ((int) $rek['nr'] === (int) $nr) { $vanRekening = $rek; break; } diff --git a/src/Application/Transacties.php b/src/Application/Transacties.php index 6a0e623..9e72153 100644 --- a/src/Application/Transacties.php +++ b/src/Application/Transacties.php @@ -20,9 +20,10 @@ use Inforbank\Application\Helper\Rekeningen; use Inforbank\Application\Helper\IBAN; use Inforbank\Application; -class Transacties { - - public function __construct(App $app) { +class Transacties +{ + public function __construct(App $app) + { $app->get('/rekeningen/{rekeningnummer}', function ($request, $response, $args) { $rekeningen = Rekeningen::getCurrentUserRekeningen(); @@ -45,7 +46,7 @@ class Transacties { } $container = Application::getContainer(); $db = $container->db; - $transacties = $db->transacties->where('van', '12345678')->or('naar', $rekeningnr) + $transacties = $db->transacties->where('van', $rekeningnr)->or('naar', $rekeningnr) ->order("datum DESC, id DESC"); $returnArray = array(); @@ -68,5 +69,4 @@ class Transacties { ]); })->add(new Auth\Middleware()); } - } diff --git a/src/bootstrap.php b/src/bootstrap.php index 57e3b77..15a8383 100644 --- a/src/bootstrap.php +++ b/src/bootstrap.php @@ -25,6 +25,16 @@ $settings = require __DIR__ . '/settings.php'; setlocale(LC_MONETARY, 'nl_NL.UTF-8'); date_default_timezone_set('Europe/Amsterdam'); +//De functie money_format bestaat alleen op systemen met strfmon, dus niet op Windows +//Om een foutmelding tijdens het testen te voorkomen definiëren we deze functie +//als money_format niet bestaat +if (!function_exists("money_format")) { + function money_format($format, $value) + { + return "€ " . $value; + } +} + // Create the Slim application object with the settings /** * ============== @@ -129,7 +139,6 @@ new Inforbank\Application\Login($app); * Pagina's */ -new Inforbank\Application\Daniel($app); new Inforbank\Application\Transacties($app); new Inforbank\Application\Overboeking($app); new Inforbank\Application\Rekeningen($app); diff --git a/templates/__header.phtml b/templates/__header.phtml index 37eff2e..70c82ba 100644 --- a/templates/__header.phtml +++ b/templates/__header.phtml @@ -1,13 +1,3 @@ - @@ -37,8 +27,9 @@ if(!function_exists("money_format")){
diff --git a/templates/berichten.phtml b/templates/berichten.phtml index b3b8634..f1c1228 100644 --- a/templates/berichten.phtml +++ b/templates/berichten.phtml @@ -6,10 +6,13 @@ ?>
- - Nieuw bericht - -

+ + Nieuw bericht

+ +

Afzender:
@@ -17,6 +20,13 @@
+} + +if (count($berichten) === 0) { + ?>U heeft geen berichten. diff --git a/templates/daniel.phtml b/templates/daniel.phtml deleted file mode 100644 index ddedc5c..0000000 --- a/templates/daniel.phtml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - InforBank - Inloggen - - - - - - -
-
-

InforBank

-
-
-
- - - - - - - - -
TransactienummerNaam Debiteur/CrediteurAan-/AfschrijvingBedragDatum
-
-
- © 2017 Alle rechten voorbehouden -
- - - - diff --git a/templates/index.phtml b/templates/index.phtml index 75d62af..03ee136 100644 --- a/templates/index.phtml +++ b/templates/index.phtml @@ -14,6 +14,11 @@ U heeft geen rekeningen. diff --git a/templates/transacties.phtml b/templates/transacties.phtml index 1ef798b..b885792 100644 --- a/templates/transacties.phtml +++ b/templates/transacties.phtml @@ -6,16 +6,21 @@ if (!$rekening) { + + } ?> + +
@@ -63,12 +68,12 @@ if (!$rekening) { echo "" . money_format('%(#1n', $transactie['bedrag']) . "\n"; echo ""; - } - ?> + } ?>
ba = betaalautomaat, bg = bankgiro/SEPA opdracht, id = Inforbank Direct Online Betalen (iDeal), sp = spoedbetaling