Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- // KONTROLER strony kalkulatora
- require_once dirname(__FILE__).'/../config.php';
- // W kontrolerze niczego nie wysyła się do klienta.
- // Wysłaniem odpowiedzi zajmie się odpowiedni widok.
- // Parametry do widoku przekazujemy przez zmienne.
- // 1. pobranie parametrów
- function getParams(&$kwota, &$ytp, &$oprocentowanie){
- /*$kwota = $_REQUEST ['kwota'];
- $ytp = $_REQUEST ['ytp'];
- $oprocentowanie = $_REQUEST ['oprocentowanie'];*/
- $kwota = isset($_REQUEST['kwota']) ? $_REQUEST['kwota'] : null;
- $ytp = isset($_REQUEST['ytp']) ? $_REQUEST['ytp'] : null;
- $oprocentowanie = isset($_REQUEST['oprocentowanie']) ? $_REQUEST['oprocentowanie'] : null;
- }
- // 2. walidacja parametrów z przygotowaniem zmiennych dla widoku
- // sprawdzenie, czy parametry zostały przekazane
- function Validate(&$kwota,&$ytp, &$oprocentowanie, &$messages){
- if ( ! (isset($kwota) && isset($ytp) && isset($oprocentowanie))) {
- //sytuacja wystąpi kiedy np. kontroler zostanie wywołany bezpośrednio - nie z formularza
- return false;
- }
- // sprawdzenie, czy potrzebne wartości zostały przekazane
- if ( $kwota == "") {
- $messages [] = 'Nie podano kwoty';
- }
- if ( $ytp == "") {
- $messages [] = 'Nie podano długości kredytu';
- }
- if ( $oprocentowanie == "") {
- $messages [] = 'Nie podano oprocentowania';
- }
- //nie ma sensu walidować dalej gdy brak parametrów
- if (count ( $messages ) != 0) return false;
- // sprawdzenie, czy $x i $y są liczbami całkowitymi
- if (! is_numeric( $kwota )) {
- $messages [] = 'Podana kwota nie jest liczbą całkowitą';
- }
- if (! is_numeric( $ytp )) {
- $messages [] = 'Podana długość kredytu nie jest liczbą całkowitą';
- }
- if (! is_numeric( $oprocentowanie )) {
- $messages [] = 'Podana wartość oprocentowania nie jest wartością dozwoloną';
- }
- if (count ( $messages ) != 0) return false;
- else return true;
- }
- // 3. wykonaj zadanie jeśli wszystko w porządku
- function process(&$kwota, &$ytp, &$r, &$n, &$m, &$q, &$result_rata, &$oprocentowanie, &$messages){
- if (count ( $messages ) == 0) { // gdy brak błędów
- //konwersja parametrów na int
- $S = floatval($kwota);
- $ytp = intval($ytp);
- $r = floatval($oprocentowanie);
- $n = $ytp*12;
- $m = 12;
- $q = 1+(($r/100)/$m);
- //wykonanie operacji
- $result_rata = ((($S)*(pow($q,$n))*(($q-1)))/((pow($q,$n))-1));
- }
- }
- //definicja zmiennych kontrolera
- $kwota = null;
- $ytp = null;
- $result_rata = null;
- $oprocentowanie = null;
- $messages = array();
- //pobierz parametry i wykonaj zadanie jeśli wszystko w porządku
- getParams($kwota, $ytp, $oprocentowanie);
- if ( Validate($kwota, $ytp, $oprocentowanie, $messages) ) { // gdy brak błędów
- process($kwota, $ytp, $r, $n, $m, $q, $result_rata, $oprocentowanie, $messages);
- }
- // 4. Wywołanie widoku z przekazaniem zmiennych
- // - zainicjowane zmienne ($messages,$x,$y,$operation,$result)
- // będą dostępne w dołączonym skrypcie
- include 'calc_view.php';
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement