Several small fixes + removed unnecessary files
This commit is contained in:
parent
4bde697558
commit
8552933a52
@ -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 **/
|
||||
|
@ -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\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']) . ".<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
|
||||
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 $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;
|
||||
}
|
||||
|
@ -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());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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>
|
||||
<html>
|
||||
<head>
|
||||
@ -37,8 +27,9 @@ if(!function_exists("money_format")){
|
||||
<div class="container">
|
||||
<ul class="nv">
|
||||
<li><a href="rekeningen">Rekeningen</a></li>
|
||||
<li><a href="berichten">Berichten<?php if($header['klant']['ongelezen'] > 0){?>
|
||||
<span class="circle"><?php echo$header['klant']['ongelezen'];?></span><?php }?></a></li>
|
||||
<li><a href="berichten">Berichten<?php if ($header['klant']['ongelezen'] > 0) {
|
||||
?><span class="circle"><?php echo$header['klant']['ongelezen']; ?></span><?php
|
||||
}?></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -6,10 +6,13 @@
|
||||
?>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<?php if(!$bericht['gelezen']){?>
|
||||
<span class="label label-info">Nieuw bericht</span>
|
||||
<?php } ?>
|
||||
<h3 class="panel-title"><?php echo $bericht['datum'];?></h3>
|
||||
<?php if (!$bericht['gelezen']) {
|
||||
?>
|
||||
<span class="label label-info">Nieuw bericht</span><br/><br/>
|
||||
<?php
|
||||
|
||||
} ?>
|
||||
<h3 class="panel-title"><?php echo $bericht['datum']; ?></h3>
|
||||
<small>Afzender: </small><?php echo $bericht['afzender']; ?></div>
|
||||
<div class="panel-body">
|
||||
<?php echo $bericht['bericht']; ?>
|
||||
@ -17,6 +20,13 @@
|
||||
</div>
|
||||
<?php
|
||||
|
||||
} ?>
|
||||
}
|
||||
|
||||
if (count($berichten) === 0) {
|
||||
?>U heeft geen berichten.<?php
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<?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">
|
||||
© 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
|
||||
|
||||
}
|
||||
|
||||
if (count($rekeningen) === 0) {
|
||||
?>U heeft geen rekeningen.<?php
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
<?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>
|
||||
<?php
|
||||
|
||||
} else {
|
||||
if ($geslaagd) {
|
||||
?>
|
||||
<div class="alert alert-info" role="alert">De transactie is geslaagd</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
} ?>
|
||||
<h2 class="page-header">Transactieoverzicht
|
||||
<a class="btn btn-default pull-right" href="overboeking" role="button">Nieuwe overboeking</a>
|
||||
<a class="btn btn-default pull-right" href="statistieken/<?= $rekening['nr'] ?>" role="button">Statistieken</a></h2>
|
||||
<div class="btn-group pull-right" role="group">
|
||||
|
||||
<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-body">
|
||||
<div class="row">
|
||||
@ -63,12 +68,12 @@ if (!$rekening) {
|
||||
|
||||
echo "<td>" . money_format('%(#1n', $transactie['bedrag']) . "</td>\n";
|
||||
echo "</tr>";
|
||||
}
|
||||
?>
|
||||
} ?>
|
||||
</table>
|
||||
<br/>
|
||||
<small>ba = betaalautomaat, bg = bankgiro/SEPA opdracht, id = Inforbank Direct Online Betalen (iDeal), sp = spoedbetaling</small>
|
||||
<?php
|
||||
|
||||
}
|
||||
?>
|
||||
<?php include '__footer.phtml'; ?>
|
||||
|
Reference in New Issue
Block a user