From 9e703388df8ea9b299ddf2d9d735966aac663d15 Mon Sep 17 00:00:00 2001 From: Gerald Simane Date: Tue, 9 Jun 2009 11:41:52 +0000 Subject: [PATCH] --- .../lehre/benotungstool/copy_uebung.php | 564 +++++------ .../benotungstool/legesamtnoteverwalten.php | 934 +++++++++--------- .../benotungstool/lvgesamtnoteeintragen.php | 422 ++++---- .../lehre/benotungstool/verwaltung.php | 2 +- 4 files changed, 958 insertions(+), 964 deletions(-) diff --git a/cis/private/lehre/benotungstool/copy_uebung.php b/cis/private/lehre/benotungstool/copy_uebung.php index 14778f874..570b05fd4 100644 --- a/cis/private/lehre/benotungstool/copy_uebung.php +++ b/cis/private/lehre/benotungstool/copy_uebung.php @@ -1,283 +1,283 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ -/* - * Script zum Kopieren einer Kreuzerltool Uebung zu einer anderen Lehreinheit - * (zB fuer die Uebernahme der Uebungen aus dem Vorjahr) - */ -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'); - - -if(!$conn = pg_pconnect(CONN_STRING)) - die('Fehler beim Connecten zur DB'); - -$user = get_uid(); -$rechte = new benutzerberechtigung($conn); -$rechte->getBerechtigungen($user); - -if(!$rechte->isBerechtigt('admin')) - die('Sie haben keine Rechte für diese Seite'); - -if(isset($_GET['uebung_id_source'])) - $uebung_id_source=$_GET['uebung_id_source']; -else - $uebung_id_source=''; - -if(isset($_GET['lehreinheit_id_target'])) - $lehreinheit_id_target=$_GET['lehreinheit_id_target']; -else - $lehreinheit_id_target=''; - -if($uebung_id_source!='' && $lehreinheit_id_target!='') -{ - $copy_insert = 0; - $copy_update = 0; - $copy_insert_bsp = 0; - $copy_update_bsp = 0; - if (!is_numeric($uebung_id_source) or !is_numeric($lehreinheit_id_target)) - echo "Übung und Lehreinheit muss ausgewählt sein!"; - else - { - $ueb_1 = new uebung($conn, $uebung_id_source); - $lehreinheit_id=$ueb_1->lehreinheit_id; - $nummer_source = $ueb_1->nummer; - $qry = "SELECT * from campus.tbl_uebung where nummer = '".$nummer_source."' and lehreinheit_id = '".$lehreinheit_id_target."'"; - //echo $qry; - if($result1 = pg_query($conn, $qry)) - { - if (pg_num_rows($result1) >0) - { - $row1 = pg_fetch_object($result1); - $ueb_1_target =new uebung($conn, $row1->uebung_id); - $ueb_1_target->new = false; - $new = null; - $ueb_1_target->insertamum = null; - $ueb_1_target->insertvon = null; - $ueb_1_target->updateamum = date('Y-m-d H:i:s'); - $ueb_1_target->updatevon = $user; - $copy_update++; - } - else - { - $ueb_1_target =new uebung($conn); - $ueb_1_target->new = true; - $new = true; - $ueb_1_target->insertamum = date('Y-m-d H:i:s'); - $ueb_1_target->insertvon = $user; - $ueb_1_target->updateamum = null; - $ueb_1_target->updatevon = null; - $copy_insert++; - } - $ueb_1_target->gewicht = $ueb_1->gewicht; - $ueb_1_target->punkte = null; - $ueb_1_target->angabedatei=null; - $ueb_1_target->freigabevon = null; - $ueb_1_target->freigabebis = null; - $ueb_1_target->abgabe = false; - $ueb_1_target->beispiele = false; - $ueb_1_target->statistik = false; - $ueb_1_target->maxstd = null; - $ueb_1_target->maxbsp=null; - $ueb_1_target->liste_id=null; - $ueb_1_target->bezeichnung = $ueb_1->bezeichnung; - $ueb_1_target->positiv = $ueb_1->positiv; - $ueb_1_target->defaultbemerkung = $ueb_1->defaultbemerkung; - $ueb_1_target->lehreinheit_id = $lehreinheit_id_target; - $ueb_1_target->nummer = $nummer_source; - - if (!$ueb_1_target->save($new)) - { - $error = 1; - echo "Hauptübung konnte nicht kopiert werden!"; - } - - else - { - // Subübungen durchlaufen - $error = 0; - $ueb_2 = new uebung($conn); - - $ueb_2->load_uebung($lehreinheit_id,2,$uebung_id_source); - - $ueb_2anzahl = count($ueb_2->uebungen); - if ($ueb_2anzahl >0) - { - foreach ($ueb_2->uebungen as $subrow) - { - - $nummer_source2 = $subrow->nummer; - $qry2 = "SELECT * from campus.tbl_uebung where nummer = '".$nummer_source2."' and lehreinheit_id = '".$lehreinheit_id_target."'"; - $result2 = pg_query($conn, $qry2); - - if (pg_num_rows($result2) >0) - { - $row2 = pg_fetch_object($result2); - $ueb_2_target =new uebung($conn, $row2->uebung_id); - $ueb_2_target->new = false; - $new = null; - $ueb_2_target->insertamum = null; - $ueb_2_target->insertvon = null; - $ueb_2_target->updateamum = date('Y-m-d H:i:s'); - $ueb_2_target->updatevon = $user; - $copy_update++; - } - else - { - $ueb_2_target =new uebung($conn); - $ueb_2_target->new = true; - $new = true; - $ueb_2_target->insertamum = date('Y-m-d H:i:s'); - $ueb_2_target->insertvon = $user; - $ueb_2_target->updateamum = null; - $ueb_2_target->updatevon = null; - $copy_insert++; - } - $ueb_2_target->gewicht = $subrow->gewicht; - $ueb_2_target->punkte = $subrow->punkte; - $ueb_2_target->angabedatei=null; - $ueb_2_target->freigabevon = $subrow->freigabevon; - $ueb_2_target->freigabebis = $subrow->freigabebis; - $ueb_2_target->abgabe = $subrow->abgabe; - $ueb_2_target->beispiele = $subrow->beispiele; - $ueb_2_target->statistik = $subrow->statistik; - $ueb_2_target->maxstd = $subrow->maxstd; - $ueb_2_target->maxbsp=$subrow->maxbsp; - $ueb_2_target->liste_id=$ueb_1_target->uebung_id; - $ueb_2_target->bezeichnung = $subrow->bezeichnung; - $ueb_2_target->positiv = $subrow->positiv; - $ueb_2_target->defaultbemerkung = $subrow->defaultbemerkung; - $ueb_2_target->lehreinheit_id = $lehreinheit_id_target; - $ueb_2_target->nummer = $nummer_source2; - - if (!$ueb_2_target->save($new)) - { - $error = 1; - echo "Übung konnte nicht kopiert werden!"; - } - - //angabedatei syncen - if ($subrow->angabedatei != "") - { - $angabedatei_source = $subrow->angabedatei; - $angabedatei_target = makeUploadName($conn, 'angabe', $lehreinheit_id, $ueb_2_target->uebung_id, $stsem); - $angabedatei_target .= ".".substr($angabedatei_source, strrpos($angabedatei_source, '.') + 1); - echo $angabedatei_source."->".$angabedatei_target."
"; - exec("cp ".BENOTUNGSTOOL_PATH."angabe/".$angabedatei_source." ".BENOTUNGSTOOL_PATH."angabe/".$angabedatei_target); - $angabeupdate = "update campus.tbl_uebung set angabedatei = '".$angabedatei_target."' where uebung_id = '".$ueb_2_target->uebung_id."'"; - pg_query($conn, $angabeupdate); - } - - if (($error == 0) and $ueb_2_target->beispiele) - { - // beispiele synchronisieren - $bsp_obj = new beispiel($conn); - $bsp_obj->load_beispiel($subrow->uebung_id); - foreach ($bsp_obj->beispiele as $bsp) - { - $nummer_source_bsp = $bsp->nummer; - $qrybsp = "SELECT * from campus.tbl_beispiel where nummer = '".$nummer_source_bsp."' and uebung_id = '".$ueb_2_target->uebung_id."'"; - $resultbsp = pg_query($conn, $qrybsp); - - if (pg_num_rows($resultbsp) >0) - { - $rowbsp = pg_fetch_object($resultbsp); - $bsp_target =new beispiel($conn, $rowbsp->beispiel_id); - $bsp_target->new = false; - $new = null; - $bsp_target->insertamum = null; - $bsp_target->insertvon = null; - $bsp_target->updateamum = date('Y-m-d H:i:s'); - $bsp_target->updatevon = $user; - $copy_update_bsp++; - } - else - { - $bsp_target =new beispiel($conn); - $bsp_target->new = true; - $new = true; - $bsp_target->insertamum = date('Y-m-d H:i:s'); - $bsp_target->insertvon = $user; - $bsp_target->updateamum = null; - $bsp_target->updatevon = null; - $copy_insert_bsp++; - } - $bsp_target->uebung_id = $ueb_2_target->uebung_id; - $bsp_target->nummer = $nummer_source_bsp; - $bsp_target->bezeichnung = $bsp->bezeichnung; - $bsp_target->punkte = $bsp->punkte; - - if (!$bsp_target->save($new)) - { - $error = 1; - echo "Beispiele konnten nicht angelegt werden"; - } - - //Notenschlüssel synchronisieren - $clear = "delete from campus.tbl_notenschluesseluebung where uebung_id = '".$ueb_1_target->uebung_id."'"; - pg_query($conn, $clear); - - $qry_ns_source = "SELECT * from campus.tbl_notenschluesseluebung where uebung_id = '".$uebung_id_source."'"; - $result_ns_source = pg_query($conn, $qry_ns_source); - while($row_ns = pg_fetch_object($result_ns_source)) - { - $ns_insert = "INSERT INTO campus.tbl_notenschluesseluebung values ('".$ueb_1_target->uebung_id."','".$row_ns->note."', '".$row_ns->punkte."')"; - pg_query($conn, $ns_insert); - } - - } - } - - } - } - } - - } - else - echo "Fehler beim Datenbankzugriff!"; - - if ($error == 0) - { - echo "Übung erfolgreich kopiert! (Ü: ".$copy_insert."/".$copy_update."; B: ".$copy_insert_bsp."/".$copy_update_bsp.")"; - echo '

