diff --git a/cis/menu.html b/cis/menu.html index 06f11def7..6cd7b7566 100644 --- a/cis/menu.html +++ b/cis/menu.html @@ -307,7 +307,7 @@   -  Bug Tracking +  Bug Tracking   diff --git a/cis/private/lehre/kreuzerltool/statistik.php b/cis/private/lehre/kreuzerltool/statistik.php new file mode 100644 index 000000000..3456b02b0 --- /dev/null +++ b/cis/private/lehre/kreuzerltool/statistik.php @@ -0,0 +1,317 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ + +require_once('../../../config.inc.php'); +require_once('../../../../include/functions.inc.php'); +require_once('../../../../include/lehrveranstaltung.class.php'); +require_once('../../../../include/studiengang.class.php'); +require_once('../../../../include/studiensemester.class.php'); +require_once('../../../../include/lehreinheit.class.php'); +require_once('../../../../include/benutzerberechtigung.class.php'); +require_once('../../../../include/uebung.class.php'); +require_once('../../../../include/beispiel.class.php'); +require_once('../../../../include/datum.class.php'); + +?> + + + + + +Kreuzerltool + + + + +getBerechtigungen($user); + +if(isset($_GET['lvid'])) //Lehrveranstaltung_id + $lvid = $_GET['lvid']; +else + die('Fehlerhafte Parameteruebergabe'); + +if(isset($_GET['lehreinheit_id'])) //Lehreinheit_id + $lehreinheit_id = $_GET['lehreinheit_id']; +else + $lehreinheit_id = ''; + +//Laden der Lehrveranstaltung +$lv_obj = new lehrveranstaltung($conn); +if(!$lv_obj->load($lvid)) + die($lv_obj->errormsg); + +//Studiengang laden +$stg_obj = new studiengang($conn,$lv_obj->studiengang_kz); + +if(isset($_GET['stsem'])) + $stsem = $_GET['stsem']; +else + $stsem = ''; + +//Vars +$datum_obj = new datum(); + +$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:''); + +//Kopfzeile +echo ''; +echo ' '; +echo ''; +echo '
  "Kreuzerl"-Tool - '; +echo $lv_obj->bezeichnung.' - '.$stg_obj->kurzbz; +echo ''."\n"; + +//Studiensemester laden +$stsem_obj = new studiensemester($conn); +if($stsem=='') + $stsem = $stsem_obj->getaktorNext(); + +$stsem_obj->getAll(); + +//Studiensemester DropDown +$stsem_content = "Studiensemester: \n"; + +//Lehreinheiten laden +if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz)) +{ + $qry = "SELECT tbl_lehrfach.bezeichnung as lfbez, * FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter + WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND + tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND + tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND + tbl_lehreinheit.studiensemester_kurzbz = '$stsem'"; +} +else +{ + $qry = "SELECT tbl_lehrfach.bezeichnung as lfbez, * FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter + WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND + tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND + tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND + tbl_lehreinheitmitarbeiter.mitarbeiter_uid = '$user' AND + tbl_lehreinheit.studiensemester_kurzbz = '$stsem'"; +} + +if($result = pg_query($conn, $qry)) +{ + if(pg_num_rows($result)>1) + { + //Lehreinheiten DropDown + echo " Lehreinheit: '; + } + else + { + if($row = pg_fetch_object($result)) + $lehreinheit_id = $row->lehreinheit_id; + } +} +else +{ + echo 'Fehler beim Auslesen der Lehreinheiten'; +} +echo $stsem_content; +echo '
'; +echo ''; +echo ''; +echo " +
 \n"; + +if($lehreinheit_id=='') + die('Es wurde keine passende Lehreinheit in diesem Studiensemester gefunden'); + +//Menue +echo "\n\n"; +echo "
+ Verwaltung     + Anwesenheits- und Übersichtstabelle     + Studentenpunkte verwalten     + Statistik +

