This commit is contained in:
Gerald Raab
2007-07-27 11:02:55 +00:00
parent c2c0a1713c
commit fbe9649840
12 changed files with 1296 additions and 51 deletions
@@ -211,7 +211,9 @@ echo "<b>$lv_obj->bezeichnung</b><br>";
if($lehreinheit_id=='')
die('Es wurde keine passende Lehreinheit in diesem Studiensemester gefunden');
//Menue
//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;
@@ -220,7 +222,7 @@ echo "<br>
<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";
*/
echo "<h3>Anwesenheits- und &Uuml;bersichtstabelle</h3>";
@@ -0,0 +1,391 @@
<?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=iso-8859-1">
<link href="../../../../skin/cis.css" rel="stylesheet" type="text/css">
<title>Kreuzerltool</title>
<script language="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!!');
}
//-->
</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;"Kreuzerl"-Tool';
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))
{
$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><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>";
//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 JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row_grp->gruppe_kurzbz)."' 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
WHERE studiengang_kz='$row_grp->studiengang_kz' AND
semester='$row_grp->semester' ".
($row_grp->verband!=''?" AND trim(verband)=trim('$row_grp->verband')":'').
($row_grp->gruppe!=''?" AND trim(gruppe)=trim('$row_grp->gruppe')":'').
" ORDER BY nachname, vorname";
}
if($result_stud = pg_query($conn, $qry_stud))
{
$i=1;
while($row_stud = pg_fetch_object($result_stud))
{
$studentnote = new studentnote($conn,$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' 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='submit' name='submit' value='->'></td></form>";
echo "<td>$note</td>";
echo "</tr>";
$i++;
}
}
}
}
echo "</table>";
?>
</td></tr>
</table>
</body>
</html>
@@ -0,0 +1,367 @@
<?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');
?>
<!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=iso-8859-1">
<link href="../../../../skin/cis.css" rel="stylesheet" type="text/css">
<title>Kreuzerltool</title>
<script language="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!!');
}
//-->
</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;"Kreuzerl"-Tool';
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))
{
$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='lvgesamtnoteverwalten.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><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");
// lvgesamtnote für studenten speichern
if (isset($_REQUEST["submit"]) && ($_POST["student_uid"] != '')){
$jetzt = date("Y-m-d H:i:s");
$student_uid = $_POST["student_uid"];
$lvid = $_REQUEST["lvid"];
$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 = $_POST["note"];
$lvgesamtnote->mitarbeiter_uid = $user;
$lvgesamtnote->benotungsdatum = $jetzt;
$lvgesamtnote->freigabedatum = null;
$lvgesamtnote->bemerkung = null;
$lvgesamtnote->updateamum = null;
$lvgesamtnote->updatevon = null;
$lvgesamtnote->insertamum = $jetzt;
$lvgesamtnote->insertvon = $user;
$new = true;
}
else
{
$lvgesamtnote->note = $_POST["note"];
$lvgesamtnote->benotungsdatum = $jetzt;
$lvgesamtnote->updateamum = $jetzt;
$lvgesamtnote->updatevon = $user;
$new = false;
}
if (!$lvgesamtnote->save($new))
echo "<span class='error'>".$lvgesamtnote->errormsg."</span>";
}
echo "<h3>LV Gesamtnote verwalten</h3>";
//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>
</tr>
<tr>
<td class='ContentHeader2'>UID</td>
<td class='ContentHeader2'>Nachname</td>
<td class='ContentHeader2'>Vorname</td>
<td class='ContentHeader2'>LE-Gesamtnote</td>
<td class='ContentHeader2'></td>
<td class='ContentHeader2'>LV-Gesamtnote</td>
</tr>
<tr>
<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='4' align='center'><b>$row_grp->gruppe_kurzbz</b></td>
</tr>";
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row_grp->gruppe_kurzbz)."' ORDER BY nachname, vorname";
}
else
{
echo "
<tr>
<td colspan='5' 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
WHERE studiengang_kz='$row_grp->studiengang_kz' AND
semester='$row_grp->semester' ".
($row_grp->verband!=''?" AND trim(verband)=trim('$row_grp->verband')":'').
($row_grp->gruppe!=''?" AND trim(gruppe)=trim('$row_grp->gruppe')":'').
" ORDER BY nachname, vorname";
}
if($result_stud = pg_query($conn, $qry_stud))
{
$i=1;
while($row_stud = pg_fetch_object($result_stud))
{
//$studentnote = new studentnote($conn,$lehreinheit_id,$stsem,$row_stud->uid);
$legesamtnote = new legesamtnote($conn, $lehreinheit_id);
if (!$legesamtnote->load($row_stud->uid,$lehreinheit_id))
{
$note_le = null;
}
else
$note_le = $legesamtnote->note;
if ($lvgesamtnote = new lvgesamtnote($conn, $lvid,$row_stud->uid,$stsem))
{
$note_lv = $lvgesamtnote->note;
}
else
$note_lv = null;
if ($note_lv)
$note_vorschlag = $note_lv;
else
$note_vorschlag = $note_le;
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>
<td>$note_le</td>";
echo "<form name='$row_stud->uid' method='POST' action='lvgesamtnoteverwalten.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_vorschlag' name='note'><input type='submit' name='submit' value='->'></td></form>";
echo "<td>$note_lv</td>";
echo "</tr>";
$i++;
}
}
}
}
echo "</table>";
?>
</td></tr>
</table>
</body>
</html>
+12 -4
View File
@@ -1,11 +1,11 @@
<?php
echo "\n\n<!--Menue-->\n";
echo "<br>\n";
echo "<table cellpadding='8'>\n";
echo "<table cellpadding='3'>\n";
echo " <tr>\n";
echo " <td><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;Übungen</font></a></td>\n";
echo " <td><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;Benotung</font></a></td>\n";
echo " <td><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></td>\n";
echo " <td><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></td>\n";
echo " <td><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></td>\n";
echo " </tr>\n";
echo " <tr>\n";
@@ -22,10 +22,18 @@ else if ($pfile == "verwaltung_listen.php")
echo " -&gtÜbung \n";
if (isset($_GET["liste_id"]) && isset($_GET["uebung_id"]))
echo " -&gt;<a href='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&liste_id=$liste_id'>Übung</a>-&gt;Liste \n";
}
}
if ($pfile == "studentenpunkteverwalten.php")
echo "&nbsp;&nbsp;&nbsp;&nbsp;<a href='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'>übersicht</a> -&gt;<a href='legesamtnoteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id'>LE-Noten verwalten</a> -&gt;<a href='lvgesamtnoteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id'>LV-Noten verwalten</a>";
else if ($pfile == "legesamtnoteverwalten.php")
echo "&nbsp;&nbsp;&nbsp;&nbsp;<a href='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'>Übersicht</a> -&gt; LE-Noten verwalten -&gt;<a href='lvgesamtnoteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id'>LV-Noten verwalten</a>";
else if ($pfile == "lvgesamtnoteverwalten.php")
echo "&nbsp;&nbsp;&nbsp;&nbsp;<a href='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'>übersicht</a> -&gt;<a href='legesamtnoteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id'>LE-Noten verwalten</a> -&gt;LV-Noten verwalten";
echo " <br><br>\n";
echo " </td>\n";
echo " </tr>\n";
echo "</table>\n";
echo "<!--Menue Ende-->\n\n";
echo "<!--Menue Ende--><br>\n\n";
?>
@@ -213,6 +213,8 @@ 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;
@@ -221,7 +223,7 @@ echo "<br>
<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";
*/
echo "<h3>Statistik</h3>";
@@ -350,16 +350,17 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
{
echo "<table width='100%'><tr><td valign='top'>";
echo "<br>Wählen Sie bitte eine Aufgabe aus (Kreuzerllisten, Abgaben): <SELECT name='uebung' onChange=\"MM_jumpMenu('self',this,0)\">\n";
echo "<option value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=&uid=$uid'></option>";
echo "<option value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=&uid=$uid' selected></option>";
foreach ($uebung_obj->uebungen as $row)
{
if($uebung_id=='')
$uebung_id=$row->uebung_id;
if($uebung_id == $row->uebung_id)
$selected = 'selected';
else
$selected = '';
$selected = '';
if($uebung_id=='')
$uebung_id=$row->uebung_id;
$subuebung_obj = new uebung($conn);
$subuebung_obj->load_uebung($lehreinheit_id,2,$row->uebung_id);
@@ -441,11 +442,11 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
$mitarbeit = 0;
$note = '';
}
if ($ueb_obj->beispiele && is_numeric($_GET['uebung_id']))
{
$studentnote = new studentnote($conn,$lehreinheit_id,$stsem,$uid,$uebung_id);
echo "<span class='studentnote'>Note: ".$studentnote->note." (Gewicht: ".$studentnote->gewicht.")</span><br><br>";
echo "<span class='studentnote'>Note: ".$studentnote->note." (Gewicht: ".$ueb_obj->gewicht.")</span><br><br>";
echo "
<form method='POST' action='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid'>
<table width='100%'><tr><td valign='top'>
@@ -605,7 +606,7 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
{
//Abgaben benoten
$studentnote = new studentnote($conn,$lehreinheit_id,$stsem,$uid,$uebung_id);
echo "<span class='studentnote'>Note: ".$studentnote->note." (Gewicht: ".$studentnote->gewicht.")</span><br><br>";
echo "<span class='studentnote'>Note: ".$studentnote->note." (Gewicht: ".$ueb_obj->gewicht.")</span><br><br>";
echo "
<form method='POST' action='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid'>
@@ -648,25 +649,25 @@ else
<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>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>";
if($row_grp->gruppe_kurzbz!='')
{
echo "
<tr>
<td colspan='4' align='center'><b>$row_grp->gruppe_kurzbz</b></td>
<td colspan='3' align='center'><b>$row_grp->gruppe_kurzbz</b></td>
</tr>";
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row_grp->gruppe_kurzbz)."' ORDER BY nachname, vorname";
}
@@ -674,7 +675,7 @@ else
{
echo "
<tr>
<td colspan='4' align='center'><b>Verband $row_grp->verband ".($row_grp->gruppe!=''?"Gruppe $row_grp->gruppe":'')."</b></td>
<td colspan='3' 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
WHERE studiengang_kz='$row_grp->studiengang_kz' AND
@@ -689,18 +690,6 @@ else
$i=1;
while($row_stud = pg_fetch_object($result_stud))
{
//$studentgesamtnote = 0;
//$ueb_obj = new uebung($conn);
//$ueb_obj->load_uebung($lehreinheit_id);
//foreach ($ueb_obj->uebungen as $ueb)
//{
$studentnote = new studentnote($conn,$lehreinheit_id,$stsem,$row_stud->uid);
// if ($studentnote->note)
// {
// $studentgesamtnote = $studentgesamtnote + $studentnote->note;
// }
//}
@@ -709,7 +698,6 @@ else
<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>
<td>$studentnote->studentgesamtnote</td>
</tr>";
$i++;
}
@@ -334,8 +334,8 @@ if(isset($_POST['uebung_neu']))
{
if($error_msg!='')
echo "<span class='error'>$error_msg</span>";
else
header("Location: verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&liste_id=$uebung_obj->uebung_id");
//else
// header("Location: verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&liste_id=$uebung_obj->uebung_id");
}
else
echo "<span class='error'>$uebung_obj->errormsg</span>";
@@ -615,8 +615,8 @@ else
// echo 'Ja';
//else
// echo 'Nein';
//echo "</td><td align='center'><input type='Checkbox' name='uebung[]' value='$row->uebung_id'></td>";
echo "</td><td></td>";
echo "</td><td align='center'><input type='Checkbox' name='uebung[]' value='$row->uebung_id'></td>";
//echo "</td><td></td>";
//Wenn andere Lehreinheiten vorhanden sind dann wird die moeglichkeit zum kopieren von
//Uebungen in diese Lehreinheiten angeboten.
if(isset($result_alle_lehreinheiten) && pg_num_rows($result_alle_lehreinheiten)>1)
@@ -811,7 +811,7 @@ if(isset($_GET["uebung_id"]) && $_GET["uebung_id"]!='')
echo "<table><tr><td valign='top'>";
//Bearbeiten der ausgewaehlten Uebung
echo "<form action='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&liste_id=$liste_id' method=POST enctype='multipart/form-data'>\n";
echo "<table><tr><td colspan='2' width='340' class='ContentHeader3'>Ausgew&auml;hlte Kreuzerlliste bearbeiten</td><td>&nbsp;</td></tr>\n";
echo "<table><tr><td colspan='2' width='340' class='ContentHeader3'>Ausgew&auml;hlte Aufgabe bearbeiten</td><td>&nbsp;</td></tr>\n";
echo "<tr><td>&nbsp;</td><td></td></tr>";
$uebung_obj = new uebung($conn);
@@ -972,7 +972,10 @@ else
//Gesamtuebersicht ueber alle Listen innerhalb der Uebung
echo "<table><tr><td valign='top'>";
echo "<form action='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&liste_id=$liste_id' method=POST>";
echo "<table width='440'><tr><td colspan='3' class='ContentHeader3'>Vorhandene Aufgaben bearbeiten</td></tr>";
echo "<table width='440'>";
$studentuebung = new uebung($conn);
if (!$studentuebung->check_studentuebung($liste_id))
echo "<tr><td colspan='3' class='ContentHeader3'>Vorhandene Aufgaben bearbeiten</td></tr>";
$uebung_obj = new uebung($conn);
$uebung_obj->load_uebung($lehreinheit_id,$level=2,$uebung_id=$liste_id);
@@ -1092,8 +1095,14 @@ else
}
else
{
echo "<tr><td colspan='3'>Derzeit sind keine Aufgaben angelegt</td><td></td></tr>";
$anzeigen = 'beide';
$studentuebung = new uebung($conn);
if (!$studentuebung->check_studentuebung($liste_id))
{
echo "<tr><td colspan='3'>Derzeit sind keine Aufgaben angelegt</td><td></td></tr>";
$anzeigen = 'beide';
}
else
$anzeigen = "nada";
}
echo "</table>
@@ -1121,7 +1130,7 @@ else
}
echo "</td><td valign='top'>";
if ($anzeigen != 'abgabe')
if ($anzeigen != 'abgabe' && $anzeigen != 'nada')
{
echo "
<form action='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&liste_id=$liste_id' method=POST enctype='multipart/form-data'>
@@ -1146,7 +1155,7 @@ else
if(!isset($_POST['uebung_neu']))
$thema = "Abgabe ".($anzahl<9?'0'.($anzahl+1):($anzahl+1));
if ($anzeigen != 'beispiele')
if ($anzeigen != 'beispiele' && $anzeigen != 'nada')
{
echo "
<form action='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&liste_id=$liste_id' method=POST enctype='multipart/form-data'>
+228
View File
@@ -0,0 +1,228 @@
<?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>.
*/
class legesamtnote
{
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
var $legesamtnoten = array(); // lehreinheit Objekt
//Tabellenspalten
var $student_uid; // varchar(16)
var $lehreinheit_id; // int
var $note; // smallint
var $benotungsdatum; //date
var $updateamum; // timestamp
var $updatevon; // varchar(16)
var $insertamum; // timestamp
var $insertvon; // varchar(16)
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional eine Uebung
// * @param $conn Datenbank-Connection
// * $uebung_id
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function legesamtnote($conn, $student_uid=null, $lehreinheit_id=null, $unicode=false)
{
$this->conn = $conn;
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($this->conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
if($student_uid != null)
$this->load($student_uid, $lehreinheit_id);
}
// *********************************************************
// * Laedt die legesamtnote
// * @param student_uid, lehreinheit_id
// *********************************************************
function load($student_uid, $lehreinheit_id)
{
if(!is_numeric($lehreinheit_id))
{
$this->errormsg='lehreinheit_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM campus.tbl_legesamtnote where student_uid = '".$student_uid."' and lehreinheit_id = '".$lehreinheit_id."'";
if($result=pg_query($this->conn, $qry))
{
if($row = pg_fetch_object($result))
{
$this->lehreinheit_id = $row->lehreinheit_id;
$this->student_uid = $row->student_uid;
$this->note = $row->note;
$this->benotungsdatum = $row->benotungsdatum;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
return true;
}
else
{
$this->errormsg = "Es ist keine legesamtnote mit der fuer diesen studenten vorhanden";
return false;
}
}
else
{
$this->errormsg = 'Fehler beim laden der Uebung';
return false;
}
}
function load_legesamtnote($lehreinheit_id)
{
if(!is_numeric($lehreinheit_id))
{
$this->errormsg = 'Lehreinheit_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM campus.tbl_legesamtnote WHERE lehreinheit_id='".$lehreinheit_id."' order by student_uid";
if($result=pg_query($this->conn, $qry))
{
while($row = pg_fetch_object($result))
{
$legesamtnote_obj = new uebung($this->conn);
$legesamtnote_obj->student_uid = $row->student_uid;
$legesamtnote_obj->note = $row->note;
$legesamtnote_obj->lehreinheit_id = $row->lehreinheit_id;
$legesamtnote_obj->benotungsdatum = $row->benotungsdatum;
$legesamtnote_obj->updateamum = $row->updateamum;
$legesamtnote_obj->updatevon = $row->updatevon;
$legesamtnote_obj->insertamum = $row->insertamum;
$legesamtnote_obj->insertvon = $row->insertvon;
$this->legesamtnoten[] = $legesamtnote_obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim laden der legesamtnoten';
return false;
}
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
{
if(!is_numeric($this->lehreinheit_id))
{
$this->errormsg = 'Lehreinheit_id muss eine gueltige Zahl sein';
return false;
}
if(!is_numeric($this->note))
{
$this->errormsg = 'Note muss eine gueltige Zahl sein';
return false;
}
return true;
}
// ************************************************
// * wenn $var '' ist wird NULL zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * Zeichen mit Backslash versehen und das Ergbnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ************************************************************
// * Speichert Uebung in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * angelegt, ansonsten der Datensatz upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function save()
{
//if(is_null($new))
// $new = $this->new;
//Variablen auf Gueltigkeit pruefen
if(!$this->validate())
return false;
if($this->new)
{
$qry = 'INSERT INTO campus.tbl_legesamtnote(student_uid, lehreinheit_id, note, benotungsdatum, updateamum, updatevon, insertamum, insertvon) VALUES('.
$this->addslashes($this->student_uid).','.
$this->addslashes($this->lehreinheit_id).','.
$this->addslashes($this->note).','.
$this->addslashes($this->benotungsdatum).','.
'null,'.
'null,'.
$this->addslashes($this->insertamum).','.
$this->addslashes($this->insertvon).');';
}
else
{
$qry = 'UPDATE campus.tbl_legesamtnote SET'.
' student_uid='.$this->addslashes($this->student_uid).','.
' lehreinheit_id ='.$this->addslashes($this->lehreinheit_id).','.
' note='.$this->addslashes($this->note).','.
' benotungsdatum='.$this->addslashes($this->benotungsdatum).','.
' updateamum='.$this->addslashes($this->updateamum).','.
' updatevon='.$this->addslashes($this->updatevon).
" WHERE lehreinheit_id=".$this->addslashes($this->lehreinheit_id)." and student_uid = '".$this->student_uid."';";
}
if(pg_query($this->conn,$qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern der legesamtnote:'.$qry;
return false;
}
}
}
+3 -4
View File
@@ -195,8 +195,7 @@ class lvgesamtnote
if($new)
{
//Neuen Datensatz einfuegen
$qry='INSERT INTO campus.tbl_lvgesamtnote (lehrveranstaltung_id, student_uid, studiensemester_kurzbz, mitarbeiter_uid, note, freigabedatum, benotungsdatum, bemerkung,
updateamum, updatevon, insertamum, insertvon) VALUES('.
$qry='INSERT INTO campus.tbl_lvgesamtnote (lehrveranstaltung_id, student_uid, studiensemester_kurzbz, mitarbeiter_uid, note, freigabedatum, benotungsdatum, bemerkung, updateamum, updatevon, insertamum, insertvon) VALUES('.
$this->addslashes($this->lehrveranstaltung_id).', '.
$this->addslashes($this->student_uid).', '.
$this->addslashes($this->studiensemester_kurzbz).', '.
@@ -220,8 +219,8 @@ class lvgesamtnote
'mitarbeiter_uid='.$this->addslashes($this->mitarbeiter_uid).', '.
'updateamum= '.$this->addslashes($this->updateamum).', '.
'updatevon='.$this->addslashes($this->updatevon).' '.
'WHERE lehrveranstaltung_id='.$this->addslashes($this->lehrveranstaltung_id).', '.
'AND student_uid='.$this->addslashes($this->student_uid).', '.
'WHERE lehrveranstaltung_id='.$this->addslashes($this->lehrveranstaltung_id).' '.
'AND student_uid='.$this->addslashes($this->student_uid).' '.
'AND studiensemester_kurzbz='.$this->addslashes($this->studiensemester_kurzbz).';';
}
+200
View File
@@ -0,0 +1,200 @@
<?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>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* gerald Raab <gerald.raab@technikum-wien.at>.
*/
class studentnote
{
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
var $beispiele = array(); // lehreinheit Objekt
//Vars
var $uebung_id; // serial
var $gewicht; // smalint
var $punkte; // Real
var $note;
var $note_gesamt;
var $negativ;
var $fehlt;
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional eine Uebung
// * @param $conn Datenbank-Connection
// * $uebung_id
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function studentnote($conn, $lehreinheit_id=null, $ss=null, $student_uid=null, $uebung_id=null, $unicode=false)
{
$this->conn = $conn;
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($this->conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
if($uebung_id)
{
$this->calc_note($uebung_id, $student_uid);
}
else
{
$studentgesamtnote = 0;
$counter = 0;
$gewichte = 0;
$negativ = false;
$note_x_gewicht = 0;
$note_x_gewicht_l1 = 0;
$gewichte_l1 = 0;
$fehlt = false;
$ueb1_obj = new uebung($conn);
$ueb1_obj->load_uebung($lehreinheit_id,1);
foreach($ueb1_obj->uebungen as $ueb1)
{
$ueb_obj = new uebung($conn);
//if ($ueb_obj->load_uebung($lehreinheit_id, 2, $ueb1->uebung_id))
$ueb_obj->load_uebung($lehreinheit_id, 2, $ueb1->uebung_id);
if ($ueb_obj->uebungen)
{
$note_x_gewicht = 0;
$gewichte = 0;
foreach ($ueb_obj->uebungen as $ueb)
{
if ($this->calc_note($ueb->uebung_id,$student_uid))
{
if (is_numeric($this->note))
{
if ($ueb->positiv && $this->note == 5)
$negativ = true;
$note_x_gewicht += ($this->note * $this->gewicht);
$gewichte += $this->gewicht;
}
else
$fehlt = true;
}
}
if ($gewichte > 0)
{
$note_x_gewicht_l1 += ($note_x_gewicht / $gewichte);
$gewichte_l1 += $ueb1->gewicht;
}
}
// keine kreuzerllisten/abgaben
else
{
$s = new uebung($conn);
$s->load_studentuebung($student_uid, $ueb1->uebung_id);
if ($s->note && $ueb1->gewicht)
{
if ($s->note == 5 && $ueb1->positiv)
$negativ = true;
$note_x_gewicht_l1 += ($s->note * $ueb1->gewicht);
$gewichte_l1 += $ueb1->gewicht;
}
else
$fehlt = true;
}
}
if ($gewichte_l1 > 0)
{
$this->studentgesamtnote = ($note_x_gewicht_l1 / $gewichte_l1);
$this->negativ = $negativ;
$this->fehlt = $fehlt;
}
else
{
$this->studentgesamtnote = "n";
$this->negativ = $negativ;
$this->fehlt = $fehlt;
}
}
}
// *********************************************************
// * berechnet die gesamtnote der übung
// * @param uebung_id, student_uid
// *********************************************************
function calc_note($uebung_id, $student_uid)
{
if(!is_numeric($uebung_id))
{
$this->errormsg='Uebung_id muss eine gueltige Zahl sein';
return false;
}
else
{
$note = null;
$punkte_eingetragen = 0;
$punkte_gesamt = 0;
$mitarbeit = 0;
$ueb = new uebung($this->conn);
$ueb->load($uebung_id);
if ($ueb->beispiele)
{
//Eingetragen diese Kreuzerlliste
$qry = "SELECT sum(punkte) as punkteeingetragen FROM campus.tbl_beispiel JOIN campus.tbl_studentbeispiel USING(beispiel_id) WHERE uebung_id='$uebung_id' AND student_uid='$student_uid' AND vorbereitet=true";
$punkte_eingetragen=0;
if($result=pg_query($this->conn, $qry))
if($row = pg_fetch_object($result))
$punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0);
if($ueb->load_studentuebung($student_uid, $uebung_id))
{
$mitarbeit = $ueb->mitarbeitspunkte;
}
$punkte_gesamt = $punkte_eingetragen + $mitarbeit;
$qry = "SELECT min(note) as note from campus.tbl_notenschluesseluebung where punkte <= '".$punkte_gesamt."' and uebung_id = '".$uebung_id."'";
if($result=pg_query($this->conn, $qry))
if($row = pg_fetch_object($result))
$note = $row->note;
else
$note = 5;
$this->note = $note;
$this->gewicht = $ueb->gewicht;
return true;
}
else
{
if($ueb->load_studentuebung($student_uid, $uebung_id))
{
$this->note = $ueb->note;
$this->gewicht = $ueb->gewicht;
return true;
}
}
}
}
}
?>
+55 -4
View File
@@ -137,6 +137,7 @@ class uebung
return false;
}
}
function load_studentuebung($student_uid, $uebung_id)
{
$qry = "SELECT * FROM campus.tbl_studentuebung WHERE student_uid='$student_uid' AND uebung_id='$uebung_id'";
@@ -172,7 +173,23 @@ class uebung
return false;
}
}
function check_studentuebung($uebung_id)
{
$qry = "SELECT * FROM campus.tbl_studentuebung WHERE uebung_id='$uebung_id'";
if($result = pg_query($this->conn, $qry))
{
if (pg_num_rows($result) >0)
return true;
else
return false;
}
else
return false;
}
function load_uebung($lehreinheit_id, $level=null, $uebung_id=null)
{
if(!is_numeric($lehreinheit_id))
@@ -452,15 +469,46 @@ class uebung
$this->errormsg = 'Uebung_id ist ungueltig';
return false;
}
// subübungen wegräumen
$qry = "SELECT * FROM campus.tbl_uebung WHERE liste_id = '".$uebung_id."'";
if($result=pg_query($this->conn, $qry))
{
while($row = pg_fetch_object($result))
{
foreach (glob(BENOTUNGSTOOL_PATH."angabe/*".$row->uebung_id.".*") as $angabe)
{
if(file_exists($angabe))
unlink($angabe);
}
$qry = "DELETE FROM campus.tbl_studentbeispiel WHERE beispiel_id IN(SELECT beispiel_id FROM campus.tbl_beispiel WHERE uebung_id='$row->uebung_id');
DELETE FROM campus.tbl_abgabe WHERE abgabe_id IN(SELECT abgabe_id FROM campus.tbl_studentuebung WHERE uebung_id='$row->uebung_id');
DELETE FROM campus.tbl_studentuebung WHERE uebung_id='$row->uebung_id';
DELETE FROM campus.tbl_beispiel WHERE uebung_id='$row->uebung_id';
DELETE FROM campus.tbl_uebung WHERE uebung_id='$row->uebung_id';
DELETE FROM campus.tbl_studentuebung WHERE uebung_id = '$row->uebung_id'";
if(!pg_query($qry))
{
$this->errormsg = 'Fehler beim Loeschen der Daten';
return false;
}
}
}
foreach (glob(BENOTUNGSTOOL_PATH."angabe/*".$uebung_id.".*") as $angabe)
{
if(file_exists($angabe))
unlink($angabe);
}
$qry = "DELETE FROM campus.tbl_studentuebung WHERE uebung_id='$uebung_id';
DELETE FROM campus.tbl_studentbeispiel WHERE beispiel_id IN(SELECT beispiel_id FROM campus.tbl_beispiel WHERE uebung_id='$uebung_id');
$qry = "DELETE FROM campus.tbl_studentbeispiel WHERE beispiel_id IN(SELECT beispiel_id FROM campus.tbl_beispiel WHERE uebung_id='$uebung_id');
DELETE FROM campus.tbl_abgabe WHERE abgabe_id IN(SELECT abgabe_id FROM campus.tbl_studentuebung WHERE uebung_id='$uebung_id');
DELETE FROM campus.tbl_studentuebung WHERE uebung_id='$uebung_id';
DELETE FROM campus.tbl_beispiel WHERE uebung_id='$uebung_id';
DELETE FROM campus.tbl_uebung WHERE uebung_id='$uebung_id'";
DELETE FROM campus.tbl_uebung WHERE uebung_id='$uebung_id';
DELETE FROM campus.tbl_studentuebung WHERE uebung_id = '$uebung_id'";
if(pg_query($qry))
return true;
@@ -468,7 +516,10 @@ class uebung
{
$this->errormsg = 'Fehler beim Loeschen der Daten';
return false;
}
}
}
}
?>