From 6bd06d7fa73b6f138103c9577cc9393ae9bc210e Mon Sep 17 00:00:00 2001 From: Gerald Raab Date: Mon, 16 Jul 2007 11:00:01 +0000 Subject: [PATCH] --- .../lehre/benotungstool/anwesenheitsliste.php | 689 ++++++++++ .../benotungstool/anwesenheitstabelle.php | 304 +++++ cis/private/lehre/benotungstool/menue.inc.php | 30 + cis/private/lehre/benotungstool/statistik.php | 345 +++++ .../lehre/benotungstool/studentenansicht.php | 573 +++++++++ .../studentenpunkteverwalten.php | 598 +++++++++ .../lehre/benotungstool/verwaltung.php | 697 +++++++++++ .../lehre/benotungstool/verwaltung_listen.php | 1113 +++++++++++++++++ cis/private/lehre/lesson.php | 4 +- 9 files changed, 4351 insertions(+), 2 deletions(-) create mode 100644 cis/private/lehre/benotungstool/anwesenheitsliste.php create mode 100644 cis/private/lehre/benotungstool/anwesenheitstabelle.php create mode 100644 cis/private/lehre/benotungstool/menue.inc.php create mode 100644 cis/private/lehre/benotungstool/statistik.php create mode 100644 cis/private/lehre/benotungstool/studentenansicht.php create mode 100644 cis/private/lehre/benotungstool/studentenpunkteverwalten.php create mode 100644 cis/private/lehre/benotungstool/verwaltung.php create mode 100644 cis/private/lehre/benotungstool/verwaltung_listen.php diff --git a/cis/private/lehre/benotungstool/anwesenheitsliste.php b/cis/private/lehre/benotungstool/anwesenheitsliste.php new file mode 100644 index 000000000..3652e2e8d --- /dev/null +++ b/cis/private/lehre/benotungstool/anwesenheitsliste.php @@ -0,0 +1,689 @@ +, + * 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'); + +//Excel includes +include_once('../../../../include/Excel/PEAR.php'); +include_once('../../../../include/Excel/BIFFwriter.php'); +include_once('../../../../include/Excel/Workbook.php'); +include_once('../../../../include/Excel/Format.php'); +include_once('../../../../include/Excel/Worksheet.php'); +include_once('../../../../include/Excel/Parser.php'); +include_once('../../../../include/Excel/OLE.php'); +include_once('../../../../include/Excel/PPS.php'); +include_once('../../../../include/Excel/Root.php'); +include_once('../../../../include/Excel/File.php'); +include_once('../../../../include/Excel/Writer.php'); + +if(!$conn = pg_pconnect(CONN_STRING)) + die('Fehler beim oeffnen der Datenbankverbindung'); + +$user = get_uid(); + +if(!check_lektor($user, $conn)) + die('Sie haben keine Berechtigung fuer diesen Bereich'); + +if(isset($_GET['uebung_id']) && is_numeric($_GET['uebung_id'])) +{ + $uebung_id = $_GET['uebung_id']; + $uebung_obj = new uebung($conn, $uebung_id); + $lehreinheit_obj = new lehreinheit($conn, $uebung_obj->lehreinheit_id); + +} +else +{ + if(!isset($_GET['all'])) + die('Fehlerhafte Parameteruebergabe'); + else + { + $lehreinheit_id = $_GET['lehreinheit_id']; + $lehreinheit_obj = new lehreinheit($conn, $lehreinheit_id); + } +} + +$qry = "SELECT * FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE + tbl_lehreinheit.lehreinheit_id='$lehreinheit_obj->lehreinheit_id' AND + mitarbeiter_uid='$user'"; + +$qry = "SELECT * FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE + tbl_lehreinheit.lehrveranstaltung_id in(Select lehrveranstaltung_id from lehre.tbl_lehreinheit where lehreinheit_id='$lehreinheit_obj->lehreinheit_id') AND + mitarbeiter_uid='$user'"; + +if(!$result = pg_query($conn, $qry)) + die('Fehler beim laden der Berechtigung'); + +$rechte = new benutzerberechtigung($conn); +$rechte->getBerechtigungen($user); + +if(!(pg_num_rows($result)>0 || $rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lehreinheit_obj->studiengang_kz))) + die('Sie haben keine Berechtigung für diesen Bereich'); + +if(isset($_GET['output']) && $_GET['output']=='xls') +{ + if(isset($_GET['all'])) + { + //EXCEL VERSION / ALLE Kreuzerllisten + $le_obj = new lehreinheit($conn); + $le_obj->load($lehreinheit_id); + + $lv_obj = new lehrveranstaltung($conn); + $lv_obj->load($le_obj->lehrveranstaltung_id); + + // Creating a workbook + $workbook = new Spreadsheet_Excel_Writer(); + + // sending HTTP headers + $workbook->send("Kreuzerlliste_Gesamt_".$lv_obj->lehreverzeichnis. "_" . date("d_m_Y") . ".xls"); + + // Creating a worksheet + $worksheet =& $workbook->addWorksheet("Kreuzerltool"); + + $format_bold =& $workbook->addFormat(); + $format_bold->setBold(); + + $format_title =& $workbook->addFormat(); + $format_title->setBold(); + // let's merge + $format_title->setAlign('merge'); + + + + $worksheet->write(0,0,'Gesamtübersicht '.$lv_obj->bezeichnung.' vom '.date('d.m.Y'), $format_bold); + $maxlength = array(); + + //Ueberschrift + $i=0; + $worksheet->write(1,$i,"Vorname", $format_title); + $maxlength[$i]=strlen('Vorname'); + $worksheet->write(1,++$i,"Nachname", $format_title); + $maxlength[$i]=strlen('Nachname'); + $worksheet->write(1,++$i,"Matrikelnr", $format_title); + $maxlength[$i]=strlen('Matrikelnr'); + $worksheet->write(1,++$i,"Gruppe", $format_title); + $maxlength[$i]=strlen('Gruppe'); + $ueb_obj = new uebung($conn); + $ueb_obj->load_uebung($lehreinheit_id); + foreach($ueb_obj->uebungen as $row_ueb) + { + $worksheet->write(1,++$i,$row_ueb->bezeichnung, $format_title); + $maxlength[$i]=strlen($row_ueb->bezeichnung); + } + $worksheet->write(1,++$i,"Summe", $format_title); + $maxlength[$i]=8; + $worksheet->write(1,++$i,"Mitarbeit insgesamt", $format_title); + $maxlength[$i]=strlen('Mitarbeit insgesamt'); + $worksheet->write(1,++$i,"Punkte insgesamt", $format_title); + $maxlength[$i]=strlen('Punkte insgesamt'); + $worksheet->write(1,++$i,"Unterschrift", $format_title); + $maxlength[$i]=strlen('Unterschrift')+5; + + if(isset($_GET['gruppe']) && $_GET['gruppe']!='') + { + $gruppe = $_GET['gruppe']; + $qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id='$gruppe'"; + if($result = pg_query($conn, $qry)) + { + if($row = pg_fetch_object($result)) + { + if($row->gruppe_kurzbz!='') + { + $gruppe_bez = 'Gruppe '.$row->gruppe_kurzbz; + $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row->gruppe_kurzbz)."' ORDER BY nachname, vorname"; + } + else + { + $gruppe_bez = 'Gruppe '.$row->verband.$row->gruppe; + $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student + WHERE studiengang_kz='$row->studiengang_kz' + AND semester='$row->semester' ". + ($row->verband!=''?" AND verband='$row->verband'":''). + ($row->gruppe!=''?" AND gruppe='$row->gruppe'":''). + " ORDER BY nachname, vorname"; + } + + } + else + die('Gruppe konnte nicht ermittelt werden'); + } + else + die('Gruppe konnte nicht ermittelt werden'); + } + else + { + if(isset($_GET['lehreinheit_id']) && $_GET['lehreinheit_id']!='') + { + $lehreinheit_id = $_GET['lehreinheit_id']; + $gruppe_bez = 'Alle Studienrende'; + //Alle Studenten die dieser Lehreinheit zugeordnet sind + $qry_stud = "SELECT vw_student.uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe FROM campus.vw_student, public.tbl_benutzergruppe, lehre.tbl_lehreinheitgruppe + WHERE tbl_lehreinheitgruppe.lehreinheit_id='$lehreinheit_id' AND + vw_student.uid = tbl_benutzergruppe.uid AND + tbl_benutzergruppe.gruppe_kurzbz = tbl_lehreinheitgruppe.gruppe_kurzbz + UNION + SELECT vw_student.uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe FROM campus.vw_student, lehre.tbl_lehreinheitgruppe WHERE + tbl_lehreinheitgruppe.lehreinheit_id='$lehreinheit_id' AND + tbl_lehreinheitgruppe.studiengang_kz=vw_student.studiengang_kz AND + tbl_lehreinheitgruppe.semester = vw_student.semester AND + ((tbl_lehreinheitgruppe.verband<>'' AND + tbl_lehreinheitgruppe.gruppe<>'' AND + trim(tbl_lehreinheitgruppe.verband) = trim(vw_student.verband) AND + trim(tbl_lehreinheitgruppe.gruppe) = trim(vw_student.gruppe)) + OR + (tbl_lehreinheitgruppe.verband<>'' AND + (trim(tbl_lehreinheitgruppe.gruppe)='' OR tbl_lehreinheitgruppe.gruppe is null) AND + trim(tbl_lehreinheitgruppe.verband) = trim(vw_student.verband)) + OR (tbl_lehreinheitgruppe.verband is null AND tbl_lehreinheitgruppe.gruppe is null) + ) + ORDER BY nachname, vorname"; + } + else + die('Fehler bei der Parameteruebergabe'); + $gruppe=''; + } + + if($result_stud = pg_query($conn, $qry_stud)) + { + $zeile=3; + + while($row_stud = pg_fetch_object($result_stud)) + { + $spalte=0; + $summe=0; + //vorname + $worksheet->write($zeile,$spalte,$row_stud->vorname); + if(strlen($row_stud->vorname)>$maxlength[$spalte]) + $maxlength[$spalte]=strlen($row_stud->vorname); + //nachname + $worksheet->write($zeile,++$spalte,$row_stud->nachname); + if(strlen($row_stud->nachname)>$maxlength[$spalte]) + $maxlength[$spalte]=strlen($row_stud->nachname); + //matrikelnr + $worksheet->write($zeile,++$spalte,'="'.$row_stud->matrikelnr.'"'); + if(strlen($row_stud->matrikelnr)>$maxlength[$spalte]) + $maxlength[$spalte]=strlen($row_stud->matrikelnr); + //Gruppe + $worksheet->write($zeile,++$spalte,$row_stud->semester.$row_stud->verband.$row_stud->gruppe); + if(strlen($row_stud->semester.$row_stud->verband.$row_stud->gruppe)>$maxlength[$spalte]) + $maxlength[$spalte]=strlen($row_stud->semester.$row_stud->verband.$row_stud->gruppe); + + foreach($ueb_obj->uebungen as $row_ueb) + { + $qry = "SELECT sum(punkte) as punkte FROM campus.tbl_studentbeispiel JOIN campus.tbl_beispiel USING(beispiel_id) WHERE uebung_id='$row_ueb->uebung_id' AND student_uid='$row_stud->uid' AND vorbereitet=true"; + if($result = pg_query($conn, $qry)) + { + if($row = pg_fetch_object($result)) + { + $punkte = $row->punkte; + $summe +=$punkte; + } + else + $punkte = 'failed'; + } + else + $punkte='failed'; + //punkte auf uebung + $worksheet->write($zeile,++$spalte,($punkte!=''?$punkte:'0')); + } + + //summe + $worksheet->write($zeile,++$spalte,$summe); + + //mitarbeit + $qry = "SELECT sum(mitarbeitspunkte) as mitarbeit FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) WHERE lehreinheit_id='$lehreinheit_id' AND student_uid='$row_stud->uid'"; + if($result = pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $mitarbeit=$row->mitarbeit; + else + $mitarbeit='failed'; + else + $mitarbeit='failed'; + + $worksheet->write($zeile,++$spalte,($row->mitarbeit!=''?$mitarbeit:'0')); + //punkte insgesamt + $worksheet->write($zeile,++$spalte,($summe+$mitarbeit), $format_bold); + + $zeile++; + } + for($i=0;$isetColumn(0, $i, $maxlength[$i]); + } + } + + $workbook->close(); + + } + else + { + //EXCEL VERSION / Einzelne Kreuzerlliste + + // Creating a workbook + $workbook = new Spreadsheet_Excel_Writer(); + + // sending HTTP headers + $workbook->send("Kreuzerltool". "_" . date("d_m_Y") . ".xls"); + + // Creating a worksheet + $worksheet =& $workbook->addWorksheet("Kreuzerltool"); + + $format_bold =& $workbook->addFormat(); + $format_bold->setBold(); + + $format_title =& $workbook->addFormat(); + $format_title->setBold(); + // let's merge + $format_title->setAlign('merge'); + + $worksheet->write(0,0,$uebung_obj->bezeichnung.' am '.date('d.m.Y'), $format_bold); + $maxlength = array(); + //Ueberschrift + $i=0; + $worksheet->write(1,$i,"Vorname", $format_title); + $maxlength[$i]=strlen('Vorname'); + $worksheet->write(1,++$i,"Nachname", $format_title); + $maxlength[$i]=strlen('Nachname'); + $worksheet->write(1,++$i,"Matrikelnr", $format_title); + $maxlength[$i]=strlen('Matrikelnr'); + $worksheet->write(1,++$i,"Gruppe", $format_title); + $maxlength[$i]=strlen('Gruppe'); + $beispiel_obj = new beispiel($conn); + $beispiel_obj->load_beispiel($uebung_id); + foreach($beispiel_obj->beispiele as $row_bsp) + { + $worksheet->write(1,++$i,$row_bsp->bezeichnung, $format_title); + $maxlength[$i]=strlen($row_bsp->bezeichnung); + } + $worksheet->write(1,++$i,"Punkte heute", $format_title); + $maxlength[$i]=strlen('Punkte heute'); + $worksheet->write(1,++$i,"Mitarbeit heute", $format_title); + $maxlength[$i]=strlen('Mitarbeit_heute'); + $worksheet->write(1,++$i,"Punkte insgesamt", $format_title); + $maxlength[$i]=strlen('Punkte insgesamt'); + $worksheet->write(1,++$i,"Mitarbeit insgesamt", $format_title); + $maxlength[$i]=strlen('Mitarbeit insgesamt'); + $worksheet->write(1,++$i,"Unterschrift", $format_title); + $maxlength[$i]=strlen('Unterschrift')+5; + + if(isset($_GET['gruppe']) && $_GET['gruppe']!='') + { + $gruppe = $_GET['gruppe']; + $qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id='$gruppe'"; + if($result = pg_query($conn, $qry)) + { + if($row = pg_fetch_object($result)) + { + if($row->gruppe_kurzbz!='') + { + $gruppe_bez = 'Gruppe '.$row->gruppe_kurzbz; + $qry_stud = "SELECT uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row->gruppe_kurzbz)."' ORDER BY nachname, vorname"; + } + else + { + $gruppe_bez = 'Gruppe '.$row->verband.$row->gruppe; + $qry_stud = "SELECT uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe FROM campus.vw_student + WHERE studiengang_kz='$row->studiengang_kz' + AND semester='$row->semester' ". + ($row->verband!=''?" AND verband='$row->verband'":''). + ($row->gruppe!=''?" AND gruppe='$row->gruppe'":''). + " ORDER BY nachname, vorname"; + } + + } + else + die('Gruppe konnte nicht ermittelt werden'); + } + else + die('Gruppe konnte nicht ermittelt werden'); + + + $lehreinheit_id = $uebung_obj->lehreinheit_id; + } + else + { + if(isset($_GET['lehreinheit_id']) && $_GET['lehreinheit_id']!='') + { + $lehreinheit_id = $_GET['lehreinheit_id']; + $gruppe_bez = 'Alle Studienrende'; + //Alle Studenten die dieser Lehreinheit zugeordnet sind + $qry_stud = "SELECT vw_student.uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe FROM campus.vw_student, public.tbl_benutzergruppe, lehre.tbl_lehreinheitgruppe + WHERE tbl_lehreinheitgruppe.lehreinheit_id='$lehreinheit_id' AND + vw_student.uid = tbl_benutzergruppe.uid AND + tbl_benutzergruppe.gruppe_kurzbz = tbl_lehreinheitgruppe.gruppe_kurzbz + UNION + SELECT vw_student.uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe FROM campus.vw_student, lehre.tbl_lehreinheitgruppe WHERE + tbl_lehreinheitgruppe.lehreinheit_id='$lehreinheit_id' AND + tbl_lehreinheitgruppe.studiengang_kz=vw_student.studiengang_kz AND + tbl_lehreinheitgruppe.semester = vw_student.semester AND + ((tbl_lehreinheitgruppe.verband<>'' AND + tbl_lehreinheitgruppe.gruppe<>'' AND + trim(tbl_lehreinheitgruppe.verband) = trim(vw_student.verband) AND + trim(tbl_lehreinheitgruppe.gruppe) = trim(vw_student.gruppe)) + OR + (tbl_lehreinheitgruppe.verband<>'' AND + (trim(tbl_lehreinheitgruppe.gruppe)='' OR tbl_lehreinheitgruppe.gruppe is null) AND + trim(tbl_lehreinheitgruppe.verband) = trim(vw_student.verband)) + OR (tbl_lehreinheitgruppe.verband is null AND tbl_lehreinheitgruppe.gruppe is null) + ) + ORDER BY nachname, vorname"; + } + else + die('Fehler bei der Parameteruebergabe'); + $gruppe=''; + } + + if($result_stud = pg_query($conn, $qry_stud)) + { + $zeile=3; + + while($row_stud = pg_fetch_object($result_stud)) + { + $spalte=0; + $punkte_heute=0; + //vorname + $worksheet->write($zeile,$spalte,$row_stud->vorname); + if(strlen($row_stud->vorname)>$maxlength[$spalte]) + $maxlength[$spalte]=strlen($row_stud->vorname); + //nachname + $worksheet->write($zeile,++$spalte,$row_stud->nachname); + if(strlen($row_stud->nachname)>$maxlength[$spalte]) + $maxlength[$spalte]=strlen($row_stud->nachname); + //matrikelnr + $worksheet->write($zeile,++$spalte,'="'.$row_stud->matrikelnr.'"'); + if(strlen($row_stud->matrikelnr)>$maxlength[$spalte]) + $maxlength[$spalte]=strlen($row_stud->matrikelnr); + + //Gruppe + $worksheet->write($zeile,++$spalte,$row_stud->semester.$row_stud->verband.$row_stud->gruppe); + if(strlen($row_stud->semester.$row_stud->verband.$row_stud->gruppe)>$maxlength[$spalte]) + $maxlength[$spalte]=strlen($row_stud->semester.$row_stud->verband.$row_stud->gruppe); + + foreach($beispiel_obj->beispiele as $row_bsp) + { + $studentbeispiel_obj = new beispiel($conn); + $studentbeispiel_obj->load_studentbeispiel($row_stud->uid, $row_bsp->beispiel_id); + if($studentbeispiel_obj->vorbereitet) + $punkte = $row_bsp->punkte; + else + $punkte = 0; + $punkte_heute +=$punkte; + //punkte auf uebung + $worksheet->write($zeile,++$spalte,$punkte); + } + + //punkte heute + $worksheet->write($zeile,++$spalte,$punkte_heute); + + //mitarbeit heute + $qry = "SELECT sum(mitarbeitspunkte) as mitarbeit_heute FROM campus.tbl_studentuebung WHERE uebung_id='$uebung_id' AND student_uid='$row_stud->uid'"; + if($result = pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $worksheet->write($zeile,++$spalte,($row->mitarbeit_heute!=''?$row->mitarbeit_heute:'0')); + else + $worksheet->write($zeile,++$spalte,'failed'); + else + $worksheet->write($zeile,++$spalte,'failed'); + + //punkte insgesamt + $qry = "SELECT sum(tbl_beispiel.punkte) AS gesamt_ohne_mitarbeit FROM campus.tbl_uebung, campus.tbl_beispiel, campus.tbl_studentbeispiel WHERE + tbl_studentbeispiel.student_uid='$row_stud->uid' AND + tbl_studentbeispiel.vorbereitet=true AND + tbl_uebung.lehreinheit_id='$uebung_obj->lehreinheit_id' AND + tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND + tbl_beispiel.beispiel_id=tbl_studentbeispiel.beispiel_id + "; + if($result = pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $worksheet->write($zeile,++$spalte,($row->gesamt_ohne_mitarbeit!=''?$row->gesamt_ohne_mitarbeit:'0')); + else + $worksheet->write($zeile,++$spalte,'failed'); + else + $worksheet->write($zeile,++$spalte,'failed'); + + //mitarbeit insgesamt + $qry = "SELECT sum(mitarbeitspunkte) as mitarbeit_heute FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) WHERE student_uid='$row_stud->uid' AND lehreinheit_id='$lehreinheit_id'"; + if($result = pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $worksheet->write($zeile,++$spalte,($row->mitarbeit_heute!=''?$row->mitarbeit_heute:'0')); + else + $worksheet->write($zeile,++$spalte,'failed'); + else + $worksheet->write($zeile,++$spalte,'failed'); + + $zeile++; + } + for($i=0;$isetColumn(0, $i, $maxlength[$i]); + } + + $workbook->close(); + } +} +else +{ + //HTML VERSION +?> + + + + + +Kreuzerltool + + + + load_beispiel($uebung_id); + $error=false; + foreach($uids as $uid) + { + if($uid!='') + { + foreach($beispiel_obj->beispiele as $bsp) + { + if(isset($_POST['update_'.$uid.'_'.$bsp->beispiel_id])) + $vorbereitet=true; + else + $vorbereitet=false; + + $bsp_obj = new beispiel($conn); + + if(!$bsp_obj->studentbeispiel_exists($uid,$bsp->beispiel_id)) + { + $new=true; + $bsp_obj->insertamum = date('Y-m-d H:i:s'); + $bsp_obj->insertvon = $user; + } + else + { + $bsp_obj->load_studentbeispiel($uid, $bsp->beispiel_id); + $new=false; + } + + $bsp_obj->student_uid = $uid; + $bsp_obj->beispiel_id = $bsp->beispiel_id; + $bsp_obj->vorbereitet = $vorbereitet; + $bsp_obj->updateamum = date('Y-m-d H:i:s'); + $bsp_obj->updatevon = $user; + + if(!$bsp_obj->studentbeispiel_save($new)) + $error=true; + } + } + } + if(!$error) + echo "Die Änderungen wurden erfolgreich gespeichert"; + else + echo "Fehler beim Speichern der Änderungen"; + } + + $uebung_obj = new uebung($conn, $uebung_id); + $lehreinheit_obj = new lehreinheit($conn, $uebung_obj->lehreinheit_id); + + $beispiel_obj = new beispiel($conn); + + $lehrveranstaltung_obj = new lehrveranstaltung($conn, $lehreinheit_obj->lehrveranstaltung_id); + $stg_obj = new studiengang($conn, $lehrveranstaltung_obj->studiengang_kz); + + $beispiel_obj->load_beispiel($uebung_id); + $anzahl = count($beispiel_obj->beispiele); + if(isset($_GET['gruppe']) && $_GET['gruppe']!='') + { + $gruppe = $_GET['gruppe']; + $qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id='$gruppe'"; + if($result = pg_query($conn, $qry)) + { + if($row = pg_fetch_object($result)) + { + if($row->gruppe_kurzbz!='') + { + $gruppe_bez = 'Gruppe '.$row->gruppe_kurzbz; + $qry_stud = "SELECT uid, vorname, nachname FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row->gruppe_kurzbz)."' ORDER BY nachname, vorname"; + } + else + { + $gruppe_bez = 'Gruppe '.$row->verband.$row->gruppe; + $qry_stud = "SELECT uid, vorname, nachname FROM campus.vw_student + WHERE studiengang_kz='$row->studiengang_kz' + AND semester='$row->semester' ". + ($row->verband!=''?" AND verband='$row->verband'":''). + ($row->gruppe!=''?" AND gruppe='$row->gruppe'":''). + " ORDER BY nachname, vorname"; + } + + } + else + die('Gruppe konnte nicht ermittelt werden'); + } + else + die('Gruppe konnte nicht ermittelt werden'); + $lehreinheit_id = ''; + } + else + { + if(isset($_GET['lehreinheit_id']) && $_GET['lehreinheit_id']!='') + { + $lehreinheit_id = $_GET['lehreinheit_id']; + $gruppe_bez = 'Alle Studienrende'; + //Alle Studenten die dieser lehreinheit zugeordnet sind + $qry_stud = "SELECT vw_student.uid, vorname, nachname FROM campus.vw_student, public.tbl_benutzergruppe, lehre.tbl_lehreinheitgruppe + WHERE tbl_lehreinheitgruppe.lehreinheit_id='$lehreinheit_id' AND + vw_student.uid = tbl_benutzergruppe.uid AND + tbl_benutzergruppe.gruppe_kurzbz = tbl_lehreinheitgruppe.gruppe_kurzbz + UNION + SELECT vw_student.uid, vorname, nachname FROM campus.vw_student, lehre.tbl_lehreinheitgruppe WHERE + tbl_lehreinheitgruppe.lehreinheit_id='$lehreinheit_id' AND + tbl_lehreinheitgruppe.studiengang_kz=vw_student.studiengang_kz AND + tbl_lehreinheitgruppe.semester = vw_student.semester AND + ((tbl_lehreinheitgruppe.verband<>'' AND + tbl_lehreinheitgruppe.gruppe<>'' AND + tbl_lehreinheitgruppe.verband is not null AND + tbl_lehreinheitgruppe.gruppe is not null AND + trim(tbl_lehreinheitgruppe.verband) = trim(vw_student.verband) AND + trim(tbl_lehreinheitgruppe.gruppe) = trim(vw_student.gruppe)) + OR + (tbl_lehreinheitgruppe.verband<>'' AND tbl_lehreinheitgruppe.verband is not null AND + (trim(tbl_lehreinheitgruppe.gruppe)='' OR tbl_lehreinheitgruppe.gruppe is null) AND + trim(tbl_lehreinheitgruppe.verband) = trim(vw_student.verband)) + OR (tbl_lehreinheitgruppe.verband is null AND tbl_lehreinheitgruppe.gruppe is null) + ) + ORDER BY nachname, vorname"; + } + else + die('Fehler bei der Parameteruebergabe'); + $gruppe=''; + } + + echo "
"; + echo ""; + echo " + + + "; + + echo ""; + foreach($beispiel_obj->beispiele as $row) + { + echo ""; + } + echo "\n"; + + if($result = pg_query($conn, $qry_stud)) + { + while($row_stud = pg_fetch_object($result)) + { + echo " + "; + foreach($beispiel_obj->beispiele as $row_bsp) + { + $studentbeispiel_obj = new beispiel($conn); + $studentbeispiel_obj->load_studentbeispiel($row_stud->uid, $row_bsp->beispiel_id); + echo "\n"; + } + echo "\n\n"; + } + } + + echo '
+ + + + + + +
$lehrveranstaltung_obj->semester.Semester$stg_obj->kuerzel - $lehrveranstaltung_obj->bezeichnung - $uebung_obj->bezeichnung - $gruppe_bez".date('d.m.Y')."
+
Name$row->bezeichnungUnterschrift
 $row_stud->nachname $row_stud->vorname $row_stud->uiduid');\" ".($studentbeispiel_obj->vorbereitet?'checked':'').">".($studentbeispiel_obj->probleme?'P':'')." 
