Testtool und Testtool Administration

- Mehrsprachige Gebietsbezeichnung wird richtig im Menü angezeigt
- Löschen von Bildern und Audiofiles bei Fragen
- In der Ablauf-Verwaltung können nun auch die Sprache, Sprachwahl und
die Content-ID gepflegt werden
This commit is contained in:
kindlm
2017-03-21 17:07:15 +01:00
parent 88d9f3ae1c
commit efedcf3883
5 changed files with 386 additions and 148 deletions
-32
View File
@@ -244,38 +244,6 @@ function loadampel()
</table>
</td>
<td class="rand">
<?php /*echo'
<!-- Menubox-Effekt am Seitenrand. Nettes Feature aber dzt. nicht sinnvoll einsetzbar
<div class="hoverbox">
<div class="preview">
<img src="../skin/images/aufklappen.png" />
<div class="hoverbox_inhalt">
<table class="hoverbox">
<tr>
<td><table style="text-align:right;" width="150px">
<tr>
<td><a href="http://www.hofer.at" target="blank">Impressum</a></td>
</tr>
<tr>
<td><a href="mailto:kindlm@technikum-wien.at">Kontakt</a></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>Powered by <a href="http://fhcomplete.technikum-wien.at" target="blank">FH Complete 2.0</i></a></td>
</tr>
</table>
</td>
<td><img src="../skin/images/aufklappen.png" /></td>
</td>
</tr>
</table>
</div>
</div>
</div>-->';*/
?>
</td>
</tr>
</table>
+187 -88
View File
@@ -34,6 +34,7 @@ require_once('../../../include/studienplan.class.php');
require_once('../../../include/studiensemester.class.php');
require_once('../../../include/organisationsform.class.php');
require_once('../../../include/ablauf.class.php');
require_once('../../../include/content.class.php');
if (!$user = get_uid())
die('Sie sind nicht angemeldet. Es wurde keine Benutzer UID gefunden ! <a href="javascript:history.back()">Zur&uuml;ck</a>');
@@ -47,7 +48,7 @@ $rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
$sprache = new sprache();
$sprache->getAll(true);
$sprache->getAll(true, 'index');
echo '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
@@ -58,26 +59,15 @@ echo '
<link href="../../../skin/tablesort.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="../../../include/js/jquery1.9.min.js" ></script>
<script type="text/javascript">
$(document).ready(function()
{
$("#t1").tablesorter(
{
sortList: [[3,0],[1,0]],
widgets: ["zebra"]
});
});
function deleteZuordnung(ablauf_id)
$(document).ready(function()
{
if (confirm("Wollen Sie dieses Zuordnung wirklich entfernen?"))
{
$("#data").html(\'<form action="edit_gebiet.php" 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>
$("#t1").tablesorter(
{
sortList: [[3,0],[1,0]],
widgets: ["zebra"]
});
});
</script>
</head>
<body>
<div id="data"></div>
@@ -90,7 +80,7 @@ else
$stg_kz = (isset($_GET['stg_kz'])?$_GET['stg_kz']:'-1');
echo '<h1>&nbsp;Gebiete an Studieng&auml;nge anh&auml;ngen</h1>';
echo '<h1>Ablauf der Gebiete verwalten</h1>';
if (!$rechte->isBerechtigt('basis/testtool'))
die($rechte->errormsg);
@@ -102,6 +92,7 @@ $gebiet->getAll();
$ablauf_vorgabe = new gebiet();
$ablauf_vorgabe->getAblaufVorgaben();
$errormsg = '';
echo '<a href="index.php?gebiet_id='.$gebiet_id.'&amp;stg_kz='.$stg_kz.'" class="Item">Zurück zur Admin Seite</a><br /><br />';
echo '<table><tr><td>';
@@ -135,6 +126,44 @@ if (isset($_GET['action']) && $_GET['action'] == 'save')
isset($_POST['semester']) && $_POST['semester'] != '' &&
isset($_POST['studienplan']))
{
// Ablauf-Vorgaben-Daten werden nur beim ersten Gebietseintrag gesendet.
// In diesem Fall wird vorher ein neuer Ablauf-Vorgaben-Eintrag erstellt.
$vorgaben_id = '';
if (isset($_POST['sprache']) && $_POST['sprache'] != '')
{
// Prüfen, ob Content ID schon existiert
foreach ($sprache->result as $row)
{
$content = new content();
if ($content->getContent($_POST['content_id'], $row->sprache))
{
$content_id = $_POST['content_id'];
break;
}
else
{
$content_id = '';
$errormsg = '<span class="error">Content_ID '.$_POST['content_id'].' ist nicht vorhanden und wurde nicht gespeichert</span>';
}
}
echo $errormsg;
$ablauf_vorgaben = new ablauf();
$ablauf_vorgaben->studiengang_kz = $stg_kz;
$ablauf_vorgaben->sprache = $_POST['sprache'];
$ablauf_vorgaben->sprachwahl = isset($_POST['sprachwahl'])?true:false;
$ablauf_vorgaben->content_id = $content_id;
$ablauf_vorgaben->insertamum = date('Y-m-d H:i:s');
$ablauf_vorgaben->insertvon = $user;
if ($ablauf_vorgaben->saveAblaufVorgabe(true))
{
$vorgaben_id = $ablauf_vorgaben->ablauf_vorgaben_id;
}
else
echo $ablauf_vorgaben->errormsg;
}
elseif (isset($_POST['ablauf_vorgaben_id']) && $_POST['ablauf_vorgaben_id'] != '')
$vorgaben_id = $_POST['ablauf_vorgaben_id'];
$ablauf = new ablauf();
$ablauf->studiengang_kz = $_POST['stg_kz'];
$ablauf->gebiet_id = $_POST['gebiet_id'];
@@ -144,6 +173,7 @@ if (isset($_GET['action']) && $_GET['action'] == 'save')
$ablauf->insertvon = $user;
$ablauf->insertamum = date('Y-m-d H:i:s');
$ablauf->studienplan_id = $_POST['studienplan'];
$ablauf->ablauf_vorgaben_id = $vorgaben_id;
if (!$ablauf->save(true))
echo $ablauf->errormsg;
@@ -156,42 +186,58 @@ if (isset($_GET['action']) && $_GET['action'] == 'save')
// Gebiet entfernen
if (isset($_GET['action']) && $_GET['action'] == 'delete')
{
if (isset($_POST['gebiet_id']) && $_POST['gebiet_id'] != '')
if (isset($_POST['ablauf_id']) && $_POST['ablauf_id'] != '')
{
$ablauf = new ablauf();
$ablauf->getAblaufId($stg_kz, $_POST['gebiet_id']);
$ablauf_id = $ablauf->result[0];
if ($ablauf->delete($ablauf_id))
$ablauf = new ablauf($_POST['ablauf_id']);
if ($ablauf->delete($_POST['ablauf_id']))
echo $ablauf->errormsg;
}
else
{
//echo '<span class="error">Bitte f&uuml;llen Sie alle Felder aus</span>';
// Wenn der Ablauf-Eintrag der letzte war, und die Ablauf-Vorgaben-ID nicht woanders verwendet wird, dann auch diesen löschen
if (isset($_POST['ablauf_vorgaben_id']) && $_POST['ablauf_vorgaben_id'] != '')
{
$abl_vorgabe = new ablauf();
$vorlage_count = $abl_vorgabe->countAblaufVorgabe($_POST['ablauf_vorgaben_id']);
if ($vorlage_count == 0)
{
if (!$abl_vorgabe->deleteAblaufVorgabe($_POST['ablauf_vorgaben_id']))
echo $abl_vorgabe->errormsg;
}
}
}
}
// Gebiet bearbeiten
if (isset($_GET['action']) && $_GET['action'] == 'edit')
{
if (isset($_POST['gebiet_id']) && $_POST['gebiet_id'] != '')
if (isset($_POST['ablauf_id']) && $_POST['ablauf_id'] != '')
{
$ablauf = new ablauf();
$ablauf->getAblaufId($stg_kz, $_POST['gebiet_id']);
$ablauf_id = $ablauf->result[0];
$ablauf = new ablauf($ablauf_id);
$ablauf = $ablauf->result[0];
$ablauf = new ablauf($_POST['ablauf_id']);
$gebiet = new gebiet($_POST['gebiet_id']);
$gebiet = new gebiet($ablauf->result[0]->gebiet_id);
$studiengang = new studiengang($stg_kz);
echo '<table><form action="'.$_SERVER['PHP_SELF'].'?stg_kz='.$stg_kz.'&action=editsave" method="POST">
<tr><td>Studiengang_kz: </td><td><input type="text" name="stg_kz" value="'.strtoupper($studiengang->typ.$studiengang->kurzbz).' ('.$studiengang->bezeichnung.')'.'" style="width:98.5%" disabled /></td></tr>
<tr><td>Gebiet: </td><td><input type="text" value="'.$gebiet->kurzbz.' ('.$gebiet->bezeichnung.')" style="width:98.5%" disabled /><input type="hidden" name="gebiet_id" value="'.$ablauf->gebiet_id.'"/></td></tr>
<tr><td>Reihung: </td><td><input type="text" name="reihung" value="'.$ablauf->reihung.'" style="width:98.5%" /></td></tr>
<tr><td>Gewichtung: </td><td><input type="text" name="gewicht" value="'.$ablauf->gewicht.'" style="width:98.5%" /></td></tr>
<tr><td>Semester: </td><td><input type="text" name="semester" value="'.$ablauf->semester.'" style="width:98.5%" /></td></tr>
<tr><td>Gebiet: </td><td><input type="text" value="'.$gebiet->kurzbz.' ('.$gebiet->bezeichnung.')" style="width:98.5%" disabled /><input type="hidden" name="gebiet_id" value="'.$ablauf->result[0]->gebiet_id.'"/></td></tr>
<tr><td>Reihung: </td><td><input type="text" name="reihung" value="'.$ablauf->result[0]->reihung.'" style="width:98.5%" /></td></tr>
<tr><td>Gewichtung: </td><td><input type="text" name="gewicht" value="'.$ablauf->result[0]->gewicht.'" style="width:98.5%" /></td></tr>
<tr><td>Semester: </td><td><input type="text" name="semester" value="'.$ablauf->result[0]->semester.'" style="width:98.5%" /></td></tr>
<tr><td>Studienplan: </td><td>';
drawStudienplanDropdown($stg_kz, $db, $name = 'studienplan_id', null, 'width:100%', $ablauf->studienplan_id);
drawStudienplanDropdown($stg_kz, $db, $name = 'studienplan_id', null, 'width:100%', $ablauf->result[0]->studienplan_id);
echo '</td></tr>
<tr><td>Sprache*: </td><td><select name="sprache">';
foreach ($sprache->result as $row)
{
if ($ablauf->result[0]->sprache == $row->sprache)
$selected = 'selected';
else
$selected = '';
echo '<OPTION value="'.$row->sprache.'" '.$selected.'>'.$row->sprache.'</OPTION>';
}
echo '</SELECT></td></tr>
<tr><td>Sprachwahl*: </td><td><input type="checkbox" name="sprachwahl" '.($ablauf->result[0]->sprachwahl?'checked':'').' /></td></tr>
<tr><td>Content ID*: </td><td><input type="text" name="content_id" value="'.$ablauf->result[0]->content_id.'"/></td></tr>
<tr><td colspan="2">* Wirken sich auf alle Gebiete gleich aus</td></tr>
<tr><td></td><td><input type="submit" value="Speichern" style="width:50%"/><a href="'.$_SERVER['PHP_SELF'].'?stg_kz='.$stg_kz.'"><input type="button" value="Abbrechen" style="width:50%"></a></td></tr>
</form></table>';
}
@@ -213,10 +259,44 @@ if (isset($_GET['action']) && $_GET['action'] == 'editsave')
$ablauf->reihung = $_POST['reihung'];
$ablauf->gewicht = $_POST['gewicht'];
$ablauf->semester = $_POST['semester'];
if (isset($_POST['studienplan_id'])) // && $_POST['studienplan_id'] != ''
$ablauf->studienplan_id = $_POST['studienplan_id'];
if (!$ablauf->save(false))
if ($ablauf->save(false))
{
// Prüfen, ob Content ID schon existiert
foreach ($sprache->result as $row)
{
$content = new content();
if ($content->getContent($_POST['content_id'], $row->sprache))
{
$content_id = $_POST['content_id'];
break;
}
else
{
$content_id = '';
$errormsg = '<span class="error">Content_ID '.$_POST['content_id'].' ist nicht vorhanden und wurde nicht gespeichert</span>';
}
}
echo $errormsg;
$ablauf_vorgaben = new ablauf();
$ablauf_vorgaben->ablauf_vorgaben_id = $ablauf->ablauf_vorgaben_id;
$ablauf_vorgaben->studiengang_kz = $stg_kz;
$ablauf_vorgaben->sprache = $_POST['sprache'];
$ablauf_vorgaben->sprachwahl = isset($_POST['sprachwahl'])?true:false;
$ablauf_vorgaben->content_id = $content_id;
$ablauf_vorgaben->updateamum = date('Y-m-d H:i:s');
$ablauf_vorgaben->updatevon = $user;
if (!$ablauf_vorgaben->saveAblaufVorgabe(false))
{
echo $ablauf_vorgaben->errormsg;
}
}
else
echo $ablauf->errormsg;
}
else
@@ -237,47 +317,68 @@ else
}
$gebieteangehaengt = array();
$studienplan = new studienplan();
$ablauf_vorgaben_id = '';
if ($stg_kz != -1)
{
echo '
<table id="t1" class="tablesorter">
<thead><tr>
<th>Gebiet</th>
<th>Reihung</th>
<th>Gewichtung</th>
<th>Semester</th>
<th>Studienplan</th>
<th></th>
</tr></thead><tbody>';
<thead><tr>
<th>Gebiet</th>
<th>Reihung</th>
<th>Gewichtung</th>
<th>Semester</th>
<th>Studienplan</th>
<th>Sprache</th>
<th>Sprachwahl</th>
<th>Content ID</th>
<th></th>
</tr></thead><tbody>';
foreach ($ablauf->result as $row)
{
$studienplan->loadStudienplan($row->studienplan_id);
$gebiet = new gebiet($row->gebiet_id);
array_push($gebieteangehaengt, $gebiet->gebiet_id);
echo '<tr><td>'.$gebiet->kurzbz.' ('.$gebiet->bezeichnung.')</td><td>'.$row->reihung.'</td><td>'.$row->gewicht.'</td><td>'.$row->semester.'</td><td>'.$studienplan->bezeichnung.'</td><td>
<form action="'.$_SERVER['PHP_SELF'].'?stg_kz='.$stg_kz.'&action=edit" method="POST" style="float:left" id="fe'.$gebiet->gebiet_id.'"><a onclick="document.getElementById(\'fe'.$gebiet->gebiet_id.'\').submit();">edit</a>
<input type="hidden" name="gebiet_id" value="'.$gebiet->gebiet_id.'" />
</form>
<form action="'.$_SERVER['PHP_SELF'].'?stg_kz='.$stg_kz.'&action=delete" method="POST" style="float:left; margin-left:5px;" id="fd'.$gebiet->gebiet_id.'"><a onclick="document.getElementById(\'fd'.$gebiet->gebiet_id.'\').submit();">delete</a>
<input type="hidden" name="gebiet_id" value="'.$gebiet->gebiet_id.'" />
</form></td></tr>';
if ($ablauf_vorgaben_id == '' && $row->ablauf_vorgaben_id != '')
$ablauf_vorgaben_id = $row->ablauf_vorgaben_id;
echo '<tr>
<td>'.$gebiet->bezeichnung.' ('.$gebiet->kurzbz.')</td>
<td>'.$row->reihung.'</td>
<td>'.$row->gewicht.'</td>
<td>'.$row->semester.'</td>
<td>'.$studienplan->bezeichnung.'</td>
<td>'.$row->sprache.'</td>
<td>'.($row->sprachwahl != ''?($row->sprachwahl?'Ja':'Nein'):'-').'</td>
<td><a href="'.APP_ROOT.'cms/admin.php?content_id='.$row->content_id.'&action=content&filter='.$row->content_id.'" target="_blank">'.$row->content_id.'</a></td>
<td>
<form action="'.$_SERVER['PHP_SELF'].'?stg_kz='.$stg_kz.'&action=edit" method="POST" style="float:left" id="fe'.$row->ablauf_id.'"><a onclick="document.getElementById(\'fe'.$row->ablauf_id.'\').submit();">edit</a>
<input type="hidden" name="ablauf_id" value="'.$row->ablauf_id.'" />
</form>
<form action="'.$_SERVER['PHP_SELF'].'?stg_kz='.$stg_kz.'&action=delete" method="POST" style="float:left; margin-left:5px;" id="fd'.$row->ablauf_id.'"><a onclick="if (confirm(\'Gebietszuteilung entfernen?\')) document.getElementById(\'fd'.$row->ablauf_id.'\').submit();">delete</a>
<input type="hidden" name="ablauf_id" value="'.$row->ablauf_id.'" />
<input type="hidden" name="ablauf_vorgaben_id" value="'.$ablauf_vorgaben_id.'" />
</form>
</td>
</tr>';
}
$gebiet->getAll();
echo '</tbody><tfoot><tr><form action="'.$_SERVER['PHP_SELF'].'?stg_kz='.$stg_kz.'&action=save" method="POST"><input type="hidden" name="stg_kz" value="'.$stg_kz.'" /><td><SELECT name="gebiet_id">';
foreach ($gebiet->result as $row)
$gebiet_dropdown = new gebiet();
$gebiet_dropdown->getAll();
echo '</tbody><tfoot><tr>
<form action="'.$_SERVER['PHP_SELF'].'?stg_kz='.$stg_kz.'&action=save" method="POST">
<input type="hidden" name="stg_kz" value="'.$stg_kz.'" />
<td>
<SELECT name="gebiet_id">';
foreach ($gebiet_dropdown->result as $row)
{
if (!in_array($row->gebiet_id, $gebieteangehaengt))
{
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->kurzbz.' ('.$row->bezeichnung.')</OPTION>';
}
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.')</OPTION>';
}
echo '</SELECT></td>';
echo '<td><input type="text" name="reihung" /></td>';
@@ -286,26 +387,24 @@ if ($stg_kz != -1)
echo '<td>';
drawStudienplanDropdown($stg_kz, $db, "studienplan");
echo '</td>';
// Ablauf-Vorgaben können nur beim ersten Eintrag gespeichert werden. Ansonsten werden sie über EDIT geändert.
if (count($gebieteangehaengt) == 0)
{
echo '<td><select name="sprache">';
foreach ($sprache->result as $row)
{
echo '<OPTION value="'.$row->sprache.'" '.$selected.'>'.$row->sprache.'</OPTION>';
}
echo '</SELECT></td>';
echo '<td><input type="checkbox" name="sprachwahl" /></td>';
echo '<td><input type="text" name="content_id" /></td>';
}
else
echo '<td></td><td></td><td></td>';
echo '<input type="hidden" name="ablauf_vorgaben_id" value="'.$ablauf_vorgaben_id.'" />';
echo '<td><input type="submit" value="Speichern"/></td></form></tr></tfoot></table>';
}
// 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')
{
+41
View File
@@ -273,6 +273,41 @@ if (isset($_POST['submitaudio']))
echo "<b>Es duerfen nur mp3 Dateien hochgeladen werden</b><br />";
}
}
//Loeschen eines Bildes
if (isset($_POST['deletePicture']) || isset($_POST['deleteAudio']))
{
if (!$rechte->isBerechtigt('basis/testtool', null, 'suid'))
die($rechte->errormsg);
$frage = new frage();
if ($frage->load($_GET['frage_id']))
{
$frage->new = false;
if ($frage->getFrageSprache($frage->frage_id, $sprache))
{
$frage->new = false;
}
else
$frage->new = true;
if (isset($_POST['deletePicture']))
$frage->bild = '';
elseif (isset($_POST['deleteAudio']))
$frage->audio = '';
if ($frage->save_fragesprache())
{
echo "<b>File erfolgreich gelöscht</b><br />";
$nummer = $frage->nummer;
}
else
echo '<b>Fehler:'.$frage->errormsg.'</b><br />';
}
else
echo '<b>'.$frage->errormsg.'</b><br />';
}
//Speichern der Frage-Daten
if (isset($_POST['submitdata']))
@@ -816,6 +851,9 @@ if ($frage_id != '')
if ($frage->bild != '')
{
echo "\n<tr><td width='400' height='300'><img src='../bild.php?src=frage&amp;frage_id=$frage->frage_id&amp;sprache=$sprache' width='400' />";
echo "\n<form method='POST' enctype='multipart/form-data' action='$PHP_SELF?gebiet_id=$gebiet_id&amp;stg_kz=$stg_kz&amp;nummer=$nummer&amp;frage_id=$frage->frage_id&amp;filter=$filter'>";
echo "\n<center><input type='submit' name='deletePicture' value='Delete Picture' onclick='return confirm(\"Bild löschen?\")'/></center>";
echo "\n</form>";
}
else
{
@@ -831,6 +869,9 @@ if ($frage_id != '')
<p>Ihr Browser unterstützt dieses Audioelement leider nicht.</p>
</div>
</audio>';
echo "\n<form method='POST' enctype='multipart/form-data' action='$PHP_SELF?gebiet_id=$gebiet_id&amp;stg_kz=$stg_kz&amp;nummer=$nummer&amp;frage_id=$frage->frage_id&amp;filter=$filter'>";
echo "\n<center><input type='submit' name='deleteAudio' value='Delete Audio' onclick='return confirm(\"Audiodatei löschen?\")'/></center>";
echo "\n</form>";
}
echo '</td>';
//Zusaetzliche EingabeFelder anzeigen
+23 -21
View File
@@ -16,9 +16,9 @@
* 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>,
* Manfred Kindl <manfred.kindl@technikum-wien.at>
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>,
* Manfred Kindl <manfred.kindl@technikum-wien.at>
*/
require_once('../../config/cis.config.inc.php');
@@ -27,9 +27,9 @@ require_once('../../include/basis_db.class.php');
require_once('../../include/sprache.class.php');
require_once '../../include/phrasen.class.php';
if (!$db = new basis_db())
die('Fehler beim Oeffnen der Datenbankverbindung');
if (!$db = new basis_db())
die('Fehler beim Oeffnen der Datenbankverbindung');
require_once('../../include/gebiet.class.php');
function getSpracheUser()
@@ -91,7 +91,7 @@ if (isset($_SESSION['pruefling_id']))
$qry = "SELECT content_id FROM testtool.tbl_ablauf_vorgaben WHERE studiengang_kz=".$db->db_add_param($_SESSION['studiengang_kz'])." LIMIT 1";
$result = $db->db_query($qry);
echo '<table width="100%" border="0" cellspacing="0" cellpadding="0" style="border-right-width:1px;border-right-color:#BCBCBC;">';
echo '<table width="100%" border="0" cellspacing="0" cellpadding="0" style="border-right-width:1px;border-right-color:#BCBCBC;">';
echo '<tr><td style="padding-left: 20px;" nowrap>
<a href="login.php" target="content">'.$p->t('testtool/startseite').'</a>
</td></tr>';
@@ -100,9 +100,11 @@ if (isset($_SESSION['pruefling_id']))
echo '<tr><td style="padding-left: 20px;"><a href="../../cms/content.php?content_id='.$content_id->content_id.'&sprache='.$sprache.'" target="content">'.$p->t('testtool/einleitung').'</a></td></tr>';
echo '<tr><td>&nbsp;</td></tr>';
echo '<tr><td style="padding-left: 20px;" nowrap>';
$qry = "SELECT * FROM testtool.vw_ablauf WHERE studiengang_kz=".$db->db_add_param($_SESSION['studiengang_kz'])." ORDER BY semester,reihung";
$sprache_mehrsprachig = new sprache();
$bezeichnung_mehrsprachig = $sprache_mehrsprachig->getSprachQuery('bezeichnung_mehrsprachig');
$qry = "SELECT vw_ablauf.*, ".$bezeichnung_mehrsprachig." FROM testtool.vw_ablauf JOIN testtool.tbl_gebiet USING (gebiet_id) WHERE studiengang_kz=".$db->db_add_param($_SESSION['studiengang_kz'])." ORDER BY semester,reihung";
$result = $db->db_query($qry);
$lastsemester = '';
@@ -119,7 +121,7 @@ if (isset($_SESSION['pruefling_id']))
$lastsemester = $row->semester;
echo '<table border="0" cellspacing="0" cellpadding="0" id="Gebiet" style="display: visible; border-collapse: separate; border-spacing: 0 6px;">';
echo '<tr><td style="color: #000; background-color: #8DBDD8; white-space:nowrap; padding: 0 10px 0 10px; line-height: 20px">'.$row->semester.'. '.$p->t('testtool/semester').' '.($row->semester!='1'?$p->t('testtool/quereinstieg'):'').'</td></tr>';
echo '<tr><td class="HeaderTesttool">'.$row->semester.'. '.$p->t('testtool/semester').' '.($row->semester!='1'?$p->t('testtool/quereinstieg'):'').'</td></tr>';
}
$gebiet = new gebiet();
if($gebiet->check_gebiet($row->gebiet_id))
@@ -167,22 +169,22 @@ if (isset($_SESSION['pruefling_id']))
$style='';
$class='ItemTesttool';
}
echo '<tr>
<!--<td width="10" class="ItemTesttoolLeft" nowrap>&nbsp;</td>-->
<td class="'.$class.'">
<a class="'.$class.'" href="frage.php?gebiet_id='.$row->gebiet_id.'" onclick="document.location.reload()" target="content" style="'.$style.'">'.$row->gebiet_bez.'</a>
</td>
<!--<td width="10" class="ItemTesttoolRight" nowrap>&nbsp;</td>-->
</tr>';
<!--<td width="10" class="ItemTesttoolLeft" nowrap>&nbsp;</td>-->
<td class="'.$class.'">
<a class="'.$class.'" href="frage.php?gebiet_id='.$row->gebiet_id.'" onclick="document.location.reload()" target="content" style="'.$style.'">'.$sprache_mehrsprachig->parseSprachResult("bezeichnung_mehrsprachig", $row)[$sprache_user].'</a>
</td>
<!--<td width="10" class="ItemTesttoolRight" nowrap>&nbsp;</td>-->
</tr>';
}
else
{
echo '<tr>
<td nowrap>
<span class="error">&nbsp;'.$row->gebiet_bez.' (invalid)</span>
</td>
</tr>';
<td nowrap>
<span class="error">&nbsp;'.$row->gebiet_bez.' (invalid)</span>
</td>
</tr>';
}
}
echo '</table>';
+135 -7
View File
@@ -76,10 +76,16 @@ class ablauf extends basis_db
//laden des Datensatzes
$qry = "SELECT
*
tbl_ablauf.*,
tbl_ablauf_vorgaben.sprache,
tbl_ablauf_vorgaben.sprachwahl,
tbl_ablauf_vorgaben.content_id
FROM
testtool.tbl_ablauf
WHERE ablauf_id=".$this->db_add_param($ablauf_id, FHC_INTEGER, false).";";
LEFT JOIN
testtool.tbl_ablauf_vorgaben USING (ablauf_vorgaben_id)
WHERE
ablauf_id=".$this->db_add_param($ablauf_id, FHC_INTEGER, false).";";
if($this->db_query($qry))
{
@@ -99,6 +105,9 @@ class ablauf extends basis_db
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->sprache = $row->sprache;
$obj->sprachwahl = $this->db_parse_bool($row->sprachwahl);
$obj->content_id = $row->content_id;
$this->result[] = $obj;
return true;
@@ -143,6 +152,34 @@ class ablauf extends basis_db
return false;
}
}
/**
* Loescht einen Ablauf-Vorgabe Datensatz
* @param $ablauf_vorgabe_id ID des zu loeschenden Datensatzes
* @return true wenn ok, false im Fehlerfall
*/
public function deleteAblaufVorgabe($ablauf_vorgabe_id)
{
//$ablauf_vorgabe_id auf Gueltigkeit pruefen
if(!is_numeric($ablauf_vorgabe_id))
{
$this->errormsg = 'ablauf_vorgabe_id muss eine gueltige Zahl sein';
return false;
}
$qry = "DELETE FROM testtool.tbl_ablauf_vorgaben
WHERE ablauf_vorgaben_id=".$this->db_add_param($ablauf_vorgabe_id, FHC_INTEGER).";";
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Loeschen der Ablauf-Vorgabe mit der ID '.$ablauf_vorgabe_id;
return false;
}
}
/**
* Prueft die Daten vor dem Speichern
@@ -273,24 +310,38 @@ class ablauf extends basis_db
*/
public function getAblaufGebiete($studiengang_kz, $studienplan_id=null, $semester=null)
{
$qry = "SELECT * FROM testtool.tbl_ablauf WHERE studiengang_kz=".$studiengang_kz;
$qry = "SELECT
tbl_ablauf.*,
tbl_ablauf_vorgaben.sprache,
tbl_ablauf_vorgaben.sprachwahl,
tbl_ablauf_vorgaben.content_id
FROM
testtool.tbl_ablauf
LEFT JOIN
testtool.tbl_ablauf_vorgaben USING (ablauf_vorgaben_id)
WHERE
tbl_ablauf.studiengang_kz=".$studiengang_kz;
if (!is_null($studienplan_id))
$qry .= " AND studienplan_id=".$studienplan_id;
if (!is_null($semester))
$qry .= " AND semester=".$semester;
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new stdClass();
$obj->ablauf_id = $row->ablauf_id;
$obj->gebiet_id = $row->gebiet_id;
$obj->reihung = $row->reihung;
$obj->gewicht = $row->gewicht;
$obj->semester = $row->semester;
$obj->studienplan_id = $row->studienplan_id;
$obj->ablauf_vorgaben_id = $row->ablauf_vorgaben_id;
$obj->sprache = $row->sprache;
$obj->sprachwahl = $this->db_parse_bool($row->sprachwahl);
$obj->content_id = $row->content_id;
$this->result[]= $obj;
}
@@ -341,7 +392,7 @@ class ablauf extends basis_db
//id auf Gueltigkeit pruefen
if(!is_numeric($ablauf_vorgaben_id))
{
$this->errormsg = '$ablauf_vorgaben_id muss eine gueltige Zahl sein';
$this->errormsg = 'ablauf_vorgaben_id muss eine gueltige Zahl sein';
return false;
}
@@ -473,7 +524,7 @@ class ablauf extends basis_db
$obj->ablauf_vorgaben_id = $row->ablauf_vorgaben_id;
$obj->studiengang_kz = $row->studiengang_kz;
$obj->sprache = $row->sprache;
$obj->sprachwahl = $row->sprachwahl;
$obj->sprachwahl = $this->db_parse_bool($row->sprachwahl);
$obj->content_id = $row->content_id;
$this->result[]= $obj;
@@ -497,7 +548,7 @@ class ablauf extends basis_db
//id auf Gueltigkeit pruefen
if(!is_numeric($studiengang_kz))
{
$this->errormsg = '$studiengang_kz muss eine gueltige Zahl sein';
$this->errormsg = 'studiengang_kz muss eine gueltige Zahl sein';
return false;
}
@@ -525,5 +576,82 @@ class ablauf extends basis_db
return false;
}
}
/**
* Zaehlt, wie of die ablauf_vorgabe_id noch in tbl_ablauf verwendet wird
* @param integer $ablauf_vorgaben_id Ablauf-Vorlage-ID
* @return boolean true wenn ok sonst false
*/
public function countAblaufVorgabe($ablauf_vorgaben_id)
{
//id auf Gueltigkeit pruefen
if(!is_numeric($ablauf_vorgaben_id))
{
$this->errormsg = 'ablauf_vorgaben_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT count(*) FROM testtool.tbl_ablauf WHERE ablauf_vorgaben_id=".$this->db_add_param($ablauf_vorgaben_id, FHC_INTEGER);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
return $row->count;
}
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Berechnet die Dauer eines Tests
* @param integer $studiengang_kz Kennzahl des Studiengangs
* @param integer $studienplan_id Optional. Default NULL. ID des Studienplans
* @param integer $semester Optional. Default NULL.
* @return boolean true wenn ok sonst false
*/
public function getDauer($studiengang_kz, $studienplan_id=null, $semester=null)
{
$qry = "SELECT
SUM (zeit) as dauer
FROM
testtool.tbl_ablauf
JOIN
testtool.tbl_gebiet USING (gebiet_id)
WHERE
studiengang_kz=".$studiengang_kz;
if (!is_null($studienplan_id))
$qry .= " AND studienplan_id=".$studienplan_id;
if (!is_null($semester))
$qry .= " AND semester=".$semester;
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
return $row->dauer;
}
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
}
?>