mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-04 05:39:28 +00:00
c843443db5
- Undo für Stundenverschiebung - Sortierung für lehrstunden Anpassungen an PHP 5.3 Inventar Bugfixes Eindeutige GID für LVB und Spezialgruppen
490 lines
15 KiB
PHP
490 lines
15 KiB
PHP
<?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 >
|
|
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
|
|
*/
|
|
/**
|
|
* Administrationsseite fuer Lehrfaecher
|
|
*/
|
|
require_once('../../config/vilesci.config.inc.php');
|
|
require_once('../../include/fachbereich.class.php');
|
|
require_once('../../include/studiengang.class.php');
|
|
require_once('../../include/lehrfach.class.php');
|
|
require_once('../../include/functions.inc.php');
|
|
require_once('../../include/benutzerberechtigung.class.php');
|
|
|
|
if (!$db = new basis_db())
|
|
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
|
|
|
$stg_kz=(isset($_REQUEST['stg_kz'])?$_REQUEST['stg_kz']:0);
|
|
if(!is_numeric($stg_kz) && $stg_kz!='')
|
|
$stg_kz='0';
|
|
|
|
$gg='';
|
|
|
|
$f=new fachbereich();
|
|
$f->getAll();
|
|
$fachbereiche=$f->result;
|
|
$s=new studiengang();
|
|
$s->getAll('typ, kurzbz', false);
|
|
$studiengang=$s->result;
|
|
|
|
$user = get_uid();
|
|
|
|
$rechte = new benutzerberechtigung();
|
|
$rechte->getBerechtigungen($user);
|
|
|
|
if (isset($_GET['filter_stg_kz']) || isset($_POST['filter_stg_kz']))
|
|
$filter_stg_kz=(isset($_GET['filter_stg_kz'])?$_GET['filter_stg_kz']:$_POST['filter_stg_kz']);
|
|
else
|
|
$filter_stg_kz='';
|
|
if (isset($_GET['filter_semester']) || isset($_POST['filter_semester']))
|
|
$filter_semester=(isset($_GET['filter_semester'])?$_GET['filter_semester']:$_POST['filter_semester']);
|
|
else
|
|
$filter_semester='';
|
|
|
|
if (isset($_GET['filter_fachbereich_kurzbz']) || isset($_POST['filter_fachbereich_kurzbz']))
|
|
$filter_fachbereich_kurzbz=(isset($_GET['filter_fachbereich_kurzbz'])?$_GET['filter_fachbereich_kurzbz']:$_POST['filter_fachbereich_kurzbz']);
|
|
else
|
|
$filter_fachbereich_kurzbz='';
|
|
|
|
|
|
if (isset($_POST['neu']))
|
|
{
|
|
$stg_obj = new studiengang();
|
|
if(!$stg_obj->load($_POST['stg_kz']))
|
|
die('Studiengang wurde nicht gefunden');
|
|
|
|
if(!$rechte->isBerechtigt('lehre/lehrfach', $stg_obj->oe_kurzbz, 'sui'))
|
|
die('Sie haben keine Berechtigung fuer diese Aktion');
|
|
|
|
$lf = new lehrfach();
|
|
$lf->new=true;
|
|
$lf->studiengang_kz=$_POST['stg_kz'];
|
|
$lf->fachbereich_kurzbz=$_POST['fachbereich_kurzbz'];
|
|
$lf->kurzbz=$_POST['kurzbz'];
|
|
$lf->bezeichnung = $_POST['bezeichnung'];
|
|
$lf->farbe = $_POST['farbe'];
|
|
$lf->aktiv = true;
|
|
$lf->semester = $_POST['semester'];
|
|
$lf->sprache = $_POST['sprache'];
|
|
$lf->updateamum = date('Y-m-d H:i:s');
|
|
$lf->updatevon = $user;
|
|
$lf->insertamum = date('Y-m-d H:i:s');
|
|
$lf->insertvon = $user;
|
|
|
|
if(!$lf->save())
|
|
{
|
|
echo "<br>$lf->errormsg<br>";
|
|
}
|
|
}
|
|
|
|
if (isset($_POST['type']) && $_POST['type']=='editsave')
|
|
{
|
|
$stg_obj = new studiengang();
|
|
if(!$stg_obj->load($_POST['stg_kz']))
|
|
die('Studiengang wurde nicht gefunden');
|
|
|
|
if(!$rechte->isBerechtigt('lehre/lehrfach', $stg_obj->oe_kurzbz, 'sui'))
|
|
die('Sie haben keine Berechtigung fuer diese Aktion');
|
|
|
|
$lf = new lehrfach();
|
|
$lf->new=false;
|
|
$lf->lehrfach_id = $_POST['lehrfach_id'];
|
|
$lf->studiengang_kz=$_POST['stg_kz'];
|
|
$lf->fachbereich_kurzbz=$_POST['fachbereich_kurzbz'];
|
|
$lf->kurzbz=$_POST['kurzbz'];
|
|
$lf->bezeichnung = $_POST['bezeichnung'];
|
|
$lf->farbe = $_POST['farbe'];
|
|
$lf->aktiv = isset($_POST['aktiv']);
|
|
$lf->semester = $_POST['semester'];
|
|
$lf->sprache = $_POST['sprache'];
|
|
$lf->updateamum = date('Y-m-d H:i:s');
|
|
$lf->updatevon = $user;
|
|
|
|
if(!$lf->save())
|
|
{
|
|
echo "<br>$lf->errormsg<br>";
|
|
}
|
|
}
|
|
|
|
$outp='<form method="GET" action="'.$_SERVER['PHP_SELF'].'">';
|
|
|
|
$s=array();
|
|
$outp.= " Studiengang: <SELECT name='filter_stg_kz'>";
|
|
$count_fb = count($rechte->getFbKz());
|
|
if($count_fb>0)
|
|
$outp.= '<option value="" >-- Alle --</option>';
|
|
$s['']->max_sem=8;
|
|
$s['']->kurzbz='';
|
|
|
|
foreach ($studiengang as $stg)
|
|
{
|
|
if($rechte->isBerechtigt('lehre/lehrfach:begrenzt', $stg->oe_kurzbz))
|
|
{
|
|
if($count_fb==0 && $filter_stg_kz=='')
|
|
$filter_stg_kz=$stg->studiengang_kz;
|
|
|
|
if($stg->studiengang_kz==$filter_stg_kz)
|
|
$selected='selected';
|
|
else
|
|
$selected='';
|
|
|
|
$outp.= '<option value="'.$stg->studiengang_kz.'" '.$selected.'>'.$stg->kuerzel.'</option>';
|
|
}
|
|
|
|
$s[$stg->studiengang_kz]->max_sem=$stg->max_semester;
|
|
$s[$stg->studiengang_kz]->kurzbz=$stg->kuerzel;
|
|
}
|
|
$outp.="</SELECT>";
|
|
$outp.=" Semester: <SELECT name='filter_semester'>";
|
|
$outp.= '<option value="" >-- Alle --</option>';
|
|
for ($i=0;$i<=$s[$filter_stg_kz]->max_sem;$i++)
|
|
{
|
|
if($filter_semester!='' && $i==$filter_semester)
|
|
$selected='selected';
|
|
else
|
|
$selected='';
|
|
|
|
$outp.= '<option value="'.$i.'" '.$selected.'>'.$i.'</option>';
|
|
}
|
|
$outp.="</SELECT>";
|
|
|
|
$outp.= " Institut: <SELECT name='filter_fachbereich_kurzbz'>";
|
|
|
|
$outp.= '<option value="">-- Alle --</option>';
|
|
|
|
foreach ($fachbereiche as $fb)
|
|
{
|
|
if($fb->fachbereich_kurzbz==$filter_fachbereich_kurzbz)
|
|
$selected='selected';
|
|
else
|
|
$selected='';
|
|
if($fb->aktiv)
|
|
{
|
|
$outp.= '<option value="'.$fb->fachbereich_kurzbz.'" '.$selected.'>'.$fb->bezeichnung.'</option>';
|
|
}
|
|
else
|
|
{
|
|
$outp.= '<option style="color: red;" value="'.$fb->fachbereich_kurzbz.'" '.$selected.'>'.$fb->bezeichnung.'</option>';
|
|
}
|
|
}
|
|
$outp.="</SELECT>";
|
|
|
|
$outp.="
|
|
<input type='submit' value='Anzeigen'>
|
|
</form>";
|
|
|
|
echo '
|
|
<html>
|
|
<head>
|
|
<title>Lehrfach 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>
|
|
</head>
|
|
<body>
|
|
<H2>Lehrfach Verwaltung ('.$s[$filter_stg_kz]->kurzbz.' '.$filter_semester.' '.$filter_fachbereich_kurzbz.')</H2>
|
|
';
|
|
|
|
echo $outp;
|
|
|
|
if($filter_stg_kz=='' && $filter_fachbereich_kurzbz=='' && !isset($_GET['type']))
|
|
die('Bitte einen Studiengang oder Fachbereich auswaehlen');
|
|
|
|
if (isset($_GET['type']) && $_GET['type']=='aktiv')
|
|
{
|
|
$lf = new lehrfach();
|
|
$lf->load($_GET['lehrfach_nr']);
|
|
|
|
$stg_obj = new studiengang();
|
|
if(!$stg_obj->load($lf->studiengang_kz))
|
|
die('Studiengang konnte nicht ermittelt werden');
|
|
|
|
if(!$rechte->isBerechtigt('lehre/lehrfach:begrenzt',$stg_obj->oe_kurzbz,'sui'))
|
|
die('Sie haben keine Berechtigung fuer diese Aktion');
|
|
|
|
if ($lf->aktiv)
|
|
$lf->aktiv=false;
|
|
else
|
|
$lf->aktiv=true;
|
|
$lf->updatevon = $user;
|
|
|
|
if(!$lf->save())
|
|
{
|
|
echo "<br>$lf->errormsg<br>";
|
|
}
|
|
unset($_GET['type']);
|
|
}
|
|
|
|
if (isset($_GET['type']) && $_GET['type']=='edit')
|
|
{
|
|
$lf=new lehrfach();
|
|
$lf->load($_GET['lehrfach_nr']);
|
|
|
|
$stg_obj = new studiengang();
|
|
if(!$stg_obj->load($lf->studiengang_kz))
|
|
die('Studiengang konnte nicht ermittelt werden');
|
|
|
|
if(!$rechte->isBerechtigt('lehre/lehrfach',$stg_obj->oe_kurzbz,'sui'))
|
|
die('Sie haben keine Berechtigung fuer diese Aktion');
|
|
|
|
echo '<form name="lehrfach_edit" method="post" action="lehrfach.php?filter_stg_kz='.$filter_stg_kz.'&filter_semester='.$filter_semester.'&filter_fachbereich_kurzbz='.$filter_fachbereich_kurzbz.'">';
|
|
echo '<p><b>Edit Lehrfach: '.$_GET['lehrfach_nr'].'</b>';
|
|
echo '<table>';
|
|
echo '<tr><td>';
|
|
echo " Studiengang:</td><td>\n <SELECT name='stg_kz'>";
|
|
|
|
foreach ($studiengang as $stg)
|
|
{
|
|
if($stg->studiengang_kz==$lf->studiengang_kz)
|
|
$selected='selected';
|
|
else
|
|
$selected='';
|
|
|
|
echo "\n".'<option value="'.$stg->studiengang_kz.'" '.$selected.'>'.$stg->kuerzel.'</option>';
|
|
}
|
|
echo "</SELECT></td></tr>";
|
|
|
|
echo "<tr><td>Semester:</td><td> <SELECT name='semester'>";
|
|
for ($i=0;$i<=$s[$lf->studiengang_kz]->max_sem;$i++)
|
|
{
|
|
if($i==$lf->semester)
|
|
$selected='selected';
|
|
else
|
|
$selected='';
|
|
|
|
echo '<option value="'.$i.'" '.$selected.'>'.$i.'</option>';
|
|
}
|
|
echo "</SELECT></td></tr>";
|
|
echo '
|
|
<tr><td><i>Institut</i></td><td><SELECT name="fachbereich_kurzbz" onchange="document.getElementById(\'farbe\').value=this.options[this.selectedIndex].getAttribute(\'farbe\')">
|
|
<option value="-1">- auswählen -</option>';
|
|
foreach($fachbereiche as $fb)
|
|
{
|
|
if($fb->fachbereich_kurzbz==$lf->fachbereich_kurzbz)
|
|
$selected='selected';
|
|
else
|
|
$selected='';
|
|
if($fb->aktiv)
|
|
{
|
|
echo "<option value=\"$fb->fachbereich_kurzbz\" farbe=\"$fb->farbe\" $selected";
|
|
|
|
}
|
|
else
|
|
{
|
|
echo "<option style=\"color: red;\" value=\"$fb->fachbereich_kurzbz\" farbe=\"$fb->farbe\" $selected";
|
|
}
|
|
echo " >$fb->fachbereich_kurzbz.$gg</option>\n";
|
|
}
|
|
|
|
echo '</SELECT></td></tr>';
|
|
|
|
echo '<tr><td><i>Name</i></td><td><input type="text" name="bezeichnung" size="30" maxlength="250" value="'.$lf->bezeichnung.'"></td></tr>';
|
|
echo '<tr><td><i>Kurzbezeichnung</i></td><td>';
|
|
echo '<input type="text" name="kurzbz" size="30" maxlength="12" value="'.$lf->kurzbz.'"></td></tr>';
|
|
echo '<tr><td><i>Farbe</i></td><td>';
|
|
echo '<input type="text" name="farbe" id="farbe" size="30" maxlength="7" value="'.$lf->farbe.'"></td></tr>';
|
|
|
|
echo '<tr><td>Aktiv</td><td><input type="checkbox" name="aktiv" value="1" '.($lf->aktiv?'checked':'').' />';
|
|
echo '<tr><td>Sprache</td><td><select name="sprache">';
|
|
|
|
$qry1="SELECT * FROM public.tbl_sprache";
|
|
if(!$result1=$db->db_query($qry1))
|
|
{
|
|
die( "Fehler bei der DB-Connection");
|
|
}
|
|
|
|
while($row1=$db->db_fetch_object($result1))
|
|
{
|
|
if($row1->sprache==$lf->sprache)
|
|
echo "<option value='$row1->sprache' selected>$row1->sprache</option>";
|
|
else
|
|
echo "<option value='$row1->sprache'>$row1->sprache</option>";
|
|
}
|
|
|
|
echo '</select></td></tr>';
|
|
echo '</table>';
|
|
echo '<input type="hidden" name="type" value="editsave">';
|
|
echo '<input type="hidden" name="lehrfach_id" value="'.$lf->lehrfach_id.'">';
|
|
echo '<input type="submit" name="save" value="Speichern">';
|
|
echo '</p><hr></form>';
|
|
}
|
|
else
|
|
{
|
|
if($rechte->isBerechtigt('lehre/lehrfach',null,'sui'))
|
|
{
|
|
//Neuanlage
|
|
echo '
|
|
<form action="lehrfach.php?filter_stg_kz='.$filter_stg_kz.'&filter_semester='.$filter_semester.'&filter_fachbereich_kurzbz='.$filter_fachbereich_kurzbz.'" method="post" name="lehrfach_neu" id="lehrfach_neu">
|
|
<p><b>Neues Lehrfach</b>: <br/>';
|
|
echo '<table>';
|
|
echo '<tr><td>';
|
|
echo " Studiengang:</td><td> <SELECT name='stg_kz'>";
|
|
|
|
foreach ($studiengang as $stg)
|
|
{
|
|
if($stg->studiengang_kz==$filter_stg_kz)
|
|
$selected='selected';
|
|
else
|
|
$selected='';
|
|
|
|
echo '<option value="'.$stg->studiengang_kz.'" '.$selected.'>'.$stg->kuerzel.'</option>';
|
|
}
|
|
echo "</SELECT></td></tr>";
|
|
|
|
echo "<tr><td>Semester:</td><td> <SELECT name='semester'>";
|
|
for ($i=0;$i<=$s[$filter_stg_kz]->max_sem;$i++)
|
|
{
|
|
if($filter_semester!='' && $i==$filter_semester)
|
|
$selected='selected';
|
|
else
|
|
$selected='';
|
|
|
|
echo '<option value="'.$i.'" '.$selected.'>'.$i.'</option>';
|
|
}
|
|
echo "</SELECT></td></tr>";
|
|
echo '
|
|
<tr><td><i>Institut</i></td><td><SELECT name="fachbereich_kurzbz" onchange="document.getElementById(\'farbe\').value=this.options[this.selectedIndex].getAttribute(\'farbe\')">
|
|
<option value="-1">- auswählen -</option>';
|
|
|
|
foreach($fachbereiche as $fb)
|
|
{
|
|
if($fb->aktiv)
|
|
{
|
|
echo "<option value=\"$fb->fachbereich_kurzbz\" farbe=\"$fb->farbe\"";
|
|
|
|
}
|
|
else
|
|
{
|
|
echo "<option style=\"color: red;\" value=\"$fb->fachbereich_kurzbz\" farbe=\"$fb->farbe\"";
|
|
}
|
|
echo " >$fb->fachbereich_kurzbz</option>\n";
|
|
}
|
|
|
|
echo '</SELECT></td></tr>';
|
|
|
|
echo '<tr><td><i>Name</i></td><td><input type="text" name="bezeichnung" size="30" maxlength="250" value=""></td></tr>';
|
|
echo '<tr><td><i>Kurzbezeichnung</i></td><td>';
|
|
echo '<input type="text" name="kurzbz" size="30" maxlength="12" value=""></td></tr>';
|
|
echo '<tr><td><i>Farbe</i></td><td>';
|
|
echo '<input type="text" name="farbe" id="farbe" size="30" maxlength="7" value=""></td></tr>';
|
|
echo '<tr><td>Sprache</td><td><select name="sprache">';
|
|
|
|
$qry1="SELECT * FROM public.tbl_sprache";
|
|
if(!$result1=$db->db_query($qry1))
|
|
die( 'Fehler bei der DB-Connection');
|
|
|
|
while($row1=$db->db_fetch_object($result1))
|
|
echo "<option value='$row1->sprache'>$row1->sprache</option>";
|
|
|
|
echo '</select></td></tr> </table>';
|
|
|
|
echo '
|
|
<input type="hidden" name="type" value="save">
|
|
<input type="submit" name="neu" value="Speichern">
|
|
</p>
|
|
</form>
|
|
<hr>';
|
|
}
|
|
}
|
|
|
|
|
|
if(!isset($_GET['type']))
|
|
{
|
|
if($rechte->isBerechtigt('lehre/lehrfach'))
|
|
$where = '';
|
|
else
|
|
$where = ' AND aktiv=true';
|
|
|
|
|
|
$sql_query="SELECT
|
|
tbl_lehrfach.lehrfach_id AS Nummer, tbl_lehrfach.kurzbz AS Fach, tbl_lehrfach.bezeichnung AS Bezeichnung,
|
|
tbl_lehrfach.farbe AS Farbe, fachbereich_kurzbz as fachbereich, tbl_lehrfach.aktiv, tbl_lehrfach.sprache AS Sprache,
|
|
tbl_lehrfach.studiengang_kz, tbl_lehrfach.semester
|
|
FROM
|
|
lehre.tbl_lehrfach
|
|
WHERE true
|
|
".($filter_stg_kz!=''?"AND tbl_lehrfach.studiengang_kz='$filter_stg_kz'":'')."
|
|
".($filter_semester!=''?"AND semester='$filter_semester'":'')."
|
|
".($filter_fachbereich_kurzbz!=''?"AND fachbereich_kurzbz = '$filter_fachbereich_kurzbz'":'')."
|
|
$where
|
|
ORDER BY tbl_lehrfach.kurzbz, tbl_lehrfach.lehrfach_id";
|
|
|
|
//echo $sql_query;
|
|
if(!$result_lehrfach=$db->db_query($sql_query))
|
|
error("Lehrfach not found!");
|
|
|
|
|
|
if ($result_lehrfach!=0)
|
|
{
|
|
echo '
|
|
<h3>Übersicht - '.$db->db_num_rows($result_lehrfach).' Einträge</h3>
|
|
<table class="liste table-autosort:2 table-stripeclass:alternate table-autostripe">
|
|
<thead>';
|
|
|
|
echo "
|
|
<tr class='liste'>
|
|
<th class='table-sortable:default'>ID</th>
|
|
<th class='table-sortable:default'>Stg</th>
|
|
<th class='table-sortable:default'>Sem</th>
|
|
<th class='table-sortable:default'>Kurzbz</th>
|
|
<th class='table-sortable:default'>Bezeichnung</th>
|
|
<th class='table-sortable:default'>Farbe</th>
|
|
<th class='table-sortable:default'>Aktiv</th>
|
|
<th class='table-sortable:default'>Institut</th>
|
|
<th class='table-sortable:default'>Sprache</th>
|
|
<th class='table-sortable:default'> </th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>";
|
|
|
|
$num_rows=$db->db_num_rows($result_lehrfach);
|
|
for($i=0;$i<$num_rows;$i++)
|
|
{
|
|
$row=$db->db_fetch_object($result_lehrfach);
|
|
echo "
|
|
<tr>
|
|
<td>$row->nummer</td>
|
|
<td>".$s[$row->studiengang_kz]->kurzbz."</td>
|
|
<td>$row->semester</td>
|
|
<td>$row->fach</td>
|
|
<td>$row->bezeichnung</td>
|
|
<td>$row->farbe</td>".
|
|
"<td valign='middle' align='center'><form style='margin:0; padding:0' action=\"lehrfach.php?lehrfach_nr=$row->nummer&type=aktiv&filter_stg_kz=$filter_stg_kz&filter_semester=$filter_semester&filter_fachbereich_kurzbz=$filter_fachbereich_kurzbz\" method='POST'><input type='image' src='../../skin/images/".($row->aktiv=='t'?'true.png':'false.png')."' height='20' style='border:0px;'></form></td>".
|
|
"<td>$row->fachbereich</td>
|
|
<td>$row->sprache</td>
|
|
<td>";
|
|
if($rechte->isBerechtigt('lehre/lehrfach', null, 'sui'))
|
|
echo "<a href=\"lehrfach.php?lehrfach_nr=$row->nummer&type=edit&filter_stg_kz=$filter_stg_kz&filter_semester=$filter_semester&filter_fachbereich_kurzbz=$filter_fachbereich_kurzbz\">Edit</a>";
|
|
echo "</td></tr>";
|
|
}
|
|
|
|
echo '</tbody></table>';
|
|
}
|
|
else
|
|
echo "Kein Eintrag gefunden!";
|
|
}
|
|
|
|
?>
|
|
<br>
|
|
</body>
|
|
</html>
|