- Link Bugtracking ist jetzt https

- Aktualisierungen QM
- Kreuzerltool Erstversion
This commit is contained in:
Andreas Österreicher
2007-01-11 16:51:45 +00:00
parent d0fa45769b
commit 30d30d0eb9
6 changed files with 993 additions and 7 deletions
+1 -1
View File
@@ -307,7 +307,7 @@
<tr>
<td width="10" nowrap>&nbsp;</td>
<!--<td nowrap><a class="Item" href="http://bug.technikum-wien.at/otrs/customer.pl" target="_blank"><img src="../skin/images/menu_item.gif" width="7" height="9">&nbsp;Bug Tracking</a></td>-->
<td nowrap><a class="Item" href="http://bug.technikum-wien.at/" target="_blank"><img src="../skin/images/menu_item.gif" width="7" height="9">&nbsp;Bug Tracking</a></td>
<td nowrap><a class="Item" href="https://bug.technikum-wien.at/" target="_blank"><img src="../skin/images/menu_item.gif" width="7" height="9">&nbsp;Bug Tracking</a></td>
</tr>
<tr>
<td width="10" nowrap>&nbsp;</td>
@@ -0,0 +1,317 @@
<?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'])) //Lehrveranstaltung_id
$lvid = $_GET['lvid'];
else
die('Fehlerhafte Parameteruebergabe');
if(isset($_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 border="0" cellspacing="0" cellpadding="0" height="100%" width="100%">';
echo ' <tr>';
echo '<td width="10">&nbsp;</td>';
echo '<td class="ContentHeader"><font class="ContentHeader">&nbsp;"Kreuzerl"-Tool - ';
echo $lv_obj->bezeichnung.' - '.$stg_obj->kurzbz;
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 tbl_lehrfach.bezeichnung as lfbez, * 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 tbl_lehrfach.bezeichnung as lfbez, * 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_lehreinheitmitarbeiter.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 campus.vw_mitarbeiter ON(mitarbeiter_uid=uid) WHERE lehreinheit_id='$row->lehreinheit_id'";
if($result_lektoren = pg_query($conn, $qry_lektoren))
{
$lektoren = '( ';
while($row_lektoren = pg_fetch_object($result_lektoren))
$lektoren .= $row_lektoren->kurzbz.' ';
$lektoren .=')';
}
echo "<OPTION value='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$row->lehreinheit_id' $selected>$row->lfbez $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 width="10">&nbsp;</td>';
echo "<td>\n";
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 "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>';
}
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 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> ['.$psolved.'%]</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>";
}
/*
for ($i = 0; $i < $rs->num; $i++) {
$text = $rs->arr[$i]["text"];
$id = $rs->arr[$i]["id"];
$psolved =
round((($solved[$id]/$count_students)*100),1);
$pnsolved =
round((($nsolved[$id]/$count_students)*100),1);
$pproblems =
round((($problems[$id]/$count_students)*100),1);
}
*/
?>
</td></tr>
</table>
</body>
</html>
@@ -0,0 +1,594 @@
<?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'])) //Lehrveranstaltung_id
$lvid = $_GET['lvid'];
else
die('Fehlerhafte Parameteruebergabe');
if(isset($_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='';
$thema = (isset($_POST['thema'])?$_POST['thema']:'');
$anzahlderbeispiele = (isset($_POST['anzahlderbeispiele'])?$_POST['anzahlderbeispiele']:'');
$punkteprobeispiel = (isset($_POST['punkteprobeispiel'])?$_POST['punkteprobeispiel']:'');
$freigabebis = (isset($_POST['freigabebis'])?$_POST['freigabebis']:'');
$freigabevon = (isset($_POST['freigabevon'])?$_POST['freigabevon']:'');
$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:'');
//Kopfzeile
echo '<table border="0" cellspacing="0" cellpadding="0" height="100%" width="100%">';
echo ' <tr>';
echo '<td width="10">&nbsp;</td>';
echo '<td class="ContentHeader"><font class="ContentHeader">&nbsp;"Kreuzerl"-Tool - ';
echo $lv_obj->bezeichnung.' - '.$stg_obj->kurzbz;
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 tbl_lehrfach.bezeichnung as lfbez, * 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 tbl_lehrfach.bezeichnung as lfbez, * 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_lehreinheitmitarbeiter.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 campus.vw_mitarbeiter ON(mitarbeiter_uid=uid) WHERE lehreinheit_id='$row->lehreinheit_id'";
if($result_lektoren = pg_query($conn, $qry_lektoren))
{
$lektoren = '( ';
while($row_lektoren = pg_fetch_object($result_lektoren))
$lektoren .= $row_lektoren->kurzbz.' ';
$lektoren .=')';
}
echo "<OPTION value='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$row->lehreinheit_id' $selected>$row->lfbez $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 width="10">&nbsp;</td>';
echo "<td>\n";
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 "studiensemester: $stsem<br>";
//echo "lehrveranstaltung: $lvid<br>";
//echo "lehreinheit: $lehreinheit_id<br>";
echo "<h3>Kreuzerllisten anlegen und verwalten</h3>";
//Anlegen einer neuen Uebung
if(isset($_POST['uebung_neu']))
{
if(isset($thema) && isset($anzahlderbeispiele) && isset($punkteprobeispiel))
{
//pruefen ob alle Daten eingegeben wurden
$error=false;
if($thema=='')
{
$error_thema.= "<span class='error'>Thema muss eingegeben werden</span>";
$error=true;
}
if(!is_numeric($punkteprobeispiel))
{
$error_punkteprobeispiel= "<span class='error'>Punkte pro Beispiel muss eine g&uuml;ltige Zahl sein</span>";
$error=true;
}
elseif($punkteprobeispiel<0)
{
$error_punkteprobeispiel = "<span class='error'>Punkte pro Beispiel darf nicht negativ sein</span>";
$error=true;
}
if(!is_numeric($anzahlderbeispiele))
{
$error_anzahlderbeispiele = "<span class='error'>Anzahl der Beispiele muss eine g&uuml;ltige Zahl sein</span>";
$error=true;
}
elseif($anzahlderbeispiele<0)
{
$error_anzahlderbeispiele = "<span class='error'>Anzahl der Beispiele darf nicht negativ sein</span>";
$error=true;
}
$freigabevon_sav = $datum_obj->mktime_datumundzeit($freigabevon);
$freigabebis_sav = $datum_obj->mktime_datumundzeit($freigabebis);
if(!$freigabebis_sav)
{
$error_freigabebis = "<span class='error'>Bis-Datum hat ein ung&uuml;ltiges Format</span>";
$error=true;
}
if(!$freigabevon_sav)
{
$error_freigabevon = "<span class='error'>Von-Datum hat ein ung&uuml;ltiges Format</span>";
$error=true;
}
if($freigabevon_sav && $freigabebis_sav && $freigabevon_sav>$freigabebis_sav)
{
$error_freigabevon = "<span class='error'>Von Datum darf nicht gr&ouml;sser als Bis Datum sein</span>";
$error=true;
}
if(!$error)
{
//Uebung anlegen
$datum_obj = new datum();
$uebung_obj = new uebung($conn);
$uebung_obj->gewicht='';
$uebung_obj->punkte='';
$uebung_obj->angabedatei='';
$uebung_obj->freigabevon = date('Y-m-d H:i',$freigabevon_sav);
$uebung_obj->freigabebis = date('Y-m-d H:i',$freigabebis_sav);
$uebung_obj->abgabe=false;
$uebung_obj->beispiele=true;
$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->insertamum = date('Y-m-d H:i:s');
$uebung_obj->insertvon = $user;
if($uebung_obj->save(true))
{
//Beispiele anlegen
$uebung_id = $uebung_obj->uebung_id;
$error_msg='';
for($i=0;$i<$anzahlderbeispiele;$i++)
{
$beispiel_obj = new beispiel($conn);
$beispiel_obj->uebung_id = $uebung_id;
$beispiel_obj->bezeichnung = "Beispiel ".($i+1);
$beispiel_obj->punkte = $punkteprobeispiel;
$beispiel_obj->updateamum = date('Y-m-d H:i:s');
$beispiel_obj->updatevon = $user;
$beispiel_obj->insertamum = date('Y-m-d H:i:s');
$beispiel_obj->insertvon = $user;
if(!$beispiel_obj->save(true))
$error_msg = $beispiel_obj->errormsg;
}
if($error_msg!='')
echo "<span class='error'>$error_msg</span>";
}
else
echo "<span class='error'>$uebung_obj->errormsg</span>";
}
}
else
echo "<span class='error'>Kreuzerlliste konnte nicht angelegt werden!</span><br>";
}
//Loeschen eines Beispiels
if(isset($_POST['beispiel_delete']))
{
if(isset($_POST['beispiel']))
{
$beispiel_obj = new beispiel($conn);
$error_msg='';
//Ausgewaehlte Beispiele holen
$delete_ids = $_POST['beispiel'];
foreach($delete_ids as $id)
{
//Beispiel loeschen
if(!$beispiel_obj->delete($id))
$error_msg=$beispiel_obj->errormsg;
}
if($error_msg!='')
echo "<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;
}
$freigabevon_sav = $datum_obj->mktime_datumundzeit($freigabevon);
$freigabebis_sav = $datum_obj->mktime_datumundzeit($freigabebis);
if($freigabevon_sav>$freigabebis_sav)
{
echo "<span class='error'>Von Datum darf nicht gr&ouml;sser als Bis Datum sein</span>";
$error=true;
}
if(!$freigabebis_sav)
{
echo "<span class='error'>Bis-Datum hat ein ung&uuml;ltiges Format</span>";
$error=true;
}
if(!$freigabevon_sav)
{
echo "<span class='error'>Von-Datum hat ein ung&uuml;ltiges Format</span>";
$error=true;
}
if(!$error)
{
$uebung_obj = new uebung($conn);
$uebung_obj->gewicht='';
$uebung_obj->punkte='';
$uebung_obj->angabedatei='';
$uebung_obj->freigabevon = date('Y-m-d H:i',$freigabevon_sav);
$uebung_obj->freigabebis = date('Y-m-d H:i',$freigabebis_sav);
$uebung_obj->abgabe=false;
$uebung_obj->beispiele=true;
$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;
if($uebung_obj->save(false))
echo "Die &Auml;nderung wurde gespeichert!";
else
echo "<span class='error'>$uebung_obj->errormsg</span>";
}
}
//Neues Beispiel anlegen
if(isset($_POST['beispiel_neu']) || isset($_POST['beispiel_edit']))
{
if(isset($_POST['beispiel_edit']) && (!isset($beispiel_id) || !is_numeric($beispiel_id)))
{
echo "<span class='error'>Beispiel_id ist ungueltig</span>";
}
else
{
if(isset($uebung_id) && $uebung_id!='' && is_numeric($uebung_id))
{
if(is_numeric($punkte) && $punkte!='')
{
if($bezeichnung!='')
{
$beispiel_obj = new beispiel($conn);
if(isset($_POST['beispiel_edit']))
{
$beispiel_obj->beispiel_id= $beispiel_id;
$beispiel_obj->new=false;
}
else
{
$beispiel_obj->new=true;
$beispiel_obj->insertamum = date('Y-m-d H:i:s');
$beispiel_obj->insertvon = $user;
}
$beispiel_obj->uebung_id = $uebung_id;
$beispiel_obj->bezeichnung = $bezeichnung;
$beispiel_obj->punkte = $punkte;
$beispiel_obj->updateamum = date('Y-m-d H:i:s');
$beispiel_obj->updatevon = $user;
if($beispiel_obj->save())
{
$beispiel_id='';
}
else
echo "<span class='error'>$beispiel_obj->errormsg</span>";
}
else
echo "<span class='error'>Bezeichnung muss eingegeben werden</span>";
}
else
echo "<span class='error'>Punkte muss eine g&uuml;ltige Zahl sein</span>";
}
else
echo "<span class='error'>Zugehoerige Uebung ist fehlerhaft</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 Kreuzerlliste 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' 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 colspan=2 align='right'><input type='submit' name='uebung_edit' value='Ändern'></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'>";
//Beispiel neu Anlegen
echo "<form action='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id' method=POST>\n";
echo "<table width='340'><tr><td colspan='3' class='ContentHeader3'>Neues Beispiel anlegen</td></tr>\n";
echo "<tr><td>&nbsp;</td><td></td></tr>\n\n";
echo "<tr><td>Bezeichnung <input type='text' name='bezeichnung' value='Beispiel ".($anzahl+1)."'>";
echo "&nbsp;Punkte <input type='text' size='2' name='punkte' value='1'></td></tr>";
echo "<tr><td align='right'><input type='submit' name='beispiel_neu' value='Anlegen'></td></tr>";
echo "</table>
</form>";
echo "</td></tr><tr><td valign='top'>";
//Uebersicht der Beispiele
echo "<form action='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id' method=POST>\n";
echo "<table width='340'><tr><td colspan='3' class='ContentHeader3'>Vorhandene Beispiele</td></tr>\n";
echo "<tr><td>&nbsp;</td><td></td><td></td></tr>\n\n";
if($anzahl>0)
{
echo "<tr><th>Beispiel</th><th>Punkte</th><th>Auswahl</th></tr>\n";
foreach ($beispiel_obj->beispiele as $row)
{
echo "<tr><td><a href='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&beispiel_id=$row->beispiel_id' class='Item'><u>".htmlentities($row->bezeichnung)."</u></a></td>
<td align='center'>$row->punkte</td>
<td align='center'><input type='Checkbox' name='beispiel[]' value='$row->beispiel_id'></td>";
}
echo "<tr><td></td><td></td><td align='right'><input type='Submit' value='Auswahl löschen' onclick='return confirmdelete()' name='beispiel_delete'></td></tr>";
}
else
echo "<tr><td colspan='3'>Derzeit sind keine Beispiele angelegt</td><td></td></tr>";
echo "</table>
</form>";
echo "</td><td valign='top'>";
//Beispiel Aendern
$error_msg = '';
if(isset($beispiel_id) && $beispiel_id!='')
{
//Bearbeiten eines Beispiels
if($beispiel_obj->load($beispiel_id))
{
echo "<form action='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&beispiel_id=$beispiel_id' method=POST>\n";
echo "<table width='340'><tr><td colspan='3' class='ContentHeader3'>Beispiel bearbeiten</td></tr>\n";
echo "<tr><td>&nbsp;</td><td></td></tr>\n\n";
echo "<tr><td>Bezeichnung <input type='text' name='bezeichnung' value='$beispiel_obj->bezeichnung'>";
echo "&nbsp;Punkte <input type='text' size='2' name='punkte' value='$beispiel_obj->punkte'></td></tr>";
echo "<tr><td align='right'><input type='submit' name='beispiel_edit' value='Ändern'></td></tr>";
echo "</table>
</form><br><br>";
}
else
$error_msg = $beispiel_obj->errormsg;
}
echo "</td></tr></table>";
}
else
{
//Gesamtuebersicht ueber alle Uebungen
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 Kreuzerllisten bearbeiten</td></tr>";
$uebung_obj = new uebung($conn);
$uebung_obj->load_uebung($lehreinheit_id);
$anzahl = count($uebung_obj->uebungen);
if($anzahl>0)
{
echo "<tr><td></td><td></td><td>&nbsp;</td></tr><tr><th>Thema</th><th>Freigeschalten</th><th>Auswahl</th></tr>";
foreach ($uebung_obj->uebungen as $row)
{
echo "<tr><td align='center'><a href='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$row->uebung_id' class='Item'><u>".htmlentities($row->bezeichnung)."</u></a></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 "<tr><td></td><td></td><td><input type='Submit' value='Auswahl löschen' name='delete_uebung'></td></tr>";
}
else
echo "<tr><td colspan='3'>Derzeit sind keine Kreuzerllisten angelegt</td><td></td></tr>";
echo "</table>
</form><br><br>";
if(!isset($_POST['uebung_neu']))
{
$thema = "Uebung ".($anzahl+1);
$anzahlderbeispiele = 10;
$punkteprobeispiel = 1;
$freigabevon = date('d.m.Y H:i');
$freigabebis = date('d.m.Y H:i');
}
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 Kreuzerlliste anlegen</td><td></td></tr>
<tr><td>Thema</td><td align='right'><input type='text' name='thema' value='$thema'></td><td><span class='error'>$error_thema</td></tr>
<tr><td>Anzahl der Beispiele</td><td align='right'><input type='text' name='anzahlderbeispiele' 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 colspan=2 align='right'><input type='submit' name='uebung_neu' value='Anlegen'></td></tr>
</table>
</form>
";
echo "</form>";
}
?>
</td></tr>
</table>
</body>
</html>
+39 -5
View File
@@ -151,6 +151,11 @@ class beispiel
$this->errormsg = 'uebung_id muss eine gueltige Zahl sein';
return false;
}
if(strlen($this->bezeichnung)>32)
{
$this->errormsg = 'Bezeichnung darf nicht laenger als 32 Zeichen sein';
return false;
}
return true;
}
@@ -182,6 +187,11 @@ class beispiel
if($new)
{
if($this->exists($this->uebung_id, $this->bezeichnung))
{
$this->errormsg = 'Fehler beim Speichern! Es existiert bereits ein Beispiel mit diesem Namen';
return false;
}
$qry = 'BEGIN; INSERT INTO campus.tbl_beispiel(uebung_id, punkte, bezeichnung, updateamum,
updatevon, insertamum, insertvon) VALUES('.
$this->addslashes($this->uebung_id).','.
@@ -195,14 +205,14 @@ class beispiel
else
{
$qry = 'UPDATE campus.tbl_beispiel SET'.
' uebung_id='.$this->addslashes($this->uebung_id).
' punkte='.$this->addslashes($this->punkte).
' bezeichnung='.$this->addslashes($this->bezeichnung).
' updateamum='.$this->addslashes($this->updateamum).
' uebung_id='.$this->addslashes($this->uebung_id).','.
' punkte='.$this->addslashes($this->punkte).','.
' bezeichnung='.$this->addslashes($this->bezeichnung).','.
' updateamum='.$this->addslashes($this->updateamum).','.
' updatevon='.$this->addslashes($this->updatevon).
" WHERE beispiel_id=".$this->addslashes($this->beispiel_id).";";
}
if(pg_query($this->conn,$qry))
{
if($new)
@@ -240,6 +250,30 @@ class beispiel
}
}
function exists($uebung_id, $bezeichnung)
{
if(!is_numeric($uebung_id))
{
$this->errormsg = 'Uebung_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT beispiel_id FROM campus.tbl_beispiel WHERE uebung_id='$uebung_id' AND bezeichnung=".$this->addslashes($bezeichnung);
if($result = pg_query($this->conn, $qry))
{
if(pg_num_rows($result)>0)
return true;
else
return false;
}
else
{
$this->errormsg ='Fehler beim lesen der Beispiele';
return false;
}
}
function delete($beispiel_id)
{
if(!is_numeric($beispiel_id))
+37 -1
View File
@@ -80,7 +80,43 @@ class lehreinheit
// *********************************************************
function load($lehreinheit_id)
{
return false;
if(!is_numeric($lehreinheit_id))
{
$this->errormsg = 'Lehreinheit_id muss eine gueltige Zahl sein';
}
$qry = "SELECT * FROM lehre.tbl_lehreinheit WHERE lehreinheit_id='$lehreinheit_id'";
if($result = pg_query($this->conn, $qry))
{
if($row = pg_fetch_object($result))
{
$this->lehreinheit_id = $row->lehreinheit_id;
$this->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$this->lehrfach_id = $row->lehrfach_id;
$this->lehrform_kurzbz = $row->lehrform_kurzbz;
$this->stundenblockung = $row->stundenblockung;
$this->wochenrythmus = $row->wochenrythmus;
$this->start_kw = $row->start_kw;
$this->raumtyp = $row->raumtyp;
$this->raumtypalternativ = $row->raumtypalternativ;
$this->lehre = ($row->lehre=='t'?true:false);
$this->anmerkung = $row->anmerkung;
$this->unr = $row->unr;
$this->lvnr = $row->lvnr;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->ext_id = $row->ext_id;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Lehreinheit';
return false;
}
}
function load_lehreinheiten($lehrveranstaltung_id, $studiensemester_kurzbz)
+5
View File
@@ -175,6 +175,11 @@ class uebung
$this->errormsg = 'Lehreinheit_id muss eine gueltige Zahl sein';
return false;
}
if(strlen($this->bezeichnung)>32)
{
$this->errormsg = 'Bezeichnung darf nicht laenger als 32 Zeichen sein';
return false;
}
return true;
}