+\n"; + + +echo "

Statistik

"; + +$uebung_obj = new uebung($conn); +$uebung_obj->load_uebung($lehreinheit_id); +if(count($uebung_obj->uebungen)>0) +{ + echo "Wählen Sie bitte eine Kreuzerlliste aus: '; +} +else + echo "Derzeit gibt es keine Uebungen"; + +echo "


"; +if(isset($uebung_id) && $uebung_id!='') +{ + $beispiel_obj = new beispiel($conn); + if($beispiel_obj->load_beispiel($uebung_id)) + { + if(count($beispiel_obj->beispiele)>0) + { + echo ' + + + + '; + $i=0; + $qry_cnt = "SELECT distinct student_uid FROM campus.tbl_studentbeispiel JOIN campus.tbl_beispiel USING(beispiel_id) WHERE uebung_id='$uebung_id' GROUP BY student_uid"; + if($result_cnt = pg_query($conn,$qry_cnt)) + $gesamt=pg_num_rows($result_cnt); + + foreach ($beispiel_obj->beispiele as $row) + { + $i++; + $solved = 0; + $psolved = 0; + $qry_cnt = "SELECT count(*) as anzahl FROM campus.tbl_studentbeispiel WHERE beispiel_id=$row->beispiel_id AND vorbereitet=true"; + if($result_cnt = pg_query($conn,$qry_cnt)) + if($row_cnt = pg_fetch_object($result_cnt)) + $solved = $row_cnt->anzahl; + + + + if($solved>0) + $psolved = $solved/$gesamt*100; + + echo ' + + + '; + } + echo "
  + + + + +
 
+
+ '.$row->bezeichnung.' + + + + + +
+ + + + +
+ +  '.$solved.' ['.$psolved.'%] +
+
+
"; + echo "

