mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
459 lines
19 KiB
PHP
Executable File
459 lines
19 KiB
PHP
Executable File
<!DOCTYPE html>
|
|
<?php
|
|
/*
|
|
* Copyright 2014 fhcomplete.org
|
|
*
|
|
* 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., 51 Franklin Street, Fifth Floor, Boston,
|
|
* MA 02110-1301, USA.
|
|
*
|
|
*
|
|
* Authors: Stefan Puraner <puraner@technikum-wien.at>
|
|
*/
|
|
|
|
require_once('../../../../config/cis.config.inc.php');
|
|
require_once('../../../../include/functions.inc.php');
|
|
require_once('../../../../include/benutzerberechtigung.class.php');
|
|
require_once('../../../../include/organisationseinheit.class.php');
|
|
require_once('../../../../include/studiensemester.class.php');
|
|
require_once('../../../../include/datum.class.php');
|
|
require_once('../../../../include/pruefungsfenster.class.php');
|
|
require_once('../../../../include/phrasen.class.php');
|
|
require_once('../../../../include/globals.inc.php');
|
|
require_once('../../../../include/sprache.class.php');
|
|
|
|
$sprache = getSprache();
|
|
$lang = new sprache();
|
|
$lang->load($sprache);
|
|
$p = new phrasen($sprache);
|
|
|
|
$uid = get_uid();
|
|
$db = new basis_db();
|
|
$rechte = new benutzerberechtigung();
|
|
$rechte->getBerechtigungen($uid);
|
|
|
|
if(!$rechte->isBerechtigt('lehre/pruefungsfenster'))
|
|
die('Sie haben keine Berechtigung für diese Seite');
|
|
|
|
function compareOe($a, $b)
|
|
{
|
|
if($a->organisationseinheittyp_kurzbz == $b->organisationseinheittyp_kurzbz)
|
|
return 0;
|
|
|
|
return ($a->organisationseinheittyp_kurzbz < $b->organisationseinheittyp_kurzbz) ? -1 : 1;
|
|
}
|
|
|
|
?>
|
|
<html>
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title><?php echo $p->t('pruefung/titlePruefungsfenster') ?></title>
|
|
<script src="../../../../include/js/datecheck.js"></script>
|
|
<script type="text/javascript" src="../../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
|
|
<script type="text/javascript" src="../../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
|
|
<script type="text/javascript" src="../../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
|
|
<script type="text/javascript" src="../../../../include/js/jquery.ui.datepicker.translation.js"></script>
|
|
<link rel="stylesheet" href="../../../../skin/jquery-ui-1.9.2.custom.min.css">
|
|
<link rel="stylesheet" href="../../../../skin/fhcomplete.css">
|
|
<link rel="stylesheet" href="../../../../skin/style.css.php">
|
|
<link rel="stylesheet" href="../../../../skin/tablesort.css">
|
|
</head>
|
|
<body>
|
|
<script>
|
|
$(document).ready(function() {
|
|
$("#startDate").datepicker({
|
|
minDate: new Date()
|
|
});
|
|
$("#endDate").datepicker({
|
|
minDate: +1
|
|
});
|
|
$("#prfTable").tablesorter({
|
|
widgets: ["zebra"]
|
|
});
|
|
});
|
|
|
|
</script>
|
|
<?php
|
|
$datum = new datum();
|
|
$method = "";
|
|
|
|
//Organisationseinheiten, für die der Benutzer berechtigt ist
|
|
$oe = $rechte->getOEkurzbz("lehre/pruefungsfenster");
|
|
|
|
$studiensemester = new studiensemester();
|
|
$studiensemester->getAll();
|
|
|
|
if (isset($_POST["method"]) && $_POST["method"] == "save")
|
|
{
|
|
$method = $_POST["method"];
|
|
$studiensemester_selected = (isset($_POST["studiensemester"]) ? $_POST["studiensemester"] : "");
|
|
$oe_kurzbz = (isset($_POST["oe_kurzbz"]) ? $_POST["oe_kurzbz"] : "");
|
|
$startDate = (isset($_POST["startDate"]) ? $datum->formatDatum($_POST["startDate"], "Y-m-d") : "");
|
|
$endDate = (isset($_POST["endDate"]) ? $datum->formatDatum($_POST["endDate"], "Y-m-d") : "");
|
|
|
|
if ($endDate != false && $startDate != false)
|
|
{
|
|
if ($datum->DateDiff($startDate, $endDate) >= 0)
|
|
{
|
|
if ($datum->DateDiff(date("Y-m-d"), $endDate) >= 0)
|
|
{
|
|
// if ($datum->DateDiff($startDate, date("Y-m-d")) <= 0)
|
|
// {
|
|
$pruefungsfenster = new pruefungsfenster();
|
|
$pruefungsfenster->new = true;
|
|
$pruefungsfenster->studiensemester_kurzbz = $studiensemester_selected;
|
|
$pruefungsfenster->oe_kurzbz = $oe_kurzbz;
|
|
$pruefungsfenster->start = $startDate;
|
|
$pruefungsfenster->ende = $endDate;
|
|
if ($pruefungsfenster->save())
|
|
{
|
|
echo $p->t('pruefung/erfolgreichgespeichert');
|
|
}
|
|
else {
|
|
echo $p->t('pruefung/fehler').$pruefungsfenster->errormsg;
|
|
}
|
|
// }
|
|
// else
|
|
// {
|
|
// echo "Fehler: Startdatum liegt in der Vergangenheit.";
|
|
// }
|
|
}
|
|
else
|
|
{
|
|
echo $p->t('pruefung/fehlerEndDatumInDerVergangenheit');
|
|
}
|
|
}
|
|
else
|
|
{
|
|
echo $p->t('pruefung/fehlerEndDatumVorStartDatum');
|
|
}
|
|
}
|
|
else
|
|
{
|
|
echo $p->t('pruefung/fehlerDatumNichtKorrekt');
|
|
}
|
|
}
|
|
else if(isset($_POST["method"]) && $_POST["method"] == "update")
|
|
{
|
|
$studiensemester_selected = (isset($_POST["studiensemester"]) ? $_POST["studiensemester"] : "");
|
|
$oe_kurzbz = (isset($_POST["oe_kurzbz"]) ? $_POST["oe_kurzbz"] : "");
|
|
$startDate = (isset($_POST["startDate"]) ? $datum->formatDatum($_POST["startDate"], "Y-m-d") : "");
|
|
$endDate = (isset($_POST["endDate"]) ? $datum->formatDatum($_POST["endDate"], "Y-m-d") : "");
|
|
|
|
if ($endDate != false && $startDate != false)
|
|
{
|
|
if ($datum->DateDiff($startDate, $endDate) >= 0)
|
|
{
|
|
if ($datum->DateDiff(date("Y-m-d"), $endDate) >= 0)
|
|
{
|
|
// if ($datum->DateDiff($startDate, date("Y-m-d")) <= 0)
|
|
// {
|
|
$pruefungsfenster_id = $_POST["id"];
|
|
$pruefungsfenster = new pruefungsfenster();
|
|
$pruefungsfenster->load($pruefungsfenster_id);
|
|
|
|
if(in_array($pruefungsfenster->oe_kurzbz, $oe))
|
|
{
|
|
$pruefungsfenster->studiensemester_kurzbz = $studiensemester_selected;
|
|
$pruefungsfenster->oe_kurzbz = $oe_kurzbz;
|
|
$pruefungsfenster->start = $startDate;
|
|
$pruefungsfenster->ende = $endDate;
|
|
if ($pruefungsfenster->save())
|
|
{
|
|
echo $p->t('pruefung/erfolgreichgeaendert');
|
|
}
|
|
else {
|
|
echo $p->t('pruefung/fehler').$pruefungsfenster->errormsg;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
echo $p->t('pruefung/keineBerechtigungZumAendernDesDatensatzes');
|
|
}
|
|
// }
|
|
// else
|
|
// {
|
|
// echo "Fehler: Startdatum liegt in der Vergangenheit.";
|
|
// }
|
|
}
|
|
else
|
|
{
|
|
echo $p->t('pruefung/fehlerEndDatumInDerVergangenheit');
|
|
}
|
|
}
|
|
else
|
|
{
|
|
echo $p->t('pruefung/fehlerEndDatumVorStartDatum');
|
|
}
|
|
}
|
|
else
|
|
{
|
|
echo $p->t('pruefung/fehlerDatumNichtKorrekt');
|
|
}
|
|
}
|
|
else if(isset($_GET["id"]) && $_GET["id"]!= null && isset($_GET["method"]) && $_GET["method"]=="update")
|
|
{
|
|
$pruefungsfenster_id = $_GET["id"];
|
|
$pruefungsfenster = new pruefungsfenster();
|
|
$pruefungsfenster->load($pruefungsfenster_id);
|
|
if(!in_array($pruefungsfenster->oe_kurzbz, $oe))
|
|
{
|
|
echo $p->t('pruefung/keineBerechtigungZumAnzeigenDesDatensatzes');
|
|
$pruefungsfenster = new pruefungsfenster();
|
|
}
|
|
$method = $_GET["method"];
|
|
}
|
|
else if(isset($_GET["id"]) && $_GET["id"]!= null && isset($_GET["method"]) && $_GET["method"]=="delete")
|
|
{
|
|
$pruefungsfenster_id = $_GET["id"];
|
|
$pruefungsfenster = new pruefungsfenster();
|
|
$pruefungsfenster->load($pruefungsfenster_id);
|
|
|
|
if(in_array($pruefungsfenster->oe_kurzbz, $oe))
|
|
{
|
|
if(!$pruefungsfenster->hasPruefungen($pruefungsfenster_id) && $pruefungsfenster->errormsg === null)
|
|
{
|
|
|
|
if($pruefungsfenster->delete($pruefungsfenster_id))
|
|
{
|
|
echo $p->t('pruefung/erfolgreichgeloescht');
|
|
}
|
|
else
|
|
{
|
|
echo "Fehler: ".$pruefungsfenster->errormsg;
|
|
}
|
|
|
|
}
|
|
else
|
|
{
|
|
echo $p->t('pruefung/pruefungsfensterKonnteNichtGeloeschtWerdenDaPruefungen');
|
|
}
|
|
$method = $_GET["method"];
|
|
}
|
|
else
|
|
{
|
|
echo $p->t('pruefung/keineBerechtigungZumLoeschenDesDatensatzes');
|
|
}
|
|
}
|
|
|
|
$prfFenster = new pruefungsfenster();
|
|
$prfFenster->getAll("start");
|
|
if($method != "update")
|
|
{
|
|
?>
|
|
<h1><?php echo $p->t('pruefung/pruefungsfensterVerwaltung'); ?></h1>
|
|
<h2><?php echo $p->t('pruefung/neuesPruefungsfensterAnlegen'); ?></h2>
|
|
<div>
|
|
<form method="POST" action="pruefungsfenster_anlegen.php">
|
|
<table>
|
|
<tr>
|
|
<td><input type="hidden" name="method" value="save"></td>
|
|
</tr>
|
|
<tr>
|
|
<td><?php echo $p->t('global/studiensemester'); ?>: </td>
|
|
<td>
|
|
<select id="studiensemester" name="studiensemester">
|
|
<?php
|
|
$aktuellesSemester = $studiensemester->getSemesterFromDatum(date("Y-m-d"));
|
|
foreach ($studiensemester->studiensemester as $result)
|
|
{
|
|
if($aktuellesSemester == $result->studiensemester_kurzbz)
|
|
{
|
|
echo '<option selected>'.$result->studiensemester_kurzbz.'</option>';
|
|
}
|
|
else
|
|
{
|
|
echo '<option>'.$result->studiensemester_kurzbz.'</option>';
|
|
}
|
|
}
|
|
?>
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td><?php echo $p->t('global/organisationseinheit'); ?>: </td>
|
|
<td>
|
|
<select id="oe_kurzbz" name="oe_kurzbz">
|
|
<?php
|
|
|
|
$oe_array = array();
|
|
|
|
foreach ($oe as $result)
|
|
{
|
|
$organisationseinheit = new organisationseinheit();
|
|
$organisationseinheit->load($result);
|
|
array_push($oe_array, $organisationseinheit);
|
|
}
|
|
|
|
usort($oe_array, "compareOe");
|
|
|
|
foreach ($oe_array as $result)
|
|
{
|
|
echo '<option value="'.$result->oe_kurzbz.'">'.$result->organisationseinheittyp_kurzbz.' '.$result->bezeichnung.'</option>';
|
|
}
|
|
?>
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td><?php echo $p->t('pruefung/start'); ?>: </td>
|
|
<td><input type="text" id="startDate" name="startDate"></td>
|
|
</tr>
|
|
<tr>
|
|
<td><?php echo $p->t('pruefung/ende'); ?>: </td>
|
|
<td><input type="text" id="endDate" name="endDate"></td>
|
|
</tr>
|
|
<tr>
|
|
<td><input type="submit" value="<?php echo $p->t('global/speichern'); ?>"></td>
|
|
</tr>
|
|
</table>
|
|
</form>
|
|
</div>
|
|
<?php
|
|
}
|
|
else
|
|
{
|
|
?>
|
|
<h1><?php echo $p->t('pruefung/pruefungsfensterVerwaltung'); ?></h1>
|
|
<h2><?php echo $p->t('pruefung/pruefungsfensterBearbeiten'); ?></h2>
|
|
<div>
|
|
<form method="POST" action="pruefungsfenster_anlegen.php">
|
|
<table>
|
|
<tr>
|
|
<td><input type="hidden" name="method" value="update"></td>
|
|
</tr>
|
|
<tr>
|
|
<td><input type="hidden" name="id" value="<?php echo $pruefungsfenster->pruefungsfenster_id; ?>"></td>
|
|
</tr>
|
|
<tr>
|
|
<td><?php echo $p->t('global/studiensemester'); ?>: </td>
|
|
<td>
|
|
<select id="studiensemester" name="studiensemester">
|
|
<?php
|
|
foreach ($studiensemester->studiensemester as $result)
|
|
{
|
|
if($result->studiensemester_kurzbz == $pruefungsfenster->studiensemester_kurzbz)
|
|
{
|
|
echo '<option selected>'.$result->studiensemester_kurzbz.'</option>';
|
|
}
|
|
else
|
|
{
|
|
echo '<option>'.$result->studiensemester_kurzbz.'</option>';
|
|
}
|
|
}
|
|
?>
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td><?php echo $p->t('global/organisationseinheit'); ?>: </td>
|
|
<td>
|
|
<select id="oe_kurzbz" name="oe_kurzbz">
|
|
<?php
|
|
foreach ($oe as $result)
|
|
{
|
|
if($result == $pruefungsfenster->oe_kurzbz)
|
|
{
|
|
echo '<option selected>'.$result.'</option>';
|
|
}
|
|
else
|
|
{
|
|
echo '<option>'.$result.'</option>';
|
|
}
|
|
}
|
|
?>
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td><?php echo $p->t('pruefung/start'); ?>: </td>
|
|
<td><input type="text" id="startDate" name="startDate" value="<?php echo $pruefungsfenster->start; ?>"></td>
|
|
</tr>
|
|
<tr>
|
|
<td><?php echo $p->t('pruefung/ende'); ?>: </td>
|
|
<td><input type="text" id="endDate" name="endDate" value="<?php echo $pruefungsfenster->ende; ?>"></td>
|
|
</tr>
|
|
<tr>
|
|
<td><input type="submit" value="<?php echo $p->t('global/speichern'); ?>"></td>
|
|
<td><a href="pruefungsfenster_anlegen.php"><input type="button" value="<?php echo $p->t('global/abbrechen'); ?>"></a></td>
|
|
</tr>
|
|
</table>
|
|
</form>
|
|
</div>
|
|
<?php
|
|
}
|
|
/*
|
|
* Wenn ein Datensatz um bearbeiten ausgewählt wurde,
|
|
* wird dieser Block nicht angezeigt.
|
|
*/
|
|
|
|
if((isset($_GET["id"]) && $method!="update") || !isset($_GET["id"]))
|
|
{
|
|
?>
|
|
<h2><?php echo $p->t('pruefung/pruefungsfensterBearbeiten'); ?></h2>
|
|
<div style="width: 50%;">
|
|
<?php
|
|
if(!empty($prfFenster->result)){
|
|
|
|
?>
|
|
<table class="tablesorter" id="prfTable">
|
|
<thead>
|
|
<tr>
|
|
<th><?php echo $p->t('global/studiensemester'); ?></th>
|
|
<th><?php echo $p->t('global/organisationseinheit'); ?></th>
|
|
<th><?php echo $p->t('pruefung/start'); ?></th>
|
|
<th><?php echo $p->t('pruefung/ende'); ?></th>
|
|
<th><?php echo $p->t('global/bearbeiten'); ?></th>
|
|
<th><?php echo $p->t('global/loeschen'); ?></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<?php
|
|
$organisationseinheit = new organisationseinheit();
|
|
foreach ($prfFenster->result as $result)
|
|
{
|
|
if(in_array($result->oe_kurzbz, $oe))
|
|
{
|
|
$organisationseinheit->load($result->oe_kurzbz);
|
|
echo
|
|
'<tr>
|
|
<td>'.$result->studiensemester_kurzbz.'</td>
|
|
<td>'.$organisationseinheit->organisationseinheittyp_kurzbz." ".$organisationseinheit->bezeichnung.'</td>
|
|
<td>'.$result->start.'</td>
|
|
<td>'.$result->ende.'</td>
|
|
<td><a href="pruefungsfenster_anlegen.php?method=update&id='.$result->pruefungsfenster_id.'">'.$p->t('global/bearbeiten').'</a></td>
|
|
<td><a href="pruefungsfenster_anlegen.php?method=delete&id='.$result->pruefungsfenster_id.'">'. $p->t('global/loeschen').'</a></td>
|
|
</tr>';
|
|
}
|
|
}
|
|
?>
|
|
</tbody>
|
|
</table>
|
|
<?php
|
|
}
|
|
else
|
|
{
|
|
echo
|
|
'<tr>
|
|
<td>'.$p->t('pruefung/keinePruefungsfensterGespeichert').'</td>
|
|
</tr>';
|
|
}
|
|
?>
|
|
</div>
|
|
<?php
|
|
}
|
|
?>
|
|
</body>
|
|
</html>
|