mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-11 17:19:29 +00:00
Diverse Fehler und Sicherheitslücken behoben
This commit is contained in:
@@ -31,9 +31,20 @@ jquery.js
|
||||
|
||||
|
||||
|
||||
jquery-1.9.min.js
|
||||
jquery1.9.min.js
|
||||
-> jqueryUI (autocomplete, datepicker, etc)
|
||||
-> Deutsches Schema für datepicker
|
||||
-> tablesorter
|
||||
|
||||
|
||||
Tablesorter
|
||||
**************
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#t1").tablesorter(
|
||||
{
|
||||
sortList: [[2,1]],
|
||||
widgets: ["zebra"]
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
+239
-158
@@ -20,206 +20,287 @@
|
||||
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
|
||||
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
|
||||
*/
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/basis_db.class.php');
|
||||
if (!$db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
|
||||
require_once('../../include/studiengang.class.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/studiensemester.class.php');
|
||||
/**
|
||||
* Dieses Script wird verwendet, um zu bereits verplanten LVPlan Eintraegen zusaetzliche
|
||||
* Gruppen dazu zu verplanen. (zB fuer Incoming Gruppen die erst spaeter zur LV hinzugefuegt werden)
|
||||
*/
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/basis_db.class.php');
|
||||
require_once('../../include/studiengang.class.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/studiensemester.class.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
|
||||
// Benutzerdefinierte Variablen laden
|
||||
$user = get_uid();
|
||||
loadVariables($user);
|
||||
|
||||
// Berechtigungen pruefen
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
if(!$rechte->isBerechtigt('lehre/lvplan', null,'suid'))
|
||||
die('Sie haben keine Berechtigung für diese Seite');
|
||||
|
||||
// Variablen Initialisieren
|
||||
$studiengang_kz=0;
|
||||
$lektor_uid=0;
|
||||
$unr=0;
|
||||
$semester=0;
|
||||
$verband=' ';
|
||||
$gruppe=' ';
|
||||
$gruppe_kurzbz='';
|
||||
$leid=0;
|
||||
$studiengang_kz=0;
|
||||
$lektor_uid=0;
|
||||
$unr=0;
|
||||
$semester=0;
|
||||
$verband=' ';
|
||||
$gruppe=' ';
|
||||
$gruppe_kurzbz='';
|
||||
$leid=0;
|
||||
|
||||
$stg_kz=0;
|
||||
$sem=0;
|
||||
$stg_kz=0;
|
||||
$sem=0;
|
||||
|
||||
$insert=false;
|
||||
$insert=false;
|
||||
|
||||
if(isset($_GET['stg_kz']))
|
||||
$stg_kz = $_GET['stg_kz'];
|
||||
|
||||
if(isset($_GET['studiengang_kz']))
|
||||
$studiengang_kz = $_GET['studiengang_kz'];
|
||||
|
||||
if(isset($_GET['sem']))
|
||||
$sem = $_GET['sem'];
|
||||
|
||||
if(isset($_GET['semester']))
|
||||
$semester = $_GET['semester'];
|
||||
|
||||
if(isset($_GET['verband']))
|
||||
$verband = $_GET['verband'];
|
||||
|
||||
if(isset($_GET['gruppe']))
|
||||
$gruppe = $_GET['gruppe'];
|
||||
|
||||
if(isset($_GET['leid']))
|
||||
$leid = $_GET['leid'];
|
||||
|
||||
if(isset($_GET['gruppe_kurzbz']))
|
||||
$gruppe_kurzbz = $_GET['gruppe_kurzbz'];
|
||||
|
||||
if(isset($_GET['lektor_uid']))
|
||||
$lektor_uid = $_GET['lektor_uid'];
|
||||
|
||||
if(isset($_GET['unr']))
|
||||
$unr = $_GET['unr'];
|
||||
|
||||
// POST/GET Parameter uebernehmen
|
||||
if (isset($_GET))
|
||||
{
|
||||
while (list ($tmp_key, $tmp_val) = each ($_GET))
|
||||
{
|
||||
$$tmp_key=$tmp_val;
|
||||
}
|
||||
|
||||
}
|
||||
else if (isset($_POST))
|
||||
{
|
||||
while (list ($tmp_key, $tmp_val) = each ($_POST))
|
||||
{
|
||||
$$tmp_key=$tmp_val;
|
||||
}
|
||||
}
|
||||
// Plausib der Variablen
|
||||
if ($verband=='')
|
||||
$verband=' ';
|
||||
if ($gruppe=='')
|
||||
$gruppe=' ';
|
||||
|
||||
if(!is_numeric($stg_kz))
|
||||
$stg_kz=0;
|
||||
if(!is_numeric($semester))
|
||||
$semester=0;
|
||||
|
||||
$insert=trim($insert);
|
||||
$insert=(empty($insert)?false:true);
|
||||
if ($verband=='')
|
||||
$verband=' ';
|
||||
if ($gruppe=='')
|
||||
$gruppe=' ';
|
||||
|
||||
if(!is_numeric($stg_kz))
|
||||
$stg_kz=0;
|
||||
if(!is_numeric($semester))
|
||||
$semester=0;
|
||||
|
||||
$insert = (isset($_GET['insert'])?$_GET['insert']:false);
|
||||
$insert=trim($insert);
|
||||
$insert=(empty($insert)?false:true);
|
||||
|
||||
|
||||
// Studiengang lesen
|
||||
$s=new studiengang();
|
||||
$s->getAll('typ, kurzbz', false);
|
||||
$studiengang=$s->result;
|
||||
|
||||
// Benutzerdefinierte Variablen laden
|
||||
$user = get_uid();
|
||||
loadVariables($user);
|
||||
|
||||
$s=new studiengang();
|
||||
$s->getAll('typ, kurzbz', false);
|
||||
$studiengang=$s->result;
|
||||
|
||||
// Bezeichnungen fuer Tabellen und Views
|
||||
$lva_stpl_view=VIEW_BEGIN.'lva_'.$db_stpl_table;
|
||||
$stpl_table=TABLE_BEGIN.$db_stpl_table;
|
||||
$lva_stpl_view=VIEW_BEGIN.'lva_'.$db_stpl_table;
|
||||
$stpl_table=TABLE_BEGIN.$db_stpl_table;
|
||||
|
||||
$outp='';
|
||||
|
||||
//*************** im Stundenplan hinzufuegen *************************
|
||||
if ($insert)
|
||||
// Eintrag im Stundenplan hinzufuegen
|
||||
if ($insert)
|
||||
{
|
||||
// Termine holen
|
||||
$qry = "SELECT DISTINCT datum, stunde FROM lehre.$stpl_table WHERE lehreinheit_id=".$db->db_add_param($leid, FHC_INTEGER);
|
||||
|
||||
if(!$result=$db->db_query($qry))
|
||||
die ($qry .' '.$db->db_last_error());
|
||||
|
||||
while ($row=$db->db_fetch_object($result))
|
||||
{
|
||||
// Termine holen
|
||||
$qry = "SELECT DISTINCT datum, stunde FROM lehre.$stpl_table WHERE lehreinheit_id=".$leid;
|
||||
//echo $qry.'<BR>';
|
||||
if(!$result=$db->db_query($qry))
|
||||
die ($qry .' '.$db->db_last_error());
|
||||
|
||||
while ($row=$db->db_fetch_object($result))
|
||||
$qry = "SELECT
|
||||
DISTINCT ort_kurzbz
|
||||
FROM
|
||||
lehre.".$stpl_table."
|
||||
WHERE
|
||||
lehreinheit_id=".$db->db_add_param($leid, FHC_INTEGER)."
|
||||
AND datum=".$db->db_add_param($row->datum)."
|
||||
AND stunde=".$db->db_add_param($row->stunde).";";
|
||||
|
||||
if(!$result_ort=$db->db_query($qry))
|
||||
die ("DB Fehler $qry" .' '.$db->db_last_error());
|
||||
|
||||
while ($row_ort=$db->db_fetch_object($result_ort))
|
||||
{
|
||||
$qry = "SELECT DISTINCT ort_kurzbz FROM lehre.".$stpl_table."
|
||||
WHERE lehreinheit_id=$leid AND datum='$row->datum' AND stunde=$row->stunde;";
|
||||
if(!$result_ort=$db->db_query($qry))
|
||||
die ("DB Fehler $qry" .' '.$db->db_last_error());
|
||||
while ($row_ort=$db->db_fetch_object($result_ort))
|
||||
// Pruefen ob der Eintrag schon in der Datenbank vorhanden ist
|
||||
// da sonst bei mehrmaligem Refresh der Seite der Eintrag oefter eingetragen wird
|
||||
$qry = "SELECT
|
||||
1
|
||||
FROM
|
||||
lehre.$stpl_table
|
||||
WHERE datum=".$db->db_add_param($row->datum).
|
||||
' AND stunde='.$db->db_add_param($row->stunde).
|
||||
' AND ort_kurzbz='.$db->db_add_param($row_ort->ort_kurzbz).
|
||||
' AND unr='.$db->db_add_param($unr).
|
||||
' AND mitarbeiter_uid='.$db->db_add_param($lektor_uid).
|
||||
' AND studiengang_kz='.$db->db_add_param($studiengang_kz).
|
||||
' AND semester='.$db->db_add_param($semester).
|
||||
' AND verband='.$db->db_add_param($verband).
|
||||
' AND gruppe='.$db->db_add_param($gruppe);
|
||||
|
||||
if ($gruppe_kurzbz!='')
|
||||
$qry.=' AND gruppe_kurzbz='.$db->db_add_param($gruppe_kurzbz);
|
||||
else
|
||||
$qry.=' AND gruppe_kurzbz is null';
|
||||
|
||||
if($result_stplcheck=$db->db_query($qry))
|
||||
{
|
||||
$qry="INSERT INTO lehre.$stpl_table (datum,stunde,ort_kurzbz,unr,mitarbeiter_uid,studiengang_kz,semester,verband,gruppe,gruppe_kurzbz,lehreinheit_id, insertvon)
|
||||
VALUES ('".$row->datum."', $row->stunde,'$row_ort->ort_kurzbz',$unr,'".$lektor_uid."',$studiengang_kz,$semester,'$verband','$gruppe',";
|
||||
if ($gruppe_kurzbz!='')
|
||||
$qry.="'$gruppe_kurzbz',$leid,'LVPlanCheck');";
|
||||
if($db->db_num_rows($result_stplcheck)==0)
|
||||
{
|
||||
$qry="INSERT INTO lehre.$stpl_table (datum,stunde,ort_kurzbz,unr,mitarbeiter_uid,studiengang_kz,
|
||||
semester,verband,gruppe,gruppe_kurzbz,lehreinheit_id, insertvon)
|
||||
VALUES (".$db->db_add_param($row->datum).",".
|
||||
$db->db_add_param($row->stunde).",".
|
||||
$db->db_add_param($row_ort->ort_kurzbz).",".
|
||||
$db->db_add_param($unr).",".
|
||||
$db->db_add_param($lektor_uid).",".
|
||||
$db->db_add_param($studiengang_kz).",".
|
||||
$db->db_add_param($semester).",".
|
||||
$db->db_add_param($verband).",".
|
||||
$db->db_add_param($gruppe).",";
|
||||
|
||||
if ($gruppe_kurzbz!='')
|
||||
$qry.=$db->db_add_param($gruppe_kurzbz).",";
|
||||
else
|
||||
$qry.="NULL,";
|
||||
|
||||
$qry.=$db->db_add_param($leid, FHC_INTEGER).",'LVPlanCheck');";
|
||||
|
||||
if(!$result_insert=$db->db_query($qry))
|
||||
die ("DB Fehler $qry" .' '.$db->db_last_error());
|
||||
}
|
||||
else
|
||||
$qry.="NULL,$leid,'LVPlanCheck');";
|
||||
if(!$result_insert=$db->db_query($qry))
|
||||
die ("DB Fehler $qry" .' '.$db->db_last_error());
|
||||
{
|
||||
$outp.='<span class="error">Fehlgeschlagen: Eintrag bereits vorhanden</span>';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$stsem_obj = new studiensemester();
|
||||
/* if(date("m")>=1 || date("m")<=2)
|
||||
{
|
||||
$stsem_obj->getNextStudiensemester();
|
||||
$studiensemester = $stsem_obj->studiensemester_kurzbz;
|
||||
}
|
||||
else */
|
||||
$studiensemester = $semester_aktuell;
|
||||
$where=" studiensemester_kurzbz='".$studiensemester."'";
|
||||
if (!empty($semester))
|
||||
$where.=" AND semester=$semester";
|
||||
if (!empty($stg_kz))
|
||||
$where.=" AND studiengang_kz='$stg_kz'";
|
||||
$stsem_obj = new studiensemester();
|
||||
$studiensemester = $semester_aktuell;
|
||||
|
||||
|
||||
if(isset($_GET['lvid']) && is_numeric($_GET['lvid']))
|
||||
{
|
||||
//Lehrevz Speichern
|
||||
if(isset($_POST['lehrevz']))
|
||||
{
|
||||
$qry = "UPDATE lehre.tbl_lehrveranstaltung SET lehreverzeichnis='".addslashes($_POST['lehrevz'])."' WHERE lehrveranstaltung_id='".$_GET['lvid']."'";
|
||||
if(!$db->db_query($qry))
|
||||
echo "Fehler beim Speichern! " .' '.$db->db_last_error();
|
||||
else
|
||||
echo "Erfolgreich gespeichert";
|
||||
}
|
||||
}
|
||||
$where=" studiensemester_kurzbz=".$db->db_add_param($studiensemester);
|
||||
|
||||
$sql_query="SELECT *, planstunden-verplant::smallint AS offenestunden
|
||||
FROM lehre.$lva_stpl_view JOIN lehre.tbl_lehrform ON $lva_stpl_view.lehrform=tbl_lehrform.lehrform_kurzbz
|
||||
WHERE $where AND verplant=0 AND planstunden>0 AND lehreinheit_id IN (SELECT lehreinheit_id FROM lehre.$stpl_table)
|
||||
ORDER BY offenestunden DESC, lehrfach, lehrform, semester, verband, gruppe, gruppe_kurzbz;";
|
||||
//echo $sql_query;
|
||||
if(!$result_lv=$db->db_query($sql_query))
|
||||
die ("DB Fehler $sql_query" .' '.$db->db_last_error());
|
||||
if(!$result_lv)
|
||||
die("Lehrveranstaltung not found!");
|
||||
|
||||
$outp='';
|
||||
$s=array();
|
||||
$outp.="<SELECT name='stg_kz'>";
|
||||
foreach ($studiengang as $stg)
|
||||
{
|
||||
$outp.="<OPTION onclick=\"window.location.href = '".$_SERVER['PHP_SELF']."?stg_kz=$stg->studiengang_kz&semester=$semester'\" ".($stg->studiengang_kz==$stg_kz?'selected':'').">$stg->kuerzel - $stg->bezeichnung</OPTION>";
|
||||
//$outp.= '<A href="'.$_SERVER['PHP_SELF'].'?stg_kz='.$stg->studiengang_kz.'&sem='.$semester.'">'.$stg->kuerzel.'</A> - ';
|
||||
$a = new stdClass();
|
||||
$a->max_sem=$stg->max_semester;
|
||||
$a->kurzbz=$stg->kurzbzlang;
|
||||
$s[$stg->studiengang_kz]=$a;
|
||||
// $s[$stg->studiengang_kz]->max_sem=$stg->max_semester;
|
||||
// $s[$stg->studiengang_kz]->kurzbz=$stg->kurzbzlang;
|
||||
}
|
||||
$outp.='</SELECT>';
|
||||
$outp.= '<BR> -- ';
|
||||
for ($i=0;$i<=$s[$stg_kz]->max_sem;$i++)
|
||||
$outp.= '<A href="'.$_SERVER['PHP_SELF'].'?stg_kz='.$stg_kz.'&semester='.$i.'">'.$i.'</A> -- ';
|
||||
if (!empty($semester))
|
||||
$where.=" AND semester=".$db->db_add_param($semester, FHC_INTEGER);
|
||||
|
||||
if (!empty($stg_kz))
|
||||
$where.=" AND studiengang_kz=".$db->db_add_param($stg_kz, FHC_INTEGER);
|
||||
|
||||
$sql_query="SELECT
|
||||
*, planstunden-verplant::smallint AS offenestunden
|
||||
FROM
|
||||
lehre.$lva_stpl_view
|
||||
JOIN lehre.tbl_lehrform ON ($lva_stpl_view.lehrform=tbl_lehrform.lehrform_kurzbz)
|
||||
WHERE $where
|
||||
AND verplant=0
|
||||
AND planstunden>0
|
||||
AND lehreinheit_id IN (SELECT lehreinheit_id FROM lehre.$stpl_table)
|
||||
ORDER BY offenestunden DESC, lehrfach, lehrform, semester, verband, gruppe, gruppe_kurzbz;";
|
||||
|
||||
if(!$result_lv=$db->db_query($sql_query))
|
||||
die ("DB Fehler $sql_query" .' '.$db->db_last_error());
|
||||
if(!$result_lv)
|
||||
die("Lehrveranstaltung not found!");
|
||||
|
||||
$s=array();
|
||||
$outp.='<SELECT name="stg_kz" onchange="window.location.href=this.value">';
|
||||
foreach ($studiengang as $stg)
|
||||
{
|
||||
$outp.="<OPTION value=\"".$_SERVER['PHP_SELF']."?stg_kz=$stg->studiengang_kz&semester=$semester\" ".($stg->studiengang_kz==$stg_kz?'selected':'').">$stg->kuerzel - $stg->bezeichnung</OPTION>";
|
||||
$a = new stdClass();
|
||||
$a->max_sem=$stg->max_semester;
|
||||
$a->kurzbz=$stg->kurzbzlang;
|
||||
$s[$stg->studiengang_kz]=$a;
|
||||
}
|
||||
|
||||
$outp.='</SELECT>';
|
||||
$outp.= '<BR>-- ';
|
||||
for ($i=0;$i<=$s[$stg_kz]->max_sem;$i++)
|
||||
$outp.= '<A href="'.$_SERVER['PHP_SELF'].'?stg_kz='.$stg_kz.'&semester='.$i.'">'.$i.'</A> -- ';
|
||||
?>
|
||||
<html>
|
||||
<head>
|
||||
<title>Lehrveranstaltung Verwaltung</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
|
||||
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
|
||||
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script>
|
||||
<title>LVPlan Wartung</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link rel="stylesheet" href="../../skin/fhcomplete.css" type="text/css">
|
||||
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
|
||||
<link rel="stylesheet" href="../../skin/tablesort.css" type="text/css">
|
||||
<script src="../../include/js/jquery1.9.min.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#t1").tablesorter(
|
||||
{
|
||||
sortList: [[2,1]],
|
||||
widgets: ["zebra"]
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body class="Background_main">
|
||||
<body>
|
||||
<?php
|
||||
|
||||
echo "<H2>LV-Plan Wartung (".$s[$stg_kz]->kurzbz." - ".$semester.") ($lva_stpl_view)</H2>";
|
||||
|
||||
echo '<table width="100%"><tr><td>';
|
||||
echo $outp;
|
||||
echo '</td><td>';
|
||||
echo "<input type='button' onclick='parent.detail.location=\"lehrveranstaltung_details.php?neu=true&stg_kz=$stg_kz&semester=$semester\"' value='Neu'/>";
|
||||
echo '</td></tr></table>';
|
||||
|
||||
echo "<h3>Übersicht</h3>
|
||||
<table class='liste table-autosort:2 table-stripeclass:alternate table-autostripe'>
|
||||
echo '<h3>Übersicht</h3>
|
||||
<table id="t1" class="tablesorter">
|
||||
<thead>
|
||||
<tr class='liste'>";
|
||||
<tr>';
|
||||
|
||||
if ($result_lv!=0)
|
||||
{
|
||||
$num_rows=$db->db_num_rows($result_lv);
|
||||
|
||||
// raumtyp raumtypalternativ stundenblockung wochenrythmus semesterstunden start_kw anmerkung
|
||||
echo "<th class='table-sortable:default'>LE-ID</th><th class='table-sortable:default'>UNR</th><th class='table-sortable:default'>Lehrfach</th><th class='table-sortable:default'>Lektor</th>
|
||||
<th class='table-sortable:default'>Lehrverband</th><th class='table-sortable:default'>Gruppe</th><th class='table-sortable:default'>SS</th><th class='table-sortable:numeric'>planstunden</th><th class='table-sortable:default'>Verplant</th>\n";
|
||||
echo "<th>LE-ID</th>
|
||||
<th>UNR</th>
|
||||
<th>Lehrfach</th>
|
||||
<th>Lektor</th>
|
||||
<th>Lehrverband</th>
|
||||
<th>Gruppe</th>
|
||||
<th>SS</th>
|
||||
<th>planstunden</th>
|
||||
<th>Verplant</th>\n";
|
||||
echo "</tr></thead>";
|
||||
echo "<tbody>";
|
||||
for($i=0;$i<$num_rows;$i++)
|
||||
{
|
||||
$row=$db->db_fetch_object($result_lv);
|
||||
echo "<tr>";
|
||||
echo "<td align='right'>$row->lehreinheit_id</td><td>$row->unr</td><td>$row->lehrfach-$row->lehrform - $row->lehrfach_bez</td><td>$row->lektor</td>";
|
||||
echo "<td>$row->studiengang-$row->semester$row->verband$row->gruppe</td><td>$row->gruppe_kurzbz</td>";
|
||||
echo "<td>$row->studiensemester_kurzbz</td>";
|
||||
echo "<td>$row->planstunden</td>";
|
||||
echo "<td>$row->verplant</td>";
|
||||
echo "<td><a href='?insert=true&leid=$row->lehreinheit_id&unr=$row->unr&lektor_uid=$row->lektor_uid&studiengang_kz=$row->studiengang_kz&semester=$row->semester&verband=$row->verband&gruppe=$row->gruppe&gruppe_kurzbz=$row->gruppe_kurzbz&stg_kz=$stg_kz&sem=$sem'>Hinzufuegen</a></td>";
|
||||
echo "</tr>\n";
|
||||
$row=$db->db_fetch_object($result_lv);
|
||||
echo "<tr>";
|
||||
echo "<td align='right'>$row->lehreinheit_id</td>";
|
||||
echo "<td>$row->unr</td>";
|
||||
echo "<td>$row->lehrfach-$row->lehrform - $row->lehrfach_bez</td>";
|
||||
echo "<td>$row->lektor</td>";
|
||||
echo "<td>$row->studiengang-$row->semester$row->verband$row->gruppe</td><td>$row->gruppe_kurzbz</td>";
|
||||
echo "<td>$row->studiensemester_kurzbz</td>";
|
||||
echo "<td>$row->planstunden</td>";
|
||||
echo "<td>$row->verplant</td>";
|
||||
echo "<td><a href='?insert=true&leid=$row->lehreinheit_id&unr=$row->unr&lektor_uid=$row->lektor_uid&studiengang_kz=$row->studiengang_kz&semester=$row->semester&verband=$row->verband&gruppe=$row->gruppe&gruppe_kurzbz=$row->gruppe_kurzbz&stg_kz=$stg_kz&sem=$sem'>Hinzufuegen</a></td>";
|
||||
echo "</tr>\n";
|
||||
}
|
||||
|
||||
}
|
||||
@@ -231,4 +312,4 @@ else
|
||||
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user