mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
355 lines
13 KiB
PHP
355 lines
13 KiB
PHP
<?php
|
|
/* Copyright (C) 2009 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 Simane-Sequens <gerald.simane-sequens@technikum-wien.at>
|
|
*/
|
|
/**
|
|
* Seite zum Editieren von Testtool-Gebieten
|
|
*/
|
|
|
|
require_once('../../../config/cis.config.inc.php');
|
|
require_once('../../../include/functions.inc.php');
|
|
require_once('../../../include/gebiet.class.php');
|
|
require_once('../../../include/benutzerberechtigung.class.php');
|
|
require_once('../../../include/studiengang.class.php');
|
|
require_once('../../../include/sprache.class.php');
|
|
|
|
if (!$user = get_uid())
|
|
die('Sie sind nicht angemeldet. Es wurde keine Benutzer UID gefunden ! <a href="javascript:history.back()">Zurück</a>');
|
|
|
|
$db = new basis_db();
|
|
|
|
$rechte = new benutzerberechtigung();
|
|
$rechte->getBerechtigungen($user);
|
|
|
|
$sprache = new sprache();
|
|
$sprache->getAll(true, 'index');
|
|
|
|
$sprache_user = getSprache();
|
|
|
|
if (isset($_GET['gebiet_id']))
|
|
$gebiet_id = $_GET['gebiet_id'];
|
|
else
|
|
$gebiet_id = '';
|
|
|
|
$stg_kz = (isset($_GET['stg_kz'])?$_GET['stg_kz']:'-1');
|
|
|
|
echo '
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
|
|
<link href="../../../skin/tablesort.css" rel="stylesheet" type="text/css">
|
|
<script type="text/javascript" src="../../../vendor/jquery/jquery1/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>
|
|
<script type="text/javascript">
|
|
$(document).ready(function()
|
|
{
|
|
$("#t1").tablesorter(
|
|
{
|
|
sortList: [[0,0],[1,0]],
|
|
widgets: ["zebra"]
|
|
});
|
|
});
|
|
|
|
function deleteZuordnung(ablauf_id)
|
|
{
|
|
if (confirm("Wollen Sie dieses Zuordnung wirklich entfernen?"))
|
|
{
|
|
$("#data").html(\'<form action="edit_gebiet.php?gebiet_id='.$gebiet_id.'" name="sendform" id="sendform" method="POST"><input type="hidden" name="action" value="deleteZuordnung" /><input type="hidden" name="ablauf_id" value="\'+ablauf_id+\'" /></form>\');
|
|
document.sendform.submit();
|
|
}
|
|
return false;
|
|
}
|
|
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<div id="data"></div>
|
|
';
|
|
|
|
echo '<h1> Gebiet bearbeiten</h1>';
|
|
|
|
if (!$rechte->isBerechtigt('basis/testtool'))
|
|
die($rechte->errormsg);
|
|
|
|
$gebiet = new gebiet();
|
|
$gebiet->getAll();
|
|
|
|
echo '<a href="index.php?gebiet_id='.$gebiet_id.'&stg_kz='.$stg_kz.'" class="Item">Zurück zur Admin Seite</a><br /><br />';
|
|
|
|
//Liste der Gebiete anzeigen
|
|
echo '<form id="gebiet_form" action="'.$_SERVER['PHP_SELF'].'" method="GET">';
|
|
echo 'Gebiet: <SELECT name="gebiet_id" onchange="document.getElementById(\'gebiet_form\').submit();">';
|
|
|
|
foreach ($gebiet->result as $row)
|
|
{
|
|
if ($gebiet_id == '')
|
|
$gebiet_id = $row->gebiet_id;
|
|
|
|
if ($gebiet_id == $row->gebiet_id)
|
|
$selected = 'selected';
|
|
else
|
|
$selected = '';
|
|
|
|
echo '<OPTION value="'.$row->gebiet_id.'" '.$selected.'>'.$row->bezeichnung.' - '.$row->kurzbz.' - '.$row->zeit.'</OPTION>';
|
|
}
|
|
echo '</SELECT>
|
|
<!--<input type="submit" value="Bearbeiten">-->
|
|
</form>';
|
|
|
|
echo '<br /><br />';
|
|
|
|
// Ablaufzuordnung entfernen
|
|
if (isset($_POST['action']) && $_POST['action'] == 'deleteZuordnung')
|
|
{
|
|
if (!isset($_POST['ablauf_id']) || !is_numeric($_POST['ablauf_id']))
|
|
die('ungueltige Parameteruebergabe');
|
|
|
|
$ablauf_id = $_POST['ablauf_id'];
|
|
|
|
$ablauf = new gebiet();
|
|
if ($ablauf->deleteAblaufZuordnung($ablauf_id))
|
|
echo '<span class="ok">Ablauf wurde entfernt</span>';
|
|
else
|
|
echo '<span class="error">Fehler beim Entfernen:'.$ablauf->errormsg.'</span>';
|
|
}
|
|
// Ablaufzuordnung hinzufügen
|
|
if (isset($_POST['action']) && $_POST['action'] == 'saveAblauf')
|
|
{
|
|
$ablauf_vorgaben_id = $_POST['ablauf_vorgaben_id'];
|
|
$studiengang_kz = $_POST['studiengang_kz'];
|
|
$reihung = $_POST['reihung'];
|
|
$gewicht = $_POST['gewicht'];
|
|
$semester = $_POST['semester'];
|
|
|
|
$ablauf = new gebiet();
|
|
|
|
$ablauf->ablauf_vorgaben_id = $ablauf_vorgaben_id;
|
|
$ablauf->studiengang_kz = $studiengang_kz;
|
|
$ablauf->reihung = $reihung;
|
|
$ablauf->gewicht = $gewicht;
|
|
$ablauf->semester = $semester;
|
|
$ablauf->new = true;
|
|
$ablauf->gebiet_id = $gebiet_id;
|
|
|
|
if ($ablauf->saveAblauf())
|
|
echo '<span class="ok">Ablauf gespeichert</span>';
|
|
else
|
|
echo '<span class="error">Fehler beim Speichern:'.$ablauf->errormsg.'</span>';
|
|
}
|
|
|
|
//Speichern der Daten
|
|
if (isset($_POST['speichern']))
|
|
{
|
|
if (!$rechte->isBerechtigt('basis/testtool', null, 'suid'))
|
|
die($rechte->errormsg);
|
|
|
|
$gebiet = new gebiet();
|
|
if ($gebiet->load($gebiet_id))
|
|
{
|
|
$bezeichnung_mehrsprachig=array();
|
|
foreach($sprache->result as $row_sprache)
|
|
{
|
|
if(isset($_POST['bezeichnung_mehrsprachig_'.$row_sprache->sprache]) && $_POST['bezeichnung_mehrsprachig_'.$row_sprache->sprache]!='')
|
|
$bezeichnung_mehrsprachig[$row_sprache->sprache]=$_POST['bezeichnung_mehrsprachig_'.$row_sprache->sprache];
|
|
}
|
|
$gebiet->bezeichnung_mehrsprachig = $bezeichnung_mehrsprachig;
|
|
|
|
$gebiet->kurzbz = $_POST['kurzbz'];
|
|
$gebiet->bezeichnung = $_POST['bezeichnung'];
|
|
$gebiet->beschreibung = $_POST['beschreibung'];
|
|
$gebiet->zeit = $_POST['zeit'];
|
|
$gebiet->multipleresponse = isset($_POST['multipleresponse']);
|
|
$gebiet->kategorien = isset($_POST['kategorien']);
|
|
$gebiet->zufallfrage = isset($_POST['zufallfrage']);
|
|
$gebiet->zufallvorschlag = isset($_POST['zufallvorschlag']);
|
|
$gebiet->levelgleichverteilung = isset($_POST['levelgleichverteilung']);
|
|
$gebiet->maxpunkte = $_POST['maxpunkte'];
|
|
$gebiet->offsetpunkte = $_POST['offsetpunkte'];
|
|
$gebiet->maxfragen = $_POST['maxfragen'];
|
|
$gebiet->level_start = $_POST['level_start'];
|
|
$gebiet->level_sprung_auf = $_POST['level_sprung_auf'];
|
|
$gebiet->level_sprung_ab = $_POST['level_sprung_ab'];
|
|
$gebiet->updateamum = date('Y-m-d H:i:s');
|
|
$gebiet->updatevon = $user;
|
|
$gebiet->antwortenprozeile = $_POST['antwortenprozeile'];
|
|
|
|
if ($gebiet->save(false))
|
|
{
|
|
echo 'Daten erfolgreich gespeichert';
|
|
}
|
|
else
|
|
{
|
|
echo '<span class="error">Fehler beim Speichern: '.$gebiet->errormsg.'</span>';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
echo '<span class="error">Fehler beim Laden des Gebiets</span>';
|
|
}
|
|
}
|
|
|
|
if ($gebiet_id != '')
|
|
{
|
|
$gebiet = new gebiet($gebiet_id);
|
|
|
|
echo "<hr />";
|
|
echo '<form accept-charset="UTF-8" action="'.$_SERVER['PHP_SELF'].'?gebiet_id='.$gebiet_id.'&stg_kz='.$stg_kz.'" method="POST">';
|
|
echo '<table>';
|
|
|
|
echo '<tr>';
|
|
//ID
|
|
echo '<td>ID</td><td><input type="text" disabled value="'.$gebiet_id.'" size="10" /></td>';
|
|
echo '</tr><tr>';
|
|
//Kurzbz
|
|
echo '<td>Kurzbz</td><td><input type="text" maxlength="10" size="10" name="" value="'.$gebiet->kurzbz.'" disabled /><input type="hidden" name="kurzbz" value="'.$gebiet->kurzbz.'"/></td>';
|
|
echo '</tr><tr>';
|
|
//Bezeichnung
|
|
echo '<td>Bezeichnung (intern)</td><td><input type="text" maxlength="50" name="bezeichnung" value="'.$gebiet->bezeichnung.'" /></td>';
|
|
echo '</tr><tr>';
|
|
foreach ($sprache->result as $s)
|
|
{
|
|
echo '<td>Bezeichnung '.$s->bezeichnung_arr[$s->sprache].'</td>';
|
|
echo '<td><input type="text" maxlength="255" name="bezeichnung_mehrsprachig_'.$s->sprache.'" value="'.(isset($gebiet->bezeichnung_mehrsprachig[$s->sprache])?$db->convert_html_chars($gebiet->bezeichnung_mehrsprachig[$s->sprache]):'').'" /></td>';
|
|
echo '</tr><tr>';
|
|
}
|
|
//Beschreibung
|
|
echo '<td>Beschreibung (intern)</td><td><textarea name="beschreibung" style="font-size: 9pt">'.$gebiet->beschreibung.'</textarea></td>';
|
|
echo '</tr><tr>';
|
|
//Zeit
|
|
echo '<td>Zeit</td><td><input type="text" name="zeit" size="8" maxlength="8" value="'.$gebiet->zeit.'"> hh:mm:ss</td>';
|
|
echo '</tr><tr>';
|
|
echo '<td>Multiple Response</td><td><input type="checkbox" name="multipleresponse" '.($gebiet->multipleresponse?'checked="checked"':'').'></td>';
|
|
echo '</tr><tr>';
|
|
echo '<td>Kategorien</td><td><input type="checkbox" name="kategorien" '.($gebiet->kategorien?'checked="checked"':'').'></td>';
|
|
echo '</tr><tr>';
|
|
echo '<td>Zufällige Fragereihenfolge</td><td><input type="checkbox" name="zufallfrage" '.($gebiet->zufallfrage?'checked="checked"':'').'></td>';
|
|
echo '</tr><tr>';
|
|
echo '<td>Zufällige Vorschlagreihenfolge</td><td><input type="checkbox" name="zufallvorschlag" '.($gebiet->zufallvorschlag?'checked="checked"':'').'></td>';
|
|
echo '</tr><tr>';
|
|
echo '<td>Levelgleichverteilung</td><td><input type="checkbox" name="levelgleichverteilung" '.($gebiet->levelgleichverteilung?'checked="checked"':'').'></td>';
|
|
echo '</tr><tr>';
|
|
// empfohlene maximalpunkte berechnen und anzeigen
|
|
$maximalpunkte = $gebiet->berechneMaximalpunkte($gebiet_id);
|
|
if ($gebiet->maxpunkte != $maximalpunkte)
|
|
$hinweis = ' <span class="error">empfohlene Maximalpunkteanzahl: '.round($maximalpunkte).(round($maximalpunkte) != $maximalpunkte?' ('.$maximalpunkte.' gerundet)':'').'</span>';
|
|
else
|
|
$hinweis = '';
|
|
echo '<td>Maximale Punkteanzahl</td><td><input type="text" size="5" maxlength="5" name="maxpunkte" value="'.$gebiet->maxpunkte.'">'.$hinweis.'</td>';
|
|
echo '</tr><tr>';
|
|
// empfohlene offsetpunkte berechnen und anzeigen
|
|
$offsethinweis = '';
|
|
$offsetpunkte = $gebiet->berechneOffsetpunkte($gebiet_id);
|
|
if ($offsetpunkte)
|
|
{
|
|
$offsetwarnung = strlen($gebiet->errormsg) > 0 ? ' (HINWEIS: '.$gebiet->errormsg.')' : '';
|
|
|
|
$offsethinweis = ' <span class="error">empfohlene Offsetpunkteanzahl: '.ceil($offsetpunkte).(ceil($offsetpunkte) != $offsetpunkte ? ' ('.$offsetpunkte.' gerundet)' : '').'</span>';
|
|
$offsethinweis .= '<span class="error">'.$offsetwarnung.'</span>';
|
|
}
|
|
echo '<td>Offsetpunkte (maximale Negativpunkte)</td><td><input type="text" size="5" maxlength="7" name="offsetpunkte" value="'.$gebiet->offsetpunkte.'">'.$offsethinweis.'</td>';
|
|
echo '</tr><tr>';
|
|
echo '<td>Maximale Fragenanzahl</td><td><input type="text" size="5" maxlength="5" name="maxfragen" value="'.$gebiet->maxfragen.'"></td>';
|
|
echo '</tr><tr>';
|
|
echo '<td>Antworten pro Zeile</td><td><input type="text" size="5" maxlength="2" name="antwortenprozeile" value="'.$gebiet->antwortenprozeile.'" required></td>';
|
|
echo '</tr><tr>';
|
|
echo '<td>Start Level</td><td><input type="text" size="5" maxlength="5" name="level_start" value="'.$gebiet->level_start.'"></td>';
|
|
echo '</tr><tr>';
|
|
echo '<td>Richtige Fragen bis Levelaufstieg</td><td><input type="text" size="5" maxlength="5" name="level_sprung_auf" value="'.$gebiet->level_sprung_auf.'"></td>';
|
|
echo '</tr><tr>';
|
|
echo '<td>Falsche Fragen bis Levelabstieg</td><td><input type="text" size="5" maxlength="5" name="level_sprung_ab" value="'.$gebiet->level_sprung_ab.'"></td>';
|
|
echo '</tr><tr>';
|
|
echo '<td></td><td><input type="submit" name="speichern" value="Speichern"></td>';
|
|
echo '</tr></table>';
|
|
|
|
echo '</form>';
|
|
|
|
echo '<hr />
|
|
<h2>Zuordnung</h2>';
|
|
|
|
$gebiet = new gebiet();
|
|
$gebiet->loadAblaufGebiet($gebiet_id);
|
|
|
|
$studiengang = new studiengang();
|
|
$studiengang->getAll('typ, kurzbz', false);
|
|
|
|
echo '<table id="t1" class="tablesorter">
|
|
<thead>
|
|
<tr>
|
|
<th>Studiengang</th>
|
|
<th>Semester</th>
|
|
<th>Reihung</th>
|
|
<th>Gewicht</th>
|
|
<th>Vorgaben</th>
|
|
<th>Aktion</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>';
|
|
foreach ($gebiet->result as $row)
|
|
{
|
|
echo '<tr>
|
|
<td>'.$studiengang->kuerzel_arr[$row->studiengang_kz].'</td>
|
|
<td>'.$row->semester.'</td>
|
|
<td>'.$row->reihung.'</td>
|
|
<td>'.$row->gewicht.'</td>
|
|
<td>'.$row->ablauf_vorgaben_id.'</td>
|
|
<td><a href="#loeschen" onclick="return deleteZuordnung(\''.$row->ablauf_id.'\');" ><img src="../../../skin/images/delete.png" height="15px" /></a></td>
|
|
</tr>';
|
|
}
|
|
echo '</tbody>';
|
|
echo '<tfoot>
|
|
<tr>
|
|
<td><select name="studiengang_kz">';
|
|
foreach ($studiengang->kuerzel_arr as $stg_kz => $row_stg)
|
|
{
|
|
echo '<option value="'.$stg_kz.'">'.$row_stg.'</option>';
|
|
}
|
|
echo '</select>
|
|
</td>
|
|
<td><input type="text" name="reihung" value="1" size="2" /></td>
|
|
<td><input type="text" name="gewicht" value="1" size="2"/></td>
|
|
<td><input type="text" name="semester" value="1" size="2"/></td>
|
|
<td>
|
|
<select name="ablauf_vorgaben_id">';
|
|
|
|
$ablauf_vorgabe = new gebiet();
|
|
$ablauf_vorgabe->getAblaufVorgaben();
|
|
|
|
foreach ($ablauf_vorgabe->result as $vorgabe)
|
|
{
|
|
echo '<option value="'.$vorgabe->ablauf_vorgaben_id.'">'.$studiengang->kuerzel_arr[$vorgabe->studiengang_kz].' - Sprache: '.$vorgabe->sprache.' Sprachwahl: '.($vorgabe->sprachwahl?'Ja':'Nein').' Content:'.$vorgabe->content_id.'</option>';
|
|
}
|
|
|
|
echo '</select></td>
|
|
<td>
|
|
<input type="hidden" name="action" value="saveAblauf" />
|
|
<input type="submit" value="speichern" /></td>
|
|
</tr>';
|
|
echo '</tfoot></table>';
|
|
echo '</form>';
|
|
}
|
|
|
|
echo '</body></html>';
|
|
?>
|