'; + echo "

"; + echo '
' + ?> + + +, + * 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']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id + $lvid = $_GET['lvid']; +else + die('Fehlerhafte Parameteruebergabe'); + +if(isset($_GET['lehreinheit_id']) && is_numeric($_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 ''."\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 distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz 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 distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz 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.lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE 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"; +echo "$lv_obj->bezeichnung
"; + +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 "

Anwesenheits- und Übersichtstabelle

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

$uebung_obj->bezeichnung

"; + +echo '
'; +echo "'; +echo " + +
"; +?> +
+ + \ No newline at end of file diff --git a/cis/private/lehre/benotungstool/menue.inc.php b/cis/private/lehre/benotungstool/menue.inc.php new file mode 100644 index 000000000..f8216a73e --- /dev/null +++ b/cis/private/lehre/benotungstool/menue.inc.php @@ -0,0 +1,30 @@ +\n"; +echo "
"; +echo " Übungen"; +echo "    "; +echo ""; +echo " Anwesenheits- und Übersichtstabelle"; +echo "    "; +echo ""; +echo " Studentenpunkte verwalten"; +echo "    "; +echo ""; +echo " Statistik"; +echo ""; +$file = $_SERVER["SCRIPT_NAME"]; +$break = Explode('/', $file); +$pfile = $break[count($break) - 1]; +if ($pfile == "verwaltung.php") + echo "
    Übersicht"; +else if ($pfile == "verwaltung_listen.php") +{ + echo "
    Übersicht"; + if (isset($_GET["liste_id"]) && !isset($_GET["uebung_id"])) + echo "->Übung"; + if (isset($_GET["liste_id"]) && isset($_GET["uebung_id"])) + echo "->Übung->Liste"; +} +echo "

"; +echo "\n\n"; +?> \ No newline at end of file diff --git a/cis/private/lehre/benotungstool/statistik.php b/cis/private/lehre/benotungstool/statistik.php new file mode 100644 index 000000000..f9efa3b75 --- /dev/null +++ b/cis/private/lehre/benotungstool/statistik.php @@ -0,0 +1,345 @@ +, + * 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']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id + $lvid = $_GET['lvid']; +else + die('Fehlerhafte Parameteruebergabe'); + +if(isset($_GET['lehreinheit_id']) && is_numeric($_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 ''."\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 distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz 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 distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz 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.lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE 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"; +echo "$lv_obj->bezeichnung
"; + +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 " + +
"; + echo "Wählen Sie bitte eine Kreuzerlliste aus: '; + echo " + + + + + + + + + +
+...Kreuzerlliste ist freigeschalten.
-...Kreuzerlliste ist nicht freigeschalten.
+
"; +} +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.' ['.number_format($psolved,1,'.','').'%] +
+
+
"; + echo "

Es haben insgesamt $gesamt Studenten eingetragen."; + } + } + else + echo "$beispiel_obj->errormsg"; +} + +?> +
+ + \ No newline at end of file diff --git a/cis/private/lehre/benotungstool/studentenansicht.php b/cis/private/lehre/benotungstool/studentenansicht.php new file mode 100644 index 000000000..d4aaed8d4 --- /dev/null +++ b/cis/private/lehre/benotungstool/studentenansicht.php @@ -0,0 +1,573 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ +// ******************** +// * Studentenansicht fuers Kreuzerltool +// ******************** + +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']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id + $lvid = $_GET['lvid']; +else + die('Fehlerhafte Parameteruebergabe'); + +if(isset($_GET['lehreinheit_id']) && is_numeric($_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 ''."\n"; + +//Studiensemester laden +$stsem_obj = new studiensemester($conn); +if($stsem=='') + $stsem = $stsem_obj->getaktorNext(); + +//Lehreinheiten laden zu denen der eingeloggte Student zugeteilt ist +//Bei Lehrverbaenden werden auch die uebergeordneten geladen +$qry = "SELECT distinct lehreinheit_id, kurzbz FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehrfach USING(lehrfach_id) WHERE lehreinheit_id IN( + SELECT lehreinheit_id FROM public.tbl_benutzergruppe JOIN lehre.tbl_lehreinheitgruppe USING (gruppe_kurzbz) + WHERE tbl_benutzergruppe.uid='$user' AND + tbl_lehreinheitgruppe.lehreinheit_id IN( + SELECT lehreinheit_id FROM lehre.tbl_lehreinheit JOIN campus.tbl_uebung USING(lehreinheit_id) + WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND tbl_lehreinheit.studiensemester_kurzbz='$stsem') + UNION + SELECT lehreinheit_id FROM public.tbl_student, lehre.tbl_lehreinheitgruppe + WHERE tbl_student.student_uid='$user' AND + tbl_student.studiengang_kz=tbl_lehreinheitgruppe.studiengang_kz AND + trim(tbl_student.semester)=trim(tbl_lehreinheitgruppe.semester) AND + ( + ( + ( + tbl_lehreinheitgruppe.verband<>'' AND + tbl_lehreinheitgruppe.gruppe<>'' AND + trim(tbl_lehreinheitgruppe.verband) = trim(tbl_student.verband) AND + trim(tbl_lehreinheitgruppe.gruppe) = trim(tbl_student.gruppe) + ) + OR + ( + tbl_lehreinheitgruppe.verband<>'' AND + ( + trim(tbl_lehreinheitgruppe.gruppe)='' OR + tbl_lehreinheitgruppe.gruppe is null + ) + AND + trim(tbl_lehreinheitgruppe.verband) = trim(tbl_student.verband) + ) + OR + ( + (trim(tbl_lehreinheitgruppe.verband)='' OR tbl_lehreinheitgruppe.verband is null) + AND + (trim(tbl_lehreinheitgruppe.gruppe)='' OR tbl_lehreinheitgruppe.gruppe is null) + ) + ) + ) + AND + tbl_lehreinheitgruppe.lehreinheit_id IN(SELECT lehreinheit_id FROM lehre.tbl_lehreinheit JOIN campus.tbl_uebung USING(lehreinheit_id) + WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND tbl_lehreinheit.studiensemester_kurzbz='$stsem'))"; +//echo $qry; +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 + $lehreinheit_id =''; + } +} +else +{ + echo 'Fehler beim Auslesen der Lehreinheiten'; +} + +echo '
'; +echo ''; +echo ''; +echo " +
 \n"; +echo "
$lv_obj->bezeichnungDownloadverzeichnis anzeigen

"; + +if($lehreinheit_id=='') + die('Derzeit gibt es keine Kreuzerllisten für diese Lehrveranstaltung'); +$qry = "SELECT vorname, nachname FROM campus.vw_student WHERE uid='$user'"; +$name=''; +if($result = pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $name = $row->vorname.' '.$row->nachname; + +echo "
Leistungsuebersicht für $name

"; + +$uebung_obj = new uebung($conn); +$uebung_obj->load_uebung($lehreinheit_id); +if(count($uebung_obj->uebungen)>0) +{ + echo " + +
"; + echo "Wählen Sie bitte eine Kreuzerlliste aus: '; + echo " + + + + + + + + + +
+...Kreuzerlliste ist freigeschalten.
-...Kreuzerlliste ist nicht freigeschalten.
+
"; + +} +else + die("Derzeit gibt es keine Uebungen"); + +//******SPEICHERN DER DATEN************* +if(isset($_POST['submit'])) +{ + $error=false; + + $ueb_hlp_obj = new uebung($conn); + $ueb_hlp_obj->load($uebung_id); + //Wenn Kreuzerlliste Freigegeben ist + if($datum_obj->mktime_fromtimestamp($ueb_hlp_obj->freigabevon)mktime_fromtimestamp($ueb_hlp_obj->freigabebis)>time()) + { + $bsp_obj = new beispiel($conn); + + if($bsp_obj->load_beispiel($uebung_id)) + { + foreach ($bsp_obj->beispiele as $row) + { + $stud_bsp_obj = new beispiel($conn); + + if($stud_bsp_obj->load_studentbeispiel($user, $row->beispiel_id)) + { + $stud_bsp_obj->new=false; + } + else + { + $stud_bsp_obj->new=true; + $stud_bsp_obj->insertamum = date('Y-m-d H:i:s'); + $stud_bsp_obj->insertvon = $user; + } + $stud_bsp_obj->vorbereitet = ($_POST['solved_'.$row->beispiel_id]==1?true:false); + $stud_bsp_obj->probleme = (isset($_POST['problem_'.$row->beispiel_id])?true:false); + $stud_bsp_obj->updateamum = date('Y-m-d H:i:s'); + $stud_bsp_obj->updatevon = $user; + $stud_bsp_obj->student_uid = $user; + $stud_bsp_obj->beispiel_id = $row->beispiel_id; + + if(!$stud_bsp_obj->studentbeispiel_save()) + { + echo $stud_bsp_obj->errormsg; + $error=true; + } + } + } + + if($error) + echo "Es konnten nicht alle Daten gespeichert werden"; + else + echo "Die Daten wurden erfolgreich gespeichert
"; + } + else + echo "Die Änderungen können nicht gespeichert werden, da diese Kreuzerlliste nicht freigegeben ist!"; +} + +//********ANZEIGE DER EINGETRAGENEN KREUZERL*********** +$uebung_obj = new uebung($conn); +$uebung_obj->load($uebung_id); +echo "Freigegeben von ".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon))." bis ".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis)); +echo "

$uebung_obj->bezeichnung

"; +echo "Angabe: ".$uebung_obj->angabedatei."

"; +$ueb_obj = new uebung($conn); +if($ueb_obj->load_studentuebung($user, $uebung_id)) +{ + $anmerkung = $ueb_obj->anmerkung; + $mitarbeit = $ueb_obj->mitarbeitspunkte; +} +else +{ + $anmerkung = ''; + $mitarbeit = 0; +} + +echo " +
+ + + + +
+ ".($anmerkung!=''?'Anmerkungen: '.htmlentities($anmerkung).'

':'')." +
+ + + + + + + + "; + +$bsp_obj = new beispiel($conn); +$bsp_obj->load_beispiel($uebung_id); + +foreach ($bsp_obj->beispiele as $row) +{ + $stud_bsp_obj = new beispiel($conn); + if($stud_bsp_obj->load_studentbeispiel($user, $row->beispiel_id)) + { + $vorbereitet = $stud_bsp_obj->vorbereitet; + $probleme = $stud_bsp_obj->probleme; + } + else + { + $vorbereitet = false; + $probleme = false; + } + echo " + + + + + + "; +} + +//Speichern button nur Anzeigen wenn die Uebung Freigegeben ist +if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)mktime_fromtimestamp($uebung_obj->freigabebis)>time()) + echo ""; + +echo "
BeispielVorbereitetNicht vorbereitetProblemePunkte
$row->bezeichnung$row->punkte
"; +echo " +
"; + +//Gesamtpunkte diese Kreuzerlliste +$qry = "SELECT sum(punkte) as punktegesamt FROM campus.tbl_beispiel WHERE uebung_id='$uebung_id'"; +$punkte_gesamt=0; +if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $punkte_gesamt = $row->punktegesamt; + +//Eingetragen diese Kreuzerlliste +$qry = "SELECT sum(punkte) as punkteeingetragen FROM campus.tbl_beispiel JOIN campus.tbl_studentbeispiel USING(beispiel_id) WHERE uebung_id='$uebung_id' AND student_uid='$user' AND vorbereitet=true"; +$punkte_eingetragen=0; +if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0); + +//Gesamtpunkte alle Kreuzerllisten +$qry = "SELECT sum(tbl_beispiel.punkte) as punktegesamt_alle FROM campus.tbl_beispiel, campus.tbl_uebung + WHERE tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND + tbl_uebung.lehreinheit_id='$lehreinheit_id'"; +$punkte_gesamt_alle=0; +if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $punkte_gesamt_alle = $row->punktegesamt_alle; + +//Eingetragen alle Kreuzerllisten +$qry = "SELECT sum(tbl_beispiel.punkte) as punkteeingetragen_alle FROM campus.tbl_beispiel, campus.tbl_studentbeispiel, campus.tbl_uebung + WHERE tbl_beispiel.beispiel_id = tbl_studentbeispiel.beispiel_id AND + tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND + tbl_uebung.lehreinheit_id='$lehreinheit_id' AND + tbl_studentbeispiel.student_uid='$user' AND vorbereitet=true"; +$punkte_eingetragen_alle=0; +if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $punkte_eingetragen_alle = ($row->punkteeingetragen_alle!=''?$row->punkteeingetragen_alle:0); + +//Mitarbeitspunkte +$qry = "SELECT sum(mitarbeitspunkte) as mitarbeitspunkte FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) + WHERE lehreinheit_id='$lehreinheit_id' AND student_uid='$user'"; +$mitarbeit_alle=0; +if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $mitarbeit_alle = ($row->mitarbeitspunkte!=''?$row->mitarbeitspunkte:0); + +//Mitarbeitspunkte +$qry = "SELECT mitarbeitspunkte FROM campus.tbl_studentuebung + WHERE uebung_id='$uebung_id' AND student_uid='$user'"; +$mitarbeit=0; +if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $mitarbeit = $row->mitarbeitspunkte; +echo " + + + + + + + + + + + + + +
Diese Kreuzerlliste:
Punkte insgesamt möglich:$punkte_gesamt
Punkte eingetragen:$punkte_eingetragen
+

+ + + + + + + + + + + + +
Alle Kreuzerllisten bisher:
Punkte insgesamt möglich:$punkte_gesamt_alle
Punkte eingetragen:$punkte_eingetragen_alle
+

+ + + + + + + + + + + + +
Mitarbeitspunkte:
Bisher insgesamt:$mitarbeit_alle
Diese Kreuzerlliste:$mitarbeit
+ "; + + +echo " +
+ +
+"; + +//**********STATISTIK*************** +if($uebung_obj->statistik) +{ + echo "

Statistik

"; + $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.' ['.number_format($psolved,1,'.','').'%] +
+
+
"; + echo "

Es haben insgesamt $gesamt Studenten eingetragen."; + } + } + else + echo "$beispiel_obj->errormsg"; +} +?> +
+ + \ No newline at end of file diff --git a/cis/private/lehre/benotungstool/studentenpunkteverwalten.php b/cis/private/lehre/benotungstool/studentenpunkteverwalten.php new file mode 100644 index 000000000..50d431394 --- /dev/null +++ b/cis/private/lehre/benotungstool/studentenpunkteverwalten.php @@ -0,0 +1,598 @@ +, + * 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']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id + $lvid = $_GET['lvid']; +else + die('Fehlerhafte Parameteruebergabe'); + +if(isset($_GET['lehreinheit_id']) && is_numeric($_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 ''."\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 distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz 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 distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz 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.lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE 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"; +echo "$lv_obj->bezeichnung
"; + +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 "

Studentenpunkte verwalten

"; +if(isset($_POST['submit'])) +{ + $error=false; + $punkte = (isset($_POST['punkte'])?str_replace(',','.',$_POST['punkte']):''); + if(isset($punkte) && is_numeric($punkte)) + { + $ueb_obj = new uebung($conn); + if($ueb_obj->load_studentuebung($uid, $uebung_id)) + $ueb_obj->new = false; + else + { + $ueb_obj->new = true; + $ueb_obj->insertamum = date('Y-m-d H:i:s'); + $ueb_obj->insertvon = $user; + } + + $ueb_obj->mitarbeitspunkte = $punkte; + $ueb_obj->anmerkung = $_POST['anmerkung']; + $ueb_obj->updateamum = date('Y-m-d H:i:s'); + $ueb_obj->updatevon = $user; + $ueb_obj->mitarbeiter_uid = $user; + $ueb_obj->uebung_id = $uebung_id; + $ueb_obj->student_uid = $uid; + + if(!$ueb_obj->studentuebung_save()) + $error = true; + + $bsp_obj = new beispiel($conn); + + if($bsp_obj->load_beispiel($uebung_id)) + { + foreach ($bsp_obj->beispiele as $row) + { + $stud_bsp_obj = new beispiel($conn); + + if($stud_bsp_obj->load_studentbeispiel($uid, $row->beispiel_id)) + { + $stud_bsp_obj->new=false; + } + else + { + $stud_bsp_obj->new=true; + $stud_bsp_obj->insertamum = date('Y-m-d H:i:s'); + $stud_bsp_obj->insertvon = $user; + } + $stud_bsp_obj->vorbereitet = ($_POST['solved_'.$row->beispiel_id]==1?true:false); + $stud_bsp_obj->probleme = (isset($_POST['problem_'.$row->beispiel_id])?true:false); + $stud_bsp_obj->updateamum = date('Y-m-d H:i:s'); + $stud_bsp_obj->updatevon = $user; + $stud_bsp_obj->student_uid = $uid; + $stud_bsp_obj->beispiel_id = $row->beispiel_id; + + if(!$stud_bsp_obj->studentbeispiel_save()) + { + echo $stud_bsp_obj->errormsg; + $error=true; + } + } + } + + if($error) + echo "Es konnten nicht alle Daten gespeichert werden"; + else + echo "Die Daten wurden erfolgreich gespeichert
"; + + } + else + { + echo "Punkte sind ungueltig"; + } +} + +if(isset($_GET['uid']) && $_GET['uid']!='') +{ + //Punkte eintragen + $uid = addslashes($_GET['uid']); + + $qry_stud = "SELECT vorname, nachname, uid FROM campus.vw_student WHERE uid='$uid'"; + + if(!$result_stud = pg_query($conn, $qry_stud)) + die('Fehler beim laden des Studenten'); + + if(!$row_stud = pg_fetch_object($result_stud)) + die('Student wurde nicht gefunden'); + + echo "$row_stud->vorname $row_stud->nachname
\n"; + + $uebung_obj = new uebung($conn); + $uebung_obj->load_uebung($lehreinheit_id); + if(count($uebung_obj->uebungen)>0) + { + echo " + +
"; + echo "
Wählen Sie bitte eine Kreuzerlliste aus: '; + echo "
+ + + + + + + + + +
+...Kreuzerlliste ist freigeschalten.
-...Kreuzerlliste ist nicht freigeschalten.
+
"; + } + else + die("Derzeit gibt es keine Uebungen"); + + $ueb_obj = new uebung($conn); + if($ueb_obj->load_studentuebung($uid, $uebung_id)) + { + $anmerkung = $ueb_obj->anmerkung; + $mitarbeit = $ueb_obj->mitarbeitspunkte; + } + else + { + $anmerkung = ''; + $mitarbeit = 0; + } + + echo " +
+ + + + + + +
+ Anmerkungen:
+ +

+ + + + + + + + "; + + $bsp_obj = new beispiel($conn); + $bsp_obj->load_beispiel($uebung_id); + + foreach ($bsp_obj->beispiele as $row) + { + $stud_bsp_obj = new beispiel($conn); + if($stud_bsp_obj->load_studentbeispiel($uid, $row->beispiel_id)) + { + $vorbereitet = $stud_bsp_obj->vorbereitet; + $probleme = $stud_bsp_obj->probleme; + } + else + { + $vorbereitet = false; + $probleme = false; + } + echo " + + + + + + "; + } + + echo "
BeispielVorbereitetNicht vorbereitetProblemePunkte
$row->bezeichnung$row->punkte
"; + + echo " +
"; + + //Gesamtpunkte diese Kreuzerlliste + $qry = "SELECT sum(punkte) as punktegesamt FROM campus.tbl_beispiel WHERE uebung_id='$uebung_id'"; + $punkte_gesamt=0; + if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $punkte_gesamt = $row->punktegesamt; + + //Eingetragen diese Kreuzerlliste + $qry = "SELECT sum(punkte) as punkteeingetragen FROM campus.tbl_beispiel JOIN campus.tbl_studentbeispiel USING(beispiel_id) WHERE uebung_id='$uebung_id' AND student_uid='$uid' AND vorbereitet=true"; + $punkte_eingetragen=0; + if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0); + + //Gesamtpunkte alle Kreuzerllisten + $qry = "SELECT sum(tbl_beispiel.punkte) as punktegesamt_alle FROM campus.tbl_beispiel, campus.tbl_uebung + WHERE tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND + tbl_uebung.lehreinheit_id='$lehreinheit_id'"; + $punkte_gesamt_alle=0; + if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $punkte_gesamt_alle = $row->punktegesamt_alle; + + //Eingetragen alle Kreuzerllisten + $qry = "SELECT sum(tbl_beispiel.punkte) as punkteeingetragen_alle FROM campus.tbl_beispiel, campus.tbl_studentbeispiel, campus.tbl_uebung + WHERE tbl_beispiel.beispiel_id = tbl_studentbeispiel.beispiel_id AND + tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND + tbl_uebung.lehreinheit_id='$lehreinheit_id' AND + tbl_studentbeispiel.student_uid='$uid' AND vorbereitet=true"; + $punkte_eingetragen_alle=0; + if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $punkte_eingetragen_alle = ($row->punkteeingetragen_alle!=''?$row->punkteeingetragen_alle:0); + + //Mitarbeitspunkte + $qry = "SELECT sum(mitarbeitspunkte) as mitarbeitspunkte FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) + WHERE lehreinheit_id='$lehreinheit_id' AND student_uid='$uid'"; + $mitarbeit_alle=0; + if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $mitarbeit_alle = ($row->mitarbeitspunkte!=''?$row->mitarbeitspunkte:0); + + //Mitarbeitspunkte + $qry = "SELECT mitarbeitspunkte FROM campus.tbl_studentuebung + WHERE uebung_id='$uebung_id' AND student_uid='$uid'"; + $mitarbeit=0; + if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $mitarbeit = $row->mitarbeitspunkte; + echo " +
+ + + + + + + + + + + + +
Diese Kreuzerlliste:
Punkte insgesamt möglich:$punkte_gesamt
Punkte eingetragen:$punkte_eingetragen
+