noch eine Übung Kopieren'; - } - - } -} -else -{ - echo ' -

Kopieren von Übungen in eine andere Lehreinheit

- Script zum Kopieren einer Übung in eine beliebige Lehreinheit:

-
- ÜbungID die Kopiert werden soll:
- Lehreinheit_id in welche diese Übung kopiert werden soll:
- -
'; +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ +/* + * Script zum Kopieren einer Kreuzerltool Uebung zu einer anderen Lehreinheit + * (zB fuer die Uebernahme der Uebungen aus dem Vorjahr) + */ +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'); + + +if(!$conn = pg_pconnect(CONN_STRING)) + die('Fehler beim Connecten zur DB'); + +$user = get_uid(); +$rechte = new benutzerberechtigung($conn); +$rechte->getBerechtigungen($user); + +if(!$rechte->isBerechtigt('admin')) + die('Sie haben keine Rechte für diese Seite'); + +if(isset($_GET['uebung_id_source'])) + $uebung_id_source=$_GET['uebung_id_source']; +else + $uebung_id_source=''; + +if(isset($_GET['lehreinheit_id_target'])) + $lehreinheit_id_target=$_GET['lehreinheit_id_target']; +else + $lehreinheit_id_target=''; + +if($uebung_id_source!='' && $lehreinheit_id_target!='') +{ + $copy_insert = 0; + $copy_update = 0; + $copy_insert_bsp = 0; + $copy_update_bsp = 0; + if (!is_numeric($uebung_id_source) or !is_numeric($lehreinheit_id_target)) + echo "Übung und Lehreinheit muss ausgewählt sein!"; + else + { + $ueb_1 = new uebung($conn, $uebung_id_source); + $lehreinheit_id=$ueb_1->lehreinheit_id; + $nummer_source = $ueb_1->nummer; + $qry = "SELECT * from campus.tbl_uebung where nummer = '".$nummer_source."' and lehreinheit_id = '".$lehreinheit_id_target."'"; + //echo $qry; + if($result1 = pg_query($conn, $qry)) + { + if (pg_num_rows($result1) >0) + { + $row1 = pg_fetch_object($result1); + $ueb_1_target =new uebung($conn, $row1->uebung_id); + $ueb_1_target->new = false; + $new = null; + $ueb_1_target->insertamum = null; + $ueb_1_target->insertvon = null; + $ueb_1_target->updateamum = date('Y-m-d H:i:s'); + $ueb_1_target->updatevon = $user; + $copy_update++; + } + else + { + $ueb_1_target =new uebung($conn); + $ueb_1_target->new = true; + $new = true; + $ueb_1_target->insertamum = date('Y-m-d H:i:s'); + $ueb_1_target->insertvon = $user; + $ueb_1_target->updateamum = null; + $ueb_1_target->updatevon = null; + $copy_insert++; + } + $ueb_1_target->gewicht = $ueb_1->gewicht; + $ueb_1_target->punkte = null; + $ueb_1_target->angabedatei=null; + $ueb_1_target->freigabevon = null; + $ueb_1_target->freigabebis = null; + $ueb_1_target->abgabe = false; + $ueb_1_target->beispiele = false; + $ueb_1_target->statistik = false; + $ueb_1_target->maxstd = null; + $ueb_1_target->maxbsp=null; + $ueb_1_target->liste_id=null; + $ueb_1_target->bezeichnung = $ueb_1->bezeichnung; + $ueb_1_target->positiv = $ueb_1->positiv; + $ueb_1_target->defaultbemerkung = $ueb_1->defaultbemerkung; + $ueb_1_target->lehreinheit_id = $lehreinheit_id_target; + $ueb_1_target->nummer = $nummer_source; + + if (!$ueb_1_target->save($new)) + { + $error = 1; + echo "Hauptübung konnte nicht kopiert werden!"; + } + + else + { + // Subübungen durchlaufen + $error = 0; + $ueb_2 = new uebung($conn); + + $ueb_2->load_uebung($lehreinheit_id,2,$uebung_id_source); + + $ueb_2anzahl = count($ueb_2->uebungen); + if ($ueb_2anzahl >0) + { + foreach ($ueb_2->uebungen as $subrow) + { + + $nummer_source2 = $subrow->nummer; + $qry2 = "SELECT * from campus.tbl_uebung where nummer = '".$nummer_source2."' and lehreinheit_id = '".$lehreinheit_id_target."'"; + $result2 = pg_query($conn, $qry2); + + if (pg_num_rows($result2) >0) + { + $row2 = pg_fetch_object($result2); + $ueb_2_target =new uebung($conn, $row2->uebung_id); + $ueb_2_target->new = false; + $new = null; + $ueb_2_target->insertamum = null; + $ueb_2_target->insertvon = null; + $ueb_2_target->updateamum = date('Y-m-d H:i:s'); + $ueb_2_target->updatevon = $user; + $copy_update++; + } + else + { + $ueb_2_target =new uebung($conn); + $ueb_2_target->new = true; + $new = true; + $ueb_2_target->insertamum = date('Y-m-d H:i:s'); + $ueb_2_target->insertvon = $user; + $ueb_2_target->updateamum = null; + $ueb_2_target->updatevon = null; + $copy_insert++; + } + $ueb_2_target->gewicht = $subrow->gewicht; + $ueb_2_target->punkte = $subrow->punkte; + $ueb_2_target->angabedatei=null; + $ueb_2_target->freigabevon = $subrow->freigabevon; + $ueb_2_target->freigabebis = $subrow->freigabebis; + $ueb_2_target->abgabe = $subrow->abgabe; + $ueb_2_target->beispiele = $subrow->beispiele; + $ueb_2_target->statistik = $subrow->statistik; + $ueb_2_target->maxstd = $subrow->maxstd; + $ueb_2_target->maxbsp=$subrow->maxbsp; + $ueb_2_target->liste_id=$ueb_1_target->uebung_id; + $ueb_2_target->bezeichnung = $subrow->bezeichnung; + $ueb_2_target->positiv = $subrow->positiv; + $ueb_2_target->defaultbemerkung = $subrow->defaultbemerkung; + $ueb_2_target->lehreinheit_id = $lehreinheit_id_target; + $ueb_2_target->nummer = $nummer_source2; + + if (!$ueb_2_target->save($new)) + { + $error = 1; + echo "Übung konnte nicht kopiert werden!"; + } + + //angabedatei syncen + if ($subrow->angabedatei != "") + { + $angabedatei_source = $subrow->angabedatei; + $angabedatei_target = makeUploadName($conn, 'angabe', $lehreinheit_id, $ueb_2_target->uebung_id, $stsem); + $angabedatei_target .= ".".substr($angabedatei_source, mb_strrpos($angabedatei_source, '.',0,'UTF-8') + 1); + echo $angabedatei_source."->".$angabedatei_target."
"; + exec("cp ".BENOTUNGSTOOL_PATH."angabe/".$angabedatei_source." ".BENOTUNGSTOOL_PATH."angabe/".$angabedatei_target); + $angabeupdate = "update campus.tbl_uebung set angabedatei = '".$angabedatei_target."' where uebung_id = '".$ueb_2_target->uebung_id."'"; + pg_query($conn, $angabeupdate); + } + + if (($error == 0) and $ueb_2_target->beispiele) + { + // beispiele synchronisieren + $bsp_obj = new beispiel($conn); + $bsp_obj->load_beispiel($subrow->uebung_id); + foreach ($bsp_obj->beispiele as $bsp) + { + $nummer_source_bsp = $bsp->nummer; + $qrybsp = "SELECT * from campus.tbl_beispiel where nummer = '".$nummer_source_bsp."' and uebung_id = '".$ueb_2_target->uebung_id."'"; + $resultbsp = pg_query($conn, $qrybsp); + + if (pg_num_rows($resultbsp) >0) + { + $rowbsp = pg_fetch_object($resultbsp); + $bsp_target =new beispiel($conn, $rowbsp->beispiel_id); + $bsp_target->new = false; + $new = null; + $bsp_target->insertamum = null; + $bsp_target->insertvon = null; + $bsp_target->updateamum = date('Y-m-d H:i:s'); + $bsp_target->updatevon = $user; + $copy_update_bsp++; + } + else + { + $bsp_target =new beispiel($conn); + $bsp_target->new = true; + $new = true; + $bsp_target->insertamum = date('Y-m-d H:i:s'); + $bsp_target->insertvon = $user; + $bsp_target->updateamum = null; + $bsp_target->updatevon = null; + $copy_insert_bsp++; + } + $bsp_target->uebung_id = $ueb_2_target->uebung_id; + $bsp_target->nummer = $nummer_source_bsp; + $bsp_target->bezeichnung = $bsp->bezeichnung; + $bsp_target->punkte = $bsp->punkte; + + if (!$bsp_target->save($new)) + { + $error = 1; + echo "Beispiele konnten nicht angelegt werden"; + } + + //Notenschlüssel synchronisieren + $clear = "delete from campus.tbl_notenschluesseluebung where uebung_id = '".$ueb_1_target->uebung_id."'"; + pg_query($conn, $clear); + + $qry_ns_source = "SELECT * from campus.tbl_notenschluesseluebung where uebung_id = '".$uebung_id_source."'"; + $result_ns_source = pg_query($conn, $qry_ns_source); + while($row_ns = pg_fetch_object($result_ns_source)) + { + $ns_insert = "INSERT INTO campus.tbl_notenschluesseluebung values ('".$ueb_1_target->uebung_id."','".$row_ns->note."', '".$row_ns->punkte."')"; + pg_query($conn, $ns_insert); + } + + } + } + + } + } + } + + } + else + echo "Fehler beim Datenbankzugriff!"; + + if ($error == 0) + { + echo "Übung erfolgreich kopiert! (Ü: ".$copy_insert."/".$copy_update."; B: ".$copy_insert_bsp."/".$copy_update_bsp.")"; + echo '

noch eine Übung Kopieren'; + } + + } +} +else +{ + echo ' +

Kopieren von Übungen in eine andere Lehreinheit

+ Script zum Kopieren einer Übung in eine beliebige Lehreinheit:

+
+ ÜbungID die Kopiert werden soll:
+ Lehreinheit_id in welche diese Übung kopiert werden soll:
+ +
'; } \ No newline at end of file diff --git a/cis/private/lehre/benotungstool/legesamtnoteverwalten.php b/cis/private/lehre/benotungstool/legesamtnoteverwalten.php index 358348812..2203de916 100644 --- a/cis/private/lehre/benotungstool/legesamtnoteverwalten.php +++ b/cis/private/lehre/benotungstool/legesamtnoteverwalten.php @@ -1,470 +1,464 @@ -, - * 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/studentnote.class.php'); -require_once('../../../../include/datum.class.php'); -require_once('../../../../include/legesamtnote.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']:''); -$uid = (isset($_GET['uid'])?$_GET['uid']:''); - -//Kopfzeile -echo ''; -echo ' '; -echo ''; -echo '
  Benotungstool'; -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) || $rechte->isBerechtigt('lehre',$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 -include("menue.inc.php"); -/* -echo "\n\n"; -echo "
 Verwaltung     - Anwesenheits- und Übersichtstabelle     - Studentenpunkte verwalten     - Statistik -

