, * Andreas Oesterreicher and * Rudolf Hangl . */ /** * Klasse ortraumtyp (FAS-Online) * @create 04-12-2006 */ require_once(dirname(__FILE__).'/basis_db.class.php'); class raumtyp extends basis_db { public $new; // boolean public $result = array(); // raumtyp Objekt //Tabellenspalten public $beschreibung; // string public $raumtyp_kurzbz; // string public $aktiv; //boolean /** * Konstruktor * @param $raumtyp_kurzbz des zu ladenden Raumtyps */ public function __construct($raumtyp_kurzbz=null) { parent::__construct(); if($raumtyp_kurzbz != null) $this->load($raumtyp_kurzbz); } /** * Laedt alle verfuegbaren Raumtypen * @return true wenn ok, false im Fehlerfall */ public function getAll() { $qry = 'SELECT * FROM public.tbl_raumtyp ORDER BY raumtyp_kurzbz;'; if(!$this->db_query($qry)) { $this->errormsg = 'Fehler beim Laden der Datensaetze'; return false; } while($row = $this->db_fetch_object()) { $raumtyp_obj = new raumtyp(); $raumtyp_obj->beschreibung = $row->beschreibung; $raumtyp_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz; $raumtyp_obj->aktiv = $this->db_parse_bool($row->aktiv); $this->result[] = $raumtyp_obj; } return true; } /** * Laedt einen Raumtyp * @param $raumtyp ID des zu ladenden Raumtyps * @return true wenn ok, false im Fehlerfall */ public function load($raumtyp_kurzbz) { if($raumtyp_kurzbz == '') { $this->errormsg = 'Kein gültiger Schlüssel vorhanden'; return false; } $qry = "SELECT * FROM public.tbl_raumtyp WHERE raumtyp_kurzbz=".$this->db_add_param($raumtyp_kurzbz).";"; if(!$this->db_query($qry)) { $this->errormsg = 'Fehler beim Laden des Datensatzes'; return false; } if($row = $this->db_fetch_object()) { $this->beschreibung = $row->beschreibung; $this->raumtyp_kurzbz = $row->kurzbz; $this->aktiv = $this->db_parse_bool($row->aktiv); } else { $this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden'; return false; } return true; } /** * Prueft die Gueltigkeit der Variablen * @return true wenn ok, false im Fehlerfall */ public function validate() { //Laenge Pruefen if(mb_strlen($this->beschreibung)>256) { $this->errormsg = 'Beschreibung darf nicht laenger als 256 Zeichen sein'; return false; } if(mb_strlen($this->raumtyp_kurzbz)>16) { $this->errormsg = 'Raumtyp_kurzbz darf nicht laenger als 16 Zeichen sein'; return false; } if($this->raumtyp_kurzbz == '') { $this->errormsg = 'Keine gültige Kurzbz'; return false; } $this->errormsg = ''; return true; } /** * Speichert den aktuellen Datensatz * @return true wenn ok, false im Fehlerfall */ public function save() { //Gueltigkeit der Variablen pruefen if(!$this->validate()) return false; if($this->new) { //Pruefen ob id gültig ist if($this->raumtyp_kurzbz == '') { $this->errormsg = 'Keine gültige ID'; return false; } //Neuen Datensatz anlegen $qry = 'INSERT INTO public.tbl_raumtyp (beschreibung, raumtyp_kurzbz) VALUES ('. $this->db_add_param($this->beschreibung).', '. $this->db_add_param($this->raumtyp_kurzbz).');'; } else { //bestehenden Datensatz akualisieren $qry = 'UPDATE public.tbl_raumtyp SET '. 'beschreibung='.$this->db_add_param($this->beschreibung).' '. 'WHERE raumtyp_kurzbz = '.$this->db_add_param($this->ort_kurzbz).';'; } if($this->db_query($qry)) { return true; } else { $this->errormsg = 'Fehler beim Speichern des Datensatzes'; return false; } } } ?>