+ + + + + + + + + + + + +
Alle Kreuzerllisten bisher:
Punkte insgesamt möglich:$punkte_gesamt_alle
Punkte eingetragen:$punkte_eingetragen_alle
+

+ + + + + + + + + + + + +
Mitarbeitspunkte:
Bisher insgesamt:$mitarbeit_alle
Diese Kreuzerlliste:
+ "; + + + echo " +
  + + +
+ +
+ "; + +} +else +{ + //Studentenliste + echo "Bitte wählen Sie den Studenten aus.

"; + echo " + + "; + + $qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$lehreinheit_id' ORDER BY semester, verband, gruppe, gruppe_kurzbz"; + + if($result_grp = pg_query($conn, $qry)) + { + while($row_grp = pg_fetch_object($result_grp)) + { + echo " + + + + + + + + + + + + + + "; + if($row_grp->gruppe_kurzbz!='') + { + echo " + + + "; + $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row_grp->gruppe_kurzbz)."' ORDER BY nachname, vorname"; + } + else + { + echo " + + + "; + $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student + WHERE studiengang_kz='$row_grp->studiengang_kz' AND + semester='$row_grp->semester' ". + ($row_grp->verband!=''?" AND trim(verband)=trim('$row_grp->verband')":''). + ($row_grp->gruppe!=''?" AND trim(gruppe)=trim('$row_grp->gruppe')":''). + " ORDER BY nachname, vorname"; + } + + if($result_stud = pg_query($conn, $qry_stud)) + { + $i=1; + while($row_stud = pg_fetch_object($result_stud)) + { + echo " + + + + + "; + $i++; + } + } + } + } + echo "
   
UIDNachnameVorname
   
$row_grp->gruppe_kurzbz
Verband $row_grp->verband ".($row_grp->gruppe!=''?"Gruppe $row_grp->gruppe":'')."
$row_stud->uid$row_stud->nachname$row_stud->vorname
"; +} +?> +
+ + \ No newline at end of file diff --git a/cis/private/lehre/benotungstool/verwaltung.php b/cis/private/lehre/benotungstool/verwaltung.php new file mode 100644 index 000000000..245cfa931 --- /dev/null +++ b/cis/private/lehre/benotungstool/verwaltung.php @@ -0,0 +1,697 @@ +, + * 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'); +function microtime_float() +{ + list($usec, $sec) = explode(" ", microtime()); + return ((float)$usec + (float)$sec); +} +$time = microtime_float(); +?> + + + + + +Kreuzerltool + + + + +getBerechtigungen($user); + +if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id + $lvid = $_GET['lvid']; +else + die('Fehlerhafte Parameteruebergabe'); + +if(isset($_GET['lehreinheit_id']) && is_numeric($_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=''; +$error_gewicht=''; + +$thema = (isset($_POST['thema'])?$_POST['thema']:''); +$anzahlderbeispiele = (isset($_POST['anzahlderbeispiele'])?$_POST['anzahlderbeispiele']:''); +$punkteprobeispiel = (isset($_POST['punkteprobeispiel'])?$_POST['punkteprobeispiel']:''); +$punkteprobeispiel = str_replace(',','.',$punkteprobeispiel); +$freigabebis = (isset($_POST['freigabebis'])?$_POST['freigabebis']:''); +$freigabevon = (isset($_POST['freigabevon'])?$_POST['freigabevon']:''); +$gewicht = (isset($_POST['gewicht'])?$_POST['gewicht']:''); +$positiv = (isset($_POST['positiv'])?$_POST['positiv']:''); + +$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:''); +$copy_content = ''; + +//Kopfzeile +echo ''; +echo ' '; +echo ''; +echo '
  "Kreuzerl"-Tool'; +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 distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz 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 distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz 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.lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE mitarbeiter_uid='$user') AND + tbl_lehreinheit.studiensemester_kurzbz = '$stsem'"; +} + +if($result = pg_query($conn, $qry)) +{ + $result_alle_lehreinheiten = $result; + 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"; +echo "$lv_obj->bezeichnung
"; + +if($lehreinheit_id=='') + die('Es gibt keine Lehreinheiten in diesem Studiensemester für die Sie eine Berechtigung besitzen'); + +//Menue +include("menue.inc.php"); +/* +echo "\n\n"; +echo "
+ Verwaltung     + Anwesenheits- und Übersichtstabelle     + Studentenpunkte verwalten     + Statistik +

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

Übungen anlegen und verwalten

"; +echo "
"; + +//Anlegen einer neuen Uebung +if(isset($_POST['uebung_neu'])) +{ + if(isset($thema)) + { + //pruefen ob alle Daten eingegeben wurden + $error=false; + $error_msg = ''; + if($thema=='') + { + //$error_thema .= "Thema muss eingegeben werden"; + echo "Thema muss eingegeben werden"; + $error=true; + } + if(!is_numeric($gewicht)) + { + echo "Gewicht muss eine Zahl sein"; + $error = true; + } + + if(!$error) + { + //Uebung anlegen + $datum_obj = new datum(); + $uebung_obj = new uebung($conn); + $uebung_obj->gewicht=$gewicht; + $uebung_obj->punkte=''; + $uebung_obj->angabedatei=''; + $uebung_obj->freigabevon = null; + $uebung_obj->freigabebis = null; + $uebung_obj->abgabe=false; + $uebung_obj->beispiele=false; + $uebung_obj->bezeichnung=$thema; + $uebung_obj->positiv=isset($_POST['positiv']); + $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; + $uebung_obj->statistik = false; + $uebung_obj->liste_id = null; + + if($uebung_obj->save(true)) + { + if($error_msg!='') + echo "$error_msg"; + else + header("Location: verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&liste_id=$uebung_obj->uebung_id"); + } + else + echo "$uebung_obj->errormsg"; + } + + } + else + echo "Übung konnte nicht angelegt werden!
"; +} + + +//Loeschen einer Uebung +if(isset($_POST['delete_uebung'])) +{ + if(isset($_POST['uebung'])) + { + $ueb_obj = new uebung($conn); + $error_msg=''; + //Ausgewaehlte Beispiele holen + $delete_ids = $_POST['uebung']; + foreach($delete_ids as $id) + { + //Beispiel loeschen + if(!$ueb_obj->delete($id)) + $error_msg=$ueb_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; + } + + + if(!$error) + { + $uebung_obj = new uebung($conn); + $uebung_obj->gewicht=''; + $uebung_obj->punkte=''; + $uebung_obj->angabedatei=''; + $uebung_obj->freigabevon = null; + $uebung_obj->freigabebis = null; + $uebung_obj->abgabe=false; + $uebung_obj->beispiele=false; + $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; + $uebung_obj->statistik = false; + + if($uebung_obj->save(false)) + header("Location: verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id"); + //echo "Die Änderung wurde gespeichert!"; + else + echo "$uebung_obj->errormsg"; + } + +} + + +//Eine Uebung in eine andere Lehreinheit kopieren +if(isset($_GET['kopieren']) && $_GET['kopieren']=='true') +{ + //echo "Kopiere Uebung ".$_GET['uebung_copy_id']." to ".$_POST['lehreinheit_copy_id']; + //Laden der zu kopierenden Uebung + if(is_numeric($_GET['uebung_copy_id']) && is_numeric($_POST['lehreinheit_copy_id'])) + { + //Source Uebung Laden + $qry = "SELECT * FROM campus.tbl_uebung WHERE uebung_id='".$_GET['uebung_copy_id']."'"; + if($result_source = pg_query($conn, $qry)) + { + if($row_source = pg_fetch_object($result_source)) + { + //Berechtigung Checken + $qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='".$_POST['lehreinheit_copy_id']."' AND mitarbeiter_uid='$user'"; + if($row_berechtigt = pg_query($conn, $qry)) + { + if(pg_num_rows($row_berechtigt)>0 || + $rechte->isBerechtigt('admin',0) || + $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz)) + { + //Schauen ob bereits eine uebung mit diesem Namen vorhanden ist + $qry = "SELECT * FROM campus.tbl_uebung WHERE lehreinheit_id='".$_POST['lehreinheit_copy_id']."' AND bezeichnung='".addslashes($row_source->bezeichnung)."'"; + $result_bezeichnung_exists = pg_query($conn, $qry); + if(pg_num_rows($result_bezeichnung_exists)==0) + { + //Uebung einfuegen + $uebung_dest = new uebung($conn); + $uebung_dest->gewicht = $row_source->punkte; + $uebung_dest->punkte = $row_source->punkte; + $uebung_dest->angabedatei = $row_source->angabedatei; + $uebung_dest->freigabevon = $row_source->freigabevon; + $uebung_dest->freigabebis = $row_source->freigabebis; + $uebung_dest->abgabe = ($row_source->abgabe=='t'?true:false); + $uebung_dest->beispiele = ($row_source->beispiele=='t'?true:false); + $uebung_dest->bezeichnung = $row_source->bezeichnung; + $uebung_dest->positiv = ($row_source->positiv=='t'?true:false); + $uebung_dest->statistik = ($row_source->statistik=='t'?true:false); + $uebung_dest->defaultbemerkung = $row_source->defaultbemerkung; + $uebung_dest->lehreinheit_id = $_POST['lehreinheit_copy_id']; + $ubeung_dest->updateamum = date('Y-m-d H:i:s'); + $uebung_dest->updatevon = $user; + $uebung_dest->insertamum = date('Y-m-d H:i:s'); + $uebung_dest->insertvon = $user; + + if($uebung_dest->save(true)) + { + //Beispiel laden + $qry = "SELECT * FROM campus.tbl_beispiel WHERE uebung_id='".$_GET['uebung_copy_id']."'"; + if($result_bsp_source = pg_query($conn, $qry)) + { + $error_bsp_save=false; + while($row_bsp_source = pg_fetch_object($result_bsp_source)) + { + //Beispiel speichern + $beispiel_dest = new beispiel($conn); + $beispiel_dest->uebung_id = $uebung_dest->uebung_id; + $beispiel_dest->bezeichnung = $row_bsp_source->bezeichnung; + $beispiel_dest->punkte = $row_bsp_source->punkte; + $beispiel_dest->updateamum = date('Y-m-d H:i:s'); + $beispiel_dest->updatevon = $user; + $beispiel_dest->insertamum = date('Y-m-d H:i:s'); + $beispiel_dest->insertvon = $user; + + if(!$beispiel_dest->save(true)) + $error_bsp_save=true; + } + + if($error_bsp_save) + echo "Fehler: Es konnten nicht alle Beispiel kopiert werden"; + else + echo "Daten wurden erfolgreich kopiert"; + } + } + else + { + + echo "Fehler beim kopieren der Daten: $uebung_dest->errormsg"; + } + } + else + echo "Fehler beim Kopieren: In der Ziel-Lehreinheit existiert bereits eine Kreuzerlliste mit diesem Namen!"; + } + else + echo "Sie haben keine Berechtigung für diese Aktion"; + } + } + else + echo "Uebung ".$_GET['uebung_copy_id']." wurde nicht gefunden"; + } + else + echo "Uebung ".$_GET['uebung_copy_id']." wurde nicht gefunden"; + } + else + echo "Fehler bei der Parameteruebergabe"; +} + +//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 Übung bearbeiten 
 
Thema$error_thema
+
"; + + $beispiel_obj = new beispiel($conn); + $beispiel_obj->load_beispiel($uebung_id); + $anzahl = count($beispiel_obj->beispiele); + echo "
"; + + echo "
"; + + echo ""; +} +else +{ + //Gesamtuebersicht ueber alle Uebungen + + echo "
"; + echo "
"; + echo ""; + + $uebung_obj = new uebung($conn); + $uebung_obj->load_uebung($lehreinheit_id,$level=1,$uebung_id=null); + $anzahl = count($uebung_obj->uebungen); + //$copy_content="
Vorhandene Übungen bearbeiten
"; + $has_copy_content=false; + if($anzahl>0) + { + echo ""; + + //Alle Lehreinheiten holen die zu dieser lehrveranstaltung gehoeren + //und der angemeldete User berechtigt ist + $copy_option_content = array(); + for($i=0;$ilehreinheit_id) + { + //zugeteilte Lektoren holen + $qry_lektoren = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter JOIN public.tbl_mitarbeiter using(mitarbeiter_uid) WHERE lehreinheit_id='$row_alle_lehreinheiten->lehreinheit_id'"; + if($result_lektoren = pg_query($conn, $qry_lektoren)) + { + $lektoren = '( '; + $j=0; + while($row_lektoren = pg_fetch_object($result_lektoren)) + { + $lektoren .= $row_lektoren->kurzbz; + $j++; + if($jgruppe_kurzbz=='') + $gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe; + else + $gruppen.=$row_gruppen->gruppe_kurzbz; + $j++; + if($jlehreinheit_id] = "$row_alle_lehreinheiten->lfbez-$row_alle_lehreinheiten->lehrform_kurzbz - $gruppen $lektoren"; + } + + } + + //Uebungen durchlaufen + foreach ($uebung_obj->uebungen as $row) + { + $has_option_content=false; + echo ""; + echo ""; + //Wenn andere Lehreinheiten vorhanden sind dann wird die moeglichkeit zum kopieren von + //Uebungen in diese Lehreinheiten angeboten. + if(isset($result_alle_lehreinheiten) && pg_num_rows($result_alle_lehreinheiten)>1) + { + $copy_content.= ''; + $copy_content.= '"; + } + $subuebung_obj = new uebung($conn); + $subuebung_obj->load_uebung($lehreinheit_id,$level=2,$uebung_id=$row->uebung_id); + $subanzahl = count($subuebung_obj->uebungen); + echo ""; + } + echo ""; + } + else + echo ""; + + echo "
Übung in andere LE kopieren
 
 
 
ThemaFreigeschaltenAuswahl 
"; + echo "".htmlentities($row->bezeichnung).""; + echo ""; + + //if((strtotime(strftime($row->freigabevon))<=time()) && (strtotime(strftime($row->freigabebis))>=time())) + // echo 'Ja'; + //else + // echo 'Nein'; + //echo "
'; + $copy_option_content = ''; + //Lehreinheiten fuer Combo durchgehen und schauen ob + //fuer diese Lehreinheit bereits eine Uebung mit gleichem Namen existiert + //Falls ja wird diese nicht in der Combo angezeigt + foreach ($copy_le_content as $id=>$bezeichnung) + { + $qry = "SELECT uebung_id FROM campus.tbl_uebung WHERE lehreinheit_id='$id' AND bezeichnung='$row->bezeichnung'"; + //echo $qry; + if($result_vorhanden = pg_query($conn, $qry)) + { + if(pg_num_rows($result_vorhanden)==0) + { + $copy_option_content.= "\n"; + $has_option_content=true; + $has_copy_content=true; + } + } + } + //Wenn eintraege fuer Combo vorhanden sind dann wirds angezeigt + if($has_option_content) + { + $copy_content.= "\n"; + $copy_content.= "\n '; + $copy_content.= "   "; + $copy_content.= "\n"; + } + else + { + $copy_content.=" "; + } + $copy_content.= "
"; + echo ""; + foreach ($subuebung_obj->uebungen as $subrow) + { + echo ""; + } + echo "
|- ".$subrow->bezeichnung.""; + if((strtotime(strftime($subrow->freigabevon))<=time()) && (strtotime(strftime($subrow->freigabebis))>=time())) + echo 'Ja'; + else + echo 'Nein'; + echo "
"; + echo "
Derzeit sind keine Übungen angelegt
+

"; + + //Kopier-Buttons anzeigen + //$copy_content.='
'; + //echo "
"; + //if($has_copy_content) + // echo $copy_content; + //echo "
"; + + //Uebung neu anlegen + if(!isset($_POST['uebung_neu'])) + { + $thema = "Uebung ".($anzahl<9?'0'.($anzahl+1):($anzahl+1)); + $anzahlderbeispiele = 10; + $punkteprobeispiel = 1; + $freigabevon = date('d.m.Y H:i'); + $freigabebis = date('d.m.Y H:i'); + } + + echo ""; + echo " +
+ + + + + + + +
Neue Übung anlegen
Thema$error_thema
Gewicht$error_gewicht
Positiv
+
+ "; +} +?> + + + + \ No newline at end of file diff --git a/cis/private/lehre/benotungstool/verwaltung_listen.php b/cis/private/lehre/benotungstool/verwaltung_listen.php new file mode 100644 index 000000000..937038a76 --- /dev/null +++ b/cis/private/lehre/benotungstool/verwaltung_listen.php @@ -0,0 +1,1113 @@ +, + * 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'); +function microtime_float() +{ + list($usec, $sec) = explode(" ", microtime()); + return ((float)$usec + (float)$sec); +} +$time = microtime_float(); + +if(!$conn = pg_pconnect(CONN_STRING)) + die('Fehler beim oeffnen der Datenbankverbindung'); + +$user = get_uid(); + +if(!check_lektor($user, $conn)) + die('Sie haben keine Berechtigung fuer diesen Bereich'); + +$rechte = new benutzerberechtigung($conn); +$rechte->getBerechtigungen($user); + +if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id + $lvid = $_GET['lvid']; +else + die('Fehlerhafte Parameteruebergabe'); + +if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id + $lehreinheit_id = $_GET['lehreinheit_id']; +else + $lehreinheit_id = ''; + +//Angabedatei ausliefern +if (isset($_GET["download"])){ + $file=$_GET["download"]; + $uebung_id = $_GET["uebung_id"]; + $ueb = new uebung($conn); + $ueb->load($uebung_id); + $filename = "/documents/benotungstool/angabe/".$ueb->angabedatei; + header('Content-Type: application/octet-stream'); + header('Content-disposition: attachment; filename="'.$file.'"'); + readfile($filename); + exit; +} + +?> + + + + + +Kreuzerltool + + + + +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=''; +$error_maxstd = ''; +$error_maxbsp = ''; +$error_gewicht = ''; + +$thema = (isset($_POST['thema'])?$_POST['thema']:''); +$liste_id = (isset($_REQUEST['liste_id'])?$_REQUEST['liste_id']:''); +$anzahlderbeispiele = (isset($_POST['anzahlderbeispiele'])?$_POST['anzahlderbeispiele']:''); +$punkteprobeispiel = (isset($_POST['punkteprobeispiel'])?$_POST['punkteprobeispiel']:''); +$punkteprobeispiel = str_replace(',','.',$punkteprobeispiel); +$freigabebis = (isset($_POST['freigabebis'])?$_POST['freigabebis']:''); +$freigabevon = (isset($_POST['freigabevon'])?$_POST['freigabevon']:''); +$maxstd = (isset($_POST['maxstd'])?$_POST['maxstd']:''); +$maxbsp = (isset($_POST['maxbsp'])?$_POST['maxbsp']:''); +$gewicht = (isset($_POST['gewicht'])?$_POST['gewicht']:''); +if (isset($_FILES["angabedatei"])) + $angabedatei_up = $_FILES["angabedatei"]["tmp_name"]; +else + $angabedatei_up = null; + +$beispiel_id = (isset($_GET['beispiel_id'])?$_GET['beispiel_id']:''); +$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:''); + +//Filenamen für up-/downloads bauen +// which kann sein angabe, abgabe oder zip +function makeUploadName($conn, $which, $lehreinheit_id=null, $uebung_id=null, $ss=null) +{ + $query = "SELECT tbl_studiengang.kurzbzlang, tbl_lehrfach.semester, tbl_lehrfach.kurzbz from public.tbl_studiengang, lehre.tbl_lehrfach, lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit where tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id and tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id and tbl_lehrveranstaltung.studiengang_kz = tbl_studiengang.studiengang_kz and tbl_lehreinheit.lehreinheit_id = '".$lehreinheit_id."'"; + $result = pg_query($conn, $query); + $row = pg_fetch_object($result); + $name = $row->kurzbzlang."_".$row->semester."_".$row->kurzbz."_".$ss; + +if ($which == "angabe") + { + $name .= "_".$uebung_id; + } + + return $name; +} + + + +//Angabedatei löschen +if (isset($_GET["deletefile"])){ + $file=$_GET["deletefile"]; + $ueb = new uebung($conn); + $ueb->load($uebung_id); + $filename = "/documents/benotungstool/angabe/".$ueb->angabedatei; + $ueb->angabedatei = ''; + $ueb->save(false); + unlink($filename); +} + +//Kopfzeile +echo ''; +echo ' '; +echo ''; +echo '
  "Kreuzerl"-Tool'; +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 distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz 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 distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz 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.lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE mitarbeiter_uid='$user') AND + tbl_lehreinheit.studiensemester_kurzbz = '$stsem'"; +} + +if($result = pg_query($conn, $qry)) +{ + $result_alle_lehreinheiten = $result; + 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"; +echo "$lv_obj->bezeichnung
"; + +if($lehreinheit_id=='') + die('Es gibt keine Lehreinheiten in diesem Studiensemester für die Sie eine Berechtigung besitzen'); + +//Menue +include("menue.inc.php"); +/* +echo "\n\n"; +echo "
+ Verwaltung     + Anwesenheits- und Übersichtstabelle     + Studentenpunkte verwalten     + Statistik +

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

Übung verwalten

"; + +//Anlegen einer neuen Uebung +if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu'])) +{ + if(isset($thema)) + { + //pruefen ob alle Daten eingegeben wurden + $error=false; + $maxbsp = null; + $maxstd = null; + if($thema=='') + { + $error_thema.= "Thema muss eingegeben werden"; + $error=true; + } + if(!is_numeric($gewicht)) + { + echo "Gewicht muss eine Zahl sein"; + $error = true; + } + if (isset($_POST['uebung_neu'])) + { + 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; + } + elseif($anzahlderbeispiele>99) + { + $error_anzahlderbeispiele = "Anzahl der Beispiele muss kleiner 100 sein"; + $error=true; + } + + if ($maxstd != '') + { + if(!is_numeric($maxstd)) + { + $error_maxstd = "Anzahl der Studenten/Beispiel muss eine gültige Zahl sein"; + $error=true; + } + elseif($maxstd<0) + { + $error_maxstd = "Anzahl der Studenten/Beispiel darf nicht negativ sein"; + $error=true; + } + elseif($maxstd>99) + { + $error_maxd = "Anzahl der Studenten/Beispiel muss kleiner 100 sein"; + $error=true; + } + } + else + $maxstd = null; + + if ($maxbsp != '') + { + if(!is_numeric($maxbsp)) + { + $error_maxbsp = "Anzahl der Beispiele/Student muss eine gültige Zahl sein"; + $error=true; + } + elseif($maxbsp<0) + { + $error_maxbsp = "Anzahl der Beispiele/Student darf nicht negativ sein"; + $error=true; + } + elseif($maxbsp>99) + { + $error_maxbsp = "Anzahl der Beispiele/Student muss kleiner 100 sein"; + $error=true; + } + } + else + $maxbsp = null; + } + + $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 (KL oder Abgabe) + $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); + if (isset($_POST["uebung_neu"])) + { + $uebung_obj->abgabe=false; + $uebung_obj->beispiele=true; + } + else + { + $uebung_obj->abgabe=true; + $uebung_obj->beispiele=false; + } + $uebung_obj->bezeichnung=$thema; + $uebung_obj->positiv=isset($_POST['positiv']); + $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; + $uebung_obj->statistik = isset($_POST['statistik']); + $uebung_obj->liste_id = $liste_id; + $uebung_obj->maxstd = $maxstd; + $uebung_obj->maxbsp = $maxbsp; + $uebung_obj->gewicht = $gewicht; + + if($uebung_obj->save(true)) + { + $uebung_id = $uebung_obj->uebung_id; + + //Angabedatei ablegen + if ($angabedatei_up) + { + $name_up = pathinfo($_FILES["angabedatei"]["name"]); + $name_neu = makeUploadName($conn, $which='angabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem); + $angabedatei = $name_neu.".".$name_up["extension"]; + + $angabepfad = BENOTUNGSTOOL_PATH."angabe/".$angabedatei; + //$angabepfad = BENOTUNGSTOOL_PATH.$angabedatei; + //unlink($angabepfad); + //echo $angabepfad; + move_uploaded_file($_FILES['angabedatei']['tmp_name'], $angabepfad); + $uebung_obj->angabedatei = $angabedatei; + $uebung_obj->save(false); + } + //Beispiele anlegen + + $error_msg=''; + for($i=0;$i<$anzahlderbeispiele;$i++) + { + $beispiel_obj = new beispiel($conn); + $beispiel_obj->uebung_id = $uebung_id; + $beispiel_obj->bezeichnung = "Beispiel ".($i<9?'0'.($i+1):($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"; + } +} + +//Loeschen einer Uebung +if(isset($_POST['delete_uebung'])) +{ + if(isset($_POST['uebung'])) + { + $ueb_obj = new uebung($conn); + $error_msg=''; + //Ausgewaehlte Beispiele holen + $delete_ids = $_POST['uebung']; + foreach($delete_ids as $id) + { + //Beispiel loeschen + if(!$ueb_obj->delete($id)) + $error_msg=$ueb_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; + } + if(!is_numeric($gewicht)) + { + echo "Gewicht muss eine Zahl sein"; + $error = true; + } + $freigabevon_sav = $datum_obj->mktime_datumundzeit($freigabevon); + $freigabebis_sav = $datum_obj->mktime_datumundzeit($freigabebis); + + if ($maxstd != '') + { + if(!is_numeric($maxstd)) + { + echo "Anzahl der Studenten/Beispiel muss eine gültige Zahl sein"; + $error=true; + } + elseif($maxstd<0) + { + echo "Anzahl der Studenten/Beispiel darf nicht negativ sein"; + $error=true; + } + elseif($maxstd>99) + { + echo "Anzahl der Studenten/Beispiel muss kleiner 100 sein"; + $error=true; + } + } + else + $maxstd = null; + + if ($maxbsp != '') + { + if(!is_numeric($maxbsp)) + { + echo "Anzahl der Beispiele/Student muss eine gültige Zahl sein"; + $error=true; + } + elseif($maxbsp<0) + { + echo "Anzahl der Beispiele/Student darf nicht negativ sein"; + $error=true; + } + elseif($maxbsp>99) + { + echo "Anzahl der Beispiele/Student muss kleiner 100 sein"; + $error=true; + } + } + else + $maxbsp = null; + + 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) + { + //Angabedatei ablegen + if ($angabedatei_up) + { + $name_up = pathinfo($_FILES["angabedatei"]["name"]); + $name_neu = makeUploadName($conn, $which='angabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem); + $angabedatei_neu = $name_neu.".".$name_up["extension"]; + + $angabepfad = BENOTUNGSTOOL_PATH."angabe/".$angabedatei_neu; + //$angabepfad = BENOTUNGSTOOL_PATH.$angabedatei; + //unlink($angabepfad); + //echo $angabepfad; + foreach (glob(BENOTUNGSTOOL_PATH."angabe/*".$uebung_id.".*") as $old) + unlink($old); + move_uploaded_file($_FILES['angabedatei']['tmp_name'], $angabepfad); + } + else + { + $uebung_akt = new uebung($conn); + $uebung_akt->load($uebung_id); + $angabedatei_neu = $uebung_akt->angabedatei; + } + $uebung_obj = new uebung($conn); + $uebung_obj->load($uebung_id); + $uebung_obj->gewicht=$gewicht; + $uebung_obj->punkte=''; + $uebung_obj->angabedatei=$angabedatei_neu; + $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=(isset($_POST['positiv'])?true:false); + $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; + $uebung_obj->statistik = (isset($_POST['statistik'])?true:false); + $uebung_obj->liste_id = $_POST["liste_id"]; + $uebung_obj->maxstd = $maxstd; + $uebung_obj->maxbsp = $maxbsp; + + if($uebung_obj->save(false)) + echo "Die Änderung wurde gespeichert!"; + else + echo "$uebung_obj->errormsg"; + } + +} + +//Editieren einer Liste +if(isset($_POST['liste_edit'])) +{ + $error = false; + if($thema=='') + { + echo "Thema muss eingegeben werden"; + $error = true; + } + if(!is_numeric($gewicht)) + { + echo "Gewicht muss eine Zahl sein"; + $error = true; + } + + + if(!$error) + { + + $uebung_obj = new uebung($conn); + $uebung_obj->load($uebung_id); + $uebung_obj->gewicht=$gewicht; + $uebung_obj->punkte=''; + $uebung_obj->angabedatei=''; + $uebung_obj->freigabevon = null; + $uebung_obj->freigabebis = null; + //$uebung_obj->abgabe=false; + //$uebung_obj->beispiele=true; + $uebung_obj->bezeichnung=$thema; + $uebung_obj->positiv=(isset($_POST['positiv'])?true:false); + $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 = $_REQUEST["liste_id"]; + //$uebung_obj->statistik = (isset($_POST['statistik'])?true:false); + $uebung_obj->liste_id = ''; + //$uebung_obj->maxstd = $maxstd; + //$uebung_obj->maxbsp = $maxbsp; + + 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)) + { + $punkte = (isset($_POST['punkte'])?$_POST['punkte']:''); + $punkte = str_replace(',','.',$punkte); + $bezeichnung = $_REQUEST["bezeichnung"]; + 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($_GET["uebung_id"]) && $_GET["uebung_id"]!='') +{ + + echo "
"; + //Bearbeiten der ausgewaehlten Uebung + echo "
\n"; + echo "\n"; + echo ""; + + $uebung_obj = new uebung($conn); + $uebung_obj->load($uebung_id); + $downloadname = str_replace($uebung_id,ereg_replace(' ','_',$uebung_obj->bezeichnung), $uebung_obj->angabedatei); + + echo " + + + "; + + if ($uebung_obj->beispiele) + echo " + "; + echo ""; + echo""; + echo""; + echo ""; + echo ""; + if ($uebung_obj->angabedatei != '') + echo ""; + else + echo ""; + echo ""; + 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))."'>
Max. Studenten/Beispiel$error_maxstd
Max. Beispiele/Student$error_maxbsp
Gewicht$error_gewicht
Positiv positiv?'checked':'').">
Statistik für Studenten anzeigen statistik?'checked':'').">
Angabedatei".$downloadname." [del]
+ +
"; + + $beispiel_obj = new beispiel($conn); + $beispiel_obj->load_beispiel($uebung_id); + $anzahl = count($beispiel_obj->beispiele); + echo "
"; + + //Beispiel neu Anlegen + if ($uebung_obj->beispiele) + { + echo "
\n"; + echo "\n"; + echo "\n\n"; + + echo ""; + echo ""; + + echo "
Neues Beispiel anlegen
 