-\n"; -*/ - -// legesamtnote für studenten speichern -if (isset($_REQUEST["submit"]) && ($_POST["student_uid"] != '')){ - - $jetzt = date("Y-m-d H:i:s"); - $student_uid = $_POST["student_uid"]; - $legesamtnote = new legesamtnote($conn, $lehreinheit_id); - if (!$legesamtnote->load($student_uid,$lehreinheit_id)) - { - $legesamtnote->student_uid = $student_uid; - $legesamtnote->lehreinheit_id = $lehreinheit_id; - $legesamtnote->note = $_POST["note"]; - $legesamtnote->benotungsdatum = $jetzt; - $legesamtnote->updateamum = null; - $legesamtnote->updatevon = null; - $legesamtnote->insertamum = $jetzt; - $legesamtnote->insertvon = $user; - $legesamtnote->new = true; - } - else - { - $legesamtnote->note = $_POST["note"]; - $legesamtnote->benotungsdatum = $jetzt; - $legesamtnote->updateamum = $jetzt; - $legesamtnote->updatevon = $user; - } - if (!$legesamtnote->save()) - echo "".$legesamtnote->errormsg.""; -} - -echo "

LE Gesamtnote verwalten

"; -echo "Noten: 1-5, 7 (nicht beurteilt), 8 (teilgenommen)"; - - -//Studentenliste -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_lehrveranstaltung JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row_grp->gruppe_kurzbz)."' AND studiensemester_kurzbz = '".$stsem."' ORDER BY nachname, vorname"; - } - else - { - echo " - - - "; - $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung - 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"; - } -*/ - // studentenquery - $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = '".$stsem."' and lehreinheit_id = '".$lehreinheit_id."' ORDER BY nachname, vorname"; - if($result_stud = pg_query($conn, $qry_stud)) - { - $i=1; - while($row_stud = pg_fetch_object($result_stud)) - { - - $studentnote = new studentnote($conn); - $studentnote->calc_gesamtnote($lehreinheit_id,$stsem,$row_stud->uid); - //echo $studentnote->debug; - $legesamtnote = new legesamtnote($conn, $lehreinheit_id); - - if (!$legesamtnote->load($row_stud->uid,$lehreinheit_id)) - { - $note = null; - } - else - { - $note = $legesamtnote->note; - } - - if ($studentnote->studentgesamtnote!=0) - $note_calc = round($studentnote->studentgesamtnote,2); - else - $note_calc = null; - echo " - - - - "; - echo ""; - echo ""; - echo ""; - if ($note) - $note_final = $note; - else - { - if ($studentnote->negativ) - $note_final = 5; - else - { - $note_final = round($studentnote->studentgesamtnote); - if ($note_final == 0) - $note_final = null; - } - } - echo ""; - if ($note == 5) - $negmarkier = " style='color:red; font-weight:bold;'"; - else - $negmarkier = ""; - - echo ""; - echo ""; - $i++; - } - } -// } -//} -echo "
        
