diff --git a/include/lehrveranstaltung.class.php b/include/lehrveranstaltung.class.php index 0d2d36d6e..ddda4a8bd 100644 --- a/include/lehrveranstaltung.class.php +++ b/include/lehrveranstaltung.class.php @@ -197,7 +197,7 @@ class lehrveranstaltung extends basis_db { public function load_lva($studiengang_kz, $semester = null, $lehreverzeichnis = null, $lehre = null, $aktiv = null, $sort = null, $oe_kurzbz=null, $lehrtyp=null) { //Variablen pruefen if($semester == "null") - $semester = null; + $semester = null; if($lehreverzeichnis == "null") $lehreverzeichnis = null; @@ -1106,8 +1106,10 @@ class lehrveranstaltung extends basis_db { return $values; } - public function getLvTree($studienplan_id){ + public function getLvTree($studienplan_id) + { $values = array(); + //TODO Anzahl der Semester laden; Quelle ? for($i = 1; $i<=6; $i++) { $data = new stdClass(); @@ -1123,5 +1125,81 @@ class lehrveranstaltung extends basis_db { } return $values; } + + public function loadLVkompatibel($lehrveranstaltung_id) + { + if (!is_numeric($lehrveranstaltung_id)) { + $this->errormsg = 'Lehrveranstaltung_id muss eine gueltige Zahl sein'; + return false; + } + + $qry = "SELECT lehrveranstaltung_id_kompatibel FROM lehre.tbl_lehrveranstaltung_kompatibel + WHERE lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER).";"; + + if($this->db_query($qry)) + { + $data = array(); + while($row = $this->db_fetch_object()) + { + $data[] = $row->lehrveranstaltung_id_kompatibel; + } + return $data; + } + } + + public function saveKompatibleLehrveranstaltung($lehrveranstaltung_id, $lehrveranstaltung_id_kompatibel) + { + $qry = 'SELECT * FROM lehre.tbl_lehrveranstaltung_kompatibel WHERE + lehrveranstaltung_id='.$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER).' AND + lehrveranstaltung_id_kompatibel='.$this->db_add_param($lehrveranstaltung_id_kompatibel, FHC_INTEGER).';'; + + if($this->db_query($qry)) + { + if(!$this->db_fetch_object()) + { + $qry = 'INSERT INTO lehre.tbl_lehrveranstaltung_kompatibel (lehrveranstaltung_id, lehrveranstaltung_id_kompatibel) + VALUES ('.$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER).', '. + $this->db_add_param($lehrveranstaltung_id_kompatibel, FHC_INTEGER).');'; + + if($this->db_query($qry)) + { + return true; + } + else + { + $this->errormsg = 'Fehler beim Speichern des Datensatzes'; + return false; + } + } + else + { + $this->errormsg = 'Lehrveranstaltung bereits vorhanden'; + return false; + } + + } + else + { + $this->errormsg = 'Fehler beim Laden des Datensatzes'; + return false; + } + } + + public function deleteKompatibleLehrveranstaltung($lehrveranstaltung_id, $lehrveranstaltung_id_kompatibel) + { + $qry = 'DELETE FROM lehre.tbl_lehrveranstaltung_kompatibel WHERE + lehrveranstaltung_id='.$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER).' AND + lehrveranstaltung_id_kompatibel='.$this->db_add_param($lehrveranstaltung_id_kompatibel, FHC_INTEGER).';'; + + if($this->db_query($qry)) + { + return true; + } + else + { + $this->errormsg = 'Fehler beim Laden des Datensatzes'; + return false; + } + } } ?> diff --git a/soap/lehrveranstaltung.json.php b/soap/lehrveranstaltung.json.php index 2b59affbd..0ffe1489a 100644 --- a/soap/lehrveranstaltung.json.php +++ b/soap/lehrveranstaltung.json.php @@ -84,6 +84,38 @@ switch($method) $data['errormsg']=$lehrveranstaltung->errormsg; } break; + case 'saveKompatibleLehrveranstaltung': + $lv_id = $_REQUEST['lehrveranstaltung_id']; + $lv_id_kompatibel = $_REQUEST['lehrveranstaltung_id_kompatibel']; + $lehrveranstaltung = new lehrveranstaltung(); + if(($result = $lehrveranstaltung->saveKompatibleLehrveranstaltung($lv_id, $lv_id_kompatibel))) + { + $data["result"]=$result; + $data['error']='false'; + $data['errormsg']=''; + } + else + { + $data['error']='true'; + $data['errormsg']=$lehrveranstaltung->errormsg; + } + break; + case 'deleteKompatibleLehrveranstaltung': + $lv_id = $_REQUEST['lehrveranstaltung_id']; + $lv_id_kompatibel = $_REQUEST['lehrveranstaltung_id_kompatibel']; + $lehrveranstaltung = new lehrveranstaltung(); + if(($result = $lehrveranstaltung->deleteKompatibleLehrveranstaltung($lv_id, $lv_id_kompatibel))) + { + $data["result"]=$result; + $data['error']='false'; + $data['errormsg']=''; + } + else + { + $data['error']='true'; + $data['errormsg']=$lehrveranstaltung->errormsg; + } + break; default: break; } diff --git a/vilesci/lehre/lehrveranstaltung.php b/vilesci/lehre/lehrveranstaltung.php index 7bf0938b0..9a59453f3 100644 --- a/vilesci/lehre/lehrveranstaltung.php +++ b/vilesci/lehre/lehrveranstaltung.php @@ -693,7 +693,8 @@ if ($result_lv!=0)