diff --git a/admin/sync/sync_vilesci_portal_lehreinheit.php b/admin/sync/sync_vilesci_portal_lehreinheit.php index 9a016b683..953c9b124 100644 --- a/admin/sync/sync_vilesci_portal_lehreinheit.php +++ b/admin/sync/sync_vilesci_portal_lehreinheit.php @@ -190,6 +190,7 @@ if($result = pg_query($conn_vilesci, $qry)) raumtyp='$row->raumtyp' AND raumtypalternativ='$row->raumtypalternativ' AND unr ".($row->unr!=''?"='$row->unr'":'is null')." AND + lvnr ".($row->lvnr!=''?"='$row->lvnr'":'is null')." AND mitarbeiter_uid='$row->lektor'"; if($result2 = pg_query($conn,$qry)) { @@ -233,6 +234,11 @@ if($result = pg_query($conn_vilesci, $qry)) $lehreinheit->lehre = true; $lehreinheit->anmerkung = $row->anmerkung; $lehreinheit->unr = $row->unr; + $lehreinheit->lvnr = $row->lvnr; + $lehreinheit->updateamum = ''; + $lehreinheit->updatevon = ''; + $lehreinheit->insertamum = ''; + $lehreinheit->insertvon = ''; $lehreinheit->ext_id = $row->lehrveranstaltung_id; //Datensatz Speichern diff --git a/cis/private/lehre/anwesenheitsliste.pdf.php b/cis/private/lehre/anwesenheitsliste.pdf.php index 3616d684c..6ddc0dada 100644 --- a/cis/private/lehre/anwesenheitsliste.pdf.php +++ b/cis/private/lehre/anwesenheitsliste.pdf.php @@ -12,8 +12,6 @@ * anwesenheitsliste.pdf.php?stg=222&sem=1&einheit=DVT-1xyz1&lfvt=1234 //alle Studenten vom Studiengang 222, Semester 1, Einheit DVT-1xyz1 Lehrfach 1234 */ - //error_reporting(E_ALL); - //ini_set('display_errors','1'); setlocale(LC_ALL, "de"); // Pfad zu fpdf define('FPDF_FONTPATH','../../../include/pdf/font/'); @@ -26,6 +24,8 @@ require_once('../../../include/studiensemester.class.php'); require_once('../../../include/lehrveranstaltung.class.php'); require_once('../../../include/pdf.inc.php'); + error_reporting(E_ALL); + ini_set('display_errors','1'); if(!$conn=pg_pconnect(CONN_STRING)) die('Fehler beim Herstellen der Datenbankverbindung'); diff --git a/cis/private/lehre/anwesenheitsliste.php b/cis/private/lehre/anwesenheitsliste.php index cad59a9f5..8567e5cb0 100644 --- a/cis/private/lehre/anwesenheitsliste.php +++ b/cis/private/lehre/anwesenheitsliste.php @@ -80,9 +80,9 @@ $nt_content=''; //Content fuer Anwesenheitslisten erstellen - $qry = "SELECT kurzbzlang FROM public.tbl_studiengang WHERE studiengang_kz='$stg_kz'"; + $qry = "SELECT kurzbz FROM public.tbl_studiengang WHERE studiengang_kz='$stg_kz'"; if($row=pg_fetch_object(pg_query($conn,$qry))) - $kurzbzlang = $row->kurzbzlang; + $kurzbzlang = $row->kurzbz; else echo "Fehler beim Auslesen der Daten"; diff --git a/cis/private/lehre/ects/preview.php b/cis/private/lehre/ects/preview.php index 17eb1eab5..35cbbf118 100644 --- a/cis/private/lehre/ects/preview.php +++ b/cis/private/lehre/ects/preview.php @@ -71,7 +71,7 @@ font-size:10pt; echo "
  • Englische Version
  • "; } - if(isset($_POST['lehrende'])) //Alle Variablen werden per POST Methode uebergeben (zB bei Voransicht) + if(isset($_POST['titel_de'])) //Alle Variablen werden per POST Methode uebergeben (zB bei Voransicht) { //$sprache = stripslashes($_POST['sprache']); //$semstunden = stripslashes($_POST["semstunden"]); diff --git a/cis/private/lehre/pinboard.php b/cis/private/lehre/pinboard.php index 70b83a928..98e58e5ca 100644 --- a/cis/private/lehre/pinboard.php +++ b/cis/private/lehre/pinboard.php @@ -43,7 +43,7 @@ if(isset($_GET['course_id']) && is_numeric($_GET['course_id'])) { $stg_obj = new studiengang($sql_conn, $course_id); - $short = $stg_obj->kurzbzlang; + $short = $stg_obj->kurzbz; $course_id = $_GET['course_id']; } else diff --git a/cis/private/tools/psearch.php b/cis/private/tools/psearch.php index 4b8a6a560..0db2377cd 100644 --- a/cis/private/tools/psearch.php +++ b/cis/private/tools/psearch.php @@ -1,4 +1,24 @@ , + * Andreas Oesterreicher and + * Rudolf Hangl . + */ require_once('../../config.inc.php'); require_once('../../../include/functions.inc.php'); require_once('../../../include/funktion.class.php'); @@ -186,11 +206,11 @@ { if($i % 2 == 0) { - echo "  $row->nachname $row->titelpost"; + echo "  $row->nachname $row->titelpost"; } else { - echo "  $row->nachname $row->titelpost"; + echo "  $row->nachname $row->titelpost"; } } else @@ -281,12 +301,12 @@ if($i % 2 == 0) { - echo " $stg_obj->kurzbzlang"; + echo " $stg_obj->kurzbz"; $kurzbz=$stg_obj->kurzbz; } else { - echo " $stg_obj->kurzbzlang"; + echo " $stg_obj->kurzbz"; $kurzbz=$stg_obj->kurzbz; } } diff --git a/include/lehreinheit.class.php b/include/lehreinheit.class.php index 810eeb158..1040aec6c 100644 --- a/include/lehreinheit.class.php +++ b/include/lehreinheit.class.php @@ -41,6 +41,11 @@ class lehreinheit var $lehre; // boolean var $anmerkung; // varchar(255) var $unr; // integer + var $lvnr; // bigint + var $insertamum; // timestamp + var $insertvon; // varchar(16) + var $updateamum; // timestamp + var $updatevon; // varchar(16) var $ext_id; // bigint // ************************************************************************* @@ -78,6 +83,46 @@ class lehreinheit return false; } + function load_lehreinheiten($lehrveranstaltung_id, $studiensemester_kurzbz) + { + $qry = "SELECT * FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id='$lehrveranstaltung_id' AND studiensemester_kurzbz='$studiensemester_kurzbz'"; + + if($result = pg_query($this->conn, $qry)) + { + while($row = pg_fetch_object($result)) + { + $le_obj = new lehreinheit($this->conn); + + $le_obj->lehreinheit_id = $row->lehreinheit_id; + $le_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id; + $le_obj->studiensemester_kurzbz = $row->studiensemester_kurzbz; + $le_obj->lehrfach_id = $row->lehrfach_id; + $le_obj->lehrform_kurzbz = $row->lehrform_kurzbz; + $le_obj->stundenblockung = $row->stundenblockung; + $le_obj->wochenrythmus = $row->wochenrythmus; + $le_obj->start_kw = $row->start_kw; + $le_obj->raumtyp = $row->raumtyp; + $le_obj->raumtypalternativ = $row->raumtypalternativ; + $le_obj->lehre = ($row->lehre=='t'?true:false); + $le_obj->anmerkung = $row->anmerkung; + $le_obj->unr = $row->unr; + $le_obj->lvnr = $row->lvnr; + $le_obj->insertamum = $row->insertamum; + $le_obj->insertvon = $row->insertvon; + $le_obj->updateamum = $row->updateamum; + $le_obj->updatevon = $row->updatevon; + $le_obj->ext_id = $row->ext_id; + + $this->lehreinheiten[] = $le_obj; + } + } + else + { + $this->errormsg = 'Fehler beim Laden der Lehreinheiten'; + return false; + } + } + // ******************************************* // * Prueft die Variablen vor dem Speichern // * auf Gueltigkeit. @@ -225,6 +270,11 @@ class lehreinheit ($this->lehre?'true':'false').','. $this->addslashes($this->anmerkung).','. $this->addslashes($this->unr).','. + $this->addslashes($this->lvnr).','. + $this->addslashes($this->insertamum).','. + $this->addslashes($this->insertvon).','. + $this->addslashes($this->updateamum).','. + $this->addslashes($this->updatevon).','. $this->addslashes($this->ext_id).');'; } else @@ -242,6 +292,9 @@ class lehreinheit ' lehre='.($this->lehre?'true':'false').','. ' anmerkung='.$this->addslashes($this->anmerkung).','. ' unr='.$this->addslashes($this->unr).','. + ' lvnr='.$this->addslashes($this->lvnr).','. + ' updateamum='.$this->addslashes($this->updateamum).','. + ' updatevon='.$this->addslashes($this->updatevon).','. ' ext_id='.$this->addslashes($this->ext_id). " WHERE lehreinheit_id=".$this->addslashes($this->lehreinheit_id).";"; } diff --git a/include/pdf.inc.php b/include/pdf.inc.php index 04608593b..68c163c3c 100644 --- a/include/pdf.inc.php +++ b/include/pdf.inc.php @@ -45,7 +45,7 @@ class PDF extends FPDF function Footer() { // Check if Footer for this page already exists (do the same for Header()) - if(!$this->footerset[$this->page]) { + if(!isset($this->footerset[$this->page]) || !$this->footerset[$this->page]) { $this->SetY(-30); //Page number $this->Cell(0,10,'Seite '.$this->PageNo().'/{nb}',0,0,'C'); @@ -61,7 +61,7 @@ class PDF extends FPDF function Header() { // Check if Header for this page already exists (do the same for Footer()) - if(!$this->headerset[$this->page]) { + if(!isset($this->headerset[$this->page]) || !$this->headerset[$this->page]) { $this->SetFont('Arial','B',10); $this->SetY(25); //Page number diff --git a/include/studiensemester.class.php b/include/studiensemester.class.php index eacc2f9a0..c98108e17 100644 --- a/include/studiensemester.class.php +++ b/include/studiensemester.class.php @@ -212,5 +212,28 @@ class studiensemester } } + function getAll() + { + $qry = "SELECT * FROM public.tbl_studiensemester ORDER BY ende"; + + if($result = pg_query($this->conn, $qry)) + { + while($row = pg_fetch_object($result)) + { + $stsem_obj = new studiensemester($this->conn); + + $stsem_obj->studiensemester_kurzbz = $row->studiensemester_kurzbz; + $stsem_obj->start = $row->start; + $stsem_obj->ende = $row->ende; + + $this->studiensemester[] = $stsem_obj; + } + } + else + { + $this->errormsg = 'Fehler beim Laden der Studiensemester'; + return false; + } + } } ?> \ No newline at end of file diff --git a/include/uebung.class.php b/include/uebung.class.php new file mode 100644 index 000000000..c6e0c05f5 --- /dev/null +++ b/include/uebung.class.php @@ -0,0 +1,259 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ + +class uebung +{ + var $conn; // resource DB-Handle + var $errormsg; // string + var $new; // boolean + var $uebungen = array(); // lehreinheit Objekt + + //Tabellenspalten + var $uebung_id; // serial + var $gewicht; // smalint + var $punkte; // Real + var $angabedatei; // oid + var $freigabevon; // timestamp + var $freigabebis; // timestamp + var $abgabe; // boolean + var $beispiele; // boolean + var $bezeichnung; // varchar(32) + var $positiv; // boolean + var $defaultbemerkung; // text + var $lehreinheit_id; // integer + var $updateamum; // timestamp + var $updatevon; // varchar(16) + var $insertamum; // timestamp + var $insertvon; // varchar(16) + + // ************************************************************************* + // * Konstruktor - Uebergibt die Connection und laedt optional eine LE + // * @param $conn Datenbank-Connection + // * $uebung_id + // * $unicode Gibt an ob die Daten mit UNICODE Codierung + // * oder LATIN9 Codierung verarbeitet werden sollen + // ************************************************************************* + function uebung($conn, $uebung_id=null, $unicode=false) + { + $this->conn = $conn; + + if($unicode) + $qry = "SET CLIENT_ENCODING TO 'UNICODE';"; + else + $qry = "SET CLIENT_ENCODING TO 'LATIN9';"; + + if(!pg_query($conn,$qry)) + { + $this->errormsg = 'Encoding konnte nicht gesetzt werden'; + return false; + } + + if($uebung_id!=null) + $this->load($uebung_id); + } + + // ********************************************************* + // * Laedt die Uebung + // * @param uebung_id + // ********************************************************* + function load($uebung_id) + { + if(!is_numeric($uebung_id)) + { + $this->errormsg='Uebung_id muss eine gueltige Zahl sein'; + return false; + } + $qry = "SELECT * FROM campus.tbl_uebung WHERE uebung_id='$uebung_id'"; + + if($result=pg_query($this->conn, $qry)) + { + if($row = pg_fetch_object($result)) + { + $this->uebung_id = $row->uebung_id; + $this->gewicht = $row->gewicht; + $this->punkte = $row->punkte; + $this->angabedatei = $row->angabedatei; + $this->freigabevon = $row->freigabevon; + $this->freigabebis = $row->freigabebis; + $this->abgabe = $row->abgabe; + $this->beispiele = $row->beispiele; + $this->bezeichnung = $row->bezeichnung; + $this->positiv = $row->positiv; + $this->defaultbemerkung = $row->defaultbemerkung; + $this->lehreinheit_id = $row->lehreinheit_id; + $this->updateamum = $row->updateamum; + $this->updatevon = $row->updatevon; + $this->insertamum = $row->insertamum; + $this->insertvon = $row->insertvon; + return true; + } + else + { + $this->errormsg = "Es ist keine Uebung mit der ID $uebung_id vorhanden"; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim laden der Uebung'; + return false; + } + } + + function load_uebung($lehreinheit_id) + { + if(!is_numeric($lehreinheit_id)) + { + $this->errormsg = 'Lehreinheit_id muss eine gueltige Zahl sein'; + return false; + } + + $qry = "SELECT * FROM campus.tbl_uebung WHERE lehreinheit_id='$lehreinheit_id'"; + + if($result=pg_query($this->conn, $qry)) + { + while($row = pg_fetch_object($result)) + { + $uebung_obj = new uebung($this->conn); + + $uebung_obj->uebung_id = $row->uebung_id; + $uebung_obj->gewicht = $row->gewicht; + $uebung_obj->punkte = $row->punkte; + $uebung_obj->angabedatei = $row->angabedatei; + $uebung_obj->freigabevon = $row->freigabevon; + $uebung_obj->freigabebis = $row->freigabebis; + $uebung_obj->abgabe = $row->abgabe; + $uebung_obj->beispiele = $row->beispiele; + $uebung_obj->bezeichnung = $row->bezeichnung; + $uebung_obj->positiv = $row->positiv; + $uebung_obj->defaultbemerkung = $row->defaultbemerkung; + $uebung_obj->lehreinheit_id = $row->lehreinheit_id; + $uebung_obj->updateamum = $row->updateamum; + $uebung_obj->updatevon = $row->updatevon; + $uebung_obj->insertamum = $row->insertamum; + $uebung_obj->insertvon = $row->insertvon; + + $this->uebungen[] = $uebung_obj; + } + return true; + } + else + { + $this->errormsg = 'Fehler beim laden der Uebung'; + return false; + } + } + + // ******************************************* + // * Prueft die Variablen vor dem Speichern + // * auf Gueltigkeit. + // * @return true wenn ok, false im Fehlerfall + // ******************************************* + function validate() + { + if(!is_numeric($this->lehreinheit_id)) + { + $this->errormsg = 'Lehreinheit_id muss eine gueltige Zahl sein'; + return false; + } + return true; + } + + // ************************************************ + // * wenn $var '' ist wird NULL zurueckgegeben + // * wenn $var !='' ist werden Datenbankkritische + // * Zeichen mit Backslash versehen und das Ergbnis + // * unter Hochkomma gesetzt. + // ************************************************ + function addslashes($var) + { + return ($var!=''?"'".addslashes($var)."'":'null'); + } + + // ************************************************************ + // * Speichert Uebung in die Datenbank + // * Wenn $new auf true gesetzt ist wird ein neuer Datensatz + // * angelegt, ansonsten der Datensatz upgedated + // * @return true wenn erfolgreich, false im Fehlerfall + // ************************************************************ + function save($new=null) + { + if(is_null($new)) + $new = $this->new; + + //Variablen auf Gueltigkeit pruefen + if(!$this->validate()) + return false; + + if($new) + { + $qry = 'INSERT INTO campus.tbl_uebung(gewicht, punkte, angabedatei, freigabevon, freigabebis, + abgabe, beispiele, bezeichnung, positiv, defaultbemerkung, lehreinheit_id, updateamum, + updatevon, insertamum, insertvon) VALUES('. + $this->addslashes($this->gewicht).','. + $this->addslashes($this->punkte).','. + $this->addslashes($this->angabedatei).','. + $this->addslashes($this->freigabevon).','. + $this->addslashes($this->freigabebis).','. + ($this->abgabe?'true':'false').','. + ($this->beispiele?'true':'false').','. + $this->addslashes($this->bezeichnung).','. + ($this->positiv?'true':'false').','. + $this->addslashes($this->defaultbemerkung).','. + $this->addslashes($this->lehreinheit_id).','. + $this->addslashes($this->updateamum).','. + $this->addslashes($this->updatevon).','. + $this->addslashes($this->insertamum).','. + $this->addslashes($this->insertvon).');'; + } + else + { + $qry = 'UPDATE campus.tbl_uebung SET'. + ' gewicht='.$this->addslashes($this->gewicht). + ' punkte='.$this->addslashes($this->punkte). + ' angabedatei='.$this->addslashes($this->angabedatei). + ' freigabevon='.$this->addslashes($this->freigabevon). + ' freigabebis='.$this->addslashes($this->freigabebis). + ' abgabe='.($this->abgabe?'true':'false'). + ' beispiele='.($this->beispiele?'true':'false'). + ' bezeichnung='.$this->addslashes($this->bezeichnung). + ' positiv='.($this->positiv?'true':'false'). + ' defaultbemerkung='.$this->addslashes($this->defaultbemerkung). + ' lehreinheit_id='.$this->addslashes($this->lehreinheit_id). + ' updateamum='.$this->addslashes($this->updateamum). + ' updatevon='.$this->addslashes($this->updatevon). + " WHERE uebung_id=".$this->addslashes($this->uebung_id).";"; + } + + if(pg_query($this->conn,$qry)) + { + //Log schreiben + return true; + } + else + { + $this->errormsg = 'Fehler beim Speichern der Uebung:'.$qry; + return false; + } + } +} +?> \ No newline at end of file