UIDNachnameVornameGesamtnote LE-Gesamtnote
        
$row_grp->gruppe_kurzbz
Verband $row_grp->verband ".($row_grp->gruppe!=''?"Gruppe $row_grp->gruppe":'')."
$row_stud->uid$row_stud->nachname$row_stud->vorname$note_calc"; - if ($studentnote->negativ) - echo "neg"; - echo ""; - if ($studentnote->fehlt) - echo "X"; - else - echo "ok"; - echo "
$note
"; - -?> -
- - +, + * 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/studentnote.class.php'); +require_once('../../../../include/datum.class.php'); +require_once('../../../../include/legesamtnote.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']:''); +$uid = (isset($_GET['uid'])?$_GET['uid']:''); + +//Kopfzeile +echo ''; +echo ' '; +echo ''; +echo '
  Benotungstool'; +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) || $rechte->isBerechtigt('lehre',$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)>0) + { + //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 +include("menue.inc.php"); +/* +echo "\n\n"; +echo "
 Verwaltung     + Anwesenheits- und Übersichtstabelle     + Studentenpunkte verwalten     + Statistik +

+\n"; +*/ + +// legesamtnote für studenten speichern +if (isset($_REQUEST["submit"]) && ($_POST["student_uid"] != '')){ + + $jetzt = date("Y-m-d H:i:s"); + $student_uid = $_POST["student_uid"]; + $legesamtnote = new legesamtnote($conn, $lehreinheit_id); + if (!$legesamtnote->load($student_uid,$lehreinheit_id)) + { + $legesamtnote->student_uid = $student_uid; + $legesamtnote->lehreinheit_id = $lehreinheit_id; + $legesamtnote->note = $_POST["note"]; + $legesamtnote->benotungsdatum = $jetzt; + $legesamtnote->updateamum = null; + $legesamtnote->updatevon = null; + $legesamtnote->insertamum = $jetzt; + $legesamtnote->insertvon = $user; + $legesamtnote->new = true; + } + else + { + $legesamtnote->note = $_POST["note"]; + $legesamtnote->benotungsdatum = $jetzt; + $legesamtnote->updateamum = $jetzt; + $legesamtnote->updatevon = $user; + } + if (!$legesamtnote->save()) + echo "".$legesamtnote->errormsg.""; +} + +echo "

