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 @@
-
Transactienummer | -Naam Debiteur/Crediteur | -Aan-/Afschrijving | -Bedrag | -Datum | -
---|