Bezeichnung "; + echo " Punkte
+
"; + } + echo "
"; + + + //Uebersicht der Beispiele + if ($uebung_obj->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 +{ + if(isset($liste_id) && $liste_id!='') + { + echo "
"; + //Bearbeiten der ausgewaehlten Liste + echo "
\n"; + echo "\n"; + echo ""; + + $liste_obj = new uebung($conn); + $liste_obj->load($liste_id); + + echo " + + + +
Übung bearbeiten 
 
Thema$error_thema
Gewicht$error_gewicht
Positiv positiv?'checked':'').">
+
"; + } + + //Gesamtuebersicht ueber alle Listen innerhalb der Uebung + echo "
"; + echo "
"; + echo ""; + + $uebung_obj = new uebung($conn); + $uebung_obj->load_uebung($lehreinheit_id,$level=2,$uebung_id=$liste_id); + $anzahl = count($uebung_obj->uebungen); + $copy_content="
Vorhandene Aufgaben bearbeiten
"; + $has_copy_content=false; + if($anzahl>0) + { + echo ""; + + //Alle Lehreinheiten holen die zu dieser lehrveranstaltung gehoeren + //und der angemeldete User berechtigt ist + $copy_option_content = array(); + for($i=0;$ilehreinheit_id) + { + //zugeteilte Lektoren holen + $qry_lektoren = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter JOIN public.tbl_mitarbeiter using(mitarbeiter_uid) WHERE lehreinheit_id='$row_alle_lehreinheiten->lehreinheit_id'"; + if($result_lektoren = pg_query($conn, $qry_lektoren)) + { + $lektoren = '( '; + $j=0; + while($row_lektoren = pg_fetch_object($result_lektoren)) + { + $lektoren .= $row_lektoren->kurzbz; + $j++; + if($jgruppe_kurzbz=='') + $gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe; + else + $gruppen.=$row_gruppen->gruppe_kurzbz; + $j++; + if($jlehreinheit_id] = "$row_alle_lehreinheiten->lfbez-$row_alle_lehreinheiten->lehrform_kurzbz - $gruppen $lektoren"; + } + } + + //Uebungen durchlaufen + foreach ($uebung_obj->uebungen as $row) + { + $has_option_content=false; + echo ""; + //Wenn andere Lehreinheiten vorhanden sind dann wird die moeglichkeit zum kopieren von + //Uebungen in diese Lehreinheiten angeboten. + if(isset($result_alle_lehreinheiten) && pg_num_rows($result_alle_lehreinheiten)>1) + { + $copy_content.= ''; + $copy_content.= '"; + } + } + echo ""; + if ($row->beispiele) + $anzeigen = 'beispiele'; + else + $anzeigen = 'abgabe'; + } + else + { + echo ""; + $anzeigen = 'beide'; + } + + echo "
Übung in andere LE kopieren
 
 
 