LE Gesamtnote verwalten

"; +echo "Noten: 1-5, 7 (nicht beurteilt), 8 (teilgenommen)"; + + +//Studentenliste +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_lehrveranstaltung JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row_grp->gruppe_kurzbz)."' AND studiensemester_kurzbz = '".$stsem."' ORDER BY nachname, vorname"; + } + else + { + echo " + + + "; + $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung + 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"; + } +*/ + // studentenquery + $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = '".$stsem."' and lehreinheit_id = '".$lehreinheit_id."' ORDER BY nachname, vorname"; + if($result_stud = pg_query($conn, $qry_stud)) + { + $i=1; + while($row_stud = pg_fetch_object($result_stud)) + { + $studentnote = new studentnote($conn); + $studentnote->calc_gesamtnote($lehreinheit_id,$stsem,$row_stud->uid); + //echo $studentnote->debug; + $legesamtnote = new legesamtnote($conn, $lehreinheit_id); + if (!$legesamtnote->load($row_stud->uid,$lehreinheit_id)) + { + $note = null; + } + else + { + $note = $legesamtnote->note; + } + + if ($studentnote->studentgesamtnote!=0) + $note_calc = round($studentnote->studentgesamtnote,2); + else + $note_calc = null; + echo " + + + + "; + echo ""; + echo ""; + echo ""; + if ($note) + $note_final = $note; + else + { + if ($studentnote->negativ) + $note_final = 5; + else + { + $note_final = round($studentnote->studentgesamtnote); + if ($note_final == 0) + $note_final = null; + } + } + echo ""; + if ($note == 5) + $negmarkier = " style='color:red; font-weight:bold;'"; + else + $negmarkier = ""; + echo ""; + echo ""; + $i++; + } + } +// } +//} +echo "
        
