From aryx, 2 Years ago, written in Plain Text.
Embed
  1. <?php
  2. // Tóth Patrik ZLIMO5 (aryx) | [email protected] | Web II :: ZH 1
  3.  
  4. interface Kiirhato
  5. {
  6.     public function kiir();
  7. }
  8.  
  9. abstract class Felhasznalo implements Kiirhato {
  10.    
  11.     protected static $felhasznalok_szama = 0;
  12.    
  13.     private $nev;
  14.     private $cim;
  15.     private $kod;
  16.     private $jelszo;
  17.     private $szuletesi_ev;
  18.    
  19.     function __construct($nev, $cim, $kod, $jelszo, $szuletesi_ev) {
  20.         $this->nev = $nev;
  21.         $this->cim = $cim;
  22.         $this->kod = $kod;
  23.         $this->jelszo = $jelszo;
  24.         $this->szuletesi_ev = $szuletesi_ev;
  25.         self::$felhasznalok_szama++;
  26.     }
  27.    
  28.     function kiir() {
  29.         print_r(self::adatok());
  30.     }
  31.    
  32.     function felhasznalok() {
  33.         return self::$felhasznalok_szama;
  34.     }
  35.    
  36.     function adatok() {
  37.         return array(
  38.             "nev" => $this->nev,
  39.             "cim" => $this->cim,
  40.             "kod" => $this->kod,
  41.             "jelszo" => $this->jelszo,
  42.             "szuletesi_ev" => $this->szuletesi_ev
  43.         );
  44.     }
  45.    
  46.     function kor() {
  47.         $ts = strtotime($this->szuletes_datum);
  48.         if($ts === -1) {
  49.           return "Ismeretlen";
  50.         }
  51.         else {
  52.           return date("Y", time() - $ts) - 1970;
  53.         }
  54.     }
  55.    
  56.     function __clone() {
  57.         self::$felhasznalok_szama++;
  58.     }
  59.    
  60. }
  61.  
  62. class Hallgato extends Felhasznalo {
  63.    
  64.     private static $hallgatok_szama = 0;
  65.     private $szak;
  66.     private $jegyek = array();
  67.    
  68.     function __construct($nev, $cim, $kod, $jelszo, $szuletesi_ev, $szak) {
  69.         parent::__construct($nev, $cim, $kod, $jelszo, $szuletesi_ev);
  70.         $this->szak = $szak;
  71.         self::$hallgatok_szama++;
  72.     }
  73.    
  74.     function hallgatok() {
  75.         return self::$hallgatok_szama;
  76.     }
  77.    
  78.     function kiir() {
  79.         print_r(self::adatok());
  80.     }
  81.    
  82.     function adatok() {
  83.         return array_merge(parent::adatok(), array(
  84.             "szak" => $this->szak,
  85.             "jegyek" => $this->jegyek));
  86.     }
  87.    
  88.     function jegybeir($jegy) {
  89.         if(count($this->jegyek) == 5) {
  90.             return false;
  91.         }else {
  92.             $this->jegyek[] = $jegy;
  93.             return true;
  94.         }
  95.     }
  96.    
  97.     function __clone() {
  98.         self::$hallgatok_szama++;
  99.     }
  100.    
  101. }
  102.  
  103. class Dolgozo extends Felhasznalo {
  104.    
  105.     private static $dolgozok_szama = 0;
  106.     private $ber;
  107.    
  108.     function __construct($nev, $cim, $kod, $jelszo, $szuletesi_ev, $ber) {
  109.         parent::__construct($nev, $cim, $kod, $jelszo, $szuletesi_ev);
  110.         $this->ber = $ber;
  111.         self::$dolgozok_szama++;
  112.     }
  113.    
  114.     function dolgozok() {
  115.         return self::$dolgozok_szama;
  116.     }
  117.    
  118.     function kiir() {
  119.         print_r(self::adatok());
  120.     }
  121.    
  122.     function adatok() {
  123.         return array_merge(parent::adatok(), array(
  124.             "ber" => $this->ber));
  125.     }
  126.    
  127.     function beremeles($emeles) {
  128.         if (($this->ber + $emeles) < 0) {
  129.             return false;
  130.         } else {
  131.             $this->ber += $emeles;
  132.             return true;
  133.         }
  134.     }
  135.    
  136.     function __clone() {
  137.         self::$dolgozok_szama++;
  138.     }
  139.    
  140. }
  141.  
  142.  
  143. ?>