Es haben insgesamt $gesamt Studenten eingetragen."; + } + } + else + echo "$beispiel_obj->errormsg"; +} + +/* + for ($i = 0; $i < $rs->num; $i++) { + $text = $rs->arr[$i]["text"]; + $id = $rs->arr[$i]["id"]; + $psolved = + round((($solved[$id]/$count_students)*100),1); + $pnsolved = + round((($nsolved[$id]/$count_students)*100),1); + $pproblems = + round((($problems[$id]/$count_students)*100),1); + + + } +*/ + +?> +
+ + \ No newline at end of file diff --git a/cis/private/lehre/kreuzerltool/verwaltung.php b/cis/private/lehre/kreuzerltool/verwaltung.php new file mode 100644 index 000000000..71d958be7 --- /dev/null +++ b/cis/private/lehre/kreuzerltool/verwaltung.php @@ -0,0 +1,594 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ + +require_once('../../../config.inc.php'); +require_once('../../../../include/functions.inc.php'); +require_once('../../../../include/lehrveranstaltung.class.php'); +require_once('../../../../include/studiengang.class.php'); +require_once('../../../../include/studiensemester.class.php'); +require_once('../../../../include/lehreinheit.class.php'); +require_once('../../../../include/benutzerberechtigung.class.php'); +require_once('../../../../include/uebung.class.php'); +require_once('../../../../include/beispiel.class.php'); +require_once('../../../../include/datum.class.php'); + +?> + + + + + +Kreuzerltool + + + + +getBerechtigungen($user); + +if(isset($_GET['lvid'])) //Lehrveranstaltung_id + $lvid = $_GET['lvid']; +else + die('Fehlerhafte Parameteruebergabe'); + +if(isset($_GET['lehreinheit_id'])) //Lehreinheit_id + $lehreinheit_id = $_GET['lehreinheit_id']; +else + $lehreinheit_id = ''; + +//Laden der Lehrveranstaltung +$lv_obj = new lehrveranstaltung($conn); +if(!$lv_obj->load($lvid)) + die($lv_obj->errormsg); + +//Studiengang laden +$stg_obj = new studiengang($conn,$lv_obj->studiengang_kz); + +if(isset($_GET['stsem'])) + $stsem = $_GET['stsem']; +else + $stsem = ''; + +//Vars +$datum_obj = new datum(); +$global_msg =''; +$error_thema=''; +$error_anzahlderbeispiele=''; +$error_punkteprobeispiel=''; +$error_freigabebis=''; +$error_freigabevon=''; + +$thema = (isset($_POST['thema'])?$_POST['thema']:''); +$anzahlderbeispiele = (isset($_POST['anzahlderbeispiele'])?$_POST['anzahlderbeispiele']:''); +$punkteprobeispiel = (isset($_POST['punkteprobeispiel'])?$_POST['punkteprobeispiel']:''); +$freigabebis = (isset($_POST['freigabebis'])?$_POST['freigabebis']:''); +$freigabevon = (isset($_POST['freigabevon'])?$_POST['freigabevon']:''); + +$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:''); + +//Kopfzeile +echo ''; +echo ' '; +echo ''; +echo '
  "Kreuzerl"-Tool - '; +echo $lv_obj->bezeichnung.' - '.$stg_obj->kurzbz; +echo ''."\n"; + +//Studiensemester laden +$stsem_obj = new studiensemester($conn); +if($stsem=='') + $stsem = $stsem_obj->getaktorNext(); + +$stsem_obj->getAll(); + + +//Studiensemester DropDown +$stsem_content = "Studiensemester: \n"; + +//Lehreinheiten laden +if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz)) +{ + $qry = "SELECT tbl_lehrfach.bezeichnung as lfbez, * FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter + WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND + tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND + tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND + tbl_lehreinheit.studiensemester_kurzbz = '$stsem'"; +} +else +{ + $qry = "SELECT tbl_lehrfach.bezeichnung as lfbez, * FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter + WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND + tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND + tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND + tbl_lehreinheitmitarbeiter.mitarbeiter_uid = '$user' AND + tbl_lehreinheit.studiensemester_kurzbz = '$stsem'"; +} + +if($result = pg_query($conn, $qry)) +{ + if(pg_num_rows($result)>1) + { + //Lehreinheiten DropDown + echo " Lehreinheit: '; + } + else + { + if($row = pg_fetch_object($result)) + $lehreinheit_id = $row->lehreinheit_id; + } +} +else +{ + echo 'Fehler beim Auslesen der Lehreinheiten'; +} +echo $stsem_content; +echo '
'; +echo ''; +echo ''; +echo " +
 \n"; + +if($lehreinheit_id=='') + die('Es wurde keine passende Lehreinheit in diesem Studiensemester gefunden'); + +//Menue +echo "\n\n"; +echo "
+ Verwaltung     + Anwesenheits- und Übersichtstabelle     + Studentenpunkte verwalten     + Statistik +

+\n"; + + +//echo "studiensemester: $stsem
"; +//echo "lehrveranstaltung: $lvid
"; +//echo "lehreinheit: $lehreinheit_id
"; + +echo "

Kreuzerllisten anlegen und verwalten

