freifächerverwaltung

This commit is contained in:
Gerald Raab
2007-10-19 13:23:20 +00:00
parent d8ac717568
commit 4593238438
5 changed files with 290 additions and 4 deletions
+31
View File
@@ -100,6 +100,37 @@ class benutzergruppe
}
}
// *********************************************************
// * Laedt die User in einer Benutzergruppe
// * @param gruppe_kurzbz, stsem
// * @return true wenn ok, false im Fehlerfall
// *********************************************************
function load_uids($gruppe_kurzbz, $stsem)
{
$qry = "SELECT * FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='".addslashes($gruppe_kurzbz)."' and studiensemester_kurzbz = '".$stsem."'";
if($result = pg_query($this->conn, $qry))
{
if (pg_num_rows($result) == 0)
return false;
else
{
while($row = pg_fetch_object($result))
{
$bg_obj = new benutzergruppe($this->conn);
$bg_obj->uid = $row->uid;
$this->uids[] = $bg_obj;
}
return true;
}
}
else
{
$this->errormsg = 'Fehler beim laden des Datensatzes';
return false;
}
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
+28 -1
View File
@@ -71,7 +71,34 @@ class benutzerlvstudiensemester
$this->errormsg = 'Not implemented';
return false;
}
//
//
//
//
function get_all_uids($studiensemester_kurzbz, $lehrveranstaltung_id)
{
$qry = "SELECT * FROM campus.tbl_benutzerlvstudiensemester where studiensemester_kurzbz='".$studiensemester_kurzbz."' AND lehrveranstaltung_id = '".$lehrveranstaltung_id."'";
if(!$res = pg_query($this->conn, $qry))
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
if (pg_num_rows($res) == 0)
return false;
else
{
while($row = pg_fetch_object($res))
{
$lv_obj = new benutzerlvstudiensemester($this->conn);
$lv_obj->uid = $row->uid;
$this->uids[] = $lv_obj;
}
return true;
}
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
+10 -2
View File
@@ -1,4 +1,10 @@
<?php
<?php
// Auth: Benutzer des Webportals
define ('USER_UID','strtolower(trim($_SERVER["REMOTE_USER"]))');
// fuer Testzwecke
//define ('USER_UID','pam');
// Hintergrundfarben fuer Tabellen beim Zeitwunsch
global $cfgStdBgcolor;
$cfgStdBgcolor=array();
@@ -26,4 +32,6 @@
$noalias[0]='330';
$noalias[1]='331';
$noalias[2]='204';
?>
?>
+5 -1
View File
@@ -182,7 +182,11 @@
</tr>
</table>
</td>
</tr>
</tr>
<!--Menu Eintrag Freifächer-->
<tr>
<td nowrap><a class="MenuItem1" href="lehre/freifach.php" target="main"><img src="../skin/images/menu_item.gif" width="7" height="9">&nbsp;Freif&auml;cher</a></td>
</tr>
</table>
</div>
+216
View File
@@ -0,0 +1,216 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Raab <gerald.raab@technikum-wien.at>.
*/
require_once('../config.inc.php');
require_once('../../include/lehrveranstaltung.class.php');
require_once('../../include/functions.inc.php');
require_once('../../include/benutzerlvstudiensemester.class.php');
require_once('../../include/gruppe.class.php');
require_once('../../include/benutzergruppe.class.php');
if(!$conn=pg_pconnect(CONN_STRING))
die("Konnte Verbindung zur Datenbank nicht herstellen");
$user = get_uid();
if (isset($_GET['stg_kz']) || isset($_POST['stg_kz']))
$stg_kz=(isset($_GET['stg_kz'])?$_GET['stg_kz']:$_POST['stg_kz']);
else
$stg_kz=0;
if (isset($_REQUEST["stsem"]))
$stsem = $_REQUEST["stsem"];
else
$stsem = "WS2007";
if (isset($_REQUEST["lvid"]))
$lvid = $_REQUEST["lvid"];
else
$lvid = 0;
if (isset($_REQUEST["gruppe"]))
$gruppe = $_REQUEST["gruppe"];
else
$gruppe = "";
if (isset($_REQUEST["semester"]))
$semester = $_REQUEST["semester"];
else
$semester = 1;
if(!is_numeric($stg_kz))
$stg_kz=0;
if (isset($_REQUEST["grp_in"]) && $gruppe != "")
{
$b = new benutzerlvstudiensemester($conn);
if ($b->get_all_uids($stsem, $lvid))
{
foreach ($b->uids as $u)
{
if (isset($_REQUEST["anmeldung_".$u->uid]))
{
$bg = new benutzergruppe($conn);
$bg->uid = $u->uid;
$bg->gruppe_kurzbz = $gruppe;
$bg->updateamum = null;
$bg->updatevon=null;
$bg->insertamum = null;
$bg->insertvon = $user;
$bg->studiensemester_kurzbz = $stsem;
$bg->new = 1;
$bg->save(1);
}
}
}
}
if ($gruppe != "" && isset($_REQUEST["grp_aus"]))
{
$gu = new benutzergruppe($conn);
if ($gu->load_uids($gruppe, $stsem))
{
foreach ($gu->uids as $uidliste)
{
if (isset($_REQUEST["gruppe_".$uidliste->uid]))
{
$bg = new benutzergruppe($conn);
$bg->delete($uidliste->uid, $gruppe);
}
}
}
}
//(uid, gruppe_kurzbz, updateamum, updatevon, insertamum, insertvon, studiensemester_kurzbz)
?>
<html>
<head>
<title>Lehrveranstaltung Verwaltung</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<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>
</head>
<body class="Background_main">
<?php
echo "<H2>Freif&auml;cher Teilnehmer-Verwaltung</H2>";
echo "<form name='auswahl' method='POST' action='freifach.php'>";
echo "<table>";
echo "<tr><td><b>Freif&auml;cher</b></td<td><b>Gruppen</b></td</tr>";
echo "<tr>";
echo "<td>";
echo "<select name='lvid' onchange='document.auswahl.submit();'>";
echo "<option></option>";
$lv_obj = new lehrveranstaltung($conn);
if(!$lv_obj->load_lva('0',null, null, true,null,'bezeichnung'))
echo "$lv_obj->errormsg";
foreach($lv_obj->lehrveranstaltungen AS $row)
{
if ($lvid == $row->lehrveranstaltung_id)
$sel = " selected";
else
$sel = "";
echo " <option value='".$row->lehrveranstaltung_id."'".$sel.">".$row->kurzbz." - ".$row->bezeichnung."</option>";
}
echo "</select>";
echo "</td><td>";
echo "<select name='semester' onchange='document.auswahl.submit();'>";
for ($i=0; $i<=10; $i++)
{
if ($semester == $i)
$sel = " selected";
else
$sel = "";
echo "<option value='".$i."'".$sel.">".$i."</option>";
}
echo "</select>";
echo "<select name='gruppe' onchange='document.auswahl.submit();'>";
echo "<option></option>";
$grp_obj = new gruppe($conn);
if(!$grp_obj->getgruppe('0',$semester,null,'true'))
echo "$lv_obj->errormsg";
foreach($grp_obj->result AS $row)
{
if ($gruppe == $row->gruppe_kurzbz)
$sel = " selected";
else
$sel = "";
echo " <option value='".$row->gruppe_kurzbz."'".$sel.">".$row->gruppe_kurzbz."</option>";
}
echo "</select>";
echo "</td></tr>";
echo "<tr>";
echo "<td valign='top'>";
if ($lvid > 0)
{
$b = new benutzerlvstudiensemester($conn);
if ($b->get_all_uids($stsem, $lvid))
{
foreach ($b->uids as $u)
{
echo "<br><input type='checkbox' name='anmeldung_".$u->uid."'>".$u->uid;
//echo "<br>".$u->uid;
}
}
}
echo "</td><td valign='top'>";
if ($gruppe != "")
{
$gu = new benutzergruppe($conn);
if ($gu->load_uids($gruppe, $stsem))
{
foreach ($gu->uids as $uidliste)
{
echo "<br><input type='checkbox' name='gruppe_".$uidliste->uid."'>".$uidliste->uid;
//echo "<br>".$u->uid;
}
}
}
echo "</td></tr>";
echo "<tr><td>";
echo "<br><input type='submit' name='grp_in' value='Auswahl in Gruppe einf&uuml;gen =>'>";
echo "</td><td>";
echo "<br><input type='submit' name='grp_aus' value=' <= Auswahl aus Gruppe l&ouml;schen'>";
echo "</td></tr>";
echo "</table>";
echo "</form>";
?>
<br>
</body>