load($karrierepfad_id); } /** * Loads a Karrierepfad * @param integer $karrierepfad_id * @return boolean */ public function load($karrierepfad_id) { if (!is_numeric($karrierepfad_id)) { $this->errormsg = 'Karrierepfad ID ist ungueltig'; return false; } $sprache = new sprache(); $qry = "SELECT *, ".$sprache->getSprachQuery('bezeichnung_mehrsprachig')." FROM public.tbl_karrierepfad WHERE karrierepfad_id=".$this->db_add_param($karrierepfad_id, FHC_INTEGER); if (!$this->db_query($qry)) { $this->errormsg = 'Fehler beim Laden des Karrierepfads'; return false; } if (!$row = $this->db_fetch_object()) { $this->errormsg = 'Karrierepfad wurde nicht gefunden'; return false; } $this->setFromRow($this, $row, $sprache); return true; } /** * Loads the Karrierepfade linked to a Studienplan into $this->result. * A Karrierepfad is selectable for a prestudent if it is aktiv and linked to the * Studienplan of the last status. A value stored earlier stays valid without this check. * @param integer $studienplan_id * @param boolean $aktiv true: only active Karrierepfade * @return boolean */ public function getByStudienplan($studienplan_id, $aktiv = true) { if (!is_numeric($studienplan_id)) { $this->errormsg = 'Studienplan ID ist ungueltig'; return false; } $sprache = new sprache(); $qry = "SELECT kp.*, ".$sprache->getSprachQuery('bezeichnung_mehrsprachig')." FROM public.tbl_karrierepfad kp JOIN public.tbl_karrierepfad_studienplan USING(karrierepfad_id) WHERE studienplan_id=".$this->db_add_param($studienplan_id, FHC_INTEGER); if ($aktiv) $qry .= " AND kp.aktiv"; $qry .= " ORDER BY kp.sort NULLS LAST, kp.karrierepfad_kurzbz"; if (!$this->db_query($qry)) { $this->errormsg = 'Fehler beim Laden der Karrierepfade'; return false; } while ($row = $this->db_fetch_object()) { $obj = new karrierepfad(); $this->setFromRow($obj, $row, $sprache); $this->result[] = $obj; } return true; } private function setFromRow($obj, $row, $sprache) { $obj->karrierepfad_id = $row->karrierepfad_id; $obj->karrierepfad_kurzbz = $row->karrierepfad_kurzbz; $obj->karrierepfad_typ_kurzbz = $row->karrierepfad_typ_kurzbz; $obj->studiengang_kz = $row->studiengang_kz; $obj->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row); $obj->sort = $row->sort; $obj->aktiv = $this->db_parse_bool($row->aktiv); $obj->insertamum = $row->insertamum; $obj->insertvon = $row->insertvon; $obj->updateamum = $row->updateamum; $obj->updatevon = $row->updatevon; } }