"; + +//Anlegen einer neuen Uebung +if(isset($_POST['uebung_neu'])) +{ + if(isset($thema) && isset($anzahlderbeispiele) && isset($punkteprobeispiel)) + { + //pruefen ob alle Daten eingegeben wurden + $error=false; + if($thema=='') + { + $error_thema.= "Thema muss eingegeben werden"; + $error=true; + } + if(!is_numeric($punkteprobeispiel)) + { + $error_punkteprobeispiel= "Punkte pro Beispiel muss eine gültige Zahl sein"; + $error=true; + } + elseif($punkteprobeispiel<0) + { + $error_punkteprobeispiel = "Punkte pro Beispiel darf nicht negativ sein"; + $error=true; + } + if(!is_numeric($anzahlderbeispiele)) + { + $error_anzahlderbeispiele = "Anzahl der Beispiele muss eine gültige Zahl sein"; + $error=true; + } + elseif($anzahlderbeispiele<0) + { + $error_anzahlderbeispiele = "Anzahl der Beispiele darf nicht negativ sein"; + $error=true; + } + + $freigabevon_sav = $datum_obj->mktime_datumundzeit($freigabevon); + $freigabebis_sav = $datum_obj->mktime_datumundzeit($freigabebis); + + if(!$freigabebis_sav) + { + $error_freigabebis = "Bis-Datum hat ein ungültiges Format"; + $error=true; + } + + if(!$freigabevon_sav) + { + $error_freigabevon = "Von-Datum hat ein ungültiges Format"; + $error=true; + } + + if($freigabevon_sav && $freigabebis_sav && $freigabevon_sav>$freigabebis_sav) + { + $error_freigabevon = "Von Datum darf nicht grösser als Bis Datum sein"; + $error=true; + } + + if(!$error) + { + //Uebung anlegen + $datum_obj = new datum(); + $uebung_obj = new uebung($conn); + $uebung_obj->gewicht=''; + $uebung_obj->punkte=''; + $uebung_obj->angabedatei=''; + $uebung_obj->freigabevon = date('Y-m-d H:i',$freigabevon_sav); + $uebung_obj->freigabebis = date('Y-m-d H:i',$freigabebis_sav); + $uebung_obj->abgabe=false; + $uebung_obj->beispiele=true; + $uebung_obj->bezeichnung=$thema; + $uebung_obj->positiv=true; + $uebung_obj->defaultbemerkung=''; + $uebung_obj->lehreinheit_id=$lehreinheit_id; + $uebung_obj->updateamum = date('Y-m-d H:i:s'); + $uebung_obj->updatevon = $user; + $uebung_obj->insertamum = date('Y-m-d H:i:s'); + $uebung_obj->insertvon = $user; + + if($uebung_obj->save(true)) + { + //Beispiele anlegen + $uebung_id = $uebung_obj->uebung_id; + $error_msg=''; + for($i=0;$i<$anzahlderbeispiele;$i++) + { + $beispiel_obj = new beispiel($conn); + $beispiel_obj->uebung_id = $uebung_id; + $beispiel_obj->bezeichnung = "Beispiel ".($i+1); + $beispiel_obj->punkte = $punkteprobeispiel; + $beispiel_obj->updateamum = date('Y-m-d H:i:s'); + $beispiel_obj->updatevon = $user; + $beispiel_obj->insertamum = date('Y-m-d H:i:s'); + $beispiel_obj->insertvon = $user; + + if(!$beispiel_obj->save(true)) + $error_msg = $beispiel_obj->errormsg; + } + if($error_msg!='') + echo "$error_msg"; + } + else + echo "$uebung_obj->errormsg"; + } + + } + else + echo "Kreuzerlliste konnte nicht angelegt werden!
"; +} + +//Loeschen eines Beispiels +if(isset($_POST['beispiel_delete'])) +{ + if(isset($_POST['beispiel'])) + { + $beispiel_obj = new beispiel($conn); + $error_msg=''; + //Ausgewaehlte Beispiele holen + $delete_ids = $_POST['beispiel']; + foreach($delete_ids as $id) + { + //Beispiel loeschen + if(!$beispiel_obj->delete($id)) + $error_msg=$beispiel_obj->errormsg; + } + if($error_msg!='') + echo "$error_msg"; + } +} + +//Editieren einer Uebung +if(isset($_POST['uebung_edit'])) +{ + $error = false; + if($thema=='') + { + echo "Thema muss eingegeben werden'"; + $error = true; + } + + $freigabevon_sav = $datum_obj->mktime_datumundzeit($freigabevon); + $freigabebis_sav = $datum_obj->mktime_datumundzeit($freigabebis); + + if($freigabevon_sav>$freigabebis_sav) + { + echo "Von Datum darf nicht grösser als Bis Datum sein"; + $error=true; + } + if(!$freigabebis_sav) + { + echo "Bis-Datum hat ein ungültiges Format"; + $error=true; + } + + if(!$freigabevon_sav) + { + echo "Von-Datum hat ein ungültiges Format"; + $error=true; + } + + if(!$error) + { + $uebung_obj = new uebung($conn); + $uebung_obj->gewicht=''; + $uebung_obj->punkte=''; + $uebung_obj->angabedatei=''; + $uebung_obj->freigabevon = date('Y-m-d H:i',$freigabevon_sav); + $uebung_obj->freigabebis = date('Y-m-d H:i',$freigabebis_sav); + $uebung_obj->abgabe=false; + $uebung_obj->beispiele=true; + $uebung_obj->bezeichnung=$thema; + $uebung_obj->positiv=true; + $uebung_obj->defaultbemerkung=''; + $uebung_obj->lehreinheit_id=$lehreinheit_id; + $uebung_obj->updateamum = date('Y-m-d H:i:s'); + $uebung_obj->updatevon = $user; + $uebung_obj->uebung_id = $uebung_id; + + if($uebung_obj->save(false)) + echo "Die Änderung wurde gespeichert!"; + else + echo "$uebung_obj->errormsg"; + } + +} + +//Neues Beispiel anlegen +if(isset($_POST['beispiel_neu']) || isset($_POST['beispiel_edit'])) +{ + if(isset($_POST['beispiel_edit']) && (!isset($beispiel_id) || !is_numeric($beispiel_id))) + { + echo "Beispiel_id ist ungueltig"; + } + else + { + if(isset($uebung_id) && $uebung_id!='' && is_numeric($uebung_id)) + { + if(is_numeric($punkte) && $punkte!='') + { + if($bezeichnung!='') + { + $beispiel_obj = new beispiel($conn); + if(isset($_POST['beispiel_edit'])) + { + $beispiel_obj->beispiel_id= $beispiel_id; + $beispiel_obj->new=false; + } + else + { + $beispiel_obj->new=true; + $beispiel_obj->insertamum = date('Y-m-d H:i:s'); + $beispiel_obj->insertvon = $user; + } + + $beispiel_obj->uebung_id = $uebung_id; + $beispiel_obj->bezeichnung = $bezeichnung; + $beispiel_obj->punkte = $punkte; + $beispiel_obj->updateamum = date('Y-m-d H:i:s'); + $beispiel_obj->updatevon = $user; + if($beispiel_obj->save()) + { + $beispiel_id=''; + } + else + echo "$beispiel_obj->errormsg"; + } + else + echo "Bezeichnung muss eingegeben werden"; + } + else + echo "Punkte muss eine gültige Zahl sein"; + } + else + echo "Zugehoerige Uebung ist fehlerhaft"; + } +} + +//Uebersichtstabelle +if(isset($uebung_id) && $uebung_id!='') +{ + echo "
"; + //Bearbeiten der ausgewaehlten Uebung + echo "
\n"; + echo "\n"; + echo ""; + + $uebung_obj = new uebung($conn); + $uebung_obj->load($uebung_id); + + echo " + + + + +
Ausgewählte Kreuzerlliste bearbeiten 
 
