This commit is contained in:
Gerald Raab
2007-07-16 11:00:01 +00:00
parent c3d7928704
commit 6bd06d7fa7
9 changed files with 4351 additions and 2 deletions
@@ -0,0 +1,689 @@
<?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/datum.class.php');
//Excel includes
include_once('../../../../include/Excel/PEAR.php');
include_once('../../../../include/Excel/BIFFwriter.php');
include_once('../../../../include/Excel/Workbook.php');
include_once('../../../../include/Excel/Format.php');
include_once('../../../../include/Excel/Worksheet.php');
include_once('../../../../include/Excel/Parser.php');
include_once('../../../../include/Excel/OLE.php');
include_once('../../../../include/Excel/PPS.php');
include_once('../../../../include/Excel/Root.php');
include_once('../../../../include/Excel/File.php');
include_once('../../../../include/Excel/Writer.php');
if(!$conn = pg_pconnect(CONN_STRING))
die('Fehler beim oeffnen der Datenbankverbindung');
$user = get_uid();
if(!check_lektor($user, $conn))
die('Sie haben keine Berechtigung fuer diesen Bereich');
if(isset($_GET['uebung_id']) && is_numeric($_GET['uebung_id']))
{
$uebung_id = $_GET['uebung_id'];
$uebung_obj = new uebung($conn, $uebung_id);
$lehreinheit_obj = new lehreinheit($conn, $uebung_obj->lehreinheit_id);
}
else
{
if(!isset($_GET['all']))
die('Fehlerhafte Parameteruebergabe');
else
{
$lehreinheit_id = $_GET['lehreinheit_id'];
$lehreinheit_obj = new lehreinheit($conn, $lehreinheit_id);
}
}
$qry = "SELECT * FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE
tbl_lehreinheit.lehreinheit_id='$lehreinheit_obj->lehreinheit_id' AND
mitarbeiter_uid='$user'";
$qry = "SELECT * FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE
tbl_lehreinheit.lehrveranstaltung_id in(Select lehrveranstaltung_id from lehre.tbl_lehreinheit where lehreinheit_id='$lehreinheit_obj->lehreinheit_id') AND
mitarbeiter_uid='$user'";
if(!$result = pg_query($conn, $qry))
die('Fehler beim laden der Berechtigung');
$rechte = new benutzerberechtigung($conn);
$rechte->getBerechtigungen($user);
if(!(pg_num_rows($result)>0 || $rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lehreinheit_obj->studiengang_kz)))
die('Sie haben keine Berechtigung f&uuml;r diesen Bereich');
if(isset($_GET['output']) && $_GET['output']=='xls')
{
if(isset($_GET['all']))
{
//EXCEL VERSION / ALLE Kreuzerllisten
$le_obj = new lehreinheit($conn);
$le_obj->load($lehreinheit_id);
$lv_obj = new lehrveranstaltung($conn);
$lv_obj->load($le_obj->lehrveranstaltung_id);
// Creating a workbook
$workbook = new Spreadsheet_Excel_Writer();
// sending HTTP headers
$workbook->send("Kreuzerlliste_Gesamt_".$lv_obj->lehreverzeichnis. "_" . date("d_m_Y") . ".xls");
// Creating a worksheet
$worksheet =& $workbook->addWorksheet("Kreuzerltool");
$format_bold =& $workbook->addFormat();
$format_bold->setBold();
$format_title =& $workbook->addFormat();
$format_title->setBold();
// let's merge
$format_title->setAlign('merge');
$worksheet->write(0,0,'Gesamtübersicht '.$lv_obj->bezeichnung.' vom '.date('d.m.Y'), $format_bold);
$maxlength = array();
//Ueberschrift
$i=0;
$worksheet->write(1,$i,"Vorname", $format_title);
$maxlength[$i]=strlen('Vorname');
$worksheet->write(1,++$i,"Nachname", $format_title);
$maxlength[$i]=strlen('Nachname');
$worksheet->write(1,++$i,"Matrikelnr", $format_title);
$maxlength[$i]=strlen('Matrikelnr');
$worksheet->write(1,++$i,"Gruppe", $format_title);
$maxlength[$i]=strlen('Gruppe');
$ueb_obj = new uebung($conn);
$ueb_obj->load_uebung($lehreinheit_id);
foreach($ueb_obj->uebungen as $row_ueb)
{
$worksheet->write(1,++$i,$row_ueb->bezeichnung, $format_title);
$maxlength[$i]=strlen($row_ueb->bezeichnung);
}
$worksheet->write(1,++$i,"Summe", $format_title);
$maxlength[$i]=8;
$worksheet->write(1,++$i,"Mitarbeit insgesamt", $format_title);
$maxlength[$i]=strlen('Mitarbeit insgesamt');
$worksheet->write(1,++$i,"Punkte insgesamt", $format_title);
$maxlength[$i]=strlen('Punkte insgesamt');
$worksheet->write(1,++$i,"Unterschrift", $format_title);
$maxlength[$i]=strlen('Unterschrift')+5;
if(isset($_GET['gruppe']) && $_GET['gruppe']!='')
{
$gruppe = $_GET['gruppe'];
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id='$gruppe'";
if($result = pg_query($conn, $qry))
{
if($row = pg_fetch_object($result))
{
if($row->gruppe_kurzbz!='')
{
$gruppe_bez = 'Gruppe '.$row->gruppe_kurzbz;
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row->gruppe_kurzbz)."' ORDER BY nachname, vorname";
}
else
{
$gruppe_bez = 'Gruppe '.$row->verband.$row->gruppe;
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student
WHERE studiengang_kz='$row->studiengang_kz'
AND semester='$row->semester' ".
($row->verband!=''?" AND verband='$row->verband'":'').
($row->gruppe!=''?" AND gruppe='$row->gruppe'":'').
" ORDER BY nachname, vorname";
}
}
else
die('Gruppe konnte nicht ermittelt werden');
}
else
die('Gruppe konnte nicht ermittelt werden');
}
else
{
if(isset($_GET['lehreinheit_id']) && $_GET['lehreinheit_id']!='')
{
$lehreinheit_id = $_GET['lehreinheit_id'];
$gruppe_bez = 'Alle Studienrende';
//Alle Studenten die dieser Lehreinheit zugeordnet sind
$qry_stud = "SELECT vw_student.uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe FROM campus.vw_student, public.tbl_benutzergruppe, lehre.tbl_lehreinheitgruppe
WHERE tbl_lehreinheitgruppe.lehreinheit_id='$lehreinheit_id' AND
vw_student.uid = tbl_benutzergruppe.uid AND
tbl_benutzergruppe.gruppe_kurzbz = tbl_lehreinheitgruppe.gruppe_kurzbz
UNION
SELECT vw_student.uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe FROM campus.vw_student, lehre.tbl_lehreinheitgruppe WHERE
tbl_lehreinheitgruppe.lehreinheit_id='$lehreinheit_id' AND
tbl_lehreinheitgruppe.studiengang_kz=vw_student.studiengang_kz AND
tbl_lehreinheitgruppe.semester = vw_student.semester AND
((tbl_lehreinheitgruppe.verband<>'' AND
tbl_lehreinheitgruppe.gruppe<>'' AND
trim(tbl_lehreinheitgruppe.verband) = trim(vw_student.verband) AND
trim(tbl_lehreinheitgruppe.gruppe) = trim(vw_student.gruppe))
OR
(tbl_lehreinheitgruppe.verband<>'' AND
(trim(tbl_lehreinheitgruppe.gruppe)='' OR tbl_lehreinheitgruppe.gruppe is null) AND
trim(tbl_lehreinheitgruppe.verband) = trim(vw_student.verband))
OR (tbl_lehreinheitgruppe.verband is null AND tbl_lehreinheitgruppe.gruppe is null)
)
ORDER BY nachname, vorname";
}
else
die('Fehler bei der Parameteruebergabe');
$gruppe='';
}
if($result_stud = pg_query($conn, $qry_stud))
{
$zeile=3;
while($row_stud = pg_fetch_object($result_stud))
{
$spalte=0;
$summe=0;
//vorname
$worksheet->write($zeile,$spalte,$row_stud->vorname);
if(strlen($row_stud->vorname)>$maxlength[$spalte])
$maxlength[$spalte]=strlen($row_stud->vorname);
//nachname
$worksheet->write($zeile,++$spalte,$row_stud->nachname);
if(strlen($row_stud->nachname)>$maxlength[$spalte])
$maxlength[$spalte]=strlen($row_stud->nachname);
//matrikelnr
$worksheet->write($zeile,++$spalte,'="'.$row_stud->matrikelnr.'"');
if(strlen($row_stud->matrikelnr)>$maxlength[$spalte])
$maxlength[$spalte]=strlen($row_stud->matrikelnr);
//Gruppe
$worksheet->write($zeile,++$spalte,$row_stud->semester.$row_stud->verband.$row_stud->gruppe);
if(strlen($row_stud->semester.$row_stud->verband.$row_stud->gruppe)>$maxlength[$spalte])
$maxlength[$spalte]=strlen($row_stud->semester.$row_stud->verband.$row_stud->gruppe);
foreach($ueb_obj->uebungen as $row_ueb)
{
$qry = "SELECT sum(punkte) as punkte FROM campus.tbl_studentbeispiel JOIN campus.tbl_beispiel USING(beispiel_id) WHERE uebung_id='$row_ueb->uebung_id' AND student_uid='$row_stud->uid' AND vorbereitet=true";
if($result = pg_query($conn, $qry))
{
if($row = pg_fetch_object($result))
{
$punkte = $row->punkte;
$summe +=$punkte;
}
else
$punkte = 'failed';
}
else
$punkte='failed';
//punkte auf uebung
$worksheet->write($zeile,++$spalte,($punkte!=''?$punkte:'0'));
}
//summe
$worksheet->write($zeile,++$spalte,$summe);
//mitarbeit
$qry = "SELECT sum(mitarbeitspunkte) as mitarbeit FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) WHERE lehreinheit_id='$lehreinheit_id' AND student_uid='$row_stud->uid'";
if($result = pg_query($conn, $qry))
if($row = pg_fetch_object($result))
$mitarbeit=$row->mitarbeit;
else
$mitarbeit='failed';
else
$mitarbeit='failed';
$worksheet->write($zeile,++$spalte,($row->mitarbeit!=''?$mitarbeit:'0'));
//punkte insgesamt
$worksheet->write($zeile,++$spalte,($summe+$mitarbeit), $format_bold);
$zeile++;
}
for($i=0;$i<count($maxlength);$i++)
{
$worksheet->setColumn(0, $i, $maxlength[$i]);
}
}
$workbook->close();
}
else
{
//EXCEL VERSION / Einzelne Kreuzerlliste
// Creating a workbook
$workbook = new Spreadsheet_Excel_Writer();
// sending HTTP headers
$workbook->send("Kreuzerltool". "_" . date("d_m_Y") . ".xls");
// Creating a worksheet
$worksheet =& $workbook->addWorksheet("Kreuzerltool");
$format_bold =& $workbook->addFormat();
$format_bold->setBold();
$format_title =& $workbook->addFormat();
$format_title->setBold();
// let's merge
$format_title->setAlign('merge');
$worksheet->write(0,0,$uebung_obj->bezeichnung.' am '.date('d.m.Y'), $format_bold);
$maxlength = array();
//Ueberschrift
$i=0;
$worksheet->write(1,$i,"Vorname", $format_title);
$maxlength[$i]=strlen('Vorname');
$worksheet->write(1,++$i,"Nachname", $format_title);
$maxlength[$i]=strlen('Nachname');
$worksheet->write(1,++$i,"Matrikelnr", $format_title);
$maxlength[$i]=strlen('Matrikelnr');
$worksheet->write(1,++$i,"Gruppe", $format_title);
$maxlength[$i]=strlen('Gruppe');
$beispiel_obj = new beispiel($conn);
$beispiel_obj->load_beispiel($uebung_id);
foreach($beispiel_obj->beispiele as $row_bsp)
{
$worksheet->write(1,++$i,$row_bsp->bezeichnung, $format_title);
$maxlength[$i]=strlen($row_bsp->bezeichnung);
}
$worksheet->write(1,++$i,"Punkte heute", $format_title);
$maxlength[$i]=strlen('Punkte heute');
$worksheet->write(1,++$i,"Mitarbeit heute", $format_title);
$maxlength[$i]=strlen('Mitarbeit_heute');
$worksheet->write(1,++$i,"Punkte insgesamt", $format_title);
$maxlength[$i]=strlen('Punkte insgesamt');
$worksheet->write(1,++$i,"Mitarbeit insgesamt", $format_title);
$maxlength[$i]=strlen('Mitarbeit insgesamt');
$worksheet->write(1,++$i,"Unterschrift", $format_title);
$maxlength[$i]=strlen('Unterschrift')+5;
if(isset($_GET['gruppe']) && $_GET['gruppe']!='')
{
$gruppe = $_GET['gruppe'];
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id='$gruppe'";
if($result = pg_query($conn, $qry))
{
if($row = pg_fetch_object($result))
{
if($row->gruppe_kurzbz!='')
{
$gruppe_bez = 'Gruppe '.$row->gruppe_kurzbz;
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row->gruppe_kurzbz)."' ORDER BY nachname, vorname";
}
else
{
$gruppe_bez = 'Gruppe '.$row->verband.$row->gruppe;
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe FROM campus.vw_student
WHERE studiengang_kz='$row->studiengang_kz'
AND semester='$row->semester' ".
($row->verband!=''?" AND verband='$row->verband'":'').
($row->gruppe!=''?" AND gruppe='$row->gruppe'":'').
" ORDER BY nachname, vorname";
}
}
else
die('Gruppe konnte nicht ermittelt werden');
}
else
die('Gruppe konnte nicht ermittelt werden');
$lehreinheit_id = $uebung_obj->lehreinheit_id;
}
else
{
if(isset($_GET['lehreinheit_id']) && $_GET['lehreinheit_id']!='')
{
$lehreinheit_id = $_GET['lehreinheit_id'];
$gruppe_bez = 'Alle Studienrende';
//Alle Studenten die dieser Lehreinheit zugeordnet sind
$qry_stud = "SELECT vw_student.uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe FROM campus.vw_student, public.tbl_benutzergruppe, lehre.tbl_lehreinheitgruppe
WHERE tbl_lehreinheitgruppe.lehreinheit_id='$lehreinheit_id' AND
vw_student.uid = tbl_benutzergruppe.uid AND
tbl_benutzergruppe.gruppe_kurzbz = tbl_lehreinheitgruppe.gruppe_kurzbz
UNION
SELECT vw_student.uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe FROM campus.vw_student, lehre.tbl_lehreinheitgruppe WHERE
tbl_lehreinheitgruppe.lehreinheit_id='$lehreinheit_id' AND
tbl_lehreinheitgruppe.studiengang_kz=vw_student.studiengang_kz AND
tbl_lehreinheitgruppe.semester = vw_student.semester AND
((tbl_lehreinheitgruppe.verband<>'' AND
tbl_lehreinheitgruppe.gruppe<>'' AND
trim(tbl_lehreinheitgruppe.verband) = trim(vw_student.verband) AND
trim(tbl_lehreinheitgruppe.gruppe) = trim(vw_student.gruppe))
OR
(tbl_lehreinheitgruppe.verband<>'' AND
(trim(tbl_lehreinheitgruppe.gruppe)='' OR tbl_lehreinheitgruppe.gruppe is null) AND
trim(tbl_lehreinheitgruppe.verband) = trim(vw_student.verband))
OR (tbl_lehreinheitgruppe.verband is null AND tbl_lehreinheitgruppe.gruppe is null)
)
ORDER BY nachname, vorname";
}
else
die('Fehler bei der Parameteruebergabe');
$gruppe='';
}
if($result_stud = pg_query($conn, $qry_stud))
{
$zeile=3;
while($row_stud = pg_fetch_object($result_stud))
{
$spalte=0;
$punkte_heute=0;
//vorname
$worksheet->write($zeile,$spalte,$row_stud->vorname);
if(strlen($row_stud->vorname)>$maxlength[$spalte])
$maxlength[$spalte]=strlen($row_stud->vorname);
//nachname
$worksheet->write($zeile,++$spalte,$row_stud->nachname);
if(strlen($row_stud->nachname)>$maxlength[$spalte])
$maxlength[$spalte]=strlen($row_stud->nachname);
//matrikelnr
$worksheet->write($zeile,++$spalte,'="'.$row_stud->matrikelnr.'"');
if(strlen($row_stud->matrikelnr)>$maxlength[$spalte])
$maxlength[$spalte]=strlen($row_stud->matrikelnr);
//Gruppe
$worksheet->write($zeile,++$spalte,$row_stud->semester.$row_stud->verband.$row_stud->gruppe);
if(strlen($row_stud->semester.$row_stud->verband.$row_stud->gruppe)>$maxlength[$spalte])
$maxlength[$spalte]=strlen($row_stud->semester.$row_stud->verband.$row_stud->gruppe);
foreach($beispiel_obj->beispiele as $row_bsp)
{
$studentbeispiel_obj = new beispiel($conn);
$studentbeispiel_obj->load_studentbeispiel($row_stud->uid, $row_bsp->beispiel_id);
if($studentbeispiel_obj->vorbereitet)
$punkte = $row_bsp->punkte;
else
$punkte = 0;
$punkte_heute +=$punkte;
//punkte auf uebung
$worksheet->write($zeile,++$spalte,$punkte);
}
//punkte heute
$worksheet->write($zeile,++$spalte,$punkte_heute);
//mitarbeit heute
$qry = "SELECT sum(mitarbeitspunkte) as mitarbeit_heute FROM campus.tbl_studentuebung WHERE uebung_id='$uebung_id' AND student_uid='$row_stud->uid'";
if($result = pg_query($conn, $qry))
if($row = pg_fetch_object($result))
$worksheet->write($zeile,++$spalte,($row->mitarbeit_heute!=''?$row->mitarbeit_heute:'0'));
else
$worksheet->write($zeile,++$spalte,'failed');
else
$worksheet->write($zeile,++$spalte,'failed');
//punkte insgesamt
$qry = "SELECT sum(tbl_beispiel.punkte) AS gesamt_ohne_mitarbeit FROM campus.tbl_uebung, campus.tbl_beispiel, campus.tbl_studentbeispiel WHERE
tbl_studentbeispiel.student_uid='$row_stud->uid' AND
tbl_studentbeispiel.vorbereitet=true AND
tbl_uebung.lehreinheit_id='$uebung_obj->lehreinheit_id' AND
tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND
tbl_beispiel.beispiel_id=tbl_studentbeispiel.beispiel_id
";
if($result = pg_query($conn, $qry))
if($row = pg_fetch_object($result))
$worksheet->write($zeile,++$spalte,($row->gesamt_ohne_mitarbeit!=''?$row->gesamt_ohne_mitarbeit:'0'));
else
$worksheet->write($zeile,++$spalte,'failed');
else
$worksheet->write($zeile,++$spalte,'failed');
//mitarbeit insgesamt
$qry = "SELECT sum(mitarbeitspunkte) as mitarbeit_heute FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) WHERE student_uid='$row_stud->uid' AND lehreinheit_id='$lehreinheit_id'";
if($result = pg_query($conn, $qry))
if($row = pg_fetch_object($result))
$worksheet->write($zeile,++$spalte,($row->mitarbeit_heute!=''?$row->mitarbeit_heute:'0'));
else
$worksheet->write($zeile,++$spalte,'failed');
else
$worksheet->write($zeile,++$spalte,'failed');
$zeile++;
}
for($i=0;$i<count($maxlength);$i++)
$worksheet->setColumn(0, $i, $maxlength[$i]);
}
$workbook->close();
}
}
else
{
//HTML VERSION
?>
<!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 addUser(student_uid)
{
var upd, upd_f;
upd = document.forms[0].update_ids;
upd_f = "update_" + student_uid;
if (document.forms[0].elements[upd_f].checked != true)
{
document.forms[0].elements[upd_f].checked = true;
upd.value += student_uid + "#";
}
}
</script>
</head>
<body>
<?php
if(isset($_POST['submit']))
{
//Update der Daten
$uids = split('#',$_POST['update_ids']);
$uebung_obj = new uebung($conn, $uebung_id);
$beispiel_obj = new beispiel($conn);
$beispiel_obj->load_beispiel($uebung_id);
$error=false;
foreach($uids as $uid)
{
if($uid!='')
{
foreach($beispiel_obj->beispiele as $bsp)
{
if(isset($_POST['update_'.$uid.'_'.$bsp->beispiel_id]))
$vorbereitet=true;
else
$vorbereitet=false;
$bsp_obj = new beispiel($conn);
if(!$bsp_obj->studentbeispiel_exists($uid,$bsp->beispiel_id))
{
$new=true;
$bsp_obj->insertamum = date('Y-m-d H:i:s');
$bsp_obj->insertvon = $user;
}
else
{
$bsp_obj->load_studentbeispiel($uid, $bsp->beispiel_id);
$new=false;
}
$bsp_obj->student_uid = $uid;
$bsp_obj->beispiel_id = $bsp->beispiel_id;
$bsp_obj->vorbereitet = $vorbereitet;
$bsp_obj->updateamum = date('Y-m-d H:i:s');
$bsp_obj->updatevon = $user;
if(!$bsp_obj->studentbeispiel_save($new))
$error=true;
}
}
}
if(!$error)
echo "Die &Auml;nderungen wurden erfolgreich gespeichert";
else
echo "<span class='error'>Fehler beim Speichern der &Auml;nderungen</span>";
}
$uebung_obj = new uebung($conn, $uebung_id);
$lehreinheit_obj = new lehreinheit($conn, $uebung_obj->lehreinheit_id);
$beispiel_obj = new beispiel($conn);
$lehrveranstaltung_obj = new lehrveranstaltung($conn, $lehreinheit_obj->lehrveranstaltung_id);
$stg_obj = new studiengang($conn, $lehrveranstaltung_obj->studiengang_kz);
$beispiel_obj->load_beispiel($uebung_id);
$anzahl = count($beispiel_obj->beispiele);
if(isset($_GET['gruppe']) && $_GET['gruppe']!='')
{
$gruppe = $_GET['gruppe'];
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id='$gruppe'";
if($result = pg_query($conn, $qry))
{
if($row = pg_fetch_object($result))
{
if($row->gruppe_kurzbz!='')
{
$gruppe_bez = 'Gruppe '.$row->gruppe_kurzbz;
$qry_stud = "SELECT uid, vorname, nachname FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row->gruppe_kurzbz)."' ORDER BY nachname, vorname";
}
else
{
$gruppe_bez = 'Gruppe '.$row->verband.$row->gruppe;
$qry_stud = "SELECT uid, vorname, nachname FROM campus.vw_student
WHERE studiengang_kz='$row->studiengang_kz'
AND semester='$row->semester' ".
($row->verband!=''?" AND verband='$row->verband'":'').
($row->gruppe!=''?" AND gruppe='$row->gruppe'":'').
" ORDER BY nachname, vorname";
}
}
else
die('Gruppe konnte nicht ermittelt werden');
}
else
die('Gruppe konnte nicht ermittelt werden');
$lehreinheit_id = '';
}
else
{
if(isset($_GET['lehreinheit_id']) && $_GET['lehreinheit_id']!='')
{
$lehreinheit_id = $_GET['lehreinheit_id'];
$gruppe_bez = 'Alle Studienrende';
//Alle Studenten die dieser lehreinheit zugeordnet sind
$qry_stud = "SELECT vw_student.uid, vorname, nachname FROM campus.vw_student, public.tbl_benutzergruppe, lehre.tbl_lehreinheitgruppe
WHERE tbl_lehreinheitgruppe.lehreinheit_id='$lehreinheit_id' AND
vw_student.uid = tbl_benutzergruppe.uid AND
tbl_benutzergruppe.gruppe_kurzbz = tbl_lehreinheitgruppe.gruppe_kurzbz
UNION
SELECT vw_student.uid, vorname, nachname FROM campus.vw_student, lehre.tbl_lehreinheitgruppe WHERE
tbl_lehreinheitgruppe.lehreinheit_id='$lehreinheit_id' AND
tbl_lehreinheitgruppe.studiengang_kz=vw_student.studiengang_kz AND
tbl_lehreinheitgruppe.semester = vw_student.semester AND
((tbl_lehreinheitgruppe.verband<>'' AND
tbl_lehreinheitgruppe.gruppe<>'' AND
tbl_lehreinheitgruppe.verband is not null AND
tbl_lehreinheitgruppe.gruppe is not null AND
trim(tbl_lehreinheitgruppe.verband) = trim(vw_student.verband) AND
trim(tbl_lehreinheitgruppe.gruppe) = trim(vw_student.gruppe))
OR
(tbl_lehreinheitgruppe.verband<>'' AND tbl_lehreinheitgruppe.verband is not null AND
(trim(tbl_lehreinheitgruppe.gruppe)='' OR tbl_lehreinheitgruppe.gruppe is null) AND
trim(tbl_lehreinheitgruppe.verband) = trim(vw_student.verband))
OR (tbl_lehreinheitgruppe.verband is null AND tbl_lehreinheitgruppe.gruppe is null)
)
ORDER BY nachname, vorname";
}
else
die('Fehler bei der Parameteruebergabe');
$gruppe='';
}
echo "<form method='POST' action='anwesenheitsliste.php?output=html&uebung_id=$uebung_id&lehreinheit_id=$lehreinheit_id&gruppe=$gruppe'>";
echo "<input type='hidden' name='update_ids' value=''>";
echo "<table border='1'>
<tr>
<td colspan='".($anzahl+2)."' width='100%'>
<table width='100%'>
<tr>
<td><font class='headline'>$lehrveranstaltung_obj->semester.Semester</font></td>
<td align='center'><font class='headline'>$stg_obj->kuerzel - $lehrveranstaltung_obj->bezeichnung - $uebung_obj->bezeichnung - $gruppe_bez</font></td>
<td align='right'><font class='headline'>".date('d.m.Y')."</font></td>
</tr>
</table>
</td>
</tr>";
echo "<tr><td align='center'><b>Name</b></td>";
foreach($beispiel_obj->beispiele as $row)
{
echo "<td>$row->bezeichnung</td>";
}
echo "<td align='center' width='200'><b>Unterschrift</b></td></tr>\n";
if($result = pg_query($conn, $qry_stud))
{
while($row_stud = pg_fetch_object($result))
{
echo "<tr onMouseOver=\"this.style.backgroundColor='#c7dfe8'\" onMouseOut=\"this.style.backgroundColor='#ffffff'\">
<td nowrap><input type='checkbox' name='update_$row_stud->uid' disabled>&nbsp;<b>$row_stud->nachname</b>&nbsp;$row_stud->vorname $row_stud->uid</td>";
foreach($beispiel_obj->beispiele as $row_bsp)
{
$studentbeispiel_obj = new beispiel($conn);
$studentbeispiel_obj->load_studentbeispiel($row_stud->uid, $row_bsp->beispiel_id);
echo "<td align='center'><input type='checkbox' name='update_".$row_stud->uid."_".$row_bsp->beispiel_id."' onClick=\"addUser('$row_stud->uid');\" ".($studentbeispiel_obj->vorbereitet?'checked':'').">".($studentbeispiel_obj->probleme?'<i><small>P</small></i>':'')."</td>\n";
}
echo "<td>&nbsp;</td>\n</tr>\n";
}
}
echo '</table>';
echo "<br><br><table width='100%'><tr><td align='right'><input type='submit' name='submit' value='Änderungen Speichern'></td></tr></table>";
echo '</form>'
?>
</body>
</html>
<?php
}
@@ -0,0 +1,304 @@
<?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/datum.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']:'');
//Kopfzeile
echo '<table class="tabcontent">';
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='anwesenheitstabelle.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='anwesenheitstabelle.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
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";
echo "<h3>Anwesenheits- und &Uuml;bersichtstabelle</h3>";
$uebung_obj = new uebung($conn);
$uebung_obj->load_uebung($lehreinheit_id);
if(count($uebung_obj->uebungen)>0)
{
echo "<table width='100%'><tr><td valign='top'>";
echo "Wählen Sie bitte eine Kreuzerlliste aus: <SELECT name='uebung' onChange=\"MM_jumpMenu('self',this,0)\">\n";
foreach ($uebung_obj->uebungen as $row)
{
if($uebung_id=='')
$uebung_id=$row->uebung_id;
if($uebung_id == $row->uebung_id)
$selected = 'selected';
else
$selected = '';
echo "<OPTION value='anwesenheitstabelle.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$row->uebung_id' $selected>";
//Freigegeben = +
//Nicht Freigegeben = -
if($datum_obj->mktime_fromtimestamp($row->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($row->freigabebis)>time())
echo '+ ';
else
echo '- ';
echo $row->bezeichnung;
echo '</OPTION>';
}
echo '</SELECT>';
echo "</td>
<td>
<table>
<tr>
<td><b>+</b>...</td>
<td>Kreuzerlliste ist <u>freigeschalten</u>.</td>
</tr>
<tr>
<td><b>-</b>...</td>
<td>Kreuzerlliste ist <u>nicht freigeschalten</u>.</td>
</tr>
</table>
</td>
</tr></table>";
}
else
die("Derzeit gibt es keine Uebungen");
$uebung_obj = new uebung($conn);
$uebung_obj->load($uebung_id);
echo "<h3><u>$uebung_obj->bezeichnung</u></h3>";
echo '<table width="100%"><tr><td>';
echo "<ul><li><a href='anwesenheitsliste.php?output=html&uebung_id=$uebung_id&lehreinheit_id=$lehreinheit_id' target='_blank'>Alle Studierende</a>&nbsp;<a href='anwesenheitsliste.php?output=xls&uebung_id=$uebung_id&lehreinheit_id=$lehreinheit_id'><img src='../../../../skin/images/excel.gif' width=16 height=16></a></li>";
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$lehreinheit_id' ORDER BY semester, verband, gruppe, gruppe_kurzbz";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
echo "<li><a href='anwesenheitsliste.php?output=html&uebung_id=$uebung_id&gruppe=$row->lehreinheitgruppe_id' target='_blank'>";
if($row->gruppe_kurzbz=='')
echo "Gruppe $row->verband$row->gruppe";
else
echo "$row->gruppe_kurzbz";
echo "</a>&nbsp;<a href='anwesenheitsliste.php?output=xls&uebung_id=$uebung_id&gruppe=$row->lehreinheitgruppe_id'><img src='../../../../skin/images/excel.gif' width=16 height=16></a></li>";
}
}
echo '</ul>';
echo "</td><td valign='top'>
<ul><li>
<a href='anwesenheitsliste.php?output=xls&lehreinheit_id=$lehreinheit_id&all'>Gesamt&uuml;bersicht&nbsp;<img src='../../../../skin/images/excel.gif' width=16 height=16></a>
</li></ul>
</td></tr></table>";
?>
</td></tr>
</table>
</body>
</html>
@@ -0,0 +1,30 @@
<?php
echo "\n<!--Menue-->\n";
echo "<br><a href='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'>";
echo "<font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'>&nbsp;Übungen</font>";
echo "</a>&nbsp;&nbsp;&nbsp;&nbsp;";
echo "<a href='anwesenheitstabelle.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id' class='Item'>";
echo "<font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'>&nbsp;Anwesenheits- und Übersichtstabelle</font>";
echo "</a>&nbsp;&nbsp;&nbsp;&nbsp;";
echo "<a href='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'>";
echo "<font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'>&nbsp;Studentenpunkte verwalten</font>";
echo "</a>&nbsp;&nbsp;&nbsp;&nbsp;";
echo "<a href='statistik.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' class='Item'>";
echo "<font size='3'><img src='../../../../skin/images/menu_item.gif' width='7' height='9'>&nbsp;Statistik</font>";
echo "</a>";
$file = $_SERVER["SCRIPT_NAME"];
$break = Explode('/', $file);
$pfile = $break[count($break) - 1];
if ($pfile == "verwaltung.php")
echo "<br>&nbsp;&nbsp;&nbsp;&nbsp;Übersicht";
else if ($pfile == "verwaltung_listen.php")
{
echo "<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id'>Übersicht</a>";
if (isset($_GET["liste_id"]) && !isset($_GET["uebung_id"]))
echo "-&gtÜbung";
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";
}
echo "<br><br>";
echo "\n<!--Menue Ende-->\n";
?>
@@ -0,0 +1,345 @@
<?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/datum.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']:'');
//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='statistik.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='statistik.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
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";
echo "<h3>Statistik</h3>";
$uebung_obj = new uebung($conn);
$uebung_obj->load_uebung($lehreinheit_id);
if(count($uebung_obj->uebungen)>0)
{
echo "<table width='100%'><tr><td valign='top'>";
echo "Wählen Sie bitte eine Kreuzerlliste aus: <SELECT name='uebung' onChange=\"MM_jumpMenu('self',this,0)\">\n";
foreach ($uebung_obj->uebungen as $row)
{
if($uebung_id =='')
$uebung_id = $row->uebung_id;
if($uebung_id == $row->uebung_id)
$selected = 'selected';
else
$selected = '';
echo "<OPTION value='statistik.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$row->uebung_id' $selected>";
//Freigegeben = +
//Nicht Freigegeben = -
if($datum_obj->mktime_fromtimestamp($row->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($row->freigabebis)>time())
echo '+ ';
else
echo '- ';
echo $row->bezeichnung;
echo '</OPTION>';
}
echo '</SELECT>';
echo "</td>
<td>
<table>
<tr>
<td><b>+</b>...</td>
<td>Kreuzerlliste ist <u>freigeschalten</u>.</td>
</tr>
<tr>
<td><b>-</b>...</td>
<td>Kreuzerlliste ist <u>nicht freigeschalten</u>.</td>
</tr>
</table>
</td>
</tr></table>";
}
else
echo "Derzeit gibt es keine Uebungen";
echo "<br><br><br>";
if(isset($uebung_id) && $uebung_id!='')
{
$beispiel_obj = new beispiel($conn);
if($beispiel_obj->load_beispiel($uebung_id))
{
if(count($beispiel_obj->beispiele)>0)
{
echo '<table border="0" cellpadding="0" cellspacing="0" width="600">
<tr>
<td>&nbsp;</td>
<td height="19" width="339" valign="bottom">
<table border="0" cellpadding="0" cellspacing="0" width="339" background="../../../../skin/images/bg.gif">
<tr>
<td>&nbsp;</td>
</tr>
</table>
</td>
</tr>';
$i=0;
$qry_cnt = "SELECT distinct student_uid FROM campus.tbl_studentbeispiel JOIN campus.tbl_beispiel USING(beispiel_id) WHERE uebung_id='$uebung_id' GROUP BY student_uid";
if($result_cnt = pg_query($conn,$qry_cnt))
$gesamt=pg_num_rows($result_cnt);
foreach ($beispiel_obj->beispiele as $row)
{
$i++;
$solved = 0;
$psolved = 0;
$qry_cnt = "SELECT count(*) as anzahl FROM campus.tbl_studentbeispiel WHERE beispiel_id=$row->beispiel_id AND vorbereitet=true";
if($result_cnt = pg_query($conn,$qry_cnt))
if($row_cnt = pg_fetch_object($result_cnt))
$solved = $row_cnt->anzahl;
if($solved>0)
$psolved = $solved/$gesamt*100;
echo '<tr>
<td '.($i%2?'class="MarkLine"':'').' valign="top" height="10" width="200"><font size="2" face="Arial, Helvetica, sans-serif">
'.$row->bezeichnung.'
</font></td>
<td '.($i%2?'class="MarkLine"':'').'>
<table width="339" border="0" cellpadding="0" cellspacing="0" background="../../../../skin/images/bg_.gif">
<tr>
<td valign="top">
<table class="tabcontent">
<tr>
<td nowrap><font size="2" face="Arial, Helvetica, sans-serif">
<img src="../../../../skin/images/entry.gif" width="'.($psolved*3).'" height="5" alt="" border="1" />
<span class="smallb"><b>&nbsp;'.$solved.'</b> ['.number_format($psolved,1,'.','').'%]</span></font>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>';
}
echo "</table>";
echo "<br><br>Es haben insgesamt <u>$gesamt Studenten</u> eingetragen.";
}
}
else
echo "<span class='error'>$beispiel_obj->errormsg</span>";
}
?>
</td></tr>
</table>
</body>
</html>
@@ -0,0 +1,573 @@
<?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>.
*/
// ********************
// * Studentenansicht fuers Kreuzerltool
// ********************
require_once('../../../config.inc.php');
require_once('../../../../include/functions.inc.php');
require_once('../../../../include/lehrveranstaltung.class.php');
require_once('../../../../include/studiengang.class.php');
require_once('../../../../include/studiensemester.class.php');
require_once('../../../../include/lehreinheit.class.php');
require_once('../../../../include/benutzerberechtigung.class.php');
require_once('../../../../include/uebung.class.php');
require_once('../../../../include/beispiel.class.php');
require_once('../../../../include/datum.class.php');
?>
<!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;
}
}
//-->
</script>
</head>
<body>
<?php
if(!$conn = pg_pconnect(CONN_STRING))
die('Fehler beim oeffnen der Datenbankverbindung');
$user = get_uid();
$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']:'');
//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();
//Lehreinheiten laden zu denen der eingeloggte Student zugeteilt ist
//Bei Lehrverbaenden werden auch die uebergeordneten geladen
$qry = "SELECT distinct lehreinheit_id, kurzbz FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehrfach USING(lehrfach_id) WHERE lehreinheit_id IN(
SELECT lehreinheit_id FROM public.tbl_benutzergruppe JOIN lehre.tbl_lehreinheitgruppe USING (gruppe_kurzbz)
WHERE tbl_benutzergruppe.uid='$user' AND
tbl_lehreinheitgruppe.lehreinheit_id IN(
SELECT lehreinheit_id FROM lehre.tbl_lehreinheit JOIN campus.tbl_uebung USING(lehreinheit_id)
WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND tbl_lehreinheit.studiensemester_kurzbz='$stsem')
UNION
SELECT lehreinheit_id FROM public.tbl_student, lehre.tbl_lehreinheitgruppe
WHERE tbl_student.student_uid='$user' AND
tbl_student.studiengang_kz=tbl_lehreinheitgruppe.studiengang_kz AND
trim(tbl_student.semester)=trim(tbl_lehreinheitgruppe.semester) AND
(
(
(
tbl_lehreinheitgruppe.verband<>'' AND
tbl_lehreinheitgruppe.gruppe<>'' AND
trim(tbl_lehreinheitgruppe.verband) = trim(tbl_student.verband) AND
trim(tbl_lehreinheitgruppe.gruppe) = trim(tbl_student.gruppe)
)
OR
(
tbl_lehreinheitgruppe.verband<>'' AND
(
trim(tbl_lehreinheitgruppe.gruppe)='' OR
tbl_lehreinheitgruppe.gruppe is null
)
AND
trim(tbl_lehreinheitgruppe.verband) = trim(tbl_student.verband)
)
OR
(
(trim(tbl_lehreinheitgruppe.verband)='' OR tbl_lehreinheitgruppe.verband is null)
AND
(trim(tbl_lehreinheitgruppe.gruppe)='' OR tbl_lehreinheitgruppe.gruppe is null)
)
)
)
AND
tbl_lehreinheitgruppe.lehreinheit_id IN(SELECT lehreinheit_id FROM lehre.tbl_lehreinheit JOIN campus.tbl_uebung USING(lehreinheit_id)
WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND tbl_lehreinheit.studiensemester_kurzbz='$stsem'))";
//echo $qry;
if($result = pg_query($conn, $qry))
{
if(pg_num_rows($result)>1)
{
//Lehreinheiten DropDown
echo " Lehreinheit: <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':'');
//Beteiligte Mitarbeiter auslesen
$qry_lektoren = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter JOIN campus.vw_mitarbeiter ON(mitarbeiter_uid=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='studentenansicht.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$row->lehreinheit_id' $selected>$row->kurzbz - $gruppen $lektoren</OPTION>\n";
}
echo '</SELECT> ';
}
else
{
if($row = pg_fetch_object($result))
$lehreinheit_id = $row->lehreinheit_id;
else
$lehreinheit_id ='';
}
}
else
{
echo 'Fehler beim Auslesen der Lehreinheiten';
}
echo '</td><tr></table>';
echo '<table><tr>';
echo '<td class="tdwidth10">&nbsp;</td>';
echo "<td width='100%'>\n";
echo "<table width='100%'><tr><td><b>$lv_obj->bezeichnung</b></td><td align='right'><a href='../../../../documents/".strtolower($stg_obj->kuerzel)."/$lv_obj->semester/$lv_obj->lehreverzeichnis/download/' target='_blank' class='Item'>Downloadverzeichnis anzeigen</a></td></tr></table><br>";
if($lehreinheit_id=='')
die('Derzeit gibt es keine Kreuzerllisten f&uuml;r diese Lehrveranstaltung');
$qry = "SELECT vorname, nachname FROM campus.vw_student WHERE uid='$user'";
$name='';
if($result = pg_query($conn, $qry))
if($row = pg_fetch_object($result))
$name = $row->vorname.' '.$row->nachname;
echo "<br><b>Leistungsuebersicht f&uuml;r $name</b><br><br>";
$uebung_obj = new uebung($conn);
$uebung_obj->load_uebung($lehreinheit_id);
if(count($uebung_obj->uebungen)>0)
{
echo "<table width='100%'><tr><td valign='top'>";
echo "Wählen Sie bitte eine Kreuzerlliste aus: <SELECT name='uebung' onChange=\"MM_jumpMenu('self',this,0)\">\n";
foreach ($uebung_obj->uebungen as $row)
{
if($uebung_id=='')
$uebung_id=$row->uebung_id;
if($uebung_id == $row->uebung_id)
$selected = 'selected';
else
$selected = '';
echo "<OPTION value='studentenansicht.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$row->uebung_id' $selected>";
//Freigegeben = +
//Nicht Freigegeben = -
if($datum_obj->mktime_fromtimestamp($row->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($row->freigabebis)>time())
echo '+ ';
else
echo '- ';
echo $row->bezeichnung;
echo '</OPTION>';
}
echo '</SELECT>';
echo "</td>
<td>
<table>
<tr>
<td><b>+</b>...</td>
<td>Kreuzerlliste ist <u>freigeschalten</u>.</td>
</tr>
<tr>
<td><b>-</b>...</td>
<td>Kreuzerlliste ist <u>nicht freigeschalten</u>.</td>
</tr>
</table>
</td>
</tr></table>";
}
else
die("Derzeit gibt es keine Uebungen");
//******SPEICHERN DER DATEN*************
if(isset($_POST['submit']))
{
$error=false;
$ueb_hlp_obj = new uebung($conn);
$ueb_hlp_obj->load($uebung_id);
//Wenn Kreuzerlliste Freigegeben ist
if($datum_obj->mktime_fromtimestamp($ueb_hlp_obj->freigabevon)<time() &&
$datum_obj->mktime_fromtimestamp($ueb_hlp_obj->freigabebis)>time())
{
$bsp_obj = new beispiel($conn);
if($bsp_obj->load_beispiel($uebung_id))
{
foreach ($bsp_obj->beispiele as $row)
{
$stud_bsp_obj = new beispiel($conn);
if($stud_bsp_obj->load_studentbeispiel($user, $row->beispiel_id))
{
$stud_bsp_obj->new=false;
}
else
{
$stud_bsp_obj->new=true;
$stud_bsp_obj->insertamum = date('Y-m-d H:i:s');
$stud_bsp_obj->insertvon = $user;
}
$stud_bsp_obj->vorbereitet = ($_POST['solved_'.$row->beispiel_id]==1?true:false);
$stud_bsp_obj->probleme = (isset($_POST['problem_'.$row->beispiel_id])?true:false);
$stud_bsp_obj->updateamum = date('Y-m-d H:i:s');
$stud_bsp_obj->updatevon = $user;
$stud_bsp_obj->student_uid = $user;
$stud_bsp_obj->beispiel_id = $row->beispiel_id;
if(!$stud_bsp_obj->studentbeispiel_save())
{
echo $stud_bsp_obj->errormsg;
$error=true;
}
}
}
if($error)
echo "<span class='error'>Es konnten nicht alle Daten gespeichert werden</span>";
else
echo "Die Daten wurden erfolgreich gespeichert<br>";
}
else
echo "<span class='error'>Die &Auml;nderungen k&ouml;nnen nicht gespeichert werden, da diese Kreuzerlliste nicht freigegeben ist!</span>";
}
//********ANZEIGE DER EINGETRAGENEN KREUZERL***********
$uebung_obj = new uebung($conn);
$uebung_obj->load($uebung_id);
echo "Freigegeben von ".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon))." bis ".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis));
echo "<br><br><h3><u>$uebung_obj->bezeichnung</u></h3>";
echo "Angabe: ".$uebung_obj->angabedatei."<br><br>";
$ueb_obj = new uebung($conn);
if($ueb_obj->load_studentuebung($user, $uebung_id))
{
$anmerkung = $ueb_obj->anmerkung;
$mitarbeit = $ueb_obj->mitarbeitspunkte;
}
else
{
$anmerkung = '';
$mitarbeit = 0;
}
echo "
<form method='POST' action='studentenansicht.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id'>
<table width='100%'>
<tr>
<td valign='top'><div style='width: 70%;'>
".($anmerkung!=''?'<b>Anmerkungen:</b> '.htmlentities($anmerkung).'<br><br>':'')."
</div>
<table border='1'>
<tr>
<td class='ContentHeader2'>Beispiel</td>
<td class='ContentHeader2'>Vorbereitet</td>
<td class='ContentHeader2'>Nicht vorbereitet</td>
<td class='ContentHeader2'>Probleme</td>
<td class='ContentHeader2'>Punkte</td>
</tr>";
$bsp_obj = new beispiel($conn);
$bsp_obj->load_beispiel($uebung_id);
foreach ($bsp_obj->beispiele as $row)
{
$stud_bsp_obj = new beispiel($conn);
if($stud_bsp_obj->load_studentbeispiel($user, $row->beispiel_id))
{
$vorbereitet = $stud_bsp_obj->vorbereitet;
$probleme = $stud_bsp_obj->probleme;
}
else
{
$vorbereitet = false;
$probleme = false;
}
echo "<tr>
<td>$row->bezeichnung</td>
<td align='center'><input type='radio' name='solved_$row->beispiel_id' value='1' ".($vorbereitet?'checked':'')."></td>
<td align='center'><input type='radio' name='solved_$row->beispiel_id' value='0' ".(!$vorbereitet?'checked':'')."></td>
<td align='center'><input type='checkbox' name='problem_$row->beispiel_id' ".($probleme?'checked':'')."></td>
<td align='center'>$row->punkte</td>
</tr>";
}
//Speichern button nur Anzeigen wenn die Uebung Freigegeben ist
if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis)>time())
echo "<tr><td align='right' colspan=5><input type='submit' value='Speichern' name='submit'></td></tr>";
echo "</table>";
echo "
</td><td valign='top' algin='right'>";
//Gesamtpunkte diese Kreuzerlliste
$qry = "SELECT sum(punkte) as punktegesamt FROM campus.tbl_beispiel WHERE uebung_id='$uebung_id'";
$punkte_gesamt=0;
if($result=pg_query($conn, $qry))
if($row = pg_fetch_object($result))
$punkte_gesamt = $row->punktegesamt;
//Eingetragen diese Kreuzerlliste
$qry = "SELECT sum(punkte) as punkteeingetragen FROM campus.tbl_beispiel JOIN campus.tbl_studentbeispiel USING(beispiel_id) WHERE uebung_id='$uebung_id' AND student_uid='$user' AND vorbereitet=true";
$punkte_eingetragen=0;
if($result=pg_query($conn, $qry))
if($row = pg_fetch_object($result))
$punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0);
//Gesamtpunkte alle Kreuzerllisten
$qry = "SELECT sum(tbl_beispiel.punkte) as punktegesamt_alle FROM campus.tbl_beispiel, campus.tbl_uebung
WHERE tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND
tbl_uebung.lehreinheit_id='$lehreinheit_id'";
$punkte_gesamt_alle=0;
if($result=pg_query($conn, $qry))
if($row = pg_fetch_object($result))
$punkte_gesamt_alle = $row->punktegesamt_alle;
//Eingetragen alle Kreuzerllisten
$qry = "SELECT sum(tbl_beispiel.punkte) as punkteeingetragen_alle FROM campus.tbl_beispiel, campus.tbl_studentbeispiel, campus.tbl_uebung
WHERE tbl_beispiel.beispiel_id = tbl_studentbeispiel.beispiel_id AND
tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND
tbl_uebung.lehreinheit_id='$lehreinheit_id' AND
tbl_studentbeispiel.student_uid='$user' AND vorbereitet=true";
$punkte_eingetragen_alle=0;
if($result=pg_query($conn, $qry))
if($row = pg_fetch_object($result))
$punkte_eingetragen_alle = ($row->punkteeingetragen_alle!=''?$row->punkteeingetragen_alle:0);
//Mitarbeitspunkte
$qry = "SELECT sum(mitarbeitspunkte) as mitarbeitspunkte FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id)
WHERE lehreinheit_id='$lehreinheit_id' AND student_uid='$user'";
$mitarbeit_alle=0;
if($result=pg_query($conn, $qry))
if($row = pg_fetch_object($result))
$mitarbeit_alle = ($row->mitarbeitspunkte!=''?$row->mitarbeitspunkte:0);
//Mitarbeitspunkte
$qry = "SELECT mitarbeitspunkte FROM campus.tbl_studentuebung
WHERE uebung_id='$uebung_id' AND student_uid='$user'";
$mitarbeit=0;
if($result=pg_query($conn, $qry))
if($row = pg_fetch_object($result))
$mitarbeit = $row->mitarbeitspunkte;
echo "
<table border='1' width='210'>
<tr>
<td colspan='2' class='ContentHeader2'>Diese Kreuzerlliste:</td>
</tr>
<tr>
<td width='180'>Punkte insgesamt m&ouml;glich:</td>
<td width='30'>$punkte_gesamt</td>
</tr>
<tr>
<td>Punkte eingetragen:</td>
<td>$punkte_eingetragen</td>
</tr>
</table>
<br><br>
<table border='1' width='210'>
<tr>
<td colspan='2' class='ContentHeader2'>Alle Kreuzerllisten bisher:</td>
</tr>
<tr>
<td width='180'>Punkte insgesamt m&ouml;glich:</td>
<td width='30'>$punkte_gesamt_alle</td>
</tr>
<tr>
<td>Punkte eingetragen:</td>
<td>$punkte_eingetragen_alle</td>
</tr>
</table>
<br><br>
<table border='1' width='210'>
<tr>
<td colspan='2' class='ContentHeader2'>Mitarbeitspunkte:</td>
</tr>
<tr>
<td width='180'>Bisher insgesamt:</td>
<td width='30'>$mitarbeit_alle</td>
</tr>
<tr>
<td>Diese Kreuzerlliste:</td>
<td>$mitarbeit</td>
</tr>
</table>
";
echo "
</td></tr>
</table>
</form>
";
//**********STATISTIK***************
if($uebung_obj->statistik)
{
echo "<h3>Statistik</h3>";
$beispiel_obj = new beispiel($conn);
if($beispiel_obj->load_beispiel($uebung_id))
{
if(count($beispiel_obj->beispiele)>0)
{
echo '<table border="0" cellpadding="0" cellspacing="0" width="600">
<tr>
<td>&nbsp;</td>
<td height="19" width="339" valign="bottom">
<table border="0" cellpadding="0" cellspacing="0" width="339" background="../../../../skin/images/bg.gif">
<tr>
<td>&nbsp;</td>
</tr>
</table>
</td>
</tr>';
$i=0;
$qry_cnt = "SELECT distinct student_uid FROM campus.tbl_studentbeispiel JOIN campus.tbl_beispiel USING(beispiel_id) WHERE uebung_id='$uebung_id' GROUP BY student_uid";
if($result_cnt = pg_query($conn,$qry_cnt))
$gesamt=pg_num_rows($result_cnt);
foreach ($beispiel_obj->beispiele as $row)
{
$i++;
$solved = 0;
$psolved = 0;
$qry_cnt = "SELECT count(*) as anzahl FROM campus.tbl_studentbeispiel WHERE beispiel_id=$row->beispiel_id AND vorbereitet=true";
if($result_cnt = pg_query($conn,$qry_cnt))
if($row_cnt = pg_fetch_object($result_cnt))
$solved = $row_cnt->anzahl;
if($solved>0)
$psolved = $solved/$gesamt*100;
echo '<tr>
<td '.($i%2?'class="MarkLine"':'').' valign="top" height="10" width="200"><font size="2" face="Arial, Helvetica, sans-serif">
'.$row->bezeichnung.'
</font></td>
<td '.($i%2?'class="MarkLine"':'').'>
<table width="339" border="0" cellpadding="0" cellspacing="0" background="../../../../skin/images/bg_.gif">
<tr>
<td valign="top">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td nowrap><font size="2" face="Arial, Helvetica, sans-serif">
<img src="../../../../skin/images/entry.gif" width="'.($psolved*3).'" height="5" alt="" border="1" />
<span class="smallb"><b>&nbsp;'.$solved.'</b> ['.number_format($psolved,1,'.','').'%]</span></font>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>';
}
echo "</table>";
echo "<br><br>Es haben insgesamt <u>$gesamt Studenten</u> eingetragen.";
}
}
else
echo "<span class='error'>$beispiel_obj->errormsg</span>";
}
?>
</td></tr>
</table>
</body>
</html>
@@ -0,0 +1,598 @@
<?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/datum.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']:'');
//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='studentenpunkteverwalten.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
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";
echo "<h3>Studentenpunkte verwalten</h3>";
if(isset($_POST['submit']))
{
$error=false;
$punkte = (isset($_POST['punkte'])?str_replace(',','.',$_POST['punkte']):'');
if(isset($punkte) && is_numeric($punkte))
{
$ueb_obj = new uebung($conn);
if($ueb_obj->load_studentuebung($uid, $uebung_id))
$ueb_obj->new = false;
else
{
$ueb_obj->new = true;
$ueb_obj->insertamum = date('Y-m-d H:i:s');
$ueb_obj->insertvon = $user;
}
$ueb_obj->mitarbeitspunkte = $punkte;
$ueb_obj->anmerkung = $_POST['anmerkung'];
$ueb_obj->updateamum = date('Y-m-d H:i:s');
$ueb_obj->updatevon = $user;
$ueb_obj->mitarbeiter_uid = $user;
$ueb_obj->uebung_id = $uebung_id;
$ueb_obj->student_uid = $uid;
if(!$ueb_obj->studentuebung_save())
$error = true;
$bsp_obj = new beispiel($conn);
if($bsp_obj->load_beispiel($uebung_id))
{
foreach ($bsp_obj->beispiele as $row)
{
$stud_bsp_obj = new beispiel($conn);
if($stud_bsp_obj->load_studentbeispiel($uid, $row->beispiel_id))
{
$stud_bsp_obj->new=false;
}
else
{
$stud_bsp_obj->new=true;
$stud_bsp_obj->insertamum = date('Y-m-d H:i:s');
$stud_bsp_obj->insertvon = $user;
}
$stud_bsp_obj->vorbereitet = ($_POST['solved_'.$row->beispiel_id]==1?true:false);
$stud_bsp_obj->probleme = (isset($_POST['problem_'.$row->beispiel_id])?true:false);
$stud_bsp_obj->updateamum = date('Y-m-d H:i:s');
$stud_bsp_obj->updatevon = $user;
$stud_bsp_obj->student_uid = $uid;
$stud_bsp_obj->beispiel_id = $row->beispiel_id;
if(!$stud_bsp_obj->studentbeispiel_save())
{
echo $stud_bsp_obj->errormsg;
$error=true;
}
}
}
if($error)
echo "<span class='error'>Es konnten nicht alle Daten gespeichert werden</span>";
else
echo "Die Daten wurden erfolgreich gespeichert<br>";
}
else
{
echo "<span class='error'>Punkte sind ungueltig</span>";
}
}
if(isset($_GET['uid']) && $_GET['uid']!='')
{
//Punkte eintragen
$uid = addslashes($_GET['uid']);
$qry_stud = "SELECT vorname, nachname, uid FROM campus.vw_student WHERE uid='$uid'";
if(!$result_stud = pg_query($conn, $qry_stud))
die('Fehler beim laden des Studenten');
if(!$row_stud = pg_fetch_object($result_stud))
die('Student wurde nicht gefunden');
echo "<b>$row_stud->vorname $row_stud->nachname</b><br>\n";
$uebung_obj = new uebung($conn);
$uebung_obj->load_uebung($lehreinheit_id);
if(count($uebung_obj->uebungen)>0)
{
echo "<table width='100%'><tr><td valign='top'>";
echo "<br>Wählen Sie bitte eine Kreuzerlliste aus: <SELECT name='uebung' onChange=\"MM_jumpMenu('self',this,0)\">\n";
foreach ($uebung_obj->uebungen as $row)
{
if($uebung_id=='')
$uebung_id=$row->uebung_id;
if($uebung_id == $row->uebung_id)
$selected = 'selected';
else
$selected = '';
echo "<OPTION value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$row->uebung_id&uid=$uid' $selected>";
//Freigegeben = +
//Nicht Freigegeben = -
if($datum_obj->mktime_fromtimestamp($row->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($row->freigabebis)>time())
echo '+ ';
else
echo '- ';
echo $row->bezeichnung;
echo '</OPTION>';
}
echo '</SELECT>';
echo "</td>
<td>
<table>
<tr>
<td><b>+</b>...</td>
<td>Kreuzerlliste ist <u>freigeschalten</u>.</td>
</tr>
<tr>
<td><b>-</b>...</td>
<td>Kreuzerlliste ist <u>nicht freigeschalten</u>.</td>
</tr>
</table>
</td>
</tr></table>";
}
else
die("Derzeit gibt es keine Uebungen");
$ueb_obj = new uebung($conn);
if($ueb_obj->load_studentuebung($uid, $uebung_id))
{
$anmerkung = $ueb_obj->anmerkung;
$mitarbeit = $ueb_obj->mitarbeitspunkte;
}
else
{
$anmerkung = '';
$mitarbeit = 0;
}
echo "
<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'>
Anmerkungen:<br>
<textarea name='anmerkung' cols=50 rows=5>".htmlentities($anmerkung)."</textarea>
<br><br>
<table border='1'>
<tr>
<td class='ContentHeader2'>Beispiel</td>
<td class='ContentHeader2'>Vorbereitet</td>
<td class='ContentHeader2'>Nicht vorbereitet</td>
<td class='ContentHeader2'>Probleme</td>
<td class='ContentHeader2'>Punkte</td>
</tr>";
$bsp_obj = new beispiel($conn);
$bsp_obj->load_beispiel($uebung_id);
foreach ($bsp_obj->beispiele as $row)
{
$stud_bsp_obj = new beispiel($conn);
if($stud_bsp_obj->load_studentbeispiel($uid, $row->beispiel_id))
{
$vorbereitet = $stud_bsp_obj->vorbereitet;
$probleme = $stud_bsp_obj->probleme;
}
else
{
$vorbereitet = false;
$probleme = false;
}
echo "<tr>
<td>$row->bezeichnung</td>
<td align='center'><input type='radio' name='solved_$row->beispiel_id' value='1' ".($vorbereitet?'checked':'')."></td>
<td align='center'><input type='radio' name='solved_$row->beispiel_id' value='0' ".(!$vorbereitet?'checked':'')."></td>
<td align='center'><input type='checkbox' name='problem_$row->beispiel_id' ".($probleme?'checked':'')."></td>
<td align='center'>$row->punkte</td>
</tr>";
}
echo "</table>";
echo "
</td><td valign='top' algin='right'>";
//Gesamtpunkte diese Kreuzerlliste
$qry = "SELECT sum(punkte) as punktegesamt FROM campus.tbl_beispiel WHERE uebung_id='$uebung_id'";
$punkte_gesamt=0;
if($result=pg_query($conn, $qry))
if($row = pg_fetch_object($result))
$punkte_gesamt = $row->punktegesamt;
//Eingetragen diese Kreuzerlliste
$qry = "SELECT sum(punkte) as punkteeingetragen FROM campus.tbl_beispiel JOIN campus.tbl_studentbeispiel USING(beispiel_id) WHERE uebung_id='$uebung_id' AND student_uid='$uid' AND vorbereitet=true";
$punkte_eingetragen=0;
if($result=pg_query($conn, $qry))
if($row = pg_fetch_object($result))
$punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0);
//Gesamtpunkte alle Kreuzerllisten
$qry = "SELECT sum(tbl_beispiel.punkte) as punktegesamt_alle FROM campus.tbl_beispiel, campus.tbl_uebung
WHERE tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND
tbl_uebung.lehreinheit_id='$lehreinheit_id'";
$punkte_gesamt_alle=0;
if($result=pg_query($conn, $qry))
if($row = pg_fetch_object($result))
$punkte_gesamt_alle = $row->punktegesamt_alle;
//Eingetragen alle Kreuzerllisten
$qry = "SELECT sum(tbl_beispiel.punkte) as punkteeingetragen_alle FROM campus.tbl_beispiel, campus.tbl_studentbeispiel, campus.tbl_uebung
WHERE tbl_beispiel.beispiel_id = tbl_studentbeispiel.beispiel_id AND
tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND
tbl_uebung.lehreinheit_id='$lehreinheit_id' AND
tbl_studentbeispiel.student_uid='$uid' AND vorbereitet=true";
$punkte_eingetragen_alle=0;
if($result=pg_query($conn, $qry))
if($row = pg_fetch_object($result))
$punkte_eingetragen_alle = ($row->punkteeingetragen_alle!=''?$row->punkteeingetragen_alle:0);
//Mitarbeitspunkte
$qry = "SELECT sum(mitarbeitspunkte) as mitarbeitspunkte FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id)
WHERE lehreinheit_id='$lehreinheit_id' AND student_uid='$uid'";
$mitarbeit_alle=0;
if($result=pg_query($conn, $qry))
if($row = pg_fetch_object($result))
$mitarbeit_alle = ($row->mitarbeitspunkte!=''?$row->mitarbeitspunkte:0);
//Mitarbeitspunkte
$qry = "SELECT mitarbeitspunkte FROM campus.tbl_studentuebung
WHERE uebung_id='$uebung_id' AND student_uid='$uid'";
$mitarbeit=0;
if($result=pg_query($conn, $qry))
if($row = pg_fetch_object($result))
$mitarbeit = $row->mitarbeitspunkte;
echo "
<br>
<table border='1' width='210'>
<tr>
<td colspan='2' class='ContentHeader2'>Diese Kreuzerlliste:</td>
</tr>
<tr>
<td width='180'>Punkte insgesamt m&ouml;glich:</td>
<td width='30'>$punkte_gesamt</td>
</tr>
<tr>
<td>Punkte eingetragen:</td>
<td>$punkte_eingetragen</td>
</tr>
</table>
<br><br>
<table border='1' width='210'>
<tr>
<td colspan='2' class='ContentHeader2'>Alle Kreuzerllisten bisher:</td>
</tr>
<tr>
<td width='180'>Punkte insgesamt m&ouml;glich:</td>
<td width='30'>$punkte_gesamt_alle</td>
</tr>
<tr>
<td>Punkte eingetragen:</td>
<td>$punkte_eingetragen_alle</td>
</tr>
</table>
<br><br>
<table border='1' width='210'>
<tr>
<td colspan='2' class='ContentHeader2'>Mitarbeitspunkte:</td>
</tr>
<tr>
<td width='180'>Bisher insgesamt:</td>
<td width='30'>$mitarbeit_alle</td>
</tr>
<tr>
<td>Diese Kreuzerlliste:</td>
<td><input type='text' size=2 name='punkte' value='$mitarbeit'></td>
</tr>
</table>
";
echo "
</td></tr>
<tr>
<td>&nbsp;</td>
<td>
<input type='button' value='Zurück' onclick='history.back();'>
<input type='submit' value='Speichern' name='submit'>
</td>
</tr>
</table>
</form>
";
}
else
{
//Studentenliste
echo "Bitte w&auml;hlen Sie den Studenten aus.<br><br>";
echo "
<table width='80%'>
";
$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>
</tr>
<tr>
<td class='ContentHeader2'>UID</td>
<td class='ContentHeader2'>Nachname</td>
<td class='ContentHeader2'>Vorname</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>";
if($row_grp->gruppe_kurzbz!='')
{
echo "
<tr>
<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";
}
else
{
echo "
<tr>
<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
semester='$row_grp->semester' ".
($row_grp->verband!=''?" AND trim(verband)=trim('$row_grp->verband')":'').
($row_grp->gruppe!=''?" AND trim(gruppe)=trim('$row_grp->gruppe')":'').
" ORDER BY nachname, vorname";
}
if($result_stud = pg_query($conn, $qry_stud))
{
$i=1;
while($row_stud = pg_fetch_object($result_stud))
{
echo "
<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>
</tr>";
$i++;
}
}
}
}
echo "</table>";
}
?>
</td></tr>
</table>
</body>
</html>
@@ -0,0 +1,697 @@
<?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/datum.class.php');
function microtime_float()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
$time = microtime_float();
?>
<!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();
$global_msg ='';
$error_thema='';
$error_anzahlderbeispiele='';
$error_punkteprobeispiel='';
$error_freigabebis='';
$error_freigabevon='';
$error_gewicht='';
$thema = (isset($_POST['thema'])?$_POST['thema']:'');
$anzahlderbeispiele = (isset($_POST['anzahlderbeispiele'])?$_POST['anzahlderbeispiele']:'');
$punkteprobeispiel = (isset($_POST['punkteprobeispiel'])?$_POST['punkteprobeispiel']:'');
$punkteprobeispiel = str_replace(',','.',$punkteprobeispiel);
$freigabebis = (isset($_POST['freigabebis'])?$_POST['freigabebis']:'');
$freigabevon = (isset($_POST['freigabevon'])?$_POST['freigabevon']:'');
$gewicht = (isset($_POST['gewicht'])?$_POST['gewicht']:'');
$positiv = (isset($_POST['positiv'])?$_POST['positiv']:'');
$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:'');
$copy_content = '';
//Kopfzeile
echo '<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='verwaltung.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))
{
$result_alle_lehreinheiten = $result;
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':'');
//Zugeteilte Lektoren
$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 .=')';
}
//Zugeteilte Gruppen
$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='verwaltung.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 gibt keine Lehreinheiten in diesem Studiensemester f&uuml;r die Sie eine Berechtigung besitzen');
//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";
*/
//echo "studiensemester: $stsem<br>";
//echo "lehrveranstaltung: $lvid<br>";
//echo "lehreinheit: $lehreinheit_id<br>";
echo "<h3>Übungen anlegen und verwalten</h3>";
echo "</tr></table>";
//Anlegen einer neuen Uebung
if(isset($_POST['uebung_neu']))
{
if(isset($thema))
{
//pruefen ob alle Daten eingegeben wurden
$error=false;
$error_msg = '';
if($thema=='')
{
//$error_thema .= "<span class='error'>Thema muss eingegeben werden</span>";
echo "<span class='error'>Thema muss eingegeben werden</span>";
$error=true;
}
if(!is_numeric($gewicht))
{
echo "<span class='error'>Gewicht muss eine Zahl sein</span>";
$error = true;
}
if(!$error)
{
//Uebung anlegen
$datum_obj = new datum();
$uebung_obj = new uebung($conn);
$uebung_obj->gewicht=$gewicht;
$uebung_obj->punkte='';
$uebung_obj->angabedatei='';
$uebung_obj->freigabevon = null;
$uebung_obj->freigabebis = null;
$uebung_obj->abgabe=false;
$uebung_obj->beispiele=false;
$uebung_obj->bezeichnung=$thema;
$uebung_obj->positiv=isset($_POST['positiv']);
$uebung_obj->defaultbemerkung='';
$uebung_obj->lehreinheit_id=$lehreinheit_id;
$uebung_obj->updateamum = date('Y-m-d H:i:s');
$uebung_obj->updatevon = $user;
$uebung_obj->insertamum = date('Y-m-d H:i:s');
$uebung_obj->insertvon = $user;
$uebung_obj->statistik = false;
$uebung_obj->liste_id = null;
if($uebung_obj->save(true))
{
if($error_msg!='')
echo "<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
echo "<span class='error'>$uebung_obj->errormsg</span>";
}
}
else
echo "<span class='error'>Übung konnte nicht angelegt werden!</span><br>";
}
//Loeschen einer Uebung
if(isset($_POST['delete_uebung']))
{
if(isset($_POST['uebung']))
{
$ueb_obj = new uebung($conn);
$error_msg='';
//Ausgewaehlte Beispiele holen
$delete_ids = $_POST['uebung'];
foreach($delete_ids as $id)
{
//Beispiel loeschen
if(!$ueb_obj->delete($id))
$error_msg=$ueb_obj->errormsg;
}
if($error_msg!='')
echo "<span class='error'>$error_msg</span>";
}
}
//Editieren einer Uebung
if(isset($_POST['uebung_edit']))
{
$error = false;
if($thema=='')
{
echo "<span class='error'>Thema muss eingegeben werden'</span>";
$error = true;
}
if(!$error)
{
$uebung_obj = new uebung($conn);
$uebung_obj->gewicht='';
$uebung_obj->punkte='';
$uebung_obj->angabedatei='';
$uebung_obj->freigabevon = null;
$uebung_obj->freigabebis = null;
$uebung_obj->abgabe=false;
$uebung_obj->beispiele=false;
$uebung_obj->bezeichnung=$thema;
$uebung_obj->positiv=true;
$uebung_obj->defaultbemerkung='';
$uebung_obj->lehreinheit_id=$lehreinheit_id;
$uebung_obj->updateamum = date('Y-m-d H:i:s');
$uebung_obj->updatevon = $user;
$uebung_obj->uebung_id = $uebung_id;
$uebung_obj->statistik = false;
if($uebung_obj->save(false))
header("Location: verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id");
//echo "Die &Auml;nderung wurde gespeichert!";
else
echo "<span class='error'>$uebung_obj->errormsg</span>";
}
}
//Eine Uebung in eine andere Lehreinheit kopieren
if(isset($_GET['kopieren']) && $_GET['kopieren']=='true')
{
//echo "Kopiere Uebung ".$_GET['uebung_copy_id']." to ".$_POST['lehreinheit_copy_id'];
//Laden der zu kopierenden Uebung
if(is_numeric($_GET['uebung_copy_id']) && is_numeric($_POST['lehreinheit_copy_id']))
{
//Source Uebung Laden
$qry = "SELECT * FROM campus.tbl_uebung WHERE uebung_id='".$_GET['uebung_copy_id']."'";
if($result_source = pg_query($conn, $qry))
{
if($row_source = pg_fetch_object($result_source))
{
//Berechtigung Checken
$qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='".$_POST['lehreinheit_copy_id']."' AND mitarbeiter_uid='$user'";
if($row_berechtigt = pg_query($conn, $qry))
{
if(pg_num_rows($row_berechtigt)>0 ||
$rechte->isBerechtigt('admin',0) ||
$rechte->isBerechtigt('admin',$lv_obj->studiengang_kz))
{
//Schauen ob bereits eine uebung mit diesem Namen vorhanden ist
$qry = "SELECT * FROM campus.tbl_uebung WHERE lehreinheit_id='".$_POST['lehreinheit_copy_id']."' AND bezeichnung='".addslashes($row_source->bezeichnung)."'";
$result_bezeichnung_exists = pg_query($conn, $qry);
if(pg_num_rows($result_bezeichnung_exists)==0)
{
//Uebung einfuegen
$uebung_dest = new uebung($conn);
$uebung_dest->gewicht = $row_source->punkte;
$uebung_dest->punkte = $row_source->punkte;
$uebung_dest->angabedatei = $row_source->angabedatei;
$uebung_dest->freigabevon = $row_source->freigabevon;
$uebung_dest->freigabebis = $row_source->freigabebis;
$uebung_dest->abgabe = ($row_source->abgabe=='t'?true:false);
$uebung_dest->beispiele = ($row_source->beispiele=='t'?true:false);
$uebung_dest->bezeichnung = $row_source->bezeichnung;
$uebung_dest->positiv = ($row_source->positiv=='t'?true:false);
$uebung_dest->statistik = ($row_source->statistik=='t'?true:false);
$uebung_dest->defaultbemerkung = $row_source->defaultbemerkung;
$uebung_dest->lehreinheit_id = $_POST['lehreinheit_copy_id'];
$ubeung_dest->updateamum = date('Y-m-d H:i:s');
$uebung_dest->updatevon = $user;
$uebung_dest->insertamum = date('Y-m-d H:i:s');
$uebung_dest->insertvon = $user;
if($uebung_dest->save(true))
{
//Beispiel laden
$qry = "SELECT * FROM campus.tbl_beispiel WHERE uebung_id='".$_GET['uebung_copy_id']."'";
if($result_bsp_source = pg_query($conn, $qry))
{
$error_bsp_save=false;
while($row_bsp_source = pg_fetch_object($result_bsp_source))
{
//Beispiel speichern
$beispiel_dest = new beispiel($conn);
$beispiel_dest->uebung_id = $uebung_dest->uebung_id;
$beispiel_dest->bezeichnung = $row_bsp_source->bezeichnung;
$beispiel_dest->punkte = $row_bsp_source->punkte;
$beispiel_dest->updateamum = date('Y-m-d H:i:s');
$beispiel_dest->updatevon = $user;
$beispiel_dest->insertamum = date('Y-m-d H:i:s');
$beispiel_dest->insertvon = $user;
if(!$beispiel_dest->save(true))
$error_bsp_save=true;
}
if($error_bsp_save)
echo "<span class='error'>Fehler: Es konnten nicht alle Beispiel kopiert werden</span>";
else
echo "Daten wurden erfolgreich kopiert";
}
}
else
{
echo "<span class='error'>Fehler beim kopieren der Daten: $uebung_dest->errormsg</span>";
}
}
else
echo "<span class='error'>Fehler beim Kopieren: In der Ziel-Lehreinheit existiert bereits eine Kreuzerlliste mit diesem Namen!</span>";
}
else
echo "<span class='error'>Sie haben keine Berechtigung f&uuml;r diese Aktion</span>";
}
}
else
echo "<span class='error'>Uebung ".$_GET['uebung_copy_id']." wurde nicht gefunden</span>";
}
else
echo "<span class='error'>Uebung ".$_GET['uebung_copy_id']." wurde nicht gefunden</span>";
}
else
echo "<span class='error'>Fehler bei der Parameteruebergabe</span>";
}
//Uebersichtstabelle
if(isset($uebung_id) && $uebung_id!='')
{
echo "<table><tr><td valign='top'>";
//Bearbeiten der ausgewaehlten Uebung
echo "<form action='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id' method=POST>\n";
echo "<table><tr><td colspan='2' width='340' class='ContentHeader3'>Ausgew&auml;hlte Übung bearbeiten</td><td>&nbsp;</td></tr>\n";
echo "<tr><td>&nbsp;</td><td></td></tr>";
$uebung_obj = new uebung($conn);
$uebung_obj->load($uebung_id);
echo "
<tr><td>Thema</td><td align='right'><input type='text' name='thema' maxlength='32' value='$uebung_obj->bezeichnung'></td><td>$error_thema</td></tr>
<!--
<tr><td>Freigabe</td><td align='right'>von <input type='text' size='16' name='freigabevon' value='".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon))."'></td></tr>
<tr><td>(Format: 31.12.2007 14:30)</td><td align='right'>bis <input type='text' size='16' name='freigabebis' value='".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis))."'></td></tr>
<tr><td>Statistik f&uuml;r Studenten anzeigen <input type='checkbox' name='statistik' ".($uebung_obj->statistik?'checked':'')."></td><td></td></tr>
-->
<tr><td colspan=2 align='right'><input type='submit' name='uebung_edit' value='Speichern'></td></tr>
</table>
</form>";
$beispiel_obj = new beispiel($conn);
$beispiel_obj->load_beispiel($uebung_id);
$anzahl = count($beispiel_obj->beispiele);
echo "</td><td valign='top'>";
echo "</td></tr><tr><td valign='top'>";
echo "</td><td valign='top'>";
}
else
{
//Gesamtuebersicht ueber alle Uebungen
echo "<table><tr><td valign='top'>";
echo "<form action='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' method=POST>";
echo "<table width='440'><tr><td colspan='3' class='ContentHeader3'>Vorhandene Übungen bearbeiten</td></tr>";
$uebung_obj = new uebung($conn);
$uebung_obj->load_uebung($lehreinheit_id,$level=1,$uebung_id=null);
$anzahl = count($uebung_obj->uebungen);
//$copy_content="<table cellpadding=0><tr><td class='ContentHeader3'>&Uuml;bung in andere LE kopieren</td></tr><tr><td></td><td></td><td>&nbsp;</td></tr><tr><th>&nbsp;</th></tr>";
$has_copy_content=false;
if($anzahl>0)
{
echo "<tr><td></td><td></td><td>&nbsp;</td></tr><tr><th>Thema</th><th>Freigeschalten</th><th>Auswahl</th><th>&nbsp;</th></tr>";
//Alle Lehreinheiten holen die zu dieser lehrveranstaltung gehoeren
//und der angemeldete User berechtigt ist
$copy_option_content = array();
for($i=0;$i<pg_num_rows($result_alle_lehreinheiten);$i++)
{
$row_alle_lehreinheiten = pg_fetch_object($result_alle_lehreinheiten,$i);
if($lehreinheit_id!=$row_alle_lehreinheiten->lehreinheit_id)
{
//zugeteilte Lektoren holen
$qry_lektoren = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter JOIN public.tbl_mitarbeiter using(mitarbeiter_uid) WHERE lehreinheit_id='$row_alle_lehreinheiten->lehreinheit_id'";
if($result_lektoren = pg_query($conn, $qry_lektoren))
{
$lektoren = '( ';
$j=0;
while($row_lektoren = pg_fetch_object($result_lektoren))
{
$lektoren .= $row_lektoren->kurzbz;
$j++;
if($j<pg_num_rows($result_lektoren))
$lektoren.=', ';
else
$lektoren.=' ';
}
$lektoren .=')';
}
//zugeteilte Gruppen holen
$qry_gruppen = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$row_alle_lehreinheiten->lehreinheit_id'";
if($result_gruppen = pg_query($conn, $qry_gruppen))
{
$gruppen = '';
$j=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;
$j++;
if($j<pg_num_rows($result_gruppen))
$gruppen.=', ';
else
$gruppen.=' ';
}
}
//$copy_option_content.= "<OPTION value='$row_alle_lehreinheiten->lehreinheit_id'>$row_alle_lehreinheiten->lfbez - $gruppen $lektoren</OPTION>\n";
$copy_le_content[$row_alle_lehreinheiten->lehreinheit_id] = "$row_alle_lehreinheiten->lfbez-$row_alle_lehreinheiten->lehrform_kurzbz - $gruppen $lektoren";
}
}
//Uebungen durchlaufen
foreach ($uebung_obj->uebungen as $row)
{
$has_option_content=false;
echo "<tr height=23><td align='left'>";
echo "<a href='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&liste_id=$row->uebung_id' class='Item'><u>".htmlentities($row->bezeichnung)."</u></a>";
echo "</td><td align='center'>";
//if((strtotime(strftime($row->freigabevon))<=time()) && (strtotime(strftime($row->freigabebis))>=time()))
// echo 'Ja';
//else
// echo 'Nein';
//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)
{
$copy_content.= '<tr height=23>';
$copy_content.= '<td nowrap align="right">';
$copy_option_content = '';
//Lehreinheiten fuer Combo durchgehen und schauen ob
//fuer diese Lehreinheit bereits eine Uebung mit gleichem Namen existiert
//Falls ja wird diese nicht in der Combo angezeigt
foreach ($copy_le_content as $id=>$bezeichnung)
{
$qry = "SELECT uebung_id FROM campus.tbl_uebung WHERE lehreinheit_id='$id' AND bezeichnung='$row->bezeichnung'";
//echo $qry;
if($result_vorhanden = pg_query($conn, $qry))
{
if(pg_num_rows($result_vorhanden)==0)
{
$copy_option_content.= "<OPTION value='$id'>$bezeichnung</OPTION>\n";
$has_option_content=true;
$has_copy_content=true;
}
}
}
//Wenn eintraege fuer Combo vorhanden sind dann wirds angezeigt
if($has_option_content)
{
$copy_content.= "\n<form style='margin:1px;' action='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&kopieren=true&uebung_copy_id=$row->uebung_id' method='POST'>";
$copy_content.= "\n<SELECT name='lehreinheit_copy_id'>\n";
$copy_content.= $copy_option_content;
$copy_content.= '</SELECT> ';
$copy_content.= "&nbsp;&nbsp;&nbsp;<input type='submit' value='COPY'>";
$copy_content.= "</form>\n";
}
else
{
$copy_content.="&nbsp;";
}
$copy_content.= "</td></tr>";
}
$subuebung_obj = new uebung($conn);
$subuebung_obj->load_uebung($lehreinheit_id,$level=2,$uebung_id=$row->uebung_id);
$subanzahl = count($subuebung_obj->uebungen);
echo "<tr><td colspan='3'>";
echo "<table width='440'>";
foreach ($subuebung_obj->uebungen as $subrow)
{
echo "<tr><td>|-&nbsp;<a href='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$subrow->uebung_id&liste_id=$row->uebung_id'>".$subrow->bezeichnung."</a></td><td>";
if((strtotime(strftime($subrow->freigabevon))<=time()) && (strtotime(strftime($subrow->freigabebis))>=time()))
echo 'Ja';
else
echo 'Nein';
echo "</td><td align='center'><input type='Checkbox' name='uebung[]' value='$subrow->uebung_id'></td></tr>";
}
echo "</table>";
echo "</td></tr>";
}
echo "<tr><td></td><td></td><td><input type='Submit' value='Auswahl löschen' name='delete_uebung' onclick='return confirmdelete();'></td></tr>";
}
else
echo "<tr><td colspan='3'>Derzeit sind keine Übungen angelegt</td><td></td></tr>";
echo "</table>
</form><br><br>";
//Kopier-Buttons anzeigen
//$copy_content.='</table>';
//echo "</td><td valign='top'>";
//if($has_copy_content)
// echo $copy_content;
//echo "</td></tr></table>";
//Uebung neu anlegen
if(!isset($_POST['uebung_neu']))
{
$thema = "Uebung ".($anzahl<9?'0'.($anzahl+1):($anzahl+1));
$anzahlderbeispiele = 10;
$punkteprobeispiel = 1;
$freigabevon = date('d.m.Y H:i');
$freigabebis = date('d.m.Y H:i');
}
echo "</td><td valign='top'>";
echo "
<form action='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id' method=POST>
<table >
<tr><td width='440' colspan=2 class='ContentHeader3'>Neue Übung anlegen</td><td></td></tr>
<tr><td>Thema</td><td align='right'><input type='text' name='thema' maxlength='32' value='$thema'></td><td><span class='error'>$error_thema</td></tr>
<tr><td>Gewicht</td><td align='right'><input type='text' size='16' name='gewicht' value='1'></td><td>$error_gewicht</td></tr>
<tr><td>Positiv </td><td><input type='checkbox' name='positiv'></td></tr>
<!--
<tr><td>Anzahl der Beispiele</td><td align='right'><input type='text' name='anzahlderbeispiele' maxlength='2' size='2' value='$anzahlderbeispiele'></td><td>$error_anzahlderbeispiele</td></tr>
<tr><td>Anzahl Punkte pro Beispiel</td><td align='right'><input type='text' name='punkteprobeispiel' value='$punkteprobeispiel'></td><td>$error_punkteprobeispiel</td></tr>
<tr><td>Freigabe</td><td align='right'>von <input type='text' size='16' name='freigabevon' value='$freigabevon'></td><td>$error_freigabevon</td></tr>
<tr><td>(Format: 31.12.2007 14:30)</td><td align='right'>bis <input type='text' size='16' name='freigabebis' value='$freigabebis'></td><td>$error_freigabebis</td></tr>
<tr><td>Statistik f&uuml;r Studenten anzeigen <input type='checkbox' name='statistik'></td><td></td></tr>
-->
<tr><td colspan=2 align='right'><input type='submit' name='uebung_neu' value='Anlegen'></td></tr>
</table>
</form>
";
}
?>
</td></tr>
</table>
</body>
</html>
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -492,11 +492,11 @@
else
$studiensem = '';
?>
<a href="kreuzerltool/verwaltung.php?<?php echo "lvid=$lvid$studiensem"?>" >
<a href="benotungstool/verwaltung.php?<?php echo "lvid=$lvid$studiensem"?>" >
<img src="../../../skin/images/button_kt.jpg" width="67" height="45"><br>
<strong>"Kreuzerl"-Tool</strong></a>
<?php } else { ?>
<a href="kreuzerltool/studentenansicht.php?<?php echo "lvid=$lvid"?>" >
<a href="benotungstool/studentenansicht.php?<?php echo "lvid=$lvid"?>" >
<img src="../../../skin/images/button_kt.jpg" width="67" height="45"><br>
<strong>"Kreuzerl"-Tool</strong></a>