Several small fixes + removed unnecessary files
This commit is contained in:
		| @@ -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); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user