Files
FHC-Core/cis/private/lehre/pruefung/pruefungsfenster_anlegen.php
T
2017-09-08 19:15:21 +02:00

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>