diff --git a/include/lehrtyp.class.php b/include/lehrtyp.class.php new file mode 100755 index 000000000..9a2ba71fc --- /dev/null +++ b/include/lehrtyp.class.php @@ -0,0 +1,74 @@ + + */ + +require_once(dirname(__FILE__) . '/basis_db.class.php'); +require_once(dirname(__FILE__) . '/functions.inc.php'); + +class lehrtyp extends basis_db { + + public $result = array(); + public $lehrtyp_kurzbz; + public $bezeichnung; + + public function __construct() + { + parent::__construct(); + + } + + /** + * Holt alle Lehrtypen aus der table tbl_lehrtyp + * @return true wenn ok, false im Fehlerfall + */ + public function getAll(){ + $qry = "SELECT * FROM lehre.tbl_lehrtyp;"; + if (!$this->db_query($qry)) { + $this->errormsg = 'Datensatz konnte nicht geladen werden'; + return false; + } + + while ($row = $this->db_fetch_object()) { + $lehrtyp = new lehrtyp(); + $lehrtyp->lehrtyp_kurzbz = $row->lehrtyp_kurzbz; + $lehrtyp->bezeichnung = $row->bezeichnung; + $this->result[] = $lehrtyp; + } + return true; + } + + public function cleanResult() + { + $data = array(); + if(count($this->result)>0) + { + foreach ($this->result as $lt) + { + $obj = new stdClass(); + $obj->lehrtyp_kurzbz = $lt->lehrtyp_kurzbz; + $obj->bezeichnung = $lt->bezeichnung; + $data[] = $obj; + } + } + return $data; + } +} + +?> diff --git a/include/lehrveranstaltung.class.php b/include/lehrveranstaltung.class.php index 864f93f92..0d2d36d6e 100644 --- a/include/lehrveranstaltung.class.php +++ b/include/lehrveranstaltung.class.php @@ -1,4 +1,5 @@ and * Rudolf Hangl . */ -require_once(dirname(__FILE__).'/basis_db.class.php'); -require_once(dirname(__FILE__).'/functions.inc.php'); +require_once(dirname(__FILE__) . '/basis_db.class.php'); +require_once(dirname(__FILE__) . '/functions.inc.php'); -class lehrveranstaltung extends basis_db -{ - public $new; // boolean - public $lehrveranstaltungen = array(); // lehrveranstaltung Objekt +class lehrveranstaltung extends basis_db { - public $lehrveranstaltung_id; // serial - public $studiengang_kz; // integer - public $bezeichnung; // string - public $kurzbz; // string - public $lehrform_kurzbz; // string - public $semester; // smallint - public $ects; // numeric(5,2) - public $semesterstunden; // smallint - - public $anmerkung; // string - public $lehre=true; // boolean - public $lehreverzeichnis; // string - public $aktiv=true; // boolean - public $ext_id; // bigint - public $insertamum; // timestamp - public $insertvon; // string - public $planfaktor; // numeric(3,2) - public $planlektoren; // integer - public $planpersonalkosten; // numeric(7,2) - public $plankostenprolektor; // numeric(6,2) - public $updateamum; // timestamp - public $updatevon; // string - public $sprache='German'; // varchar(16) - public $sort; // smallint - public $incoming=5; // smallint - public $zeugnis=true; // boolean - public $projektarbeit; // boolean - public $koordinator; // varchar(16) - public $bezeichnung_english; // varchar(256) + public $new; // boolean + public $lehrveranstaltungen = array(); // lehrveranstaltung Objekt + public $lehrveranstaltung_id; // serial + public $studiengang_kz; // integer + public $bezeichnung; // string + public $kurzbz; // string + public $lehrform_kurzbz; // string + public $semester; // smallint + public $ects; // numeric(5,2) + public $semesterstunden; // smallint + public $anmerkung; // string + public $lehre = true; // boolean + public $lehreverzeichnis; // string + public $aktiv = true; // boolean + public $ext_id; // bigint + public $insertamum; // timestamp + public $insertvon; // string + public $planfaktor; // numeric(3,2) + public $planlektoren; // integer + public $planpersonalkosten; // numeric(7,2) + public $plankostenprolektor; // numeric(6,2) + public $updateamum; // timestamp + public $updatevon; // string + public $sprache = 'German'; // varchar(16) + public $sort; // smallint + public $incoming = 5; // smallint + public $zeugnis = true; // boolean + public $projektarbeit; // boolean + public $koordinator; // varchar(16) + public $bezeichnung_english; // varchar(256) public $orgform_kurzbz; public $bezeichnung_arr = array(); @@ -69,11 +68,10 @@ class lehrveranstaltung extends basis_db * Konstruktor * @param $lehrveranstaltung_id ID der zu ladenden Lehrveranstaltung */ - public function __construct($lehrveranstaltung_id=null) - { + public function __construct($lehrveranstaltung_id = null) { parent::__construct(); - - if(!is_null($lehrveranstaltung_id)) + + if (!is_null($lehrveranstaltung_id)) $this->load($lehrveranstaltung_id); } @@ -82,57 +80,53 @@ class lehrveranstaltung extends basis_db * @param $lehrveranstaltung_id ID des zu ladenden Datensatzes * @return true wenn ok, false im Fehlerfall */ - public function load($lehrveranstaltung_id) - { - if(!is_numeric($lehrveranstaltung_id)) - { + public function load($lehrveranstaltung_id) { + if (!is_numeric($lehrveranstaltung_id)) { $this->errormsg = 'Lehrveranstaltung_id muss eine gueltige Zahl sein'; return false; } $qry = "SELECT * FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER); - if(!$this->db_query($qry)) - { + if (!$this->db_query($qry)) { $this->errormsg = 'Datensatz konnte nicht geladen werden'; return false; } - if($row = $this->db_fetch_object()) - { - $this->lehrveranstaltung_id=$row->lehrveranstaltung_id; - $this->studiengang_kz=$row->studiengang_kz; - $this->bezeichnung=$row->bezeichnung; - $this->kurzbz=$row->kurzbz; - $this->lehrform_kurzbz=$row->lehrform_kurzbz; - $this->semester=$row->semester; - $this->ects=$row->ects; - $this->semesterstunden=$row->semesterstunden; - $this->anmerkung=$row->anmerkung; - $this->lehre=$this->db_parse_bool($row->lehre); - $this->lehreverzeichnis=$row->lehreverzeichnis; - $this->aktiv=$this->db_parse_bool($row->aktiv); - $this->ext_id=$row->ext_id; - $this->insertamum=$row->insertamum; - $this->insertvon=$row->insertvon; - $this->planfaktor=$row->planfaktor; - $this->planlektoren=$row->planlektoren; - $this->planpersonalkosten=$row->planpersonalkosten; - $this->plankostenprolektor=$row->plankostenprolektor; - $this->updateamum=$row->updateamum; - $this->updatevon=$row->updatevon; - $this->sprache=$row->sprache; - $this->sort=$row->sort; - $this->incoming=$row->incoming; - $this->zeugnis=$this->db_parse_bool($row->zeugnis); - $this->projektarbeit=$this->db_parse_bool($row->projektarbeit); - $this->koordinator=$row->koordinator; + if ($row = $this->db_fetch_object()) { + $this->lehrveranstaltung_id = $row->lehrveranstaltung_id; + $this->studiengang_kz = $row->studiengang_kz; + $this->bezeichnung = $row->bezeichnung; + $this->kurzbz = $row->kurzbz; + $this->lehrform_kurzbz = $row->lehrform_kurzbz; + $this->semester = $row->semester; + $this->ects = $row->ects; + $this->semesterstunden = $row->semesterstunden; + $this->anmerkung = $row->anmerkung; + $this->lehre = $this->db_parse_bool($row->lehre); + $this->lehreverzeichnis = $row->lehreverzeichnis; + $this->aktiv = $this->db_parse_bool($row->aktiv); + $this->ext_id = $row->ext_id; + $this->insertamum = $row->insertamum; + $this->insertvon = $row->insertvon; + $this->planfaktor = $row->planfaktor; + $this->planlektoren = $row->planlektoren; + $this->planpersonalkosten = $row->planpersonalkosten; + $this->plankostenprolektor = $row->plankostenprolektor; + $this->updateamum = $row->updateamum; + $this->updatevon = $row->updatevon; + $this->sprache = $row->sprache; + $this->sort = $row->sort; + $this->incoming = $row->incoming; + $this->zeugnis = $this->db_parse_bool($row->zeugnis); + $this->projektarbeit = $this->db_parse_bool($row->projektarbeit); + $this->koordinator = $row->koordinator; $this->bezeichnung_english = $row->bezeichnung_english; $this->orgform_kurzbz = $row->orgform_kurzbz; - - $this->bezeichnung_arr['German']=$this->bezeichnung; - $this->bezeichnung_arr['English']=$this->bezeichnung_english; - if($this->bezeichnung_arr['English']=='') - $this->bezeichnung_arr['English']=$this->bezeichnung_arr['German']; + + $this->bezeichnung_arr['German'] = $this->bezeichnung; + $this->bezeichnung_arr['English'] = $this->bezeichnung_english; + if ($this->bezeichnung_arr['English'] == '') + $this->bezeichnung_arr['English'] = $this->bezeichnung_arr['German']; } return true; @@ -142,55 +136,52 @@ class lehrveranstaltung extends basis_db * Liefert alle Lehrveranstaltungen * @return true wenn ok, false im Fehlerfall */ - public function getAll() - { + public function getAll() { $qry = "SELECT * FROM lehre.tbl_lehrveranstaltung;"; - if(!$this->db_query($qry)) - { + if (!$this->db_query($qry)) { $this->errormsg = 'Datensatz konnte nicht geladen werden'; return false; } - while($row = $this->db_fetch_object()) - { + while ($row = $this->db_fetch_object()) { $lv_obj = new lehrveranstaltung(); - $lv_obj->lehrveranstaltung_id=$row->lehrveranstaltung_id; - $lv_obj->studiengang_kz=$row->studiengang_kz; - $lv_obj->bezeichnung=$row->bezeichnung; - $lv_obj->kurzbz=$row->kurzbz; - $lv_obj->lehrform_kurzbz=$row->lehrform_kurzbz; - $lv_obj->semester=$row->semester; - $lv_obj->ects=$row->ects; - $lv_obj->semesterstunden=$row->semesterstunden; - $lv_obj->anmerkung=$row->anmerkung; - $lv_obj->lehre=$this->db_parse_bool($row->lehre); - $lv_obj->lehreverzeichnis=$row->lehreverzeichnis; - $lv_obj->aktiv=$this->db_parse_bool($row->aktiv); - $lv_obj->ext_id=$row->ext_id; - $lv_obj->insertamum=$row->insertamum; - $lv_obj->insertvon=$row->insertvon; - $lv_obj->planfaktor=$row->planfaktor; - $lv_obj->planlektoren=$row->planlektoren; - $lv_obj->planpersonalkosten=$row->planpersonalkosten; - $lv_obj->plankostenprolektor=$row->plankostenprolektor; - $lv_obj->updateamum=$row->updateamum; - $lv_obj->updatevon=$row->updatevon; - $lv_obj->sprache=$row->sprache; - $lv_obj->sort=$row->sort; - $lv_obj->incoming=$row->incoming; - $lv_obj->zeugnis=$this->db_parse_bool($row->zeugnis); - $lv_obj->projektarbeit=$this->db_parse_bool($row->projektarbeit); - $lv_obj->koordinator=$row->koordinator; + $lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id; + $lv_obj->studiengang_kz = $row->studiengang_kz; + $lv_obj->bezeichnung = $row->bezeichnung; + $lv_obj->kurzbz = $row->kurzbz; + $lv_obj->lehrform_kurzbz = $row->lehrform_kurzbz; + $lv_obj->semester = $row->semester; + $lv_obj->ects = $row->ects; + $lv_obj->semesterstunden = $row->semesterstunden; + $lv_obj->anmerkung = $row->anmerkung; + $lv_obj->lehre = $this->db_parse_bool($row->lehre); + $lv_obj->lehreverzeichnis = $row->lehreverzeichnis; + $lv_obj->aktiv = $this->db_parse_bool($row->aktiv); + $lv_obj->ext_id = $row->ext_id; + $lv_obj->insertamum = $row->insertamum; + $lv_obj->insertvon = $row->insertvon; + $lv_obj->planfaktor = $row->planfaktor; + $lv_obj->planlektoren = $row->planlektoren; + $lv_obj->planpersonalkosten = $row->planpersonalkosten; + $lv_obj->plankostenprolektor = $row->plankostenprolektor; + $lv_obj->updateamum = $row->updateamum; + $lv_obj->updatevon = $row->updatevon; + $lv_obj->sprache = $row->sprache; + $lv_obj->sort = $row->sort; + $lv_obj->incoming = $row->incoming; + $lv_obj->zeugnis = $this->db_parse_bool($row->zeugnis); + $lv_obj->projektarbeit = $this->db_parse_bool($row->projektarbeit); + $lv_obj->koordinator = $row->koordinator; $lv_obj->bezeichnung_english = $row->bezeichnung_english; $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; - $lv_obj->bezeichnung_arr['German']=$row->bezeichnung; - $lv_obj->bezeichnung_arr['English']=$row->bezeichnung_english; - if($lv_obj->bezeichnung_arr['English']=='') - $lv_obj->bezeichnung_arr['English']=$lv_obj->bezeichnung_arr['German']; - + $lv_obj->bezeichnung_arr['German'] = $row->bezeichnung; + $lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english; + if ($lv_obj->bezeichnung_arr['English'] == '') + $lv_obj->bezeichnung_arr['English'] = $lv_obj->bezeichnung_arr['German']; + $this->lehrveranstaltungen[] = $lv_obj; } @@ -203,53 +194,59 @@ class lehrveranstaltung extends basis_db * @param $semester * @return true wenn ok, false im Fehlerfall */ - public function load_lva($studiengang_kz, $semester=null, $lehreverzeichnis=null, $lehre=null, $aktiv=null, $sort=null) - { + public function load_lva($studiengang_kz, $semester = null, $lehreverzeichnis = null, $lehre = null, $aktiv = null, $sort = null, $oe_kurzbz=null, $lehrtyp=null) { //Variablen pruefen - - if(!is_numeric($studiengang_kz) || $studiengang_kz=='') - { + if($semester == "null") + $semester = null; + + if($lehreverzeichnis == "null") + $lehreverzeichnis = null; + + if (!is_numeric($studiengang_kz) || $studiengang_kz == '') { $this->errormsg = 'studiengang_kz muss eine gueltige Zahl sein'; return false; } - if(!is_null($semester) && (!is_numeric($semester) && $semester!='')) - { + if (!is_null($semester) && (!is_numeric($semester) && $semester != '')) { $this->errormsg = 'Semester muss eine gueltige Zahl sein'; return false; } - if(!is_null($aktiv) && !is_bool($aktiv)) - { + if (!is_null($aktiv) && !is_bool($aktiv)) { $this->errormsg = 'Aktivkz muss ein boolscher Wert sein'; return false; } - if(!is_null($lehre) && !is_bool($lehre)) - { + if (!is_null($lehre) && !is_bool($lehre)) { $this->errormsg = 'Lehre muss ein boolscher Wert sein'; return false; } - - $qry = "SELECT * FROM lehre.tbl_lehrveranstaltung where studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER); + + $qry = "SELECT * FROM lehre.tbl_lehrveranstaltung where studiengang_kz=" . $this->db_add_param($studiengang_kz, FHC_INTEGER); //Select Befehl zusammenbauen - if(!is_null($lehreverzeichnis)) - $qry .= " AND lehreverzeichnis=".$this->db_add_param($lehreverzeichnis); + if (!is_null($lehreverzeichnis)) + $qry .= " AND lehreverzeichnis=" . $this->db_add_param($lehreverzeichnis); else $qry .= " AND lehreverzeichnis<>'' "; - - if(!is_null($semester) && $semester!='') - $qry .= " AND semester=".$this->db_add_param($semester, FHC_INTEGER); + + if (!is_null($semester) && $semester != '') + $qry .= " AND semester=" . $this->db_add_param($semester, FHC_INTEGER); else $qry .= " AND semester is not null "; - - if(!is_null($lehre)) - $qry .= " AND lehre=".($lehre?'true':'false'); - if(!is_null($aktiv) && $aktiv) - $qry .= " AND aktiv "; + if (!is_null($lehre)) + $qry .= " AND lehre=" . ($lehre ? 'true' : 'false'); - if(!is_null($lehre) && $lehre) - $qry .= " AND lehre "; + if (!is_null($aktiv) && $aktiv) + $qry .= " AND aktiv "; + + if (!is_null($lehre) && $lehre) + $qry .= " AND lehre "; + if(!is_null($oe_kurzbz)) + $qry .= " AND oe_kurzbz='".$oe_kurzbz."'"; + + if(!is_null($lehrtyp)) + $qry .= " AND lehrtyp_kurzbz='".$lehrtyp."'"; + if ($sort == "bezeichnung") $qry .= " ORDER BY bezeichnung"; elseif (is_null($sort) || empty($sort)) @@ -258,114 +255,107 @@ class lehrveranstaltung extends basis_db $qry .= " ORDER BY $sort "; //Datensaetze laden - if(!$this->db_query($qry)) - { + if (!$this->db_query($qry)) { $this->errormsg = 'Datensatz konnte nicht geladen werden'; return false; } - while($row = $this->db_fetch_object()) - { + while ($row = $this->db_fetch_object()) { $lv_obj = new lehrveranstaltung(); - $lv_obj->lehrveranstaltung_id=$row->lehrveranstaltung_id; - $lv_obj->studiengang_kz=$row->studiengang_kz; - $lv_obj->bezeichnung=$row->bezeichnung; - $lv_obj->kurzbz=$row->kurzbz; - $lv_obj->lehrform_kurzbz=$row->lehrform_kurzbz; - $lv_obj->semester=$row->semester; - $lv_obj->ects=$row->ects; - $lv_obj->semesterstunden=$row->semesterstunden; - $lv_obj->anmerkung=$row->anmerkung; - $lv_obj->lehre=$this->db_parse_bool($row->lehre); - $lv_obj->lehreverzeichnis=$row->lehreverzeichnis; - $lv_obj->aktiv=$this->db_parse_bool($row->aktiv); - $lv_obj->ext_id=$row->ext_id; - $lv_obj->insertamum=$row->insertamum; - $lv_obj->insertvon=$row->insertvon; - $lv_obj->planfaktor=$row->planfaktor; - $lv_obj->planlektoren=$row->planlektoren; - $lv_obj->planpersonalkosten=$row->planpersonalkosten; - $lv_obj->plankostenprolektor=$row->plankostenprolektor; - $lv_obj->updateamum=$row->updateamum; - $lv_obj->updatevon=$row->updatevon; - $lv_obj->sprache=$row->sprache; - $lv_obj->sort=$row->sort; - $lv_obj->incoming=$row->incoming; - $lv_obj->zeugnis=$this->db_parse_bool($row->zeugnis); - $lv_obj->projektarbeit=$this->db_parse_bool($row->projektarbeit); - $lv_obj->koordinator=$row->koordinator; + $lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id; + $lv_obj->studiengang_kz = $row->studiengang_kz; + $lv_obj->bezeichnung = $row->bezeichnung; + $lv_obj->kurzbz = $row->kurzbz; + $lv_obj->lehrform_kurzbz = $row->lehrform_kurzbz; + $lv_obj->semester = $row->semester; + $lv_obj->ects = $row->ects; + $lv_obj->semesterstunden = $row->semesterstunden; + $lv_obj->anmerkung = $row->anmerkung; + $lv_obj->lehre = $this->db_parse_bool($row->lehre); + $lv_obj->lehreverzeichnis = $row->lehreverzeichnis; + $lv_obj->aktiv = $this->db_parse_bool($row->aktiv); + $lv_obj->ext_id = $row->ext_id; + $lv_obj->insertamum = $row->insertamum; + $lv_obj->insertvon = $row->insertvon; + $lv_obj->planfaktor = $row->planfaktor; + $lv_obj->planlektoren = $row->planlektoren; + $lv_obj->planpersonalkosten = $row->planpersonalkosten; + $lv_obj->plankostenprolektor = $row->plankostenprolektor; + $lv_obj->updateamum = $row->updateamum; + $lv_obj->updatevon = $row->updatevon; + $lv_obj->sprache = $row->sprache; + $lv_obj->sort = $row->sort; + $lv_obj->incoming = $row->incoming; + $lv_obj->zeugnis = $this->db_parse_bool($row->zeugnis); + $lv_obj->projektarbeit = $this->db_parse_bool($row->projektarbeit); + $lv_obj->koordinator = $row->koordinator; $lv_obj->bezeichnung_english = $row->bezeichnung_english; $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; - $lv_obj->bezeichnung_arr['German']=$row->bezeichnung; - $lv_obj->bezeichnung_arr['English']=$row->bezeichnung_english; - if($lv_obj->bezeichnung_arr['English']=='') - $lv_obj->bezeichnung_arr['English']=$lv_obj->bezeichnung_arr['German']; - + $lv_obj->bezeichnung_arr['German'] = $row->bezeichnung; + $lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english; + if ($lv_obj->bezeichnung_arr['English'] == '') + $lv_obj->bezeichnung_arr['English'] = $lv_obj->bezeichnung_arr['German']; + $this->lehrveranstaltungen[] = $lv_obj; } return true; } - + /** * Liefert alle Lehrveranstaltungen zu einem Studiengang/Semester * @param $studiengang_kz * @param $semester * @return true wenn ok, false im Fehlerfall */ - public function load_lva_le($studiengang_kz, $studiensemester_kurzbz=null, $semester=null, $lehreverzeichnis=null, $lehre=null, $aktiv=null, $sort=null) - { + public function load_lva_le($studiengang_kz, $studiensemester_kurzbz = null, $semester = null, $lehreverzeichnis = null, $lehre = null, $aktiv = null, $sort = null) { //Variablen pruefen - if(!is_numeric($studiengang_kz) || $studiengang_kz==='') - { + if (!is_numeric($studiengang_kz) || $studiengang_kz === '') { $this->errormsg = 'studiengang_kz muss eine gueltige Zahl sein'; return false; } - if(!is_null($semester) && (!is_numeric($semester) && $semester!='')) - { + if (!is_null($semester) && (!is_numeric($semester) && $semester != '')) { $this->errormsg = 'Semester muss eine gueltige Zahl sein'; return false; } - if(!is_null($aktiv) && !is_bool($aktiv)) - { + if (!is_null($aktiv) && !is_bool($aktiv)) { $this->errormsg = 'Aktiv muss ein boolscher Wert sein'; return false; } - if(!is_null($lehre) && !is_bool($lehre)) - { + if (!is_null($lehre) && !is_bool($lehre)) { $this->errormsg = 'Lehre muss ein boolscher Wert sein'; return false; } - - $qry = "SELECT distinct lehre.tbl_lehrveranstaltung.*, tbl_lehreinheit.studiensemester_kurzbz FROM lehre.tbl_lehrveranstaltung,lehre.tbl_lehreinheit where tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id and studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER); + + $qry = "SELECT distinct lehre.tbl_lehrveranstaltung.*, tbl_lehreinheit.studiensemester_kurzbz FROM lehre.tbl_lehrveranstaltung,lehre.tbl_lehreinheit where tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id and studiengang_kz=" . $this->db_add_param($studiengang_kz, FHC_INTEGER); //Select Befehl zusammenbauen - if(!is_null($lehreverzeichnis)) - $qry .= " AND lehreverzeichnis=".$this->db_add_param($lehreverzeichnis); + if (!is_null($lehreverzeichnis)) + $qry .= " AND lehreverzeichnis=" . $this->db_add_param($lehreverzeichnis); else $qry .= " AND lehreverzeichnis<>'' "; - - if(!is_null($semester) && $semester!='') - $qry .= " AND semester=".$this->db_add_param($semester); + + if (!is_null($semester) && $semester != '') + $qry .= " AND semester=" . $this->db_add_param($semester); else $qry .= " AND semester is not null "; - if(!is_null($studiensemester_kurzbz) && $studiensemester_kurzbz!='') - $qry .= " AND tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz); + if (!is_null($studiensemester_kurzbz) && $studiensemester_kurzbz != '') + $qry .= " AND tbl_lehreinheit.studiensemester_kurzbz=" . $this->db_add_param($studiensemester_kurzbz); - - if(!is_null($lehre)) - $qry .= " AND lehre=".($lehre?'true':'false'); - if(!is_null($aktiv) && $aktiv) - $qry .= " AND aktiv "; + if (!is_null($lehre)) + $qry .= " AND lehre=" . ($lehre ? 'true' : 'false'); + + if (!is_null($aktiv) && $aktiv) + $qry .= " AND aktiv "; + + if (!is_null($lehre) && $lehre) + $qry .= " AND lehre "; - if(!is_null($lehre) && $lehre) - $qry .= " AND lehre "; - if ($sort == "bezeichnung") $qry .= " ORDER BY bezeichnung"; elseif (is_null($sort) || empty($sort)) @@ -374,51 +364,49 @@ class lehrveranstaltung extends basis_db $qry .= " ORDER BY $sort "; //Datensaetze laden - if(!$this->db_query($qry)) - { + if (!$this->db_query($qry)) { $this->errormsg = 'Datensatz konnte nicht geladen werden'; return false; } - while($row = $this->db_fetch_object()) - { + while ($row = $this->db_fetch_object()) { $lv_obj = new lehrveranstaltung(); - $lv_obj->lehrveranstaltung_id=$row->lehrveranstaltung_id; - $lv_obj->studiengang_kz=$row->studiengang_kz; - $lv_obj->bezeichnung=$row->bezeichnung; - $lv_obj->kurzbz=$row->kurzbz; - $lv_obj->lehrform_kurzbz=$row->lehrform_kurzbz; - $lv_obj->semester=$row->semester; - $lv_obj->ects=$row->ects; - $lv_obj->semesterstunden=$row->semesterstunden; - $lv_obj->anmerkung=$row->anmerkung; - $lv_obj->lehre=$this->db_parse_bool($row->lehre); - $lv_obj->lehreverzeichnis=$row->lehreverzeichnis; - $lv_obj->aktiv=$this->db_parse_bool($row->aktiv); - $lv_obj->ext_id=$row->ext_id; - $lv_obj->insertamum=$row->insertamum; - $lv_obj->insertvon=$row->insertvon; - $lv_obj->planfaktor=$row->planfaktor; - $lv_obj->planlektoren=$row->planlektoren; - $lv_obj->planpersonalkosten=$row->planpersonalkosten; - $lv_obj->plankostenprolektor=$row->plankostenprolektor; - $lv_obj->updateamum=$row->updateamum; - $lv_obj->updatevon=$row->updatevon; - $lv_obj->sprache=$row->sprache; - $lv_obj->sort=$row->sort; - $lv_obj->incoming=$row->incoming; - $lv_obj->zeugnis=$this->db_parse_bool($row->zeugnis); - $lv_obj->projektarbeit=$this->db_parse_bool($row->projektarbeit); - $lv_obj->koordinator=$row->koordinator; + $lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id; + $lv_obj->studiengang_kz = $row->studiengang_kz; + $lv_obj->bezeichnung = $row->bezeichnung; + $lv_obj->kurzbz = $row->kurzbz; + $lv_obj->lehrform_kurzbz = $row->lehrform_kurzbz; + $lv_obj->semester = $row->semester; + $lv_obj->ects = $row->ects; + $lv_obj->semesterstunden = $row->semesterstunden; + $lv_obj->anmerkung = $row->anmerkung; + $lv_obj->lehre = $this->db_parse_bool($row->lehre); + $lv_obj->lehreverzeichnis = $row->lehreverzeichnis; + $lv_obj->aktiv = $this->db_parse_bool($row->aktiv); + $lv_obj->ext_id = $row->ext_id; + $lv_obj->insertamum = $row->insertamum; + $lv_obj->insertvon = $row->insertvon; + $lv_obj->planfaktor = $row->planfaktor; + $lv_obj->planlektoren = $row->planlektoren; + $lv_obj->planpersonalkosten = $row->planpersonalkosten; + $lv_obj->plankostenprolektor = $row->plankostenprolektor; + $lv_obj->updateamum = $row->updateamum; + $lv_obj->updatevon = $row->updatevon; + $lv_obj->sprache = $row->sprache; + $lv_obj->sort = $row->sort; + $lv_obj->incoming = $row->incoming; + $lv_obj->zeugnis = $this->db_parse_bool($row->zeugnis); + $lv_obj->projektarbeit = $this->db_parse_bool($row->projektarbeit); + $lv_obj->koordinator = $row->koordinator; $lv_obj->bezeichnung_english = $row->bezeichnung_english; $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; - - $lv_obj->bezeichnung_arr['German']=$row->bezeichnung; - $lv_obj->bezeichnung_arr['English']=$row->bezeichnung_english; - if($lv_obj->bezeichnung_arr['English']=='') - $lv_obj->bezeichnung_arr['English']=$lv_obj->bezeichnung_arr['German']; - + + $lv_obj->bezeichnung_arr['German'] = $row->bezeichnung; + $lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english; + if ($lv_obj->bezeichnung_arr['English'] == '') + $lv_obj->bezeichnung_arr['English'] = $lv_obj->bezeichnung_arr['German']; + $lv_obj->studiensemester_kurzbz = $row->studiensemester_kurzbz; $this->lehrveranstaltungen[] = $lv_obj; @@ -426,140 +414,123 @@ class lehrveranstaltung extends basis_db return true; } - + /** * Liefert alle Lehrveranstaltungen eines Studenten (alle Semester) * @param $student_uid * @return true wenn ok, false im Fehlerfall */ - public function load_lva_student($student_uid) - { + public function load_lva_student($student_uid) { $qry = "SELECT * FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id IN(SELECT lehrveranstaltung_id FROM campus.vw_student_lehrveranstaltung - WHERE uid=".$this->db_add_param($student_uid).") - OR lehrveranstaltung_id IN(SELECT lehrveranstaltung_id FROM lehre.tbl_zeugnisnote WHERE student_uid=".$this->db_add_param($student_uid).") + WHERE uid=" . $this->db_add_param($student_uid) . ") + OR lehrveranstaltung_id IN(SELECT lehrveranstaltung_id FROM lehre.tbl_zeugnisnote WHERE student_uid=" . $this->db_add_param($student_uid) . ") ORDER BY semester, bezeichnung"; - + //Datensaetze laden - if(!$this->db_query($qry)) - { + if (!$this->db_query($qry)) { $this->errormsg = 'Datensatz konnte nicht geladen werden'; return false; } - while($row = $this->db_fetch_object()) - { + while ($row = $this->db_fetch_object()) { $lv_obj = new lehrveranstaltung(); - $lv_obj->lehrveranstaltung_id=$row->lehrveranstaltung_id; - $lv_obj->studiengang_kz=$row->studiengang_kz; - $lv_obj->bezeichnung=$row->bezeichnung; - $lv_obj->kurzbz=$row->kurzbz; - $lv_obj->lehrform_kurzbz=$row->lehrform_kurzbz; - $lv_obj->semester=$row->semester; - $lv_obj->ects=$row->ects; - $lv_obj->semesterstunden=$row->semesterstunden; - $lv_obj->anmerkung=$row->anmerkung; - $lv_obj->lehre=$this->db_parse_bool($row->lehre); - $lv_obj->lehreverzeichnis=$row->lehreverzeichnis; - $lv_obj->aktiv=$this->db_parse_bool($row->aktiv); - $lv_obj->ext_id=$row->ext_id; - $lv_obj->insertamum=$row->insertamum; - $lv_obj->insertvon=$row->insertvon; - $lv_obj->planfaktor=$row->planfaktor; - $lv_obj->planlektoren=$row->planlektoren; - $lv_obj->planpersonalkosten=$row->planpersonalkosten; - $lv_obj->plankostenprolektor=$row->plankostenprolektor; - $lv_obj->updateamum=$row->updateamum; - $lv_obj->updatevon=$row->updatevon; - $lv_obj->sprache=$row->sprache; - $lv_obj->sort=$row->sort; - $lv_obj->incoming=$row->incoming; - $lv_obj->zeugnis=$this->db_parse_bool($row->zeugnis); - $lv_obj->projektarbeit=$this->db_parse_bool($row->projektarbeit); - $lv_obj->koordinator=$row->koordinator; + $lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id; + $lv_obj->studiengang_kz = $row->studiengang_kz; + $lv_obj->bezeichnung = $row->bezeichnung; + $lv_obj->kurzbz = $row->kurzbz; + $lv_obj->lehrform_kurzbz = $row->lehrform_kurzbz; + $lv_obj->semester = $row->semester; + $lv_obj->ects = $row->ects; + $lv_obj->semesterstunden = $row->semesterstunden; + $lv_obj->anmerkung = $row->anmerkung; + $lv_obj->lehre = $this->db_parse_bool($row->lehre); + $lv_obj->lehreverzeichnis = $row->lehreverzeichnis; + $lv_obj->aktiv = $this->db_parse_bool($row->aktiv); + $lv_obj->ext_id = $row->ext_id; + $lv_obj->insertamum = $row->insertamum; + $lv_obj->insertvon = $row->insertvon; + $lv_obj->planfaktor = $row->planfaktor; + $lv_obj->planlektoren = $row->planlektoren; + $lv_obj->planpersonalkosten = $row->planpersonalkosten; + $lv_obj->plankostenprolektor = $row->plankostenprolektor; + $lv_obj->updateamum = $row->updateamum; + $lv_obj->updatevon = $row->updatevon; + $lv_obj->sprache = $row->sprache; + $lv_obj->sort = $row->sort; + $lv_obj->incoming = $row->incoming; + $lv_obj->zeugnis = $this->db_parse_bool($row->zeugnis); + $lv_obj->projektarbeit = $this->db_parse_bool($row->projektarbeit); + $lv_obj->koordinator = $row->koordinator; $lv_obj->bezeichnung_english = $row->bezeichnung_english; $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; - $lv_obj->bezeichnung_arr['German']=$row->bezeichnung; - $lv_obj->bezeichnung_arr['English']=$row->bezeichnung_english; - if($lv_obj->bezeichnung_arr['English']=='') - $lv_obj->bezeichnung_arr['English']=$lv_obj->bezeichnung_arr['German']; - + $lv_obj->bezeichnung_arr['German'] = $row->bezeichnung; + $lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english; + if ($lv_obj->bezeichnung_arr['English'] == '') + $lv_obj->bezeichnung_arr['English'] = $lv_obj->bezeichnung_arr['German']; + $this->lehrveranstaltungen[] = $lv_obj; } return true; } - + /** * Prueft die Gueltigkeit der Variablen * @return true wenn ok, false im Fehlerfall */ - public function validate() - { + public function validate() { //Laenge Pruefen - if(mb_strlen($this->bezeichnung)>128) - { + if (mb_strlen($this->bezeichnung) > 128) { $this->errormsg = 'Bezeichnung darf nicht laenger als 128 Zeichen sein'; return false; } - if(mb_strlen($this->kurzbz)>16) - { + if (mb_strlen($this->kurzbz) > 16) { $this->errormsg = 'Kurzbez darf nicht laenger als 16 Zeichen sein'; return false; } - if(mb_strlen($this->anmerkung)>64) - { + if (mb_strlen($this->anmerkung) > 64) { $this->errormsg = 'Anmerkung darf nicht laenger als 64 Zeichen sein'; return false; } - if(mb_strlen($this->lehreverzeichnis)>16) - { + if (mb_strlen($this->lehreverzeichnis) > 16) { $this->errormsg = 'Lehreverzeichnis darf nicht laenger als 16 Zeichen sein'; return false; } - if(!is_numeric($this->studiengang_kz)) - { + if (!is_numeric($this->studiengang_kz)) { $this->errormsg = 'Studiengang_kz ist ungueltig'; return false; } - if($this->semester!='' && !is_numeric($this->semester)) - { + if ($this->semester != '' && !is_numeric($this->semester)) { $this->errormsg = 'Semester ist ungueltig'; return false; } - if($this->planfaktor!='' && !is_numeric($this->planfaktor)) - { + if ($this->planfaktor != '' && !is_numeric($this->planfaktor)) { $this->errormsg = 'Planfaktor ist ungueltig'; return false; } - if($this->planlektoren!='' && !is_numeric($this->planlektoren)) - { + if ($this->planlektoren != '' && !is_numeric($this->planlektoren)) { $this->errormsg = 'Planlektoren ist ungueltig'; return false; } - if($this->ects!='' && !is_numeric($this->ects)) - { + if ($this->ects != '' && !is_numeric($this->ects)) { $this->errormsg = 'ECTS sind ungueltig'; return false; } - if($this->ects>40) - { + if ($this->ects > 40) { $this->errormsg = 'ECTS darf nicht groesser als 40 sein'; return false; } - if($this->semesterstunden!='' && !isint($this->semesterstunden)) - { + if ($this->semesterstunden != '' && !isint($this->semesterstunden)) { $this->errormsg = 'Semesterstunden muss ein eine gueltige ganze Zahl sein'; return false; } - if($this->sort!='' && !isint($this->sort)) - { + if ($this->sort != '' && !isint($this->sort)) { $this->errormsg = 'Sort muss ein eine gueltige ganze Zahl sein'; return false; } - if($this->incoming!='' && !isint($this->incoming)) - { + if ($this->incoming != '' && !isint($this->incoming)) { $this->errormsg = 'Sort muss ein eine gueltige ganze Zahl sein'; return false; } @@ -571,240 +542,214 @@ class lehrveranstaltung extends basis_db * Speichert den aktuellen Datensatz * @return true wenn ok, false im Fehlerfall */ - public function save($new=null) - { - if($new==null) + public function save($new = null) { + if ($new == null) $new = $this->new; //Gueltigkeit der Variablen pruefen - if(!$this->validate()) + if (!$this->validate()) return false; - if($new) - { + if ($new) { //Neuen Datensatz anlegen $qry = 'BEGIN; INSERT INTO lehre.tbl_lehrveranstaltung (studiengang_kz, bezeichnung, kurzbz, lehrform_kurzbz, semester, ects, semesterstunden, anmerkung, lehre, lehreverzeichnis, aktiv, ext_id, insertamum, - insertvon, planfaktor, planlektoren, planpersonalkosten, plankostenprolektor, updateamum, updatevon, sort,zeugnis, projektarbeit, sprache, koordinator, bezeichnung_english, orgform_kurzbz,incoming) VALUES ('. - $this->db_add_param($this->studiengang_kz).', '. - $this->db_add_param($this->bezeichnung).', '. - $this->db_add_param($this->kurzbz).', '. - $this->db_add_param($this->lehrform_kurzbz).', '. - $this->db_add_param($this->semester).', '. - $this->db_add_param($this->ects).', '. - $this->db_add_param($this->semesterstunden).', '. - $this->db_add_param($this->anmerkung).', '. - $this->db_add_param($this->lehre, FHC_BOOLEAN).','. - $this->db_add_param($this->lehreverzeichnis).', '. - $this->db_add_param($this->aktiv, FHC_BOOLEAN).', '. - $this->db_add_param($this->ext_id).', '. - $this->db_add_param($this->insertamum).', '. - $this->db_add_param($this->insertvon).', '. - $this->db_add_param($this->planfaktor).', '. - $this->db_add_param($this->planlektoren).', '. - $this->db_add_param($this->planpersonalkosten).', '. - $this->db_add_param($this->plankostenprolektor).', '. - $this->db_add_param($this->updateamum).', '. - $this->db_add_param($this->updatevon).','. - $this->db_add_param($this->sort).','. - $this->db_add_param($this->zeugnis, FHC_BOOLEAN).','. - $this->db_add_param($this->projektarbeit, FHC_BOOLEAN).','. - $this->db_add_param($this->sprache).','. - $this->db_add_param($this->koordinator).','. - $this->db_add_param($this->bezeichnung_english).','. - $this->db_add_param($this->orgform_kurzbz).','. - $this->db_add_param($this->incoming).');'; - } - else - { + insertvon, planfaktor, planlektoren, planpersonalkosten, plankostenprolektor, updateamum, updatevon, sort,zeugnis, projektarbeit, sprache, koordinator, bezeichnung_english, orgform_kurzbz,incoming) VALUES (' . + $this->db_add_param($this->studiengang_kz) . ', ' . + $this->db_add_param($this->bezeichnung) . ', ' . + $this->db_add_param($this->kurzbz) . ', ' . + $this->db_add_param($this->lehrform_kurzbz) . ', ' . + $this->db_add_param($this->semester) . ', ' . + $this->db_add_param($this->ects) . ', ' . + $this->db_add_param($this->semesterstunden) . ', ' . + $this->db_add_param($this->anmerkung) . ', ' . + $this->db_add_param($this->lehre, FHC_BOOLEAN) . ',' . + $this->db_add_param($this->lehreverzeichnis) . ', ' . + $this->db_add_param($this->aktiv, FHC_BOOLEAN) . ', ' . + $this->db_add_param($this->ext_id) . ', ' . + $this->db_add_param($this->insertamum) . ', ' . + $this->db_add_param($this->insertvon) . ', ' . + $this->db_add_param($this->planfaktor) . ', ' . + $this->db_add_param($this->planlektoren) . ', ' . + $this->db_add_param($this->planpersonalkosten) . ', ' . + $this->db_add_param($this->plankostenprolektor) . ', ' . + $this->db_add_param($this->updateamum) . ', ' . + $this->db_add_param($this->updatevon) . ',' . + $this->db_add_param($this->sort) . ',' . + $this->db_add_param($this->zeugnis, FHC_BOOLEAN) . ',' . + $this->db_add_param($this->projektarbeit, FHC_BOOLEAN) . ',' . + $this->db_add_param($this->sprache) . ',' . + $this->db_add_param($this->koordinator) . ',' . + $this->db_add_param($this->bezeichnung_english) . ',' . + $this->db_add_param($this->orgform_kurzbz) . ',' . + $this->db_add_param($this->incoming) . ');'; + } else { //bestehenden Datensatz akualisieren - //Pruefen ob lehrveranstaltung_id eine gueltige Zahl ist - if(!is_numeric($this->lehrveranstaltung_id) || $this->lehrveranstaltung_id == '') - { + if (!is_numeric($this->lehrveranstaltung_id) || $this->lehrveranstaltung_id == '') { $this->errormsg = 'lehrveranstaltung_id muss eine gueltige Zahl sein'; return false; } - $qry = 'UPDATE lehre.tbl_lehrveranstaltung SET '. - 'studiengang_kz='.$this->db_add_param($this->studiengang_kz, FHC_INTEGER) .', '. - 'bezeichnung='.$this->db_add_param($this->bezeichnung) .', '. - 'kurzbz='.$this->db_add_param($this->kurzbz) .', '. - 'lehrform_kurzbz='.$this->db_add_param($this->lehrform_kurzbz) .', '. - 'semester='.$this->db_add_param($this->semester, FHC_INTEGER) .', '. - 'ects='.$this->db_add_param($this->ects) .', '. - 'semesterstunden='.$this->db_add_param($this->semesterstunden, FHC_INTEGER) .', '. - 'anmerkung='.$this->db_add_param($this->anmerkung) .', '. - 'lehre='.$this->db_add_param($this->lehre, FHC_BOOLEAN) .', '. - 'lehreverzeichnis='.$this->db_add_param($this->lehreverzeichnis) .', '. - 'aktiv='.$this->db_add_param($this->aktiv, FHC_BOOLEAN) .', '. - 'ext_id='.$this->db_add_param($this->ext_id) .', '. - 'planfaktor='.$this->db_add_param($this->planfaktor) .', '. - 'planlektoren='.$this->db_add_param($this->planlektoren) .', '. - 'planpersonalkosten='.$this->db_add_param($this->planpersonalkosten) .', '. - 'plankostenprolektor='.$this->db_add_param($this->plankostenprolektor) .', '. - 'updateamum='.$this->db_add_param($this->updateamum) .','. - 'updatevon='.$this->db_add_param($this->updatevon) .','. - 'sort='.$this->db_add_param($this->sort) .','. - 'incoming='.$this->db_add_param($this->incoming).','. - 'zeugnis='.$this->db_add_param($this->zeugnis, FHC_BOOLEAN).','. - 'projektarbeit='.$this->db_add_param($this->projektarbeit, FHC_BOOLEAN).','. - 'koordinator='.$this->db_add_param($this->koordinator).','. - 'sprache='.$this->db_add_param($this->sprache).','. - 'bezeichnung_english='.$this->db_add_param($this->bezeichnung_english).','. - 'orgform_kurzbz='.$this->db_add_param($this->orgform_kurzbz).' '. - 'WHERE lehrveranstaltung_id = '.$this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER, false).';'; + $qry = 'UPDATE lehre.tbl_lehrveranstaltung SET ' . + 'studiengang_kz=' . $this->db_add_param($this->studiengang_kz, FHC_INTEGER) . ', ' . + 'bezeichnung=' . $this->db_add_param($this->bezeichnung) . ', ' . + 'kurzbz=' . $this->db_add_param($this->kurzbz) . ', ' . + 'lehrform_kurzbz=' . $this->db_add_param($this->lehrform_kurzbz) . ', ' . + 'semester=' . $this->db_add_param($this->semester, FHC_INTEGER) . ', ' . + 'ects=' . $this->db_add_param($this->ects) . ', ' . + 'semesterstunden=' . $this->db_add_param($this->semesterstunden, FHC_INTEGER) . ', ' . + 'anmerkung=' . $this->db_add_param($this->anmerkung) . ', ' . + 'lehre=' . $this->db_add_param($this->lehre, FHC_BOOLEAN) . ', ' . + 'lehreverzeichnis=' . $this->db_add_param($this->lehreverzeichnis) . ', ' . + 'aktiv=' . $this->db_add_param($this->aktiv, FHC_BOOLEAN) . ', ' . + 'ext_id=' . $this->db_add_param($this->ext_id) . ', ' . + 'planfaktor=' . $this->db_add_param($this->planfaktor) . ', ' . + 'planlektoren=' . $this->db_add_param($this->planlektoren) . ', ' . + 'planpersonalkosten=' . $this->db_add_param($this->planpersonalkosten) . ', ' . + 'plankostenprolektor=' . $this->db_add_param($this->plankostenprolektor) . ', ' . + 'updateamum=' . $this->db_add_param($this->updateamum) . ',' . + 'updatevon=' . $this->db_add_param($this->updatevon) . ',' . + 'sort=' . $this->db_add_param($this->sort) . ',' . + 'incoming=' . $this->db_add_param($this->incoming) . ',' . + 'zeugnis=' . $this->db_add_param($this->zeugnis, FHC_BOOLEAN) . ',' . + 'projektarbeit=' . $this->db_add_param($this->projektarbeit, FHC_BOOLEAN) . ',' . + 'koordinator=' . $this->db_add_param($this->koordinator) . ',' . + 'sprache=' . $this->db_add_param($this->sprache) . ',' . + 'bezeichnung_english=' . $this->db_add_param($this->bezeichnung_english) . ',' . + 'orgform_kurzbz=' . $this->db_add_param($this->orgform_kurzbz) . ' ' . + 'WHERE lehrveranstaltung_id = ' . $this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER, false) . ';'; } - if($this->db_query($qry)) - { - if($new) - { + if ($this->db_query($qry)) { + if ($new) { $qry = "SELECT currval('lehre.tbl_lehrveranstaltung_lehrveranstaltung_id_seq') as id"; - if($this->db_query($qry)) - { - if($row = $this->db_fetch_object()) - { + if ($this->db_query($qry)) { + if ($row = $this->db_fetch_object()) { $this->lehrveranstaltung_id = $row->id; $this->db_query('COMMIT;'); return true; - } - else - { + } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; $this->db_query('ROLLBACK'); return false; } - } - else - { + } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; $this->db_query('ROLLBACK'); return false; } } return true; - } - else - { + } else { $this->db_query('ROLLBACK'); $this->errormsg = 'Fehler beim Speichern des Datensatzes'; return false; } } - + /** * Laedt die Lehrveranstaltung zu der ein Mitarbeiter * in einem Studiensemester zugeordnet ist * @param studiengang_kz, uid, studiensemester_kurzbz * @return true wenn ok, false wenn Fehler */ - public function loadLVAfromMitarbeiter($studiengang_kz, $uid, $studiensemester_kurzbz) - { - if(!is_numeric($studiengang_kz)) - { + public function loadLVAfromMitarbeiter($studiengang_kz, $uid, $studiensemester_kurzbz) { + if (!is_numeric($studiengang_kz)) { $this->errormsg = 'Studiengang_kz ist ungueltig'; return false; } $qry = "SELECT * FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter WHERE "; - if($studiengang_kz!=0) - $qry.="tbl_lehrveranstaltung.studiengang_kz=".$this->db_add_param($studiengang_kz)." AND "; + if ($studiengang_kz != 0) + $qry.="tbl_lehrveranstaltung.studiengang_kz=" . $this->db_add_param($studiengang_kz) . " AND "; $qry.= "tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_lehreinheit.lehrveranstaltung_id AND tbl_lehreinheitmitarbeiter.lehreinheit_id = tbl_lehreinheit.lehreinheit_id AND - tbl_lehreinheit.studiensemester_kurzbz = ".$this->db_add_param($studiensemester_kurzbz)." AND - tbl_lehreinheitmitarbeiter.mitarbeiter_uid=".$this->db_add_param($uid).";"; - if($this->db_query($qry)) - { - while($row = $this->db_fetch_object()) - { + tbl_lehreinheit.studiensemester_kurzbz = " . $this->db_add_param($studiensemester_kurzbz) . " AND + tbl_lehreinheitmitarbeiter.mitarbeiter_uid=" . $this->db_add_param($uid) . ";"; + if ($this->db_query($qry)) { + while ($row = $this->db_fetch_object()) { $lv_obj = new lehrveranstaltung(); - $lv_obj->lehrveranstaltung_id=$row->lehrveranstaltung_id; - $lv_obj->studiengang_kz=$row->studiengang_kz; - $lv_obj->bezeichnung=$row->bezeichnung; - $lv_obj->kurzbz=$row->kurzbz; - $lv_obj->lehrform_kurzbz=$row->lehrform_kurzbz; - $lv_obj->semester=$row->semester; - $lv_obj->ects=$row->ects; - $lv_obj->semesterstunden=$row->semesterstunden; - $lv_obj->anmerkung=$row->anmerkung; - $lv_obj->lehre=$this->db_parse_bool($row->lehre); - $lv_obj->lehreverzeichnis=$row->lehreverzeichnis; - $lv_obj->aktiv=$this->db_parse_bool($row->aktiv); - $lv_obj->ext_id=$row->ext_id; - $lv_obj->insertamum=$row->insertamum; - $lv_obj->insertvon=$row->insertvon; - $lv_obj->planfaktor=$row->planfaktor; - $lv_obj->planlektoren=$row->planlektoren; - $lv_obj->planpersonalkosten=$row->planpersonalkosten; - $lv_obj->plankostenprolektor=$row->plankostenprolektor; - $lv_obj->updateamum=$row->updateamum; - $lv_obj->updatevon=$row->updatevon; - $lv_obj->sprache=$row->sprache; - $lv_obj->sort=$row->sort; - $lv_obj->incoming=$row->incoming; - $lv_obj->zeugnis= $this->db_parse_bool($row->zeugnis); - $lv_obj->projektarbeit=$this->db_parse_bool($row->projektarbeit); - $lv_obj->zeugnis=$row->koordinator; + $lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id; + $lv_obj->studiengang_kz = $row->studiengang_kz; + $lv_obj->bezeichnung = $row->bezeichnung; + $lv_obj->kurzbz = $row->kurzbz; + $lv_obj->lehrform_kurzbz = $row->lehrform_kurzbz; + $lv_obj->semester = $row->semester; + $lv_obj->ects = $row->ects; + $lv_obj->semesterstunden = $row->semesterstunden; + $lv_obj->anmerkung = $row->anmerkung; + $lv_obj->lehre = $this->db_parse_bool($row->lehre); + $lv_obj->lehreverzeichnis = $row->lehreverzeichnis; + $lv_obj->aktiv = $this->db_parse_bool($row->aktiv); + $lv_obj->ext_id = $row->ext_id; + $lv_obj->insertamum = $row->insertamum; + $lv_obj->insertvon = $row->insertvon; + $lv_obj->planfaktor = $row->planfaktor; + $lv_obj->planlektoren = $row->planlektoren; + $lv_obj->planpersonalkosten = $row->planpersonalkosten; + $lv_obj->plankostenprolektor = $row->plankostenprolektor; + $lv_obj->updateamum = $row->updateamum; + $lv_obj->updatevon = $row->updatevon; + $lv_obj->sprache = $row->sprache; + $lv_obj->sort = $row->sort; + $lv_obj->incoming = $row->incoming; + $lv_obj->zeugnis = $this->db_parse_bool($row->zeugnis); + $lv_obj->projektarbeit = $this->db_parse_bool($row->projektarbeit); + $lv_obj->zeugnis = $row->koordinator; $lv_obj->bezeichnung_english = $row->bezeichnung_english; $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; - $lv_obj->bezeichnung_arr['German']=$row->bezeichnung; - $lv_obj->bezeichnung_arr['English']=$row->bezeichnung_english; - if($lv_obj->bezeichnung_arr['English']=='') - $lv_obj->bezeichnung_arr['English']=$lv_obj->bezeichnung_arr['German']; - + $lv_obj->bezeichnung_arr['German'] = $row->bezeichnung; + $lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english; + if ($lv_obj->bezeichnung_arr['English'] == '') + $lv_obj->bezeichnung_arr['English'] = $lv_obj->bezeichnung_arr['German']; + $this->lehrveranstaltungen[] = $lv_obj; } return true; } - else - { + else { $this->errormsg = 'Fehler beim Lesen aus der Datenbank'; return false; } } - + /** * Liefert die Tabellenelemente die den Kriterien der Parameter entsprechen * @param $stg Studiengangs_kz - * $sem Semester - * $order Sortierkriterium + * $sem Semester + * $order Sortierkriterium * @return array mit Lehrferanstaltungen oder false=fehler */ - public function getTab($stg=null,$sem=null, $order='lehrveranstaltung_id') - { - if($stg!=null && !is_numeric($stg)) - { + public function getTab($stg = null, $sem = null, $order = 'lehrveranstaltung_id') { + if ($stg != null && !is_numeric($stg)) { $this->errormsg = 'Studiengang_kz muss eine gueltige Zahl sein'; return false; } - if($sem!=null && !is_numeric($sem)) - { + if ($sem != null && !is_numeric($sem)) { $this->errormsg = 'Semester muss eine gueltige Zahl sein'; return false; } $sql_query = "SELECT * FROM lehre.tbl_lehrveranstaltung"; - if($stg!=null || $sem!=null) - $sql_query .= " WHERE true"; + if ($stg != null || $sem != null) + $sql_query .= " WHERE true"; - if($stg!=null) - $sql_query .= " AND studiengang_kz='$stg'"; + if ($stg != null) + $sql_query .= " AND studiengang_kz='$stg'"; - if($sem!=null) + if ($sem != null) $sql_query .= " AND semester='$sem'"; $sql_query .= " ORDER BY $order"; - if($this->db_query($sql_query)) - { - while($row = $this->db_fetch_object()) - { + if ($this->db_query($sql_query)) { + while ($row = $this->db_fetch_object()) { $l = new lehrveranstaltung(); - + $l->lehrveranstaltung_id = $row->lehrveranstaltung_id; $l->kurzbz = $row->kurzbz; $l->bezeichnung = $row->bezeichnung; @@ -832,121 +777,109 @@ class lehrveranstaltung extends basis_db $l->koordinator = $row->koordinator; $l->bezeichnung_english = $row->bezeichnung_english; $l->orgform_kurzbz = $row->orgform_kurzbz; - - $l->bezeichnung_arr['German']=$row->bezeichnung; - $l->bezeichnung_arr['English']=$row->bezeichnung_english; - if($l->bezeichnung_arr['English']=='') - $l->bezeichnung_arr['English']=$l->bezeichnung_arr['German']; - - $this->lehrveranstaltungen[]=$l; + + $l->bezeichnung_arr['German'] = $row->bezeichnung; + $l->bezeichnung_arr['English'] = $row->bezeichnung_english; + if ($l->bezeichnung_arr['English'] == '') + $l->bezeichnung_arr['English'] = $l->bezeichnung_arr['German']; + + $this->lehrveranstaltungen[] = $l; } } - else - { + else { $this->errormsg = $this->db_last_error(); return false; } return true; } - /** + /** * Liefert alle Moodlekurs Ids * @param $lehrveranstaltung_id Id der Lehrveranstaltung * @param $semester Semester * @return array mit Moodlekurs Ids oder false=fehler */ - public function getMoodleKurse($lehrveranstaltung_id, $semester) - { - if($lehrveranstaltung_id == '' || $semester == '') - { - $this->errormsg = 'Id und Semester muss übergeben werden.'; - return false; - } - - $qry = "SELECT mdl_course_id FROM lehre.tbl_moodle - WHERE studiensemester_kurzbz = ".$this->db_add_param($semester)." - AND (lehrveranstaltung_id = ".$this->db_add_param($lehrveranstaltung_id)." - OR lehreinheit_id IN(SELECT lehreinheit_id FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id = ".$this->db_add_param($lehrveranstaltung_id)."));"; - - $moodleArray = array(); - - if($result = $this->db_query($qry)) - { - while($row = $this->db_fetch_object($result)) - { - $moodleArray[] = $row->mdl_course_id; - } - return $moodleArray; - - } - else - { + public function getMoodleKurse($lehrveranstaltung_id, $semester) { + if ($lehrveranstaltung_id == '' || $semester == '') { + $this->errormsg = 'Id und Semester muss übergeben werden.'; + return false; + } + + $qry = "SELECT mdl_course_id FROM lehre.tbl_moodle + WHERE studiensemester_kurzbz = " . $this->db_add_param($semester) . " + AND (lehrveranstaltung_id = " . $this->db_add_param($lehrveranstaltung_id) . " + OR lehreinheit_id IN(SELECT lehreinheit_id FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id = " . $this->db_add_param($lehrveranstaltung_id) . "));"; + + $moodleArray = array(); + + if ($result = $this->db_query($qry)) { + while ($row = $this->db_fetch_object($result)) { + $moodleArray[] = $row->mdl_course_id; + } + return $moodleArray; + } else { $this->errormsg = 'Moodlekurs konnte nicht geladen werden'; return false; - } - - } - + } + } + /** * Laedt die LVs die als Array uebergeben werden * @param $ids Array mit den LV ids * @return true wenn ok, false im Fehlerfall */ - public function loadArray($ids) - { - if(count($ids)==0) + public function loadArray($ids) { + if (count($ids) == 0) return true; - + $ids = $this->db_implode4SQL($ids); - - $qry = 'SELECT * FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id in('.$ids.')'; + + $qry = 'SELECT * FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id in(' . $ids . ')'; $qry .=" ORDER BY bezeichnung"; - if(!$result = $this->db_query($qry)) - { + if (!$result = $this->db_query($qry)) { $this->errormsg = 'Datensatz konnte nicht geladen werden'; return false; - } + } - while($row = $this->db_fetch_object($result)) - { + while ($row = $this->db_fetch_object($result)) { $lv_obj = new lehrveranstaltung(); - $lv_obj->lehrveranstaltung_id=$row->lehrveranstaltung_id; - $lv_obj->studiengang_kz=$row->studiengang_kz; - $lv_obj->bezeichnung=$row->bezeichnung; - $lv_obj->kurzbz=$row->kurzbz; - $lv_obj->lehrform_kurzbz=$row->lehrform_kurzbz; - $lv_obj->semester=$row->semester; - $lv_obj->ects=$row->ects; - $lv_obj->semesterstunden=$row->semesterstunden; - $lv_obj->anmerkung=$row->anmerkung; - $lv_obj->lehre=$this->db_parse_bool($row->lehre); - $lv_obj->lehreverzeichnis=$row->lehreverzeichnis; - $lv_obj->aktiv=$this->db_parse_bool($row->aktiv); - $lv_obj->ext_id=$row->ext_id; - $lv_obj->insertamum=$row->insertamum; - $lv_obj->insertvon=$row->insertvon; - $lv_obj->planfaktor=$row->planfaktor; - $lv_obj->planlektoren=$row->planlektoren; - $lv_obj->planpersonalkosten=$row->planpersonalkosten; - $lv_obj->plankostenprolektor=$row->plankostenprolektor; - $lv_obj->updateamum=$row->updateamum; - $lv_obj->updatevon=$row->updatevon; - $lv_obj->sprache=$row->sprache; - $lv_obj->sort=$row->sort; - $lv_obj->incoming=$row->incoming; - $lv_obj->zeugnis=$this->db_parse_bool($row->zeugnis); - $lv_obj->projektarbeit=$this->db_parse_bool($row->projektarbeit); - $lv_obj->koordinator=$row->koordinator; + $lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id; + $lv_obj->studiengang_kz = $row->studiengang_kz; + $lv_obj->bezeichnung = $row->bezeichnung; + $lv_obj->kurzbz = $row->kurzbz; + $lv_obj->lehrform_kurzbz = $row->lehrform_kurzbz; + $lv_obj->semester = $row->semester; + $lv_obj->ects = $row->ects; + $lv_obj->semesterstunden = $row->semesterstunden; + $lv_obj->anmerkung = $row->anmerkung; + $lv_obj->lehre = $this->db_parse_bool($row->lehre); + $lv_obj->lehreverzeichnis = $row->lehreverzeichnis; + $lv_obj->aktiv = $this->db_parse_bool($row->aktiv); + $lv_obj->ext_id = $row->ext_id; + $lv_obj->insertamum = $row->insertamum; + $lv_obj->insertvon = $row->insertvon; + $lv_obj->planfaktor = $row->planfaktor; + $lv_obj->planlektoren = $row->planlektoren; + $lv_obj->planpersonalkosten = $row->planpersonalkosten; + $lv_obj->plankostenprolektor = $row->plankostenprolektor; + $lv_obj->updateamum = $row->updateamum; + $lv_obj->updatevon = $row->updatevon; + $lv_obj->sprache = $row->sprache; + $lv_obj->sort = $row->sort; + $lv_obj->incoming = $row->incoming; + $lv_obj->zeugnis = $this->db_parse_bool($row->zeugnis); + $lv_obj->projektarbeit = $this->db_parse_bool($row->projektarbeit); + $lv_obj->koordinator = $row->koordinator; $lv_obj->bezeichnung_english = $row->bezeichnung_english; $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; - $lv_obj->bezeichnung_arr['German']=$row->bezeichnung; - $lv_obj->bezeichnung_arr['English']=$row->bezeichnung_english; - if($lv_obj->bezeichnung_arr['English']=='') - $lv_obj->bezeichnung_arr['English']=$lv_obj->bezeichnung_arr['German']; - + $lv_obj->bezeichnung_arr['German'] = $row->bezeichnung; + $lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english; + if ($lv_obj->bezeichnung_arr['English'] == '') + $lv_obj->bezeichnung_arr['English'] = $lv_obj->bezeichnung_arr['German']; + $this->lehrveranstaltungen[] = $lv_obj; } @@ -960,11 +893,9 @@ class lehrveranstaltung extends basis_db * @param $semeser Semester optional * @return boolean true wenn ok, false im Fehlerfall */ - public function loadLehrveranstaltungStudienplan($studienplan_id, $semester=null) - { - if(!is_numeric($studienplan_id) || $studienplan_id==='') - { - $this->errormsg='StudienplanID ist ungueltig'; + public function loadLehrveranstaltungStudienplan($studienplan_id, $semester = null) { + if (!is_numeric($studienplan_id) || $studienplan_id === '') { + $this->errormsg = 'StudienplanID ist ungueltig'; return false; } @@ -979,67 +910,64 @@ class lehrveranstaltung extends basis_db lehre.tbl_lehrveranstaltung JOIN lehre.tbl_studienplan_lehrveranstaltung USING(lehrveranstaltung_id) WHERE - tbl_studienplan_lehrveranstaltung.studienplan_id=".$this->db_add_param($studienplan_id, FHC_INTEGER); - if(!is_null($semester)) - { - $qry.=" AND tbl_studienplan_lehrveranstaltung.semester=".$this->db_add_param($semester, FHC_INTEGER); + tbl_studienplan_lehrveranstaltung.studienplan_id=" . $this->db_add_param($studienplan_id, FHC_INTEGER); + if (!is_null($semester)) { + $qry.=" AND tbl_studienplan_lehrveranstaltung.semester=" . $this->db_add_param($semester, FHC_INTEGER); } - $qry.=" ORDER BY sort"; + $qry.=" ORDER BY semester, sort"; - if($result = $this->db_query($qry)) - { - while($row = $this->db_fetch_object($result)) - { + $this->lehrveranstaltungen = array(); + if ($result = $this->db_query($qry)) { + while ($row = $this->db_fetch_object($result)) { $obj = new lehrveranstaltung(); - - $obj->lehrveranstaltung_id=$row->lehrveranstaltung_id; - $obj->studiengang_kz=$row->studiengang_kz; - $obj->bezeichnung=$row->bezeichnung; - $obj->kurzbz=$row->kurzbz; - $obj->lehrform_kurzbz=$row->lehrform_kurzbz; - $obj->semester=$row->semester; - $obj->ects=$row->ects; - $obj->semesterstunden=$row->semesterstunden; - $obj->anmerkung=$row->anmerkung; - $obj->lehre=$this->db_parse_bool($row->lehre); - $obj->lehreverzeichnis=$row->lehreverzeichnis; - $obj->aktiv=$this->db_parse_bool($row->aktiv); - $obj->ext_id=$row->ext_id; - $obj->insertamum=$row->insertamum; - $obj->insertvon=$row->insertvon; - $obj->planfaktor=$row->planfaktor; - $obj->planlektoren=$row->planlektoren; - $obj->planpersonalkosten=$row->planpersonalkosten; - $obj->plankostenprolektor=$row->plankostenprolektor; - $obj->updateamum=$row->updateamum; - $obj->updatevon=$row->updatevon; - $obj->sprache=$row->sprache; - $obj->sort=$row->sort; - $obj->incoming=$row->incoming; - $obj->zeugnis=$this->db_parse_bool($row->zeugnis); - $obj->projektarbeit=$this->db_parse_bool($row->projektarbeit); - $obj->koordinator=$row->koordinator; + + $obj->lehrveranstaltung_id = $row->lehrveranstaltung_id; + $obj->studiengang_kz = $row->studiengang_kz; + $obj->bezeichnung = $row->bezeichnung; + $obj->kurzbz = $row->kurzbz; + $obj->lehrform_kurzbz = $row->lehrform_kurzbz; + $obj->semester = $row->semester; + $obj->ects = $row->ects; + $obj->semesterstunden = $row->semesterstunden; + $obj->anmerkung = $row->anmerkung; + $obj->lehre = $this->db_parse_bool($row->lehre); + $obj->lehreverzeichnis = $row->lehreverzeichnis; + $obj->aktiv = $this->db_parse_bool($row->aktiv); + $obj->ext_id = $row->ext_id; + $obj->insertamum = $row->insertamum; + $obj->insertvon = $row->insertvon; + $obj->planfaktor = $row->planfaktor; + $obj->planlektoren = $row->planlektoren; + $obj->planpersonalkosten = $row->planpersonalkosten; + $obj->plankostenprolektor = $row->plankostenprolektor; + $obj->updateamum = $row->updateamum; + $obj->updatevon = $row->updatevon; + $obj->sprache = $row->sprache; + $obj->sort = $row->sort; + $obj->incoming = $row->incoming; + $obj->zeugnis = $this->db_parse_bool($row->zeugnis); + $obj->projektarbeit = $this->db_parse_bool($row->projektarbeit); + $obj->koordinator = $row->koordinator; $obj->bezeichnung_english = $row->bezeichnung_english; $obj->orgform_kurzbz = $row->orgform_kurzbz; - $obj->bezeichnung_arr['German']=$row->bezeichnung; - $obj->bezeichnung_arr['English']=$row->bezeichnung_english; - if($obj->bezeichnung_arr['English']=='') - $obj->bezeichnung_arr['English']=$obj->bezeichnung_arr['German']; - + $obj->bezeichnung_arr['German'] = $row->bezeichnung; + $obj->bezeichnung_arr['English'] = $row->bezeichnung_english; + if ($obj->bezeichnung_arr['English'] == '') + $obj->bezeichnung_arr['English'] = $obj->bezeichnung_arr['German']; + $obj->stpllv_semester = $row->stpllv_semester; $obj->stpllv_pflicht = $this->db_parse_bool($row->stpllv_pflicht); $obj->stpllv_koordinator = $row->stpllv_koordinator; $obj->studienplan_lehrveranstaltung_id = $row->studienplan_lehrveranstaltung_id; $obj->studienplan_lehrveranstaltung_id_parent = $row->studienplan_lehrveranstaltung_id_parent; - $obj->new=false; + $obj->new = false; $this->lehrveranstaltungen[] = $obj; } return true; } - else - { + else { $this->errormsg = 'Fehler beim Laden der Daten'; return false; } @@ -1048,14 +976,11 @@ class lehrveranstaltung extends basis_db /** * Liefert die Lehrveranstaltungen als verschachtelten Tree */ - public function getLehrveranstaltungTree() - { - $tree=array(); - foreach($this->lehrveranstaltungen as $row) - { - if($row->studienplan_lehrveranstaltung_id_parent=='') - { - $tree[$row->studienplan_lehrveranstaltung_id]=$row; + public function getLehrveranstaltungTree() { + $tree = array(); + foreach ($this->lehrveranstaltungen as $row) { + if ($row->studienplan_lehrveranstaltung_id_parent == '') { + $tree[$row->studienplan_lehrveranstaltung_id] = $row; $tree[$row->studienplan_lehrveranstaltung_id]->childs = $this->getLehrveranstaltungTreeChilds($row->studienplan_lehrveranstaltung_id); } } @@ -1065,14 +990,11 @@ class lehrveranstaltung extends basis_db /** * Generiert die Subtrees des Lehrveranstaltungstrees */ - protected function getLehrveranstaltungTreeChilds($studienplan_lehrveranstaltung_id) - { + protected function getLehrveranstaltungTreeChilds($studienplan_lehrveranstaltung_id) { $childs = array(); - foreach($this->lehrveranstaltungen as $row) - { - if($row->studienplan_lehrveranstaltung_id_parent===$studienplan_lehrveranstaltung_id) - { - $childs[$row->studienplan_lehrveranstaltung_id]=$row; + foreach ($this->lehrveranstaltungen as $row) { + if ($row->studienplan_lehrveranstaltung_id_parent === $studienplan_lehrveranstaltung_id) { + $childs[$row->studienplan_lehrveranstaltung_id] = $row; $childs[$row->studienplan_lehrveranstaltung_id]->childs = $this->getLehrveranstaltungTreeChilds($row->studienplan_lehrveranstaltung_id); } } @@ -1083,81 +1005,123 @@ class lehrveranstaltung extends basis_db * Speichert die Zuordnung einer Lehrveranstaltung zu einem Studienplan * @return true wenn ok, false im Fehlerfall */ - public function saveStudienplanLehrveranstaltung() - { + public function saveStudienplanLehrveranstaltung() { - if($this->new) - { + if ($this->new) { //Neuen Datensatz einfuegen - $qry='BEGIN;INSERT INTO lehre.tbl_studienplan_lehrveranstaltung (studienplan_id, lehrveranstaltung_id, + $qry = 'BEGIN;INSERT INTO lehre.tbl_studienplan_lehrveranstaltung (studienplan_id, lehrveranstaltung_id, semester,studienplan_lehrveranstaltung_id_parent,pflicht, koordinator, - insertamum, insertvon) VALUES ('. - $this->db_add_param($this->studienplan_id, FHC_INTEGER).', '. - $this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER).', '. - $this->db_add_param($this->stpllv_semester, FHC_INTEGER).', '. - $this->db_add_param($this->studienplan_lehrveranstaltung_id_parent, FHC_INTEGER).', '. - $this->db_add_param($this->stpllv_pflicht, FHC_BOOLEAN).', '. - $this->db_add_param($this->stpllv_koordinator).', '. - 'now(), '. - $this->db_add_param($this->insertvon).');'; - } - else - { + insertamum, insertvon) VALUES (' . + $this->db_add_param($this->studienplan_id, FHC_INTEGER) . ', ' . + $this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER) . ', ' . + $this->db_add_param($this->stpllv_semester, FHC_INTEGER) . ', ' . + $this->db_add_param($this->studienplan_lehrveranstaltung_id_parent, FHC_INTEGER) . ', ' . + $this->db_add_param($this->stpllv_pflicht, FHC_BOOLEAN) . ', ' . + $this->db_add_param($this->stpllv_koordinator) . ', ' . + 'now(), ' . + $this->db_add_param($this->insertvon) . ');'; + } else { //Pruefen ob studienplan_id eine gueltige Zahl ist - if(!is_numeric($this->studienplan_lehrveranstaltung_id)) - { + if (!is_numeric($this->studienplan_lehrveranstaltung_id)) { $this->errormsg = 'studienplan_lehrveranstaltung_id muss eine gueltige Zahl sein'; return false; } - $qry='UPDATE lehre.tbl_studienplan_lehrveranstaltung SET'. - ' studienplan_id='.$this->db_add_param($this->studienplan_id, FHC_INTEGER).', '. - ' lehrveranstaltung_id='.$this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER).', '. - ' semester='.$this->db_add_param($this->stpllv_semester, FHC_INTEGER).', '. - ' studienplan_lehrveranstaltung_id_parent='.$this->db_add_param($this->studienplan_lehrveranstaltung_id_parent, FHC_INTEGER).', '. - ' pflicht='.$this->db_add_param($this->stpllv_pflicht, FHC_BOOLEAN).', '. - ' sprache='.$this->db_add_param($this->sprache).', '. - ' koordinator='.$this->db_add_param($this->stpllv_koordinator).', '. - ' updateamum= now(), '. - ' updatevon='.$this->db_add_param($this->updatevon).' '. - ' WHERE studienplan_lehrveranstaltung_id='.$this->db_add_param($this->studienplan_lehrveranstaltung_id, FHC_INTEGER, false).';'; + $qry = 'UPDATE lehre.tbl_studienplan_lehrveranstaltung SET' . + ' studienplan_id=' . $this->db_add_param($this->studienplan_id, FHC_INTEGER) . ', ' . + ' lehrveranstaltung_id=' . $this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER) . ', ' . + ' semester=' . $this->db_add_param($this->stpllv_semester, FHC_INTEGER) . ', ' . + ' studienplan_lehrveranstaltung_id_parent=' . $this->db_add_param($this->studienplan_lehrveranstaltung_id_parent, FHC_INTEGER) . ', ' . + ' pflicht=' . $this->db_add_param($this->stpllv_pflicht, FHC_BOOLEAN) . ', ' . + ' koordinator=' . $this->db_add_param($this->stpllv_koordinator) . ', ' . + ' updateamum= now(), ' . + ' updatevon=' . $this->db_add_param($this->updatevon) . ' ' . + ' WHERE studienplan_lehrveranstaltung_id=' . $this->db_add_param($this->studienplan_lehrveranstaltung_id, FHC_INTEGER, false) . ';'; } - - if($this->db_query($qry)) - { - if($this->new) - { + + if ($this->db_query($qry)) { + if ($this->new) { //naechste ID aus der Sequence holen - $qry="SELECT currval('lehre.seq_studienplan_studienplan_lehrveranstaltung_id') as id;"; - if($this->db_query($qry)) - { - if($row = $this->db_fetch_object()) - { + $qry = "SELECT currval('lehre.seq_studienplan_studienplan_lehrveranstaltung_id') as id;"; + if ($this->db_query($qry)) { + if ($row = $this->db_fetch_object()) { $this->studienplan_lehrveranstaltung_id = $row->id; $this->db_query('COMMIT'); - } - else - { + } else { $this->db_query('ROLLBACK'); $this->errormsg = "Fehler beim Auslesen der Sequence"; return false; } - } - else - { + } else { $this->db_query('ROLLBACK'); $this->errormsg = 'Fehler beim Auslesen der Sequence'; return false; } } - - } - else - { + } else { $this->errormsg = 'Fehler beim Speichern des Datensatzes'; return false; } return $this->studienplan_lehrveranstaltung_id; } + public function cleanResult() + { + $values = array(); + if (count($this->lehrveranstaltungen) > 0) + { + foreach ($this->lehrveranstaltungen as $lv) + { + $data = new stdClass(); + $data->data = $lv->bezeichnung; + + $obj = new stdClass(); + $obj->lehrveranstaltung_id = $lv->lehrveranstaltung_id; + $obj->studiengang_kz = $lv->studiengang_kz; + $obj->bezeichnung = $lv->bezeichnung; + $obj->kurzbz = $lv->kurzbz; + $obj->lehrform_kurzbz = $lv->lehrform_kurzbz; + $obj->semester = $lv->semester; + $obj->ects = $lv->ects; + $obj->semesterstunden = $lv->semesterstunden; + $data->metadata = $obj; + $data->attr = array(); + $data->attr["id"]=$lv->lehrveranstaltung_id; + $data->attr["rel"] = "lv"; + $values[] = $data; + } + } + else + { + $obj = new stdClass(); + $obj->lehrveranstaltung_id = $this->lehrveranstaltung_id; + $obj->studiengang_kz = $this->studiengang_kz; + $obj->bezeichnung = $this->bezeichnung; + $obj->kurzbz = $this->kurzbz; + $obj->lehrform_kurzbz = $this->lehrform_kurzbz; + $obj->semester = $this->semester; + $obj->ects = $this->ects; + $obj->semesterstunden = $this->semesterstunden; + $values[] = $obj; + } + return $values; + } + + public function getLvTree($studienplan_id){ + $values = array(); + for($i = 1; $i<=6; $i++) + { + $data = new stdClass(); + $data->data = "Semester ".$i; + $data->attr = array(); + $data->attr["id"] = $i; + $data->attr["rel"] = "semester"; + $data->children = array(); + $this->loadLehrveranstaltungStudienplan($studienplan_id, $i); + $data->children = $this->cleanResult(); + //$values[] = $data; + array_push($values, $data); + } + return $values; + } } ?> diff --git a/include/organisationseinheit.class.php b/include/organisationseinheit.class.php index ba3031706..0c00b3a30 100644 --- a/include/organisationseinheit.class.php +++ b/include/organisationseinheit.class.php @@ -461,5 +461,31 @@ class organisationseinheit extends basis_db return false; } + + public function cleanResult(){ + $data = array(); + if(count($this->result)>0){ + foreach($this->result as $oeEinheit){ + $obj = new stdClass(); + $obj->oe_kurzbz = $oeEinheit->oe_kurzbz; + $obj->oe_parent_kurzbz = $oeEinheit->oe_parent_kurzbz; + $obj->bezeichnung = $oeEinheit->bezeichnung; + $obj->organisationseinheittyp_kurzbz = $oeEinheit->organisationseinheittyp_kurzbz; + $obj->aktiv = $oeEinheit->aktiv; + $obj->mailverteiler = $oeEinheit->mailverteiler; + $data[]=$obj; + } + } else { + $obj = new stdClass(); + $obj->oe_kurzbz = $this->oe_kurzbz; + $obj->oe_parent_kurzbz = $this->oe_parent_kurzbz; + $obj->bezeichnung = $this->bezeichnung; + $obj->organisationseinheittyp_kurzbz = $this->organisationseinheittyp_kurzbz; + $obj->aktiv = $this->aktiv; + $obj->mailverteiler = $this->mailverteiler; + $data[]=$obj; + } + return $data; + } } ?> \ No newline at end of file diff --git a/include/studiengang.class.php b/include/studiengang.class.php index b74cd0604..ef7fc23f8 100644 --- a/include/studiengang.class.php +++ b/include/studiengang.class.php @@ -568,6 +568,25 @@ class studiengang extends basis_db return false; } } + + + /** + * @return Array mit allen Semestern des Studienganges + */ + public function getSemesterFromStudiengang($studiengang_kz) + { + $qry = "SELECT DISTINCT semester from lehre.tbl_lehrveranstaltung where studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER)." order by semester asc;"; + if(!$this->db_query($qry)) + { + $this->errormsg = 'Datensatz konnte nicht geladen werden'; + return false; + } + $result = array(); + while ($row = $this->db_fetch_object()) { + $result[]= $row->semester; + } + return $result; + } public function getStudiengangTyp($typ) { @@ -591,4 +610,4 @@ class studiengang extends basis_db } } } -?> \ No newline at end of file +?> diff --git a/include/studienplan.class.php b/include/studienplan.class.php index 4381038fb..46bfe86fe 100644 --- a/include/studienplan.class.php +++ b/include/studienplan.class.php @@ -45,6 +45,16 @@ class studienplan extends basis_db protected $updatevon; // varchar protected $insertamum; // timestamp protected $insertvon; // varchar + + //Tabellenspalten für Zwischentabelle tbl_studienplan_lehrveranstaltung + protected $studienplan_lehrveranstaltung_id; //integer + protected $lehrveranstaltung_id; //integer + protected $semester; //smallint + protected $studienplan_lehrveranstaltung_id_parent; //integer + protected $pflicht; //boolean + protected $koordinator; //varchar(32) + + /** * Konstruktor @@ -369,6 +379,12 @@ class studienplan extends basis_db $obj->updatevon = $row->updatevon; $obj->insertamum = $row->insertamum; $obj->insertvon = $row->insertvon; + $obj->studienplan_lehrveranstaltung_id = $row->studienplan_lehrveranstaltung_id; + $obj->lehrveranstaltung_id = $row->lehrveranstaltung_id; + $obj->semester = $row->semester; + $obj->studienplan_lehrveranstaltung_id_parent = $row->studienplan_lehrveranstaltung_id_parent; + $obj->pflicht = $row->pflicht; + $obj->koordinator = $row->koordinator; $data[]=$obj; } } @@ -389,9 +405,179 @@ class studienplan extends basis_db $obj->updatevon = $this->updatevon; $obj->insertamum = $this->insertamum; $obj->insertvon = $this->insertvon; + $obj->studienplan_lehrveranstaltung_id = $this->studienplan_lehrveranstaltung_id; + $obj->lehrveranstaltung_id = $this->lehrveranstaltung_id; + $obj->semester = $this->semester; + $obj->studienplan_lehrveranstaltung_id_parent = $this->studienplan_lehrveranstaltung_id_parent; + $obj->pflicht = $this->pflicht; + $obj->koordinator = $this->koordinator; $data[]=$obj; } return $data; } + + /** + * Prüft ob eine Lehrveranstaltung im Studienplan enthalten ist + * @return true wenn ja, sonst false + */ + public function containsLehrveranstaltung($studienplan_id, $lehrveranstaltung_id) + { + if (!is_numeric($studienplan_id) || $studienplan_id === '') + { + $this->errormsg = 'StudienplanID ist ungueltig'; + return false; + } + if (!is_numeric($lehrveranstaltung_id) || $lehrveranstaltung_id === '') + { + $this->errormsg = 'LehrveranstaltungID ist ungueltig'; + return false; + } + + $qry = "SELECT + studienplan_lehrveranstaltung_id, + semester as stpllv_semester, + pflicht as stpllv_pflicht, + koordinator as stpllv_koordinator, + studienplan_lehrveranstaltung_id_parent + FROM + lehre.tbl_studienplan_lehrveranstaltung + WHERE + studienplan_id=" . $this->db_add_param($studienplan_id, FHC_INTEGER). + " AND lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER).";"; + + if (!$this->db_query($qry)) + { + $this->errormsg = 'Datensatz konnte nicht geladen werden'; + return false; + } + if($this->db_num_rows()!=0) + { + return true; + } + else + { + return false; + } + } + + /** + * Lädt eine Lehrveranstaltung eines Studienplans aus der + * Zwischentabelle tbl_studienplan_lehrveranstaltung + * @param Studienplan ID + * @param Lehrveranstaltung ID + * @return true wenn ok, false im Fehlerfall + */ + public function loadLehrveranstaltungStudienplanByLvId($studienplan_id, $lehrveranstaltung_id){ + if($this->containsLehrveranstaltung($studienplan_id, $lehrveranstaltung_id)) + { + if (!is_numeric($studienplan_id) || $studienplan_id === '') { + $this->errormsg = 'StudienplanID ist ungueltig'; + return false; + } + if (!is_numeric($lehrveranstaltung_id) || $lehrveranstaltung_id === '') { + $this->errormsg = 'LehrveranstaltungID ist ungueltig'; + return false; + } + + $qry = "SELECT + tbl_lehrveranstaltung.*, + tbl_studienplan_lehrveranstaltung.studienplan_id, + tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id, + tbl_studienplan_lehrveranstaltung.semester as stpllv_semester, + tbl_studienplan_lehrveranstaltung.pflicht as stpllv_pflicht, + tbl_studienplan_lehrveranstaltung.koordinator as stpllv_koordinator, + tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id_parent + FROM + lehre.tbl_lehrveranstaltung + JOIN lehre.tbl_studienplan_lehrveranstaltung USING(lehrveranstaltung_id) + WHERE + tbl_studienplan_lehrveranstaltung.studienplan_id=" . $this->db_add_param($studienplan_id, FHC_INTEGER). + " AND tbl_lehrveranstaltung.lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER).";"; + + if (!$this->db_query($qry)) { + $this->errormsg = 'Datensatz konnte nicht geladen werden'; + return false; + } + + if ($row = $this->db_fetch_object()) { + $this->studienplan_id = $row->studienplan_id; + $this->stpllv_semester = $row->stpllv_semester; + $this->stpllv_pflicht = $this->db_parse_bool($row->stpllv_pflicht); + $this->stpllv_koordinator = $row->stpllv_koordinator; + $this->studienplan_lehrveranstaltung_id = $row->studienplan_lehrveranstaltung_id; + $this->studienplan_lehrveranstaltung_id_parent = $row->studienplan_lehrveranstaltung_id_parent; + $this->new = false; + } + return true; + } + else + { + return false; + } + } + + /** + * Speichert die Zuordnung einer Lehrveranstaltung zu einem Studienplan + * @return true wenn ok, false im Fehlerfall + */ + public function saveStudienplanLehrveranstaltung() { + + if ($this->new) { + //Neuen Datensatz einfuegen + $qry = 'BEGIN;INSERT INTO lehre.tbl_studienplan_lehrveranstaltung (studienplan_id, lehrveranstaltung_id, + semester,studienplan_lehrveranstaltung_id_parent,pflicht, koordinator, + insertamum, insertvon) VALUES (' . + $this->db_add_param($this->studienplan_id, FHC_INTEGER) . ', ' . + $this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER) . ', ' . + $this->db_add_param($this->stpllv_semester, FHC_INTEGER) . ', ' . + $this->db_add_param($this->studienplan_lehrveranstaltung_id_parent, FHC_INTEGER) . ', ' . + $this->db_add_param($this->stpllv_pflicht, FHC_BOOLEAN) . ', ' . + $this->db_add_param($this->stpllv_koordinator) . ', ' . + 'now(), ' . + $this->db_add_param($this->insertvon) . ');'; + } else { + //Pruefen ob studienplan_id eine gueltige Zahl ist + if (!is_numeric($this->studienplan_lehrveranstaltung_id)) { + $this->errormsg = 'studienplan_lehrveranstaltung_id muss eine gueltige Zahl sein'; + return false; + } + $qry = 'UPDATE lehre.tbl_studienplan_lehrveranstaltung SET' . + ' studienplan_id=' . $this->db_add_param($this->studienplan_id, FHC_INTEGER) . ', ' . + ' lehrveranstaltung_id=' . $this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER) . ', ' . + ' semester=' . $this->db_add_param($this->stpllv_semester, FHC_INTEGER) . ', ' . + ' studienplan_lehrveranstaltung_id_parent=' . $this->db_add_param($this->studienplan_lehrveranstaltung_id_parent, FHC_INTEGER) . ', ' . + ' pflicht=' . $this->db_add_param($this->stpllv_pflicht, FHC_BOOLEAN) . ', ' . + //TODO sprache in Tabelle nicht vorhanden' sprache=' . $this->db_add_param($this->sprache) . ', ' . + ' koordinator=' . $this->db_add_param($this->stpllv_koordinator) . ', ' . + ' updateamum= now(), ' . + ' updatevon=' . $this->db_add_param($this->updatevon) . ' ' . + ' WHERE studienplan_lehrveranstaltung_id=' . $this->db_add_param($this->studienplan_lehrveranstaltung_id, FHC_INTEGER, false) . ';'; + } + + if ($this->db_query($qry)) { + if ($this->new) { + //naechste ID aus der Sequence holen + $qry = "SELECT currval('lehre.seq_studienplan_studienplan_lehrveranstaltung_id') as id;"; + if ($this->db_query($qry)) { + if ($row = $this->db_fetch_object()) { + $this->studienplan_lehrveranstaltung_id = $row->id; + $this->db_query('COMMIT'); + } else { + $this->db_query('ROLLBACK'); + $this->errormsg = "Fehler beim Auslesen der Sequence"; + return false; + } + } else { + $this->db_query('ROLLBACK'); + $this->errormsg = 'Fehler beim Auslesen der Sequence'; + return false; + } + } + } else { + $this->errormsg = 'Fehler beim Speichern des Datensatzes'; + return false; + } + return $this->studienplan_lehrveranstaltung_id; + } } ?> diff --git a/soap/fhcomplete.php b/soap/fhcomplete.php index 554b369d5..0b7e03deb 100644 --- a/soap/fhcomplete.php +++ b/soap/fhcomplete.php @@ -39,7 +39,16 @@ $parameter=array(); for($i=0;$i<100;$i++) { if(isset($_REQUEST['parameter_'.$i])) - $parameter[]=$_REQUEST['parameter_'.$i]; + { + if($_REQUEST['parameter_'.$i]=="true") + $parameter[]=true; + elseif($_REQUEST['parameter_'.$i]=="false") + $parameter[]=false; + elseif($_REQUEST['parameter_'.$i]=="null") + $parameter[]=null; + else + $parameter[]=$_REQUEST['parameter_'.$i]; + } else break; } @@ -69,6 +78,7 @@ if(mb_stristr($method,'save')) if(isset($loaddata['method'])) { + var_dump($loaddata); if(!$wsrecht->isUserAuthorized($uid, $loaddata['method'])) die('keine Berechtigung'); @@ -97,6 +107,7 @@ if(mb_stristr($method,'save')) if(!$error) { + var_dump($savedata); // Attribute zuweisen zum Speichern foreach($savedata as $key=>$value) { @@ -106,7 +117,7 @@ if(mb_stristr($method,'save')) } if(!$error && call_user_func_array(array($obj, $method), $parameter)) -{ +{ $data['result']=$obj->cleanResult(); $data['error']='false'; $data['errormsg']=''; diff --git a/soap/lehrveranstaltung.json.php b/soap/lehrveranstaltung.json.php index 26a848a72..2b59affbd 100644 --- a/soap/lehrveranstaltung.json.php +++ b/soap/lehrveranstaltung.json.php @@ -54,6 +54,36 @@ switch($method) $data['errormsg']=$lehrveranstaltung->errormsg; } break; + case 'getSemesterFromStudiengang': + $studiengang_kz = $_REQUEST['studiengang_kz']; + $lehrveranstaltung = new lehrveranstaltung(); + if(($result = $lehrveranstaltung->getSemesterFromStudiengang($studiengang_kz))) + { + $data["result"]=$result; + $data['error']='false'; + $data['errormsg']=''; + } + else + { + $data['error']='true'; + $data['errormsg']=$lehrveranstaltung->errormsg; + } + break; + case 'getLvTree': + $studienplan_id = $_REQUEST['studienplan_id']; + $lehrveranstaltung = new lehrveranstaltung(); + if(($result = $lehrveranstaltung->getLvTree($studienplan_id))) + { + $data["result"]=$result; + $data['error']='false'; + $data['errormsg']=''; + } + else + { + $data['error']='true'; + $data['errormsg']=$lehrveranstaltung->errormsg; + } + break; default: break; } diff --git a/soap/studienplan.json.php b/soap/studienplan.json.php index fcdb8e36f..d42e43183 100644 --- a/soap/studienplan.json.php +++ b/soap/studienplan.json.php @@ -36,6 +36,21 @@ switch($method) $data['errormsg']=$studienplan->errormsg; } break; + case 'getSemesterFromStudiengang': + $studiengang_kz = $_REQUEST['studiengang_kz']; + $studiengang = new studiengang(); + if(($result = $studiengang->getSemesterFromStudiengang($studiengang_kz))) + { + $data["result"]=$result; + $data['error']='false'; + $data['errormsg']=''; + } + else + { + $data['error']='true'; + $data['errormsg']=$studiengang->errormsg; + } + break; default: break; } diff --git a/vilesci/lehre/studienordnung.js b/vilesci/lehre/studienordnung.js index 4317e33f1..9c317a8e3 100644 --- a/vilesci/lehre/studienordnung.js +++ b/vilesci/lehre/studienordnung.js @@ -43,7 +43,7 @@ function drawHeader(text) if(studienordnung_bezeichnung!='') text=text+' > '+studienordnung_bezeichnung; if(studienplan_bezeichnung!='') - text=text+' > '+studienplan_bezeichnung; + text=text+' > '+studienplan_bezeichnung + " Beispieldaten"; text=text+''; @@ -86,7 +86,7 @@ function StudienordnungLoaded(data) else { drawStudienordnungen(data.result); - $( "#menueLinks" ).accordion("option","active",1); + jqUi( "#menueLinks" ).accordion("option","active",1); } } @@ -131,7 +131,7 @@ function StudienplanSTOLoaded(data) else { drawStudienplan(data.result); - $( "#menueLinks" ).accordion("option","active",2); + jqUi( "#menueLinks" ).accordion("option","active",2); } } @@ -157,14 +157,195 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung) dataType: "json", url: "../../soap/lehrveranstaltung.json.php", data: { - "method": "loadLehrveranstaltungStudienplan", + "typ": "json", + "class": "lehrveranstaltung", + "method": "getLvTree", +// "parameter_0": 100, //for debugging "studienplan_id": studienplan_id }, - success: LehrveranstaltungSTPLLoaded, error: loadError - }); + }).success(function(data) + { + if(data.result[0].lehrveranstaltung_id !== null) + { + $("#data").jstree({ + ui: { + "select_limit": -1, + "select_multiple_modifier": "ctrl" + }, + json_data: { + data: data.result + }, + crrm: { + move: { + "always_copy": "multitree", + "check_move": function(m) { + //alert(m.o[0].id); +// alert($("#data").jstree._get_parent(m.o)); +// if(jQuery.jstree._reference("#data")._get_children(m.np).find("li[id="+m.o[0].id+"]")) +// { +// //alert(jQuery.jstree._reference("#data")._get_children(m.np).find("li[id="+m.o[0].id+"]")); +// return true; +// } +// else +// { +// return false; +// } +// return (m.ot === m.rt) || !m.rt.get_container().find("li[id="+m.o[0].id+"]").length; + //console.log(m.rt._get_children(m.np).find("li[id="+m.o[0].id+"]").length+" "+m.np[0].id); + //console.log(m.np.children().find("li[id="+m.o[0].id+"]").length); + if(m.np.children().find("li[id="+m.o[0].id+"]").length !== 0) + { + return false; + } + return true; + } + } + }, + dnd: { + "drag_check": function(data){ + return { + after: true, + before: true, + inside: true + } + } + }, + grid: { + columns: [ + {width: 300, header: "Lehrveranstaltung", value: "bezeichnung", source: "metadata"}, + {width: 50, header: "ECTS", value: "ects", source: "metadata"}, + {width: 120, header: "Semesterstunden", value: "semesterstunden", source: "metadata"} + ], + resizable: true + }, + types: { + "types" : { + "valid_children" : ["semester", "lv"], + "lv" : { + icon : { + //image : "test.jpg" + }, + max_children: 0 + }, + "semester" : { + "valid_children" : ["lv"] + }, + "default" : { + "valid_children" : [ "default" ] + } + } + }, + sort : function(a, b){ + return this._get_node(a).attr("rel") > this._get_node(b).attr("rel"); + }, + plugins: ["themes", "ui", "dnd", "grid", "json_data", "crrm", "types", "sort"] + }).bind("move_node.jstree", function(event, data) + { + saveJsondataFromTree("copy_"+data.rslt.o[0].id, studienplan_id); + var root = data.inst.get_container_ul(); + var nodes = root[0].childNodes; + for(var i=0; iOrganisationseinheit
"); + $.ajax( + { + dataType: "json", + url: "../../soap/fhcomplete.php", + data: { + "typ": "json", + "class": "organisationseinheit", + "method": "getAll", + }, + error: loadError + }).success(function(data) + { + var html = "
"; + $("#oeDiv").html(html); + loadLehrtypen(); + }); + }) } + +//LehrveranstaltungSTPLLoaded nicht in Verwendung function LehrveranstaltungSTPLLoaded(data) { if(data.error=='true') @@ -175,9 +356,33 @@ function LehrveranstaltungSTPLLoaded(data) { lehrveranstaltungen = data.result; drawLehrveranstaltung(data.result); - $( "#menueRechts" ).accordion("option","active",0); + jqUi( "#menueRechts" ).accordion("option","active",1); //drawLehrveranstaltungGrid(); - $("#lehrveranstaltung").html("

Organisationseinheit

Lehrtyp

"); + $("#lehrveranstaltung").html("

Organisationseinheit

Lehrtyp

"); + $.ajax( + { + dataType: "json", + url: "../../soap/fhcomplete.php", + data: { + "typ": "json", + "class": "organisationseinheit", + "method": "getAll", + }, + error: loadError + }).success(function(data) + { + var html = ""; + $("#oeDiv").html(html); + }); } } @@ -216,6 +421,216 @@ function neuerStudienplan() $("#data").load('studienordnung.inc.php?method=neuerStudienplan&studiengang_kz='+studiengang_kz); } +/* +* Funktion zum Laden des Baumes der +* gefilterten LVs +* */ +function loadFilteredLehrveranstaltungen() +{ + $.ajax( + { + dataType: "json", + url: "../../soap/fhcomplete.php", + data: { + "typ": "json", + "class": "lehrveranstaltung", + "method": "load_lva", + "parameter_0": studiengang_kz, //Studiengangskennzahl + "parameter_1": $("#semesterDropdown").val(), //Semester + "parameter_2": "null", //Lehrverzeichnis + "parameter_3": true, //Lehre + "parameter_4": true, //Aktiv + "parameter_5": "bezeichnung", //Sortierung + "parameter_6": $("#oeDropdown").val(), //Organisationseinheit KurzBz + "parameter_7": $("#lehrtypDropdown").val() //Lehrtyp KurzBz + }, + error: loadError + }).success(function(data) + { + if(data.result[0].lehrveranstaltung_id!==null) + { + + if($("#lvListe").length === 0) + { + $("#filteredLVs").html("

Lehrveranstaltungen

"); + } + $("#lvListe").jstree({ + ui: { + "select_limit": -1, + "select_multiple_modifier": "ctrl" + }, + json_data: { + data: data.result + }, + crrm: { + move: { + "check_move" : function(m) + { + return false; + }, + "always_copy": "multitree" + } + }, + grid: { + columns: [ + {width: 325, header: "Lehrveranstaltung", value: "bezeichnung", source: "metadata"}, + {width: 50, header: "ECTS", value: "ects", source: "metadata"}, + {width: 80, header: "Semester", value: "semester", source: "metadata"}, + {width: 120, header: "Semesterstunden", value: "semesterstunden", source: "metadata"} + ], + resizable: true + }, + plugins: ["themes", "ui", "dnd", "grid", "json_data", "crrm", "types"] + }).bind("loaded.jstree", function(event, data) + { + hideAllTreeColumns(); + }); + } else { + $("#filteredLVs .jstree-grid-wrapper").remove(); + if($("#lvListe").length !== 0) + { + $("#lvListe").remove(); + } + $("h3:contains('Lehrveranstaltungen')").remove(); + $("#filteredLVs").append("
Keine Einträge gefunden!
"); + } + }); +} + +/* +* Funktion zum Laden der Daten für +* das Dropdownfeld zum Filtern nach Lehrtyp +*/ +function loadLehrtypen() +{ + $.ajax( + { + dataType: "json", + url: "../../soap/fhcomplete.php", + data: { + "typ": "json", + "class": "lehrtyp", + "method": "getAll" + }, + error: loadError + }).success(function(data) + { + if($("#lehrtypenDiv").length === 0) + { + $("#lehrveranstaltung").append("

Lehrtyp

"); + } + var html = ""; + $("#lehrtypenDiv").html(html); + loadSemester(); + }); +} + +/* +* Funktion zum Laden der Daten für +* das Dropdownfeld zum Filtern nach Semester +*/ +function loadSemester() +{ + $.ajax( + { + dataType: "json", + url: "../../soap/studienplan.json.php", + data: { + "method": "getSemesterFromStudiengang", + "studiengang_kz": studiengang_kz + }, + error: loadError + }).success(function(data) + { + if($("#semesterListe").length === 0) + { + $("#lehrveranstaltung").append("

Semester

"); + } + var html = ""; + $("#semesterListe").html(html); + loadFilteredLehrveranstaltungen(); + }); +} + +/* +* Funktion zum Verstecken der Spalten im Baum der +* gefilterten LV-Liste + */ +function hideAllTreeColumns() +{ + var headers = $("#filteredLVs .jstree-grid-header-cell"); + var separators = $("#filteredLVs .jstree-grid-separator"); + //separators[0].style.display = "none"; + for(var j=2; j"; +} diff --git a/vilesci/lehre/studienordnung.php b/vilesci/lehre/studienordnung.php index c9ab497e6..959e2d02c 100644 --- a/vilesci/lehre/studienordnung.php +++ b/vilesci/lehre/studienordnung.php @@ -26,6 +26,7 @@ require_once('../../include/studienplan.class.php'); require_once('../../include/studiengang.class.php'); require_once('../../include/benutzerberechtigung.class.php'); require_once('../../include/functions.inc.php'); +require_once('../../include/lehrveranstaltung.class.php'); $uid = get_uid(); @@ -44,27 +45,54 @@ echo ' + + + + + + + + + + - -'; +"; if(!$rechte->isBerechtigt('lehre/studienordnung')) die('Sie haben keine Berechtigung für diese Seite'); $studiengang = new studiengang(); @@ -116,17 +144,50 @@ echo ' -
+
 
+
+ +
-