Advertisement
Guest User

Untitled

a guest
Mar 26th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.91 KB | None | 0 0
  1. <?php
  2. // KONTROLER strony kalkulatora
  3. require_once dirname(__FILE__).'/../config.php';
  4.  
  5. // W kontrolerze niczego nie wysyła się do klienta.
  6. // Wysłaniem odpowiedzi zajmie się odpowiedni widok.
  7. // Parametry do widoku przekazujemy przez zmienne.
  8.  
  9. // 1. pobranie parametrów
  10. function getParams(&$kwota, &$ytp, &$oprocentowanie){
  11.  
  12. /*$kwota = $_REQUEST ['kwota'];
  13. $ytp = $_REQUEST ['ytp'];
  14. $oprocentowanie = $_REQUEST ['oprocentowanie'];*/
  15.  
  16. $kwota = isset($_REQUEST['kwota']) ? $_REQUEST['kwota'] : null;
  17. $ytp = isset($_REQUEST['ytp']) ? $_REQUEST['ytp'] : null;
  18. $oprocentowanie = isset($_REQUEST['oprocentowanie']) ? $_REQUEST['oprocentowanie'] : null;
  19. }
  20. // 2. walidacja parametrów z przygotowaniem zmiennych dla widoku
  21.  
  22. // sprawdzenie, czy parametry zostały przekazane
  23. function Validate(&$kwota,&$ytp, &$oprocentowanie, &$messages){
  24.  
  25. if ( ! (isset($kwota) && isset($ytp) && isset($oprocentowanie))) {
  26. //sytuacja wystąpi kiedy np. kontroler zostanie wywołany bezpośrednio - nie z formularza
  27. return false;
  28. }
  29.  
  30. // sprawdzenie, czy potrzebne wartości zostały przekazane
  31.  
  32. if ( $kwota == "") {
  33. $messages [] = 'Nie podano kwoty';
  34. }
  35. if ( $ytp == "") {
  36. $messages [] = 'Nie podano długości kredytu';
  37. }
  38. if ( $oprocentowanie == "") {
  39. $messages [] = 'Nie podano oprocentowania';
  40. }
  41.  
  42. //nie ma sensu walidować dalej gdy brak parametrów
  43. if (count ( $messages ) != 0) return false;
  44.  
  45. // sprawdzenie, czy $x i $y są liczbami całkowitymi
  46. if (! is_numeric( $kwota )) {
  47. $messages [] = 'Podana kwota nie jest liczbą całkowitą';
  48. }
  49.  
  50. if (! is_numeric( $ytp )) {
  51. $messages [] = 'Podana długość kredytu nie jest liczbą całkowitą';
  52. }
  53. if (! is_numeric( $oprocentowanie )) {
  54. $messages [] = 'Podana wartość oprocentowania nie jest wartością dozwoloną';
  55. }
  56.  
  57.  
  58. if (count ( $messages ) != 0) return false;
  59. else return true;
  60. }
  61. // 3. wykonaj zadanie jeśli wszystko w porządku
  62. function process(&$kwota, &$ytp, &$r, &$n, &$m, &$q, &$result_rata, &$oprocentowanie, &$messages){
  63. if (count ( $messages ) == 0) { // gdy brak błędów
  64.  
  65. //konwersja parametrów na int
  66. $S = floatval($kwota);
  67. $ytp = intval($ytp);
  68. $r = floatval($oprocentowanie);
  69. $n = $ytp*12;
  70. $m = 12;
  71. $q = 1+(($r/100)/$m);
  72. //wykonanie operacji
  73.  
  74. $result_rata = ((($S)*(pow($q,$n))*(($q-1)))/((pow($q,$n))-1));
  75.  
  76. }
  77. }
  78. //definicja zmiennych kontrolera
  79. $kwota = null;
  80. $ytp = null;
  81. $result_rata = null;
  82. $oprocentowanie = null;
  83. $messages = array();
  84. //pobierz parametry i wykonaj zadanie jeśli wszystko w porządku
  85. getParams($kwota, $ytp, $oprocentowanie);
  86. if ( Validate($kwota, $ytp, $oprocentowanie, $messages) ) { // gdy brak błędów
  87. process($kwota, $ytp, $r, $n, $m, $q, $result_rata, $oprocentowanie, $messages);
  88. }
  89. // 4. Wywołanie widoku z przekazaniem zmiennych
  90. // - zainicjowane zmienne ($messages,$x,$y,$operation,$result)
  91. // będą dostępne w dołączonym skrypcie
  92. include 'calc_view.php';
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement