conn = $conn; $qry = "SET CLIENT_ENCODING TO 'UNICODE';"; if(!pg_query($conn,$qry)) { $this->errormsg = "Encoding konnte nicht gesetzt werden"; return false; } if($gruppe_id != null) $this->load($gruppe_id); } /** * Laedt eine Gruppe * @param gruppe_id ID der Gruppe * @return true wenn ok, false im Fehlerfall */ function load($gruppe_id) { //gruppe_id auf gueltigkeit pruefen if(!is_numeric($gruppe_id) || $gruppe_id =='') { $this->errormsg = 'gruppe_id muss eine gueltige Zahl sein'; return false; } $qry = "SELECT * FROM gruppe WHERE gruppe_pk='$gruppe_id';"; if(!$res = pg_query($this->conn, $qry)) { $this->errormsg = 'Datensatz konnte nicht geladen werden'; return false; } if($row = pg_fetch_object($res)) { $this->ausbildungssemester_id = $row->ausbildungssemester_fk; $this->gruppe_id = $row->gruppe_pk; $this->name = $row->name; $this->nummerintern = $row->nummerintern; $this->obergruppe_id = $row->obergruppe_fk; $this->ordnung = $row->ordnung; $this->studiengang_id = $row->studiengang_fk; $this->typ = $row->typ; $this->updateamum = $row->creationdate; $this->updatevon = $row->creationuser; $this->fullname = $this->getFullName($row->gruppe_pk); } else { $this->errormsg = 'Datensatz konnte nicht geladen werden'; return false; } return true; } /** * Liefert den vollen namen einer Gruppe * @param $gruppe_id * @return voller name, false im Fehlerfall */ function getFullName($gruppe_id) { //gruppe_id auf gueltigkeit pruefen if(!is_numeric($gruppe_id) || $gruppe_id == '') { $this->errormsg = 'gruppe_id muss eine gueltige Zahl sein'; return false; } //gesamten gruppennamen ermitteln $qry = "SELECT fas_function_get_fullname_from_gruppe($gruppe_id) as fullname;"; if(!$row = pg_fetch_object(pg_query($this->conn, $qry))) { $this->errormsg = 'Gruppenname konnte nicht ermittelt werden'; return false; } return $row->fullname; } /** * Laedt alle Gruppen eines Studienganges/studiensemesters/ausbildungssemesters * @param studiengang_id ID des studienganges * studiensemester_id ID des Studiensemesters (optional) * ausbildungssemester_id ID des Ausbildungssemesters (optional) * @return true wenn ok, false im Fehlerfall */ function load_gruppen($studiengang_id, $studiensemester_id=null, $ausbildungssemester_id=null) { //Pruefen ob gueltige Werte uebergeben wurden if(!is_numeric($studiengang_id) || $studiengang_id == '') { $this->errormsg = 'studiengang_id muss eine gueltige Zahl sein'; return false; } if($studiensemester_id!=null && (!is_numeric($studiensemester_id) || $studiensemester_id == '')) { $this->errormsg = 'studiensemester_id muss eine gueltige Zahl sein'; return false; } if($ausbildungssemester_id!=null && (!is_numeric($ausbildungssemester_id) || $ausbildungssemester_id == '')) { $this->errormsg = 'ausbildungssemester_id muss eine gueltige Zahl sein'; return false; } //Befehl zusammenbauen $qry = "SELECT * FROM gruppe WHERE studiengang_fk='$studiengang_id' "; if($ausbildungssemester_id!=null) $qry .= "AND ausbildungssemester_fk='$ausbildungssemester_id' "; if($studiensemester_id != null) $qry .= "AND studiensemester_fk='$studiensemester_id' "; if(!$res = pg_query($this->conn, $qry)) { $this->errormsg = 'Datensatz konnte nicht geladen werden'; return false; } //Daten laden while($row = pg_fetch_object($res)) { $grp_obj = new gruppe($this->conn); $grp_obj->ausbildungssemester_id = $row->ausbildungssemester_fk; $grp_obj->gruppe_id = $row->gruppe_pk; $grp_obj->name = $row->name; $grp_obj->nummerintern = $row->nummerintern; $grp_obj->obergruppe_id = $row->obergruppe_fk; $grp_obj->ordnung = $row->ordnung; $grp_obj->studiengang_id = $row->studiengang_fk; $grp_obj->typ = $row->typ; $grp_obj->updateamum = $row->creationdate; $grp_obj->updatevon = $row->creationuser; $grp_obj->fullname = $this->getFullName($row->gruppe_pk); $this->result[] = $grp_obj; } return true; } /** * Speichert den aktuellen Datensatz in die DB * @return true wenn ok, false im Fehlerfall */ function save() { $this->errormsg = 'Noch nicht implementiert'; return false; } /** * Loescht einen Datensatz * @param $gruppe_id ID des zu loeschenden Datensatzes * @return true wenn ok, false im Fehlerfall */ function delete($gruppe_id) { $this->errormsg = 'Noch nicht implementiert'; return false; } } ?>