diff --git a/include/studienplan.class.php b/include/studienplan.class.php index abb7f53a6..b5f67a187 100644 --- a/include/studienplan.class.php +++ b/include/studienplan.class.php @@ -722,331 +722,333 @@ class studienplan extends basis_db } } - /** - * Holt alle Studienplaene eines Studienganges - * @param $studiengang_kz - */ - function getStudienplaene($studiengang_kz) - { - $qry = "SELECT - distinct tbl_studienplan.* - FROM - lehre.tbl_studienplan - JOIN lehre.tbl_studienordnung USING(studienordnung_id) - WHERE - tbl_studienordnung.studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER); - - if($result = $this->db_query($qry)) - { - while($row = $this->db_fetch_object($result)) - { - $obj = new studienplan(); - - $obj->studienplan_id = $row->studienplan_id; - $obj->studienordnung_id = $row->studienordnung_id; - $obj->orgform_kurzbz = $row->orgform_kurzbz; - $obj->version = $row->version; - $obj->bezeichnung = $row->bezeichnung; - $obj->regelstudiendauer = $row->regelstudiendauer; - $obj->sprache = $row->sprache; - $obj->aktiv = $this->db_parse_bool($row->aktiv); - $obj->semesterwochen = $row->semesterwochen; - $obj->testtool_sprachwahl = $this->db_parse_bool($row->testtool_sprachwahl); - $obj->updateamum = $row->updateamum; - $obj->updatevon = $row->updatevon; - $obj->insertamum = $row->insertamum; - $obj->insertvon = $row->insertvon; - $obj->new=false; - - $this->result[] = $obj; - } - return true; - } - } - - /** - * Speichert die Sortierung - * @param type $tudienplan_lehrveranstaltung_id - * @param type $sort - */ - function saveSortierung($studienplan_lehrveranstaltung_id, $sort) - { - if($studienplan_lehrveranstaltung_id==NULL) - $studienplan_lehrveranstaltung_id = $this->studienplan_lehrveranstaltung_id; - - if($sort==NULL) - $sort = $this->sort; - - if(!(is_numeric($sort) || is_null($sort))) + /** + * Holt alle Studienplaene eines Studienganges + * @param $studiengang_kz + */ + function getStudienplaene($studiengang_kz) { - $this->errormsg = "Es muss eine Zahl als Sortierungswert angegeben werden."; - return false; + $qry = "SELECT + distinct tbl_studienplan.* + FROM + lehre.tbl_studienplan + JOIN lehre.tbl_studienordnung USING(studienordnung_id) + WHERE + tbl_studienordnung.studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER); + + if($result = $this->db_query($qry)) + { + while($row = $this->db_fetch_object($result)) + { + $obj = new studienplan(); + + $obj->studienplan_id = $row->studienplan_id; + $obj->studienordnung_id = $row->studienordnung_id; + $obj->orgform_kurzbz = $row->orgform_kurzbz; + $obj->version = $row->version; + $obj->bezeichnung = $row->bezeichnung; + $obj->regelstudiendauer = $row->regelstudiendauer; + $obj->sprache = $row->sprache; + $obj->aktiv = $this->db_parse_bool($row->aktiv); + $obj->semesterwochen = $row->semesterwochen; + $obj->testtool_sprachwahl = $this->db_parse_bool($row->testtool_sprachwahl); + $obj->updateamum = $row->updateamum; + $obj->updatevon = $row->updatevon; + $obj->insertamum = $row->insertamum; + $obj->insertvon = $row->insertvon; + $obj->new=false; + + $this->result[] = $obj; + } + return true; + } } - $qry = 'UPDATE lehre.tbl_studienplan_lehrveranstaltung ' + + /** + * Speichert die Sortierung + * @param type $tudienplan_lehrveranstaltung_id + * @param type $sort + */ + function saveSortierung($studienplan_lehrveranstaltung_id, $sort) + { + if($studienplan_lehrveranstaltung_id==NULL) + $studienplan_lehrveranstaltung_id = $this->studienplan_lehrveranstaltung_id; + + if($sort==NULL) + $sort = $this->sort; + + if(!(is_numeric($sort) || is_null($sort))) + { + $this->errormsg = "Es muss eine Zahl als Sortierungswert angegeben werden."; + return false; + } + $qry = 'UPDATE lehre.tbl_studienplan_lehrveranstaltung ' . 'SET sort='.$this->db_add_param($sort) . ' WHERE studienplan_lehrveranstaltung_id='.$this->db_add_param($studienplan_lehrveranstaltung_id).';'; - $this->orgform_kurzbz = $qry; - if(!$this->db_query($qry)) - { - $this->errormsg = "Fehler beim speichern der Sortierung."; - return false; - } - return true; - } - - /** - * Laedt die Studienplaene zu denen eine Lehrveranstaltung zugeordnet ist - */ - public function getStudienplanLehrveranstaltung($lehrveranstaltung_id, $studiensemester_kurzbz) - { - $qry= " - SELECT - distinct tbl_studienplan.* - FROM - lehre.tbl_studienplan - JOIN lehre.tbl_studienplan_lehrveranstaltung USING(studienplan_id) - WHERE - tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)." - AND EXISTS ( - SELECT 1 FROM lehre.tbl_studienordnung_semester - WHERE studienordnung_id=tbl_studienplan.studienordnung_id - AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)." - AND semester = tbl_studienplan_lehrveranstaltung.semester) - ORDER BY bezeichnung"; - - if($result = $this->db_query($qry)) - { - while($row = $this->db_fetch_object($result)) - { - $obj = new studienplan(); - - $obj->studienplan_id = $row->studienplan_id; - $obj->studienordnung_id = $row->studienordnung_id; - $obj->orgform_kurzbz = $row->orgform_kurzbz; - $obj->version = $row->version; - $obj->bezeichnung = $row->bezeichnung; - $obj->regelstudiendauer = $row->regelstudiendauer; - $obj->sprache = $row->sprache; - $obj->aktiv = $this->db_parse_bool($row->aktiv); - $obj->semesterwochen = $row->semesterwochen; - $obj->testtool_sprachwahl = $this->db_parse_bool($row->testtool_sprachwahl); - $obj->updateamum = $row->updateamum; - $obj->updatevon = $row->updatevon; - $obj->insertamum = $row->insertamum; - $obj->insertvon = $row->insertvon; - $obj->new=false; - - $this->result[] = $obj; - } - return true; - } - } - - /** - * speichert die Semesterzuordnung für die Studieordnung - * @param int $$studienplan_id Die ID des Studienplans - * @param string $studiensemester_kurzbz Kurzbezeichnung des Studiensemesters - * @param int $ausbildungssemester Ausbildungssemester als Zahl - */ - public function saveSemesterZuordnung($zuordnung = array()) - { - - if (is_array($zuordnung)) - { - $qry = ""; - foreach ($zuordnung as $key) - { - if (!is_numeric($key["studienplan_id"])) + $this->orgform_kurzbz = $qry; + if(!$this->db_query($qry)) { - $this->errormsg = 'studienplan_id muss eine gueltige Zahl sein'; - return false; + $this->errormsg = "Fehler beim speichern der Sortierung."; + return false; } - - if (!is_string($key["studiensemester_kurzbz"]) || strlen($key["studiensemester_kurzbz"]) != 6) - { - $this->errormsg = 'studiensemester_kurzbz muss ein String mit 6 Zeichen sein'; - return false; - } - - if (!is_numeric($key["ausbildungssemester"])) - { - $this->errormsg = 'ausbildungssemester muss eine gueltige Zahl sein'; - return false; - } - - - $qry .= "INSERT INTO lehre.tbl_studienplan_semester (studienplan_id, studiensemester_kurzbz, semester) VALUES (" . - $this->db_add_param($key["studienplan_id"]) . ', ' . - $this->db_add_param($key["studiensemester_kurzbz"]) . ', ' . - $this->db_add_param($key["ausbildungssemester"]) . '); '; - } - - if (!$this->db_query($qry)) - { - $this->errormsg = 'Fehler beim Speichern des Datensatzes'; - return false; - } - return true; - } else - { - $this->errormsg = 'Der übergebene Parameter ist kein Array.'; - return false; - } - return false; - } - - /** - * lädt alle zugeordneten Semester eines Studienplans - * @param int $studienplan ID - */ - public function loadStudiensemesterFromStudienplan($studienplan_id) - { - if (!is_numeric($studienplan_id)) - { - $this->errormsg = 'studienplan_id muss eine gueltige Zahl sein'; - return false; - } - - $qry = 'SELECT DISTINCT studiensemester_kurzbz, tbl_studiensemester.start - FROM - lehre.tbl_studienplan_semester - JOIN public.tbl_studiensemester USING(studiensemester_kurzbz) - WHERE studienplan_id=' . $this->db_add_param($studienplan_id) . ' - ORDER BY tbl_studiensemester.start, studiensemester_kurzbz'; - - if (!$this->db_query($qry)) - { - $this->errormsg = 'Fehler bei einer Datenbankabfrage'; - return false; - } - - $data = array(); - while ($row = $this->db_fetch_object()) - { - $obj = new stdClass(); - $data[] = $row->studiensemester_kurzbz; - } - return $data; - } - - public function loadAusbildungsemesterFromStudiensemester($studienplan_id, $studiensemester_kurzbz) - { - $qry = 'SELECT semester - FROM lehre.tbl_studienplan_semester - WHERE studienplan_id=' . $this->db_add_param($studienplan_id) . ' AND - studiensemester_kurzbz=' . $this->db_add_param($studiensemester_kurzbz) . ' - ORDER BY semester;'; - - if (!$this->db_query($qry)) - { - return false; - } - - $data = array(); - while ($row = $this->db_fetch_object()) - { - $data[] = $row->semester; - } - return $data; - } - - function isSemesterZugeordnet($studienplan_id, $studiensemester_kurzbz, $ausbildungssemester) - { - if (!is_numeric($studienplan_id)) - { - $this->errormsg = 'studienplan_id muss eine gueltige Zahl sein'; - return false; - } - - if (!is_string($studiensemester_kurzbz) || strlen($studiensemester_kurzbz) != 6) - { - $this->errormsg = 'studiensemester_kurzbz muss ein String mit 6 Zeichen sein'; - return false; - } - - if (!is_numeric($ausbildungssemester)) - { - $this->errormsg = 'ausbildungssemester muss eine gueltige Zahl sein'; - return false; - } - - $qry = 'SELECT * FROM lehre.tbl_studienplan_semester WHERE - studienplan_id=' . $this->db_add_param($studienplan_id) . ' AND - studiensemester_kurzbz=' . $this->db_add_param($studiensemester_kurzbz) . ' AND - semester=' . $this->db_add_param($ausbildungssemester) . ';'; - - if ($this->db_query($qry)) - { - if ($this->db_num_rows() == 1) - { return true; - } - if ($this->db_num_rows() == 0) - { + } + + /** + * Laedt die Studienplaene zu denen eine Lehrveranstaltung zugeordnet ist + */ + public function getStudienplanLehrveranstaltung($lehrveranstaltung_id, $studiensemester_kurzbz) + { + $qry= " + SELECT + distinct tbl_studienplan.* + FROM + lehre.tbl_studienplan + JOIN lehre.tbl_studienplan_lehrveranstaltung USING(studienplan_id) + WHERE + tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)." + AND EXISTS ( + SELECT 1 FROM lehre.tbl_studienordnung_semester + WHERE studienordnung_id=tbl_studienplan.studienordnung_id + AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)." + AND semester = tbl_studienplan_lehrveranstaltung.semester) + ORDER BY bezeichnung"; + + if($result = $this->db_query($qry)) + { + while($row = $this->db_fetch_object($result)) + { + $obj = new studienplan(); + + $obj->studienplan_id = $row->studienplan_id; + $obj->studienordnung_id = $row->studienordnung_id; + $obj->orgform_kurzbz = $row->orgform_kurzbz; + $obj->version = $row->version; + $obj->bezeichnung = $row->bezeichnung; + $obj->regelstudiendauer = $row->regelstudiendauer; + $obj->sprache = $row->sprache; + $obj->aktiv = $this->db_parse_bool($row->aktiv); + $obj->semesterwochen = $row->semesterwochen; + $obj->testtool_sprachwahl = $this->db_parse_bool($row->testtool_sprachwahl); + $obj->updateamum = $row->updateamum; + $obj->updatevon = $row->updatevon; + $obj->insertamum = $row->insertamum; + $obj->insertvon = $row->insertvon; + $obj->new=false; + + $this->result[] = $obj; + } + return true; + } + } + + /** + * speichert die Semesterzuordnung für die Studieordnung + * @param int $$studienplan_id Die ID des Studienplans + * @param string $studiensemester_kurzbz Kurzbezeichnung des Studiensemesters + * @param int $ausbildungssemester Ausbildungssemester als Zahl + */ + public function saveSemesterZuordnung($zuordnung = array()) + { + if (is_array($zuordnung)) + { + $qry = ""; + foreach ($zuordnung as $key) + { + if (!is_numeric($key["studienplan_id"])) + { + $this->errormsg = 'studienplan_id muss eine gueltige Zahl sein'; + return false; + } + + if (!is_string($key["studiensemester_kurzbz"]) || strlen($key["studiensemester_kurzbz"]) != 6) + { + $this->errormsg = 'studiensemester_kurzbz muss ein String mit 6 Zeichen sein'; + return false; + } + + if (!is_numeric($key["ausbildungssemester"])) + { + $this->errormsg = 'ausbildungssemester muss eine gueltige Zahl sein'; + return false; + } + + + $qry .= "INSERT INTO lehre.tbl_studienplan_semester (studienplan_id, studiensemester_kurzbz, semester) VALUES (" . + $this->db_add_param($key["studienplan_id"]) . ', ' . + $this->db_add_param($key["studiensemester_kurzbz"]) . ', ' . + $this->db_add_param($key["ausbildungssemester"]) . '); '; + } + + if (!$this->db_query($qry)) + { + $this->errormsg = 'Fehler beim Speichern des Datensatzes'; + return false; + } + return true; + } + else + { + $this->errormsg = 'Der übergebene Parameter ist kein Array.'; + return false; + } return false; - } - return false; - } - return false; - } - - public function deleteSemesterZuordnung($studienplan_id, $studiensemester_kurzbz, $ausbildungssemester = NULL) - { - if (!is_numeric($studienplan_id)) - { - $this->errormsg = 'studienplan_id muss eine gueltige Zahl sein'; - return false; } - if (!is_string($studiensemester_kurzbz) || strlen($studiensemester_kurzbz) != 6) + /** + * lädt alle zugeordneten Semester eines Studienplans + * @param int $studienplan ID + */ + public function loadStudiensemesterFromStudienplan($studienplan_id) { - $this->errormsg = 'studiensemester_kurzbz muss ein String mit 6 Zeichen sein'; - return false; + if (!is_numeric($studienplan_id)) + { + $this->errormsg = 'studienplan_id muss eine gueltige Zahl sein'; + return false; + } + + $qry = 'SELECT DISTINCT studiensemester_kurzbz, tbl_studiensemester.start + FROM + lehre.tbl_studienplan_semester + JOIN public.tbl_studiensemester USING(studiensemester_kurzbz) + WHERE studienplan_id=' . $this->db_add_param($studienplan_id) . ' + ORDER BY tbl_studiensemester.start, studiensemester_kurzbz'; + + if (!$this->db_query($qry)) + { + $this->errormsg = 'Fehler bei einer Datenbankabfrage'; + return false; + } + + $data = array(); + while ($row = $this->db_fetch_object()) + { + $obj = new stdClass(); + $data[] = $row->studiensemester_kurzbz; + } + return $data; } - $qry = 'DELETE FROM lehre.tbl_studienplan_semester - WHERE studienplan_id=' . $this->db_add_param($studienplan_id) . ' AND - studiensemester_kurzbz=' . $this->db_add_param($studiensemester_kurzbz) . ''; - if ($ausbildungssemester !== null) - $qry.=' AND semester=' . $this->db_add_param($ausbildungssemester) . ''; + public function loadAusbildungsemesterFromStudiensemester($studienplan_id, $studiensemester_kurzbz) + { + $qry = 'SELECT semester + FROM lehre.tbl_studienplan_semester + WHERE studienplan_id=' . $this->db_add_param($studienplan_id) . ' AND + studiensemester_kurzbz=' . $this->db_add_param($studiensemester_kurzbz) . ' + ORDER BY semester;'; - $qry.=';'; + if (!$this->db_query($qry)) + { + return false; + } - if ($this->db_query($qry)) - { - return true; - } else - { - $this->errormsg = 'Fehler beim Löschen der Zuordnung' . "\n"; - return false; - } - } - - /** - * prüft ob dem Studienplan Semester zugeordnet sind (Gültigkeit) - * @param int $studienplan_id Die ID des Studienplans - */ - public function hasSemesterZugeordnet($studienplan_id) - { - if (!is_numeric($studienplan_id)) - { - $this->errormsg = 'studienplan_id muss eine gueltige Zahl sein'; - return false; + $data = array(); + while ($row = $this->db_fetch_object()) + { + $data[] = $row->semester; + } + return $data; } - $qry = 'SELECT * FROM lehre.tbl_studienplan_semester WHERE - studienplan_id=' . $this->db_add_param($studienplan_id) . ';'; - - if ($this->db_query($qry)) + function isSemesterZugeordnet($studienplan_id, $studiensemester_kurzbz, $ausbildungssemester) { - if ($this->db_num_rows() >= 1) - { - return true; - } - return false; + if (!is_numeric($studienplan_id)) + { + $this->errormsg = 'studienplan_id muss eine gueltige Zahl sein'; + return false; + } + + if (!is_string($studiensemester_kurzbz) || strlen($studiensemester_kurzbz) != 6) + { + $this->errormsg = 'studiensemester_kurzbz muss ein String mit 6 Zeichen sein'; + return false; + } + + if (!is_numeric($ausbildungssemester)) + { + $this->errormsg = 'ausbildungssemester muss eine gueltige Zahl sein'; + return false; + } + + $qry = 'SELECT * FROM lehre.tbl_studienplan_semester WHERE + studienplan_id=' . $this->db_add_param($studienplan_id) . ' AND + studiensemester_kurzbz=' . $this->db_add_param($studiensemester_kurzbz) . ' AND + semester=' . $this->db_add_param($ausbildungssemester) . ';'; + + if ($this->db_query($qry)) + { + if ($this->db_num_rows() == 1) + { + return true; + } + if ($this->db_num_rows() == 0) + { + return false; + } + return false; + } + return false; + } + + public function deleteSemesterZuordnung($studienplan_id, $studiensemester_kurzbz, $ausbildungssemester = NULL) + { + if (!is_numeric($studienplan_id)) + { + $this->errormsg = 'studienplan_id muss eine gueltige Zahl sein'; + return false; + } + + if (!is_string($studiensemester_kurzbz) || strlen($studiensemester_kurzbz) != 6) + { + $this->errormsg = 'studiensemester_kurzbz muss ein String mit 6 Zeichen sein'; + return false; + } + + $qry = 'DELETE FROM lehre.tbl_studienplan_semester + WHERE studienplan_id=' . $this->db_add_param($studienplan_id) . ' AND + studiensemester_kurzbz=' . $this->db_add_param($studiensemester_kurzbz) . ''; + + if ($ausbildungssemester !== null) + $qry.=' AND semester=' . $this->db_add_param($ausbildungssemester) . ''; + + $qry.=';'; + + if ($this->db_query($qry)) + { + return true; + } + else + { + $this->errormsg = 'Fehler beim Löschen der Zuordnung' . "\n"; + return false; + } + } + + /** + * prüft ob dem Studienplan Semester zugeordnet sind (Gültigkeit) + * @param int $studienplan_id Die ID des Studienplans + */ + public function hasSemesterZugeordnet($studienplan_id) + { + if (!is_numeric($studienplan_id)) + { + $this->errormsg = 'studienplan_id muss eine gueltige Zahl sein'; + return false; + } + + $qry = 'SELECT * FROM lehre.tbl_studienplan_semester WHERE + studienplan_id=' . $this->db_add_param($studienplan_id) . ';'; + + if ($this->db_query($qry)) + { + if ($this->db_num_rows() >= 1) + { + return true; + } + return false; + } + return false; } - return false; - } } ?>