1
0
Fork 0

Several small fixes + removed unnecessary files

merge-requests/3/head
Christiaan Goossens 7 years ago
parent 4bde697558
commit 8552933a52

@ -44,15 +44,14 @@ ul.nv {
.circle { .circle {
border-radius: 50%; color: #0094ff;
color: #000000;
text-align: center; text-align: center;
background: #ffffff; background: #ffffff;
height: 20px; height: 20px;
width: 20px; width: 20px;
display: table-cell; display: inline-block;
text-align: center;
border-radius: 50%; border-radius: 50%;
margin-left: 10px;
} }
/** Index **/ /** Index **/

@ -1,28 +0,0 @@
<?php
/**
* Informatica Eindproject D4p
* 6in3, Stedelijk Gymnasium Nijmegen
* Docent: Hans de Wolf
*
* ==================
*
* Daniel Boutros,
* Christiaan Goossens,
* Jelmer Hinssen
*/
namespace Inforbank\Application;
use \Slim\App;
class Daniel
{
public function __construct(App $app)
{
$app->get('/daniel', function ($request, $response, $args) {
// Render index view
return $this->renderer->render($response, 'daniel.phtml', $args);
});
}
}

@ -6,8 +6,8 @@ use Exception;
use Inforbank\Application; use Inforbank\Application;
use Inforbank\Application\Helper\Rekeningen; use Inforbank\Application\Helper\Rekeningen;
class Overboekingen { class Overboekingen
{
public static $EIGENAAR = 1; public static $EIGENAAR = 1;
public static $IBAN = 2; public static $IBAN = 2;
public static $BANK = 3; public static $BANK = 3;
@ -19,37 +19,38 @@ class Overboekingen {
public static $OMSCHRIJVING = 9; public static $OMSCHRIJVING = 9;
public static $SPAARREKENING = 10; public static $SPAARREKENING = 10;
public static function getErrorMessage($code) { public static function getErrorMessage($code)
{
switch ($code) { switch ($code) {
case Overboekingen::$EIGENAAR: case Overboekingen::$EIGENAAR:
$message = "U bent niet de eigenaar van de 'van' rekening"; $message = "U bent niet de eigenaar van de betalende rekening.";
break; break;
case Overboekingen::$IBAN: case Overboekingen::$IBAN:
$message = "De IBAN van 'naar' is ongeldig"; $message = "Het ontvangende rekeningnummer is ongeldig.";
break; break;
case Overboekingen::$BANK: case Overboekingen::$BANK:
$message = "U kunt alleen binnen de InforBank geld overmaken"; $message = "U kunt alleen binnen de InforBank geld overmaken.";
break; break;
case Overboekingen::$BESTAAN: case Overboekingen::$BESTAAN:
$message = "De 'naar' rekening bestaat niet"; $message = "De 'naar' rekening bestaat niet.";
break; break;
case Overboekingen::$ZELFDE: case Overboekingen::$ZELFDE:
$message = "De 'van' en 'naar' rekening mogen niet hetzelfde zijn"; $message = "De 'van' en 'naar' rekening mogen niet hetzelfde zijn.";
break; break;
case Overboekingen::$GETAL: 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; break;
case Overboekingen::$POSITIEF: case Overboekingen::$POSITIEF:
$message = "Het bedrag moet positief zijn"; $message = "Het bedrag moet positief zijn.";
break; break;
case Overboekingen::$SALDO: case Overboekingen::$SALDO:
$message = "Uw saldo is te laag"; $message = "Uw saldo is te laag voor deze betaling.";
break; break;
case Overboekingen::$OMSCHRIJVING: case Overboekingen::$OMSCHRIJVING:
$message = "De omschrijving mag niet langer dan 40 tekens zijn"; $message = "De omschrijving mag niet langer dan 40 tekens zijn.";
break; break;
case Overboekingen::$SPAARREKENING: 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; break;
default: default:
$message = ""; $message = "";
@ -58,7 +59,8 @@ class Overboekingen {
return $message; return $message;
} }
private static function isValidFloat($bedrag) { private static function isValidFloat($bedrag)
{
$hasdecimal = false; $hasdecimal = false;
$decimals = 0; $decimals = 0;
$voorcijfers = 0; $voorcijfers = 0;
@ -69,7 +71,7 @@ class Overboekingen {
if ($char === "." || $char === ",") { if ($char === "." || $char === ",") {
//Twee komma's //Twee komma's
return false; return false;
} else if ($ascii >= ord("0") && $ascii <= ord("9")) { } elseif ($ascii >= ord("0") && $ascii <= ord("9")) {
$decimals++; $decimals++;
if ($decimals > 2) { if ($decimals > 2) {
//Meer dan twee cijfers achter de komma //Meer dan twee cijfers achter de komma
@ -79,9 +81,9 @@ class Overboekingen {
//Ongeldig teken //Ongeldig teken
return false; return false;
} }
} else if ($char === "." || $char === ",") { } elseif ($char === "." || $char === ",") {
$hasdecimal = true; $hasdecimal = true;
} else if ($ascii >= ord("0") || $ascii <= ord("9")) { } elseif ($ascii >= ord("0") || $ascii <= ord("9")) {
$voorcijfers++; $voorcijfers++;
if ($voorcijfers > 9) { if ($voorcijfers > 9) {
//Te veel cijfers voor de komma //Te veel cijfers voor de komma
@ -95,10 +97,11 @@ class Overboekingen {
return true; return true;
} }
private static function error($code){ private static function error($code)
{
throw new Exception(Overboekingen::getErrorMessage($code), $code); throw new Exception(Overboekingen::getErrorMessage($code), $code);
} }
/** /**
* *
* @param IBAN $van De rekening waar het bedrag vanaf wordt gehaald * @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 $omschrijving De omschrijving van de overoeking
* $param string $type Het type overboeking * $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); $vanRekening = Rekeningen::isEigenRekeningIBAN($van);
if (!$vanRekening) { if (!$vanRekening) {
//error: rekening is niet van klant //error: rekening is niet van klant
@ -116,7 +120,7 @@ class Overboekingen {
$ibanHelper = new IBAN(); $ibanHelper = new IBAN();
if (!$ibanHelper->isValidIBAN($naar)) { if (!$ibanHelper->isValidIBAN($naar)) {
//error: ongeldige iban //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")) { } elseif (!($ibanHelper->getLand($naar) == "NL" && $ibanHelper->getBank($naar) === "INFO")) {
//error: andere bank //error: andere bank
Overboekingen::error(Overboekingen::$BANK); Overboekingen::error(Overboekingen::$BANK);
@ -135,20 +139,23 @@ class Overboekingen {
//error: afzender is hetzelfde als ontvanger //error: afzender is hetzelfde als ontvanger
Overboekingen::error(Overboekingen::$ZELFDE); Overboekingen::error(Overboekingen::$ZELFDE);
} }
if(!Rekeningen::isEigenRekeningnr($naarRekeningnr)
if (!Rekeningen::isEigenRekeningnr($naarRekeningnr)
&& ((int)$naarRekening['typeid'] === Rekeningen::$SPAARREKENING && ((int)$naarRekening['typeid'] === Rekeningen::$SPAARREKENING
|| (int)$vanRekening['typeid'] === Rekeningen::$SPAARREKENING)){ || (int)$vanRekening['typeid'] === Rekeningen::$SPAARREKENING)) {
Overboekingen::error(Overboekingen::$SPAARREKENING); Overboekingen::error(Overboekingen::$SPAARREKENING);
} }
if (!Overboekingen::isValidFloat($bedrag)) { if (!Overboekingen::isValidFloat($bedrag)) {
Overboekingen::error(Overboekingen::$GETAL); Overboekingen::error(Overboekingen::$GETAL);
} }
if ($bedrag <= 0) { $bedragvalue = doubleval(str_replace(",", ".", $bedrag));
if ($bedragvalue <= 0) {
Overboekingen::error(Overboekingen::$POSITIEF); Overboekingen::error(Overboekingen::$POSITIEF);
} }
$bedragvalue = doubleval(str_replace(",", ".", $bedrag));
if ($bedragvalue > $vanRekening['saldo']) { if ($bedragvalue > $vanRekening['saldo']) {
Overboekingen::error(Overboekingen::$SALDO); Overboekingen::error(Overboekingen::$SALDO);
} }
@ -160,7 +167,7 @@ class Overboekingen {
$db->transacties->insert([ $db->transacties->insert([
"van" => $vanRekening['nr'], "van" => $vanRekening['nr'],
"naar" => $naarRekeningnr, "naar" => $naarRekeningnr,
"bedrag" => $bedrag, "bedrag" => $bedragvalue,
"type" => $type, "type" => $type,
"omschrijving" => $omschrijving, "omschrijving" => $omschrijving,
"datum" => date("Y-m-d") "datum" => date("Y-m-d")
@ -168,20 +175,19 @@ class Overboekingen {
//Wijzig saldo //Wijzig saldo
$db->rekeningen->where("rekeningnr", $vanRekening['nr'])->update([ $db->rekeningen->where("rekeningnr", $vanRekening['nr'])->update([
"saldo" => $vanRekening['saldo'] - $bedragvalue "saldo" => ((double) $vanRekening['saldo'] - $bedragvalue)
]); ]);
$naarRekening->update([ $naarRekening->update([
"saldo" => $naarRekening['saldo'] + $bedragvalue "saldo" => ((double) $naarRekening['saldo'] + $bedragvalue)
]); ]);
//Stuur bericht bij laag saldo //Stuur bericht bij laag saldo
if ($vanRekening['saldo'] - $bedragvalue < 20) { 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']) . ".<br/>Uw huidige saldo is " . money_format('%(#1n', $vanRekening['saldo'] - $bedragvalue) . ".");
} }
//In de database worden de getallen met 10 cijfers voor de komma opgeslagen //In de database worden de getallen met 10 cijfers voor de komma opgeslagen
//Als het saldo te hoog wordt heb je een probleem //Als het saldo te hoog wordt heb je een probleem
if ($naarRekening['saldo'] + $bedragvalue > 9000000000) { 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!");
} }
} }
} }

@ -20,7 +20,7 @@ class Rekeningen
{ {
public static $BETAALREKENING = 1; public static $BETAALREKENING = 1;
public static $SPAARREKENING = 2; public static $SPAARREKENING = 2;
public static function getCurrentUserRekeningen() public static function getCurrentUserRekeningen()
{ {
$container = Application::getContainer(); $container = Application::getContainer();
@ -47,8 +47,9 @@ class Rekeningen
return $returnArray; return $returnArray;
} }
public static function isEigenRekeningIBAN($iban){ public static function isEigenRekeningIBAN($iban)
{
$rekeningen = Rekeningen::getCurrentUserRekeningen(); $rekeningen = Rekeningen::getCurrentUserRekeningen();
$vanRekening = false; $vanRekening = false;
//Controleer of de rekening wel van de ingelogde klant is //Controleer of de rekening wel van de ingelogde klant is
@ -60,13 +61,15 @@ class Rekeningen
} }
return $vanRekening; return $vanRekening;
} }
public static function isEigenRekeningnr($nr){ public static function isEigenRekeningnr($nr)
{
$rekeningen = Rekeningen::getCurrentUserRekeningen(); $rekeningen = Rekeningen::getCurrentUserRekeningen();
$vanRekening = false; $vanRekening = false;
//Controleer of de rekening wel van de ingelogde klant is //Controleer of de rekening wel van de ingelogde klant is
foreach ($rekeningen as $rek) { foreach ($rekeningen as $rek) {
if ($rek['nr'] === $nr) { if ((int) $rek['nr'] === (int) $nr) {
$vanRekening = $rek; $vanRekening = $rek;
break; break;
} }

@ -20,9 +20,10 @@ use Inforbank\Application\Helper\Rekeningen;
use Inforbank\Application\Helper\IBAN; use Inforbank\Application\Helper\IBAN;
use Inforbank\Application; use Inforbank\Application;
class Transacties { class Transacties
{
public function __construct(App $app) { public function __construct(App $app)
{
$app->get('/rekeningen/{rekeningnummer}', function ($request, $response, $args) { $app->get('/rekeningen/{rekeningnummer}', function ($request, $response, $args) {
$rekeningen = Rekeningen::getCurrentUserRekeningen(); $rekeningen = Rekeningen::getCurrentUserRekeningen();
@ -45,7 +46,7 @@ class Transacties {
} }
$container = Application::getContainer(); $container = Application::getContainer();
$db = $container->db; $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"); ->order("datum DESC, id DESC");
$returnArray = array(); $returnArray = array();
@ -68,5 +69,4 @@ class Transacties {
]); ]);
})->add(new Auth\Middleware()); })->add(new Auth\Middleware());
} }
} }

@ -25,6 +25,16 @@ $settings = require __DIR__ . '/settings.php';
setlocale(LC_MONETARY, 'nl_NL.UTF-8'); setlocale(LC_MONETARY, 'nl_NL.UTF-8');
date_default_timezone_set('Europe/Amsterdam'); 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 // Create the Slim application object with the settings
/** /**
* ============== * ==============
@ -129,7 +139,6 @@ new Inforbank\Application\Login($app);
* Pagina's * Pagina's
*/ */
new Inforbank\Application\Daniel($app);
new Inforbank\Application\Transacties($app); new Inforbank\Application\Transacties($app);
new Inforbank\Application\Overboeking($app); new Inforbank\Application\Overboeking($app);
new Inforbank\Application\Rekeningen($app); new Inforbank\Application\Rekeningen($app);

@ -1,13 +1,3 @@
<?php
//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;
}
}
?>
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
@ -37,8 +27,9 @@ if(!function_exists("money_format")){
<div class="container"> <div class="container">
<ul class="nv"> <ul class="nv">
<li><a href="rekeningen">Rekeningen</a></li> <li><a href="rekeningen">Rekeningen</a></li>
<li><a href="berichten">Berichten<?php if($header['klant']['ongelezen'] > 0){?> <li><a href="berichten">Berichten<?php if ($header['klant']['ongelezen'] > 0) {
<span class="circle"><?php echo$header['klant']['ongelezen'];?></span><?php }?></a></li> ?><span class="circle"><?php echo$header['klant']['ongelezen']; ?></span><?php
}?></a></li>
</ul> </ul>
</div> </div>
</div> </div>

@ -6,10 +6,13 @@
?> ?>
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<?php if(!$bericht['gelezen']){?> <?php if (!$bericht['gelezen']) {
<span class="label label-info">Nieuw bericht</span> ?>
<?php } ?> <span class="label label-info">Nieuw bericht</span><br/><br/>
<h3 class="panel-title"><?php echo $bericht['datum'];?></h3> <?php
} ?>
<h3 class="panel-title"><?php echo $bericht['datum']; ?></h3>
<small>Afzender: </small><?php echo $bericht['afzender']; ?></div> <small>Afzender: </small><?php echo $bericht['afzender']; ?></div>
<div class="panel-body"> <div class="panel-body">
<?php echo $bericht['bericht']; ?> <?php echo $bericht['bericht']; ?>
@ -17,6 +20,13 @@
</div> </div>
<?php <?php
} ?> }
if (count($berichten) === 0) {
?>U heeft geen berichten.<?php
}
?>
<?php include '__footer.phtml'; ?> <?php include '__footer.phtml'; ?>

@ -1,59 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>InforBank - Inloggen</title>
<link href='//fonts.googleapis.com/css?family=Lato:300' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<!--link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous" -->
</head>
<style>
.form-signin {
max-width: 330px;
padding: 15px;
margin: 0 auto;
}
.btn-primary {
color: #ff6000;
background-color: #2e652c;
border-color: #2e6da4;
margin-top: 5px;
}
.form-control{
margin: 5px 0;
}
body{
color: #ff6000;
}
.footer{
text-align: center;
}
table {
align:center
}
</style>
<body>
<div class="jumbotron">
<div class="container">
<h1>InforBank</h1>
</div>
</div>
<div class="container">
<table style="width:50%" align="center" style="margin: 0px auto;">
<tr>
<th>Transactienummer</th>
<th>Naam Debiteur/Crediteur</th>
<th>Aan-/Afschrijving</th>
<th>Bedrag</th>
<th>Datum</th>
</tr>
</table>
</div>
<footer class="footer">
&copy 2017 Alle rechten voorbehouden
</footer>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
</body>
</html>

@ -14,6 +14,11 @@
<?php <?php
} }
if (count($rekeningen) === 0) {
?>U heeft geen rekeningen.<?php
}
?> ?>
<?php include '__footer.phtml'; ?> <?php include '__footer.phtml'; ?>

@ -6,16 +6,21 @@ if (!$rekening) {
<div class="alert alert-danger" role="alert"><b>Fout!</b> Dit is niet een aan jouw account gekoppelde rekening.</div> <div class="alert alert-danger" role="alert"><b>Fout!</b> Dit is niet een aan jouw account gekoppelde rekening.</div>
<?php <?php
} else { } else {
if ($geslaagd) { if ($geslaagd) {
?> ?>
<div class="alert alert-info" role="alert">De transactie is geslaagd</div> <div class="alert alert-info" role="alert">De transactie is geslaagd</div>
<?php <?php
}
?> } ?>
<h2 class="page-header">Transactieoverzicht <h2 class="page-header">Transactieoverzicht
<a class="btn btn-default pull-right" href="overboeking" role="button">Nieuwe overboeking</a> <div class="btn-group pull-right" role="group">
<a class="btn btn-default pull-right" href="statistieken/<?= $rekening['nr'] ?>" role="button">Statistieken</a></h2>
<a class="btn btn-default" href="statistieken/<?= $rekening['nr'] ?>" role="button">Statistieken</a>
<a class="btn btn-default" href="overboeking" role="button">Nieuwe overboeking</a>
</div>
</h2>
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-body"> <div class="panel-body">
<div class="row"> <div class="row">
@ -63,12 +68,12 @@ if (!$rekening) {
echo "<td>" . money_format('%(#1n', $transactie['bedrag']) . "</td>\n"; echo "<td>" . money_format('%(#1n', $transactie['bedrag']) . "</td>\n";
echo "</tr>"; echo "</tr>";
} } ?>
?>
</table> </table>
<br/> <br/>
<small>ba = betaalautomaat, bg = bankgiro/SEPA opdracht, id = Inforbank Direct Online Betalen (iDeal), sp = spoedbetaling</small> <small>ba = betaalautomaat, bg = bankgiro/SEPA opdracht, id = Inforbank Direct Online Betalen (iDeal), sp = spoedbetaling</small>
<?php <?php
} }
?> ?>
<?php include '__footer.phtml'; ?> <?php include '__footer.phtml'; ?>