This commit is contained in:
Gerald Simane
2009-06-09 11:41:52 +00:00
parent 8cfd2e912c
commit 9e703388df
4 changed files with 958 additions and 964 deletions
+282 -282
View File
@@ -1,283 +1,283 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/*
* 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 "<span class='error'>Übung und Lehreinheit muss ausgewählt sein!</span>";
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 "<span class='error'>Hauptübung konnte nicht kopiert werden!</span>";
}
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 "<span class='error'>Übung konnte nicht kopiert werden!</span>";
}
//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."<br>";
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 "<span class='error'>Beispiele konnten nicht angelegt werden</span>";
}
//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 "<span class='error'>Fehler beim Datenbankzugriff!</span>";
if ($error == 0)
{
echo "Übung erfolgreich kopiert! (Ü: ".$copy_insert."/".$copy_update."; B: ".$copy_insert_bsp."/".$copy_update_bsp.")";
echo '<br><br><a href="'.$_SERVER['PHP_SELF'].'" class="Item">noch eine Übung Kopieren</a>';
}
}
}
else
{
echo '
<h1>Kopieren von Übungen in eine andere Lehreinheit</h1>
Script zum Kopieren einer Übung in eine beliebige Lehreinheit:<br><br>
<form action="'.$_SERVER['PHP_SELF'].'" method="GET">
ÜbungID die Kopiert werden soll: <input type="text" name="uebung_id_source"><br>
Lehreinheit_id in welche diese Übung kopiert werden soll: <input type="text" name="lehreinheit_id_target"><br>
<input type="submit" value="Kopieren">
</form>';
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/*
* 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 "<span class='error'>Übung und Lehreinheit muss ausgewählt sein!</span>";
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 "<span class='error'>Hauptübung konnte nicht kopiert werden!</span>";
}
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 "<span class='error'>Übung konnte nicht kopiert werden!</span>";
}
//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."<br>";
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 "<span class='error'>Beispiele konnten nicht angelegt werden</span>";
}
//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 "<span class='error'>Fehler beim Datenbankzugriff!</span>";
if ($error == 0)
{
echo "Übung erfolgreich kopiert! (Ü: ".$copy_insert."/".$copy_update."; B: ".$copy_insert_bsp."/".$copy_update_bsp.")";
echo '<br><br><a href="'.$_SERVER['PHP_SELF'].'" class="Item">noch eine Übung Kopieren</a>';
}
}
}
else
{
echo '
<h1>Kopieren von Übungen in eine andere Lehreinheit</h1>
Script zum Kopieren einer Übung in eine beliebige Lehreinheit:<br><br>
<form action="'.$_SERVER['PHP_SELF'].'" method="GET">
ÜbungID die Kopiert werden soll: <input type="text" name="uebung_id_source"><br>
Lehreinheit_id in welche diese Übung kopiert werden soll: <input type="text" name="lehreinheit_id_target"><br>
<input type="submit" value="Kopieren">
</form>';
}
@@ -1,470 +1,464 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
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');
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../../../skin/style.css.php" rel="stylesheet" type="text/css">
<title>Kreuzerltool</title>
<script language="JavaScript" type="text/javascript">
<!--
function MM_jumpMenu(targ, selObj, restore)
{
eval(targ + ".location='" + selObj.options[selObj.selectedIndex].value + "'");
if(restore)
{
selObj.selectedIndex = 0;
}
}
function confirmdelete()
{
return confirm('Wollen Sie die markierten Einträge wirklich löschen? Alle bereits eingetragenen Kreuzerl gehen dabei verloren!!');
}
//-->
var anfrage = null;
function erzeugeAnfrage(){
try {
anfrage = new XMLHttpRequest();
} catch (versuchmicrosoft) {
try {
anfrage = new ActiveXObject("Msxml12.XMLHTTP");
} catch (anderesmicrosoft){
try {
anfrage = new ActiveXObject("Microsoft.XMLHTTP");
} catch (fehlschlag){
anfrage = null;
}
}
}
if (anfrage == null) alert("Fehler beim Erstellen des Anfrageobjekts!");
}
function saveLENote(uid){
note = document.getElementById(uid).note.value;
if ((note < 0) || (note > 5 && note != 8 && note != 7))
{
alert("Bitte geben Sie eine Note von 1 - 5 bzw. 7 (nicht beurteilt) oder 8 (teilgenommen) ein!");
document.getElementById(uid).note.value="";
}
else
{
erzeugeAnfrage();
//note = document.getElementById(uid).note.value;
stud_uid = uid;
var jetzt = new Date();
var ts = jetzt.getTime();
var url= '<?php echo "legesamtnoteeintragen.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&stsem=$stsem"; ?>';
url += '&submit=1&student_uid='+uid+"&note="+note+"&"+ts;
anfrage.open("GET", url, true);
anfrage.onreadystatechange = updateSeite;
anfrage.send(null);
}
}
function updateSeite(){
if (anfrage.readyState == 4){
if (anfrage.status == 200) {
uid = stud_uid;
var note = document.getElementById(uid).note.value;
var resp = anfrage.responseText;
if (resp == "neu" || resp == "update")
{
notentd = document.getElementById("note_"+uid);
while (notentd.childNodes.length>0)
{
notentd.removeChild(notentd.lastChild);
}
notenode = document.createTextNode(note);
notentd.appendChild(notenode);
}
else
{
alert(resp);
document.getElementById(uid).note.value="";
}
} else alert("Request status:" + anfrage.status);
}
}
</script>
</head>
<body>
<?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');
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 '<table class="tabcontent" height="100%">';
echo ' <tr>';
echo '<td class="tdwidth10">&nbsp;</td>';
echo '<td class="ContentHeader"><font class="ContentHeader">&nbsp;Benotungstool';
echo '</font></td><td class="ContentHeader" align="right">'."\n";
//Studiensemester laden
$stsem_obj = new studiensemester($conn);
if($stsem=='')
$stsem = $stsem_obj->getaktorNext();
$stsem_obj->getAll();
//Studiensemester DropDown
$stsem_content = "Studiensemester: <SELECT name='stsem' onChange=\"MM_jumpMenu('self',this,0)\">\n";
foreach($stsem_obj->studiensemester as $studiensemester)
{
$selected = ($stsem == $studiensemester->studiensemester_kurzbz?'selected':'');
$stsem_content.= "<OPTION value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$studiensemester->studiensemester_kurzbz' $selected>$studiensemester->studiensemester_kurzbz</OPTION>\n";
}
$stsem_content.= "</SELECT>\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: <SELECT name='lehreinheit_id' onChange=\"MM_jumpMenu('self',this,0)\">\n";
while($row = pg_fetch_object($result))
{
if($lehreinheit_id=='')
$lehreinheit_id=$row->lehreinheit_id;
$selected = ($row->lehreinheit_id == $lehreinheit_id?'selected':'');
$qry_lektoren = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter JOIN public.tbl_mitarbeiter USING(mitarbeiter_uid) WHERE lehreinheit_id='$row->lehreinheit_id'";
if($result_lektoren = pg_query($conn, $qry_lektoren))
{
$lektoren = '( ';
$i=0;
while($row_lektoren = pg_fetch_object($result_lektoren))
{
$lektoren .= $row_lektoren->kurzbz;
$i++;
if($i<pg_num_rows($result_lektoren))
$lektoren.=', ';
else
$lektoren.=' ';
}
$lektoren .=')';
}
$qry_gruppen = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$row->lehreinheit_id'";
if($result_gruppen = pg_query($conn, $qry_gruppen))
{
$gruppen = '';
$i=0;
while($row_gruppen = pg_fetch_object($result_gruppen))
{
if($row_gruppen->gruppe_kurzbz=='')
$gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe;
else
$gruppen.=$row_gruppen->gruppe_kurzbz;
$i++;
if($i<pg_num_rows($result_gruppen))
$gruppen.=', ';
else
$gruppen.=' ';
}
}
echo "<OPTION value='legesamtnoteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$row->lehreinheit_id' $selected>$row->lfbez-$row->lehrform_kurzbz - $gruppen $lektoren</OPTION>\n";
}
echo '</SELECT> ';
}
else
{
if($row = pg_fetch_object($result))
$lehreinheit_id = $row->lehreinheit_id;
}
}
else
{
echo 'Fehler beim Auslesen der Lehreinheiten';
}
echo $stsem_content;
echo '</td><tr></table>';
echo '<table width="100%"><tr>';
echo '<td class="tdwidth10">&nbsp;</td>';
echo "<td>\n";
echo "<b>$lv_obj->bezeichnung</b><br>";
if($lehreinheit_id=='')
die('Es wurde keine passende Lehreinheit in diesem Studiensemester gefunden');
//Menue
include("menue.inc.php");
/*
echo "\n<!--Menue-->\n";
echo "<br><a href='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'>&nbsp;Verwaltung</font>&nbsp;&nbsp;&nbsp;&nbsp;
<a href='anwesenheitstabelle.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'>&nbsp;Anwesenheits- und Übersichtstabelle</font></a>&nbsp;&nbsp;&nbsp;&nbsp;
<a href='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'>&nbsp;Studentenpunkte verwalten</font></a>&nbsp;&nbsp;&nbsp;&nbsp;
<a href='statistik.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'>&nbsp;Statistik</font></a>
<br><br>
<!--Menue Ende-->\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 "<span class='error'>".$legesamtnote->errormsg."</span>";
}
echo "<h3>LE Gesamtnote verwalten</h3>";
echo "Noten: 1-5, 7 (nicht beurteilt), 8 (teilgenommen)";
//Studentenliste
echo "
<table>
";
//$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 "<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td class='ContentHeader2'>UID</td>
<td class='ContentHeader2'>Nachname</td>
<td class='ContentHeader2'>Vorname</td>
<td class='ContentHeader2'>Gesamtnote</td>
<td class='ContentHeader2'>&nbsp;</td>
<td class='ContentHeader2'></td>
<td class='ContentHeader2'></td>
<td class='ContentHeader2'>LE-Gesamtnote</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>";
/*
if($row_grp->gruppe_kurzbz!='')
{
echo "
<tr>
<td colspan='8' align='center'><b>$row_grp->gruppe_kurzbz</b></td>
</tr>";
$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 "
<tr>
<td colspan='8' align='center'><b>Verband $row_grp->verband ".($row_grp->gruppe!=''?"Gruppe $row_grp->gruppe":'')."</b></td>
</tr>";
$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 "
<tr class='liste".($i%2)."'>
<td><a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$row_stud->uid&stsem=$stsem' class='Item'>$row_stud->uid</a></td>
<td><a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$row_stud->uid&stsem=$stsem' class='Item'>$row_stud->nachname</a></td>
<td><a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$row_stud->uid&stsem=$stsem' class='Item'>$row_stud->vorname</a></td>";
echo "<td>$note_calc</td>";
echo "<td align='center'>";
if ($studentnote->negativ)
echo "<span class='negativ'>neg</span>";
echo "</td>";
echo "<td align='center'>";
if ($studentnote->fehlt)
echo "<span class='negativ'>X</span>";
else
echo "ok";
echo "</td>";
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 "<form name='$row_stud->uid' id='$row_stud->uid' method='POST' action='legesamtnoteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&stsem=$stsem'><td><input type='hidden' name='student_uid' value='$row_stud->uid'><input type='text' size='1' value='$note_final' name='note'><input type='button' value='->' onclick='saveLENote(\"$row_stud->uid\")'></td></form>";
if ($note == 5)
$negmarkier = " style='color:red; font-weight:bold;'";
else
$negmarkier = "";
echo "<td align='center' id='note_$row_stud->uid'><span".$negmarkier.">$note</span></td>";
echo "</tr>";
$i++;
}
}
// }
//}
echo "</table>";
?>
</td></tr>
</table>
</body>
</html>
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
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');
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../../../skin/style.css.php" rel="stylesheet" type="text/css">
<title>Kreuzerltool</title>
<script language="JavaScript" type="text/javascript">
<!--
function MM_jumpMenu(targ, selObj, restore)
{
eval(targ + ".location='" + selObj.options[selObj.selectedIndex].value + "'");
if(restore)
{
selObj.selectedIndex = 0;
}
}
function confirmdelete()
{
return confirm('Wollen Sie die markierten Einträge wirklich löschen? Alle bereits eingetragenen Kreuzerl gehen dabei verloren!!');
}
//-->
var anfrage = null;
function erzeugeAnfrage(){
try {
anfrage = new XMLHttpRequest();
} catch (versuchmicrosoft) {
try {
anfrage = new ActiveXObject("Msxml12.XMLHTTP");
} catch (anderesmicrosoft){
try {
anfrage = new ActiveXObject("Microsoft.XMLHTTP");
} catch (fehlschlag){
anfrage = null;
}
}
}
if (anfrage == null) alert("Fehler beim Erstellen des Anfrageobjekts!");
}
function saveLENote(uid){
note = document.getElementById(uid).note.value;
if ((note < 0) || (note > 5 && note != 8 && note != 7))
{
alert("Bitte geben Sie eine Note von 1 - 5 bzw. 7 (nicht beurteilt) oder 8 (teilgenommen) ein!");
document.getElementById(uid).note.value="";
}
else
{
erzeugeAnfrage();
//note = document.getElementById(uid).note.value;
stud_uid = uid;
var jetzt = new Date();
var ts = jetzt.getTime();
var url= '<?php echo "legesamtnoteeintragen.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&stsem=$stsem"; ?>';
url += '&submit=1&student_uid='+uid+"&note="+note+"&"+ts;
anfrage.open("GET", url, true);
anfrage.onreadystatechange = updateSeite;
anfrage.send(null);
}
}
function updateSeite(){
if (anfrage.readyState == 4){
if (anfrage.status == 200) {
uid = stud_uid;
var note = document.getElementById(uid).note.value;
var resp = anfrage.responseText;
if (resp == "neu" || resp == "update")
{
notentd = document.getElementById("note_"+uid);
while (notentd.childNodes.length>0)
{
notentd.removeChild(notentd.lastChild);
}
notenode = document.createTextNode(note);
notentd.appendChild(notenode);
}
else
{
alert(resp);
document.getElementById(uid).note.value="";
}
} else alert("Request status:" + anfrage.status);
}
}
</script>
</head>
<body>
<?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();
$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 = '';
//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 '<table class="tabcontent">';
echo ' <tr>';
echo '<td class="tdwidth10">&nbsp;</td>';
echo '<td class="ContentHeader"><font class="ContentHeader">&nbsp;Benotungstool';
echo '</font></td><td class="ContentHeader" align="right">'."\n";
//Studiensemester laden
$stsem_obj = new studiensemester($conn);
if($stsem=='')
$stsem = $stsem_obj->getaktorNext();
$stsem_obj->getAll();
//Studiensemester DropDown
$stsem_content = "Studiensemester: <SELECT name='stsem' onChange=\"MM_jumpMenu('self',this,0)\">\n";
foreach($stsem_obj->studiensemester as $studiensemester)
{
$selected = ($stsem == $studiensemester->studiensemester_kurzbz?'selected':'');
$stsem_content.= "<OPTION value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$studiensemester->studiensemester_kurzbz' $selected>$studiensemester->studiensemester_kurzbz</OPTION>\n";
}
$stsem_content.= "</SELECT>\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: <SELECT name='lehreinheit_id' onChange=\"MM_jumpMenu('self',this,0)\">\n";
while($row = pg_fetch_object($result))
{
if($lehreinheit_id=='')
$lehreinheit_id=$row->lehreinheit_id;
$selected = ($row->lehreinheit_id == $lehreinheit_id?'selected':'');
$qry_lektoren = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter JOIN public.tbl_mitarbeiter USING(mitarbeiter_uid) WHERE lehreinheit_id='$row->lehreinheit_id'";
if($result_lektoren = pg_query($conn, $qry_lektoren))
{
$lektoren = '( ';
$i=0;
while($row_lektoren = pg_fetch_object($result_lektoren))
{
$lektoren .= $row_lektoren->kurzbz;
$i++;
if($i<pg_num_rows($result_lektoren))
$lektoren.=', ';
else
$lektoren.=' ';
}
$lektoren .=')';
}
$qry_gruppen = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$row->lehreinheit_id'";
if($result_gruppen = pg_query($conn, $qry_gruppen))
{
$gruppen = '';
$i=0;
while($row_gruppen = pg_fetch_object($result_gruppen))
{
if($row_gruppen->gruppe_kurzbz=='')
$gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe;
else
$gruppen.=$row_gruppen->gruppe_kurzbz;
$i++;
if($i<pg_num_rows($result_gruppen))
$gruppen.=', ';
else
$gruppen.=' ';
}
}
echo "<OPTION value='legesamtnoteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$row->lehreinheit_id' $selected>$row->lfbez-$row->lehrform_kurzbz - $gruppen $lektoren</OPTION>\n";
}
echo '</SELECT> ';
}
else
{
if($row = pg_fetch_object($result))
$lehreinheit_id = $row->lehreinheit_id;
}
}
else
{
echo 'Fehler beim Auslesen der Lehreinheiten';
}
echo $stsem_content;
echo '</td><tr></table>';
echo '<table class="tabcontent"><tr>';
echo '<td class="tdwidth10">&nbsp;</td>';
echo "<td>\n";
echo "<b>$lv_obj->bezeichnung</b><br>";
if($lehreinheit_id=='')
die('Es wurde keine passende Lehreinheit in diesem Studiensemester gefunden');
//Menue
include("menue.inc.php");
/*
echo "\n<!--Menue-->\n";
echo "<br><a href='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'>&nbsp;Verwaltung</font>&nbsp;&nbsp;&nbsp;&nbsp;
<a href='anwesenheitstabelle.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'>&nbsp;Anwesenheits- und Übersichtstabelle</font></a>&nbsp;&nbsp;&nbsp;&nbsp;
<a href='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'>&nbsp;Studentenpunkte verwalten</font></a>&nbsp;&nbsp;&nbsp;&nbsp;
<a href='statistik.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'><font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'>&nbsp;Statistik</font></a>
<br><br>
<!--Menue Ende-->\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 "<span class='error'>".$legesamtnote->errormsg."</span>";
}
echo "<h3>LE Gesamtnote verwalten</h3>";
echo "Noten: 1-5, 7 (nicht beurteilt), 8 (teilgenommen)";
//Studentenliste
echo "
<table>
";
//$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 "<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td class='ContentHeader2'>UID</td>
<td class='ContentHeader2'>Nachname</td>
<td class='ContentHeader2'>Vorname</td>
<td class='ContentHeader2'>Gesamtnote</td>
<td class='ContentHeader2'>&nbsp;</td>
<td class='ContentHeader2'></td>
<td class='ContentHeader2'></td>
<td class='ContentHeader2'>LE-Gesamtnote</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>";
/*
if($row_grp->gruppe_kurzbz!='')
{
echo "
<tr>
<td colspan='8' align='center'><b>$row_grp->gruppe_kurzbz</b></td>
</tr>";
$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 "
<tr>
<td colspan='8' align='center'><b>Verband $row_grp->verband ".($row_grp->gruppe!=''?"Gruppe $row_grp->gruppe":'')."</b></td>
</tr>";
$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 "
<tr class='liste".($i%2)."'>
<td><a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$row_stud->uid&stsem=$stsem' class='Item'>$row_stud->uid</a></td>
<td><a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$row_stud->uid&stsem=$stsem' class='Item'>$row_stud->nachname</a></td>
<td><a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$row_stud->uid&stsem=$stsem' class='Item'>$row_stud->vorname</a></td>";
echo "<td>$note_calc</td>";
echo "<td align='center'>";
if ($studentnote->negativ)
echo "<span class='negativ'>neg</span>";
echo "</td>";
echo "<td align='center'>";
if ($studentnote->fehlt)
echo "<span class='negativ'>X</span>";
else
echo "ok";
echo "</td>";
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 "<form accept-charset='UTF-8' name='$row_stud->uid' id='$row_stud->uid' method='POST' action='legesamtnoteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&stsem=$stsem'><td><input type='hidden' name='student_uid' value='$row_stud->uid'><input type='text' size='1' value='$note_final' name='note'><input type='button' value='->' onclick='saveLENote(\"$row_stud->uid\")'></td></form>";
if ($note == 5)
$negmarkier = " style='color:red; font-weight:bold;'";
else
$negmarkier = "";
echo "<td align='center' id='note_$row_stud->uid'><span".$negmarkier.">$note</span></td>";
echo "</tr>";
$i++;
}
}
// }
//}
echo "</table>";
?>
</td></tr>
</table>
</body>
</html>
@@ -1,211 +1,211 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
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 "<span class='error'>".$lvgesamtnote->errormsg."</span>";
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;
}
}
?>
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
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 "<span class='error'>".$lvgesamtnote->errormsg."</span>";
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;
}
}
?>
@@ -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."<br>";
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."'";