ThemaFreigeschaltenAuswahl 
".htmlentities($row->bezeichnung).""; + + if((strtotime(strftime($row->freigabevon))<=time()) && (strtotime(strftime($row->freigabebis))>=time())) + echo 'Ja'; + else + echo 'Nein'; + echo "
'; + $copy_option_content = ''; + //Lehreinheiten fuer Combo durchgehen und schauen ob + //fuer diese Lehreinheit bereits eine Uebung mit gleichem Namen existiert + //Falls ja wird diese nicht in der Combo angezeigt + foreach ($copy_le_content as $id=>$bezeichnung) + { + $qry = "SELECT uebung_id FROM campus.tbl_uebung WHERE lehreinheit_id='$id' AND bezeichnung='$row->bezeichnung'"; + //echo $qry; + if($result_vorhanden = pg_query($conn, $qry)) + { + if(pg_num_rows($result_vorhanden)==0) + { + $copy_option_content.= "\n"; + $has_option_content=true; + $has_copy_content=true; + } + } + } + //Wenn eintraege fuer Combo vorhanden sind dann wirds angezeigt + if($has_option_content) + { + $copy_content.= "\n"; + $copy_content.= "\n '; + $copy_content.= "   "; + $copy_content.= "\n"; + } + else + { + $copy_content.=" "; + } + $copy_content.= "
Derzeit sind keine Aufgaben angelegt
+