Thema$error_thema
Freigabevon mktime_fromtimestamp($uebung_obj->freigabevon))."'>
(Format: 31.12.2007 14:30)bis mktime_fromtimestamp($uebung_obj->freigabebis))."'>
+
"; + + $beispiel_obj = new beispiel($conn); + $beispiel_obj->load_beispiel($uebung_id); + $anzahl = count($beispiel_obj->beispiele); + + echo "
"; + + //Beispiel neu Anlegen + echo "
\n"; + echo "\n"; + echo "\n\n"; + + echo ""; + echo ""; + + echo "
Neues Beispiel anlegen
 
Bezeichnung "; + echo " Punkte
+
"; + + echo "
"; + + //Uebersicht der Beispiele + echo "
\n"; + echo "\n"; + echo "\n\n"; + + if($anzahl>0) + { + echo "\n"; + foreach ($beispiel_obj->beispiele as $row) + { + echo " + + "; + } + echo ""; + } + else + echo ""; + + echo "
Vorhandene Beispiele
 
BeispielPunkteAuswahl
".htmlentities($row->bezeichnung)."$row->punkte
Derzeit sind keine Beispiele angelegt
+
"; + + echo "
"; + + //Beispiel Aendern + $error_msg = ''; + if(isset($beispiel_id) && $beispiel_id!='') + { + //Bearbeiten eines Beispiels + if($beispiel_obj->load($beispiel_id)) + { + echo "
\n"; + echo "\n"; + echo "\n\n"; + + echo ""; + echo ""; + + echo "
Beispiel bearbeiten
 