UIDNachnameVornameGesamtnote LE-Gesamtnote
        
$row_grp->gruppe_kurzbz
Verband $row_grp->verband ".($row_grp->gruppe!=''?"Gruppe $row_grp->gruppe":'')."
$row_stud->uid$row_stud->nachname$row_stud->vorname$note_calc"; + if ($studentnote->negativ) + echo "neg"; + echo ""; + if ($studentnote->fehlt) + echo "X"; + else + echo "ok"; + echo "
$note
"; + +?> +
+ + diff --git a/cis/private/lehre/benotungstool/lvgesamtnoteeintragen.php b/cis/private/lehre/benotungstool/lvgesamtnoteeintragen.php index 457b6dfbd..99b23fbe5 100755 --- a/cis/private/lehre/benotungstool/lvgesamtnoteeintragen.php +++ b/cis/private/lehre/benotungstool/lvgesamtnoteeintragen.php @@ -1,211 +1,211 @@ -, - * 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/studentnote.class.php'); -require_once('../../../../include/datum.class.php'); -require_once('../../../../include/legesamtnote.class.php'); -require_once('../../../../include/lvgesamtnote.class.php'); -require_once('../../../../include/zeugnisnote.class.php'); -require_once('../../../../include/person.class.php'); -require_once('../../../../include/benutzer.class.php'); -require_once('../../../../include/student.class.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'); - -$rechte = new benutzerberechtigung($conn); -$rechte->getBerechtigungen($user); - -if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id - $lvid = $_GET['lvid']; -else - die('Fehlerhafte Parameteruebergabe'); - -//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(); -$response=''; -$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:''); -$uid = (isset($_GET['uid'])?$_GET['uid']:''); - -//Kopfzeile - - -//Studiensemester laden -$stsem_obj = new studiensemester($conn); -if($stsem=='') - $stsem = $stsem_obj->getaktorNext(); - -//$note = $_REQUEST["note"]; - -if(!$rechte->isBerechtigt('admin',0) && - !$rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) && - !$rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz)) -{ - $qry = "SELECT lehreinheit_id FROM lehre.tbl_lehrveranstaltung JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id) - JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) - WHERE tbl_lehrveranstaltung.lehrveranstaltung_id='".addslashes($lvid)."' AND - tbl_lehreinheit.studiensemester_kurzbz='".addslashes($stsem)."' AND tbl_lehreinheitmitarbeiter.mitarbeiter_uid='".addslashes($user)."'"; - if($result = pg_query($conn, $qry)) - { - if(pg_num_rows($result)==0) - die('Sie haben keine Berechtigung für diese Seite'); - } - else - { - die('Fehler beim Pruefen der Rechte'); - } -} - -function savenote($lvid, $student_uid, $note) -{ - global $conn, $stsem, $user; - $jetzt = date("Y-m-d H:i:s"); - //Ermitteln ob der Student diesem Kurs zugeteilt ist - $qry = "SELECT 1 FROM campus.vw_student_lehrveranstaltung WHERE uid='".addslashes($student_uid)."' AND lehrveranstaltung_id='".addslashes($lvid)."'"; - if($result = pg_query($conn, $qry)) - if(pg_num_rows($result)==0) - { - $student = new student($conn); - $student->load($student_uid); - die('Der Student '.$student->nachname.' '.$student->vorname.' ('.trim($student->matrikelnr).') ist dieser Lehrveranstaltung nicht zugeordnet. Die Note wird nicht uebernommen'); - } - - $lvgesamtnote = new lvgesamtnote($conn); - if (!$lvgesamtnote->load($lvid, $student_uid, $stsem)) - { - $lvgesamtnote->student_uid = $student_uid; - $lvgesamtnote->lehrveranstaltung_id = $lvid; - $lvgesamtnote->studiensemester_kurzbz = $stsem; - $lvgesamtnote->note = trim($note); - $lvgesamtnote->mitarbeiter_uid = $user; - $lvgesamtnote->benotungsdatum = $jetzt; - $lvgesamtnote->freigabedatum = null; - $lvgesamtnote->freigabevon_uid = null; - $lvgesamtnote->bemerkung = null; - $lvgesamtnote->updateamum = null; - $lvgesamtnote->updatevon = null; - $lvgesamtnote->insertamum = $jetzt; - $lvgesamtnote->insertvon = $user; - $new = true; - $response = "neu"; - } - else - { - $lvgesamtnote->note = trim($note); - $lvgesamtnote->benotungsdatum = $jetzt; - $lvgesamtnote->updateamum = $jetzt; - $lvgesamtnote->updatevon = $user; - $new = false; - if ($lvgesamtnote->freigabedatum) - $response = "update_f"; - else - $response = "update"; - } - if (!$lvgesamtnote->save($new)) - return "".$lvgesamtnote->errormsg.""; - else - return $response; -} - -// lvgesamtnote für studenten speichern -if (isset($_REQUEST["submit"])) -{ - $lvid = $_REQUEST["lvid"]; - if(isset($_REQUEST["student_uid"]) && $_REQUEST["student_uid"] != '') - { - $student_uid = $_REQUEST["student_uid"]; - $note = $_REQUEST["note"]; - if((($note>0) && ($note < 6)) || ($note == 7) || ($note==8)) - $response = savenote($lvid, $student_uid, $note); - else - $response = "Bitte geben Sie eine Note von 1 - 5 bzw. 7 (nicht beurteilt) oder 8 (teilgenommen) ein!"; - - echo $response; - } - else - { - foreach ($_POST as $row=>$val) - { - if(strstr($row, 'matrikelnr_')) - { - $id=substr($row, strlen('matrikelnr_')); - if(isset($_POST['matrikelnr_'.$id]) && isset($_POST['note_'.$id])) - { - $matrikelnummer = $_POST['matrikelnr_'.$id]; - $note = $_POST['note_'.$id]; - - //UID ermitteln - $student = new student($conn); - if(!$student_uid = $student->getUidFromMatrikelnummer($matrikelnummer)) - { - $response.="\nStudent mit der Matrikelnummer ".$matrikelnummer.' existiert nicht'; - continue; - } - if((($note>0) && ($note < 6)) || ($note == 7) || ($note==8)) - { - $val=savenote($lvid, $student_uid, $note); - if($val!='neu' && $val!='update' && $val!='update_f') - $response.=$val; - } - else - { - $student->load($student_uid); - $response .= "\nFehlerhafte Note bei Student $student->nachname $student->vorname. Bitte geben Sie eine Note von 1 - 5 bzw. 7 (nicht beurteilt) oder 8 (teilgenommen) ein!"; - } - } - else - { - $response.="\nFehler bei der Parameteruebergabe"; - } - } - } - echo $response; - } -} -?> +, + * 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/studentnote.class.php'); +require_once('../../../../include/datum.class.php'); +require_once('../../../../include/legesamtnote.class.php'); +require_once('../../../../include/lvgesamtnote.class.php'); +require_once('../../../../include/zeugnisnote.class.php'); +require_once('../../../../include/person.class.php'); +require_once('../../../../include/benutzer.class.php'); +require_once('../../../../include/student.class.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'); + +$rechte = new benutzerberechtigung($conn); +$rechte->getBerechtigungen($user); + +if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id + $lvid = $_GET['lvid']; +else + die('Fehlerhafte Parameteruebergabe'); + +//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(); +$response=''; +$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:''); +$uid = (isset($_GET['uid'])?$_GET['uid']:''); + +//Kopfzeile + + +//Studiensemester laden +$stsem_obj = new studiensemester($conn); +if($stsem=='') + $stsem = $stsem_obj->getaktorNext(); + +//$note = $_REQUEST["note"]; + +if(!$rechte->isBerechtigt('admin',0) && + !$rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) && + !$rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz)) +{ + $qry = "SELECT lehreinheit_id FROM lehre.tbl_lehrveranstaltung JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id) + JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) + WHERE tbl_lehrveranstaltung.lehrveranstaltung_id='".addslashes($lvid)."' AND + tbl_lehreinheit.studiensemester_kurzbz='".addslashes($stsem)."' AND tbl_lehreinheitmitarbeiter.mitarbeiter_uid='".addslashes($user)."'"; + if($result = pg_query($conn, $qry)) + { + if(pg_num_rows($result)==0) + die('Sie haben keine Berechtigung für diese Seite'); + } + else + { + die('Fehler beim Pruefen der Rechte'); + } +} + +function savenote($lvid, $student_uid, $note) +{ + global $conn, $stsem, $user; + $jetzt = date("Y-m-d H:i:s"); + //Ermitteln ob der Student diesem Kurs zugeteilt ist + $qry = "SELECT 1 FROM campus.vw_student_lehrveranstaltung WHERE uid='".addslashes($student_uid)."' AND lehrveranstaltung_id='".addslashes($lvid)."'"; + if($result = pg_query($conn, $qry)) + if(pg_num_rows($result)==0) + { + $student = new student($conn); + $student->load($student_uid); + die('Der Student '.$student->nachname.' '.$student->vorname.' ('.trim($student->matrikelnr).') ist dieser Lehrveranstaltung nicht zugeordnet. Die Note wird nicht uebernommen'); + } + + $lvgesamtnote = new lvgesamtnote($conn); + if (!$lvgesamtnote->load($lvid, $student_uid, $stsem)) + { + $lvgesamtnote->student_uid = $student_uid; + $lvgesamtnote->lehrveranstaltung_id = $lvid; + $lvgesamtnote->studiensemester_kurzbz = $stsem; + $lvgesamtnote->note = trim($note); + $lvgesamtnote->mitarbeiter_uid = $user; + $lvgesamtnote->benotungsdatum = $jetzt; + $lvgesamtnote->freigabedatum = null; + $lvgesamtnote->freigabevon_uid = null; + $lvgesamtnote->bemerkung = null; + $lvgesamtnote->updateamum = null; + $lvgesamtnote->updatevon = null; + $lvgesamtnote->insertamum = $jetzt; + $lvgesamtnote->insertvon = $user; + $new = true; + $response = "neu"; + } + else + { + $lvgesamtnote->note = trim($note); + $lvgesamtnote->benotungsdatum = $jetzt; + $lvgesamtnote->updateamum = $jetzt; + $lvgesamtnote->updatevon = $user; + $new = false; + if ($lvgesamtnote->freigabedatum) + $response = "update_f"; + else + $response = "update"; + } + if (!$lvgesamtnote->save($new)) + return "".$lvgesamtnote->errormsg.""; + else + return $response; +} + +// lvgesamtnote für studenten speichern +if (isset($_REQUEST["submit"])) +{ + $lvid = $_REQUEST["lvid"]; + if(isset($_REQUEST["student_uid"]) && $_REQUEST["student_uid"] != '') + { + $student_uid = $_REQUEST["student_uid"]; + $note = $_REQUEST["note"]; + if((($note>0) && ($note < 6)) || ($note == 7) || ($note==8)) + $response = savenote($lvid, $student_uid, $note); + else + $response = "Bitte geben Sie eine Note von 1 - 5 bzw. 7 (nicht beurteilt) oder 8 (teilgenommen) ein!"; + + echo $response; + } + else + { + foreach ($_POST as $row=>$val) + { + if(mb_strstr(mb_strtolower($row,'UTF-8'), 'matrikelnr_','UTF-8')) + { + $id=substr($row, mb_strlen('matrikelnr_','UTF-8')); + if(isset($_POST['matrikelnr_'.$id]) && isset($_POST['note_'.$id])) + { + $matrikelnummer = $_POST['matrikelnr_'.$id]; + $note = $_POST['note_'.$id]; + + //UID ermitteln + $student = new student($conn); + if(!$student_uid = $student->getUidFromMatrikelnummer($matrikelnummer)) + { + $response.="\nStudent mit der Matrikelnummer ".$matrikelnummer.' existiert nicht'; + continue; + } + if((($note>0) && ($note < 6)) || ($note == 7) || ($note==8)) + { + $val=savenote($lvid, $student_uid, $note); + if($val!='neu' && $val!='update' && $val!='update_f') + $response.=$val; + } + else + { + $student->load($student_uid); + $response .= "\nFehlerhafte Note bei Student $student->nachname $student->vorname. Bitte geben Sie eine Note von 1 - 5 bzw. 7 (nicht beurteilt) oder 8 (teilgenommen) ein!"; + } + } + else + { + $response.="\nFehler bei der Parameteruebergabe"; + } + } + } + echo $response; + } +} +?> diff --git a/cis/private/lehre/benotungstool/verwaltung.php b/cis/private/lehre/benotungstool/verwaltung.php index 43d59ce97..2788d5e50 100644 --- a/cis/private/lehre/benotungstool/verwaltung.php +++ b/cis/private/lehre/benotungstool/verwaltung.php @@ -425,7 +425,7 @@ if (isset($_REQUEST["copy_uebung"])) { $angabedatei_source = $subrow->angabedatei; $angabedatei_target = makeUploadName($conn, 'angabe', $lehreinheit_id, $ueb_2_target->uebung_id, $stsem); - $angabedatei_target .= ".".substr($angabedatei_source, strrpos($angabedatei_source, '.') + 1); + $angabedatei_target .= ".".substr($angabedatei_source, mb_strrpos($angabedatei_source, '.','UTF-8') + 1); echo $angabedatei_source."->".$angabedatei_target."
"; exec("cp ".BENOTUNGSTOOL_PATH."angabe/".$angabedatei_source." ".BENOTUNGSTOOL_PATH."angabe/".$angabedatei_target); $angabeupdate = "update campus.tbl_uebung set angabedatei = '".$angabedatei_target."' where uebung_id = '".$ueb_2_target->uebung_id."'";