"; + + //Kopier-Buttons anzeigen + $copy_content.='
'; + echo "
"; + //if($has_copy_content) + // echo $copy_content; + echo "
"; + + //Uebung neu anlegen + if(!isset($_POST['uebung_neu'])) + { + $thema = "Liste ".($anzahl<9?'0'.($anzahl+1):($anzahl+1)); + $anzahlderbeispiele = 10; + $punkteprobeispiel = 1; + $freigabevon = date('d.m.Y H:i'); + $freigabebis = date('d.m.Y H:i'); + $maxstudentenprobeispiel = ''; + $maxbeispieleprostudent = ''; + $gewicht = 1; + + } + echo "
"; + + if ($anzeigen != 'abgabe') + { + echo " +
+ + + + + + + + + + + + + + +
Neue Kreuzerlliste anlegen
Thema$error_thema
Anzahl der Beispiele$error_anzahlderbeispiele
Anzahl Punkte pro Beispiel$error_punkteprobeispiel
Max. Studenten/Beispiel$error_maxstd
Max. Beispiele/Student$error_maxbsp
Freigabevon $error_freigabevon
(Format: 31.12.2007 14:30)bis $error_freigabebis
Gewicht$error_gewicht
Positiv
Statistik für Studenten anzeigen
Angabedatei
+
+ "; + } + if(!isset($_POST['uebung_neu'])) + $thema = "Abgabe ".($anzahl<9?'0'.($anzahl+1):($anzahl+1)); + + if ($anzeigen != 'beispiele') + { + echo " +
+ + + + + + + + + + +
Neue Abgabe anlegen
Thema$error_thema
Freigabevon $error_freigabevon
(Format: 31.12.2007 14:30)bis $error_freigabebis
Gewicht$error_gewicht
Positiv
Statistik für Studenten anzeigen
Angabedatei
+
+ "; + } +} +?> +
+ + \ No newline at end of file diff --git a/cis/private/lehre/lesson.php b/cis/private/lehre/lesson.php index 2e694f0e0..6a5202ba3 100644 --- a/cis/private/lehre/lesson.php +++ b/cis/private/lehre/lesson.php @@ -492,11 +492,11 @@ else $studiensem = ''; ?> - " > + " >
"Kreuzerl"-Tool
- " > + " >
"Kreuzerl"-Tool