Bezeichnung "; + echo " Punkte
+


"; + } + else + $error_msg = $beispiel_obj->errormsg; + } + echo "
"; +} +else +{ + //Gesamtuebersicht ueber alle Uebungen + echo "
"; + echo ""; + + $uebung_obj = new uebung($conn); + $uebung_obj->load_uebung($lehreinheit_id); + $anzahl = count($uebung_obj->uebungen); + if($anzahl>0) + { + echo ""; + foreach ($uebung_obj->uebungen as $row) + { + echo ""; + } + echo ""; + } + else + echo ""; + + echo "
Vorhandene Kreuzerllisten bearbeiten
 
ThemaFreigeschaltenAuswahl
".htmlentities($row->bezeichnung).""; + + if((strtotime(strftime($row->freigabevon))<=time()) && (strtotime(strftime($row->freigabebis))>=time())) + echo 'Ja'; + else + echo 'Nein'; + echo "
Derzeit sind keine Kreuzerllisten angelegt
+


"; + if(!isset($_POST['uebung_neu'])) + { + $thema = "Uebung ".($anzahl+1); + $anzahlderbeispiele = 10; + $punkteprobeispiel = 1; + $freigabevon = date('d.m.Y H:i'); + $freigabebis = date('d.m.Y H:i'); + } + echo " +
+ + + + + + + + +
Neue Kreuzerlliste anlegen
Thema$error_thema
Anzahl der Beispiele$error_anzahlderbeispiele
Anzahl Punkte pro Beispiel$error_punkteprobeispiel
Freigabevon $error_freigabevon
(Format: 31.12.2007 14:30)bis $error_freigabebis
+
+ "; + + echo ""; +} +?> +
+ + \ No newline at end of file diff --git a/include/beispiel.class.php b/include/beispiel.class.php index 058d4cce0..38a6df13b 100644 --- a/include/beispiel.class.php +++ b/include/beispiel.class.php @@ -151,6 +151,11 @@ class beispiel $this->errormsg = 'uebung_id muss eine gueltige Zahl sein'; return false; } + if(strlen($this->bezeichnung)>32) + { + $this->errormsg = 'Bezeichnung darf nicht laenger als 32 Zeichen sein'; + return false; + } return true; } @@ -182,6 +187,11 @@ class beispiel if($new) { + if($this->exists($this->uebung_id, $this->bezeichnung)) + { + $this->errormsg = 'Fehler beim Speichern! Es existiert bereits ein Beispiel mit diesem Namen'; + return false; + } $qry = 'BEGIN; INSERT INTO campus.tbl_beispiel(uebung_id, punkte, bezeichnung, updateamum, updatevon, insertamum, insertvon) VALUES('. $this->addslashes($this->uebung_id).','. @@ -195,14 +205,14 @@ class beispiel else { $qry = 'UPDATE campus.tbl_beispiel SET'. - ' uebung_id='.$this->addslashes($this->uebung_id). - ' punkte='.$this->addslashes($this->punkte). - ' bezeichnung='.$this->addslashes($this->bezeichnung). - ' updateamum='.$this->addslashes($this->updateamum). + ' uebung_id='.$this->addslashes($this->uebung_id).','. + ' punkte='.$this->addslashes($this->punkte).','. + ' bezeichnung='.$this->addslashes($this->bezeichnung).','. + ' updateamum='.$this->addslashes($this->updateamum).','. ' updatevon='.$this->addslashes($this->updatevon). " WHERE beispiel_id=".$this->addslashes($this->beispiel_id).";"; } - + if(pg_query($this->conn,$qry)) { if($new) @@ -240,6 +250,30 @@ class beispiel } } + function exists($uebung_id, $bezeichnung) + { + if(!is_numeric($uebung_id)) + { + $this->errormsg = 'Uebung_id muss eine gueltige Zahl sein'; + return false; + } + + $qry = "SELECT beispiel_id FROM campus.tbl_beispiel WHERE uebung_id='$uebung_id' AND bezeichnung=".$this->addslashes($bezeichnung); + + if($result = pg_query($this->conn, $qry)) + { + if(pg_num_rows($result)>0) + return true; + else + return false; + } + else + { + $this->errormsg ='Fehler beim lesen der Beispiele'; + return false; + } + } + function delete($beispiel_id) { if(!is_numeric($beispiel_id)) diff --git a/include/lehreinheit.class.php b/include/lehreinheit.class.php index 2d3d1cbdb..11ed0c003 100644 --- a/include/lehreinheit.class.php +++ b/include/lehreinheit.class.php @@ -80,7 +80,43 @@ class lehreinheit // ********************************************************* function load($lehreinheit_id) { - return false; + if(!is_numeric($lehreinheit_id)) + { + $this->errormsg = 'Lehreinheit_id muss eine gueltige Zahl sein'; + } + + $qry = "SELECT * FROM lehre.tbl_lehreinheit WHERE lehreinheit_id='$lehreinheit_id'"; + + if($result = pg_query($this->conn, $qry)) + { + if($row = pg_fetch_object($result)) + { + $this->lehreinheit_id = $row->lehreinheit_id; + $this->lehrveranstaltung_id = $row->lehrveranstaltung_id; + $this->studiensemester_kurzbz = $row->studiensemester_kurzbz; + $this->lehrfach_id = $row->lehrfach_id; + $this->lehrform_kurzbz = $row->lehrform_kurzbz; + $this->stundenblockung = $row->stundenblockung; + $this->wochenrythmus = $row->wochenrythmus; + $this->start_kw = $row->start_kw; + $this->raumtyp = $row->raumtyp; + $this->raumtypalternativ = $row->raumtypalternativ; + $this->lehre = ($row->lehre=='t'?true:false); + $this->anmerkung = $row->anmerkung; + $this->unr = $row->unr; + $this->lvnr = $row->lvnr; + $this->insertamum = $row->insertamum; + $this->insertvon = $row->insertvon; + $this->updateamum = $row->updateamum; + $this->updatevon = $row->updatevon; + $this->ext_id = $row->ext_id; + } + } + else + { + $this->errormsg = 'Fehler beim Laden der Lehreinheit'; + return false; + } } function load_lehreinheiten($lehrveranstaltung_id, $studiensemester_kurzbz) diff --git a/include/uebung.class.php b/include/uebung.class.php index f6f84c036..a2da06607 100644 --- a/include/uebung.class.php +++ b/include/uebung.class.php @@ -175,6 +175,11 @@ class uebung $this->errormsg = 'Lehreinheit_id muss eine gueltige Zahl sein'; return false; } + if(strlen($this->bezeichnung)>32) + { + $this->errormsg = 'Bezeichnung darf nicht laenger als 32 Zeichen sein'; + return false; + } return true; }