Merge branch 'feature-7074/Reihungstest_Bewerbungstool_Login'

This commit is contained in:
Andreas Österreicher
2020-04-16 13:35:52 +02:00
10 changed files with 689 additions and 445 deletions
@@ -185,6 +185,25 @@
ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC
LIMIT 1
) AS "ReihungstestApplied",
(
SELECT rtp.datum
FROM public.tbl_prestudentstatus pss
JOIN public.tbl_prestudent ps USING(prestudent_id)
LEFT JOIN (
SELECT rtp.person_id,
rt.studiensemester_kurzbz,
rtp.teilgenommen,
rt.datum
FROM public.tbl_rt_person rtp
JOIN tbl_reihungstest rt ON(rtp.rt_id = rt.reihungstest_id)
WHERE rt.stufe = 1
) rtp ON(rtp.person_id = ps.person_id AND rtp.studiensemester_kurzbz = pss.studiensemester_kurzbz)
WHERE pss.status_kurzbz = '.$INTERESSENT_STATUS.'
AND ps.person_id = p.person_id
AND pss.studiensemester_kurzbz = '.$STUDIENSEMESTER.'
ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC
LIMIT 1
) AS "ReihungstestDate",
(
SELECT ps.zgvnation
FROM public.tbl_prestudent ps
@@ -258,6 +277,7 @@
'Statusgrund',
'Reihungstest angetreten',
'Reihungstest angemeldet',
'Reihungstest date',
'ZGV Nation'
),
'formatRow' => function($datasetRaw) {
@@ -337,6 +357,16 @@
{
$datasetRaw->{'ReihungstestApplied'} = 'Nein';
}
if ($datasetRaw->{'ReihungstestDate'} == null)
{
$datasetRaw->{'ReihungstestDate'} = '-';
}
else
{
$datasetRaw->{'ReihungstestDate'} = date_format(date_create($datasetRaw->{'ReihungstestDate'}),'Y-m-d');
}
if ($datasetRaw->{'ZGVNation'} == null)
{
$datasetRaw->{'ZGVNation'} = '-';
+131 -108
View File
@@ -24,123 +24,146 @@ echo '<?xml version="1.0" encoding="ISO-8859-1" ?>';
<head>
<title>Testsite MathML</title>
<meta http-equiv="content-type" content="text/xhtml; charset=UTF-8"/>
<link rel="stylesheet" href="../../../vendor/twbs/bootstrap/dist/css/bootstrap.min.css" type="text/css"/>
<!-- <link href="../../skin/style.css.php" rel="stylesheet" type="text/css">-->
<!-- <link rel="stylesheet" href="../../vendor/components/jqueryui/themes/base/jquery-ui.min.css" type="text/css"/>-->
<script type="text/javascript" src="../../../vendor/components/jquery/jquery.min.js"></script>
<!-- <script type="text/javascript" src="../../vendor/components/jqueryui/jquery-ui.min.js"></script>-->
<script type="text/javascript" src="../../../vendor/components/jqueryui/ui/i18n/datepicker-de.js"></script>
<!-- <script type="text/javascript" src="../../vendor/twbs/bootstrap/dist/js/bootstrap.min.js"></script>-->
<style>
body {
background-color: #FFFFFF;
margin:10px 10px 10px 90px;
padding-left:50px;
padding-top:50px;
}
body, td {
background-color:transparent;
font-family:"Tahoma";
font-size:20px;
line-height:30px;
text-decoration:none;
}
h1 {
color:#459F8C;
font-weight:bold;
text-align: left;
padding: 0px;
font-size:25px;
}
/*body {*/
/*background-color: #FFFFFF;*/
/*margin:10px 10px 10px 90px;*/
/*padding-left:50px;*/
/*padding-top:50px;*/
/*}*/
/*body, td {*/
/* background-color:transparent;*/
/* font-family:"Tahoma";*/
/* font-size:20px;*/
/* line-height:30px;*/
/* text-decoration:none;*/
/* }*/
/*h1 {*/
/* color:#459F8C;*/
/* font-weight:bold;*/
/* text-align: left; */
/* padding: 0px;*/
/* font-size:25px;*/
/*}*/
</style></head>
<body>
<table cellpadding="0" cellspacing="0px">
<tbody>
<tr>
<td><h1>MathML</h1></td>
<td width="40px"></td>
<td><h1>Picture</h1></td>
</tr>
<tr>
<td>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mfrac>
<mn> 5 </mn>
<mn> 3 </mn>
</mfrac>
<mo> + </mo>
<mfrac>
<mn> 7 </mn>
<mn> 6 </mn>
</mfrac>
<mo> = </mo>
<mfrac>
<mn> 10 </mn>
<mn> 6 </mn>
</mfrac>
<mo> + </mo>
<mfrac>
<mn> 7 </mn>
<mn> 6 </mn>
</mfrac>
<mo> = </mo>
<mfrac>
<mn> 17 </mn>
<mn> 6 </mn>
</mfrac>
</math><br/><br/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mrow>
<munderover>
<mo movablelimits="false">&sum;</mo>
<mn><mi>k</mi>=1</mn>
<mn>5</mn>
</munderover>
<mrow>
<msup>
<mo>(-1)</mo>
<mn><mi>k</mi>+1</mn>
</msup>
</mrow>
<mfrac>
<mrow>
<msup>
<mi>x</mi>
<mn>2<mi>k</mi> + 1</mn>
</msup>
</mrow>
<mrow>
<mo>(2<mi>k</mi>+1)!</mo>
</mrow>
</mfrac>
</mrow>
</math>
</td>
<td width="10">&nbsp;</td>
<td style="width: 233px;" align="left">
<img alt="Beispielbild" src="MathML_Beispiel.jpg" border="1" height="154" width="233"></img>
</td>
</tr>
<tr>
<td align="center" colspan="3"><br>The formula on the left side should be equal <br/>to the picture on the right side.</td>
</tr>
<?php
//Sound einbinden
echo ' <tr>
<td align="center" colspan="3"><hr><br/>Audio-Testfile<br/><br/>
<!--<audio src="sound.php?src=frage&amp;frage_id='.$frage->frage_id.'&amp;sprache='.$_SESSION['sprache'].'" controls="controls" type="audio/mpeg">-->
<audio src="audio_testfile.ogg" controls="controls" type="audio/ogg">
<div>
<p>Ihr Browser unterstützt dieses Audioelement leider nicht.</p>
<div class="text-center">
<h1>Testseite zur Darstellung des Reihungstests an der FHTW</h1>
</div>
<div class="container">
<noscript>
<div class="row alert alert-danger">
<div class="col-sm-12 ">
Javascript ist in diesem Browser nicht aktiviert.<br>
Bitte aktivieren Sie Javascript, um den Reihungstest durchführen zu können.<br>
<br>
Javascript is not activated in this browser.<br>
Please activate Javascript before starting the test.
</div>
</div>
</noscript>
<div class="row well">
<div class="col-sm-12">
<h2>Fomeln</h2>
<p>Die Formeln auf der linken Seite sollten möglichst gleich dargestellt werden, wie in dem Bild auf der rechten Seite.<br>
Abweichungen in Schriftgröße und -art können vorkommen.</p>
<p>The formula on the left side should be equal to the picture on the right side.<br>
Differences in font size and font styling are acceptable.</p>
<div class="row">
<div class="col-sm-6 text-right">
<h3>Formel / Formula</h3>
<div style="font-size: large; padding-top: 15px">
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mfrac>
<mn> 5 </mn>
<mn> 3 </mn>
</mfrac>
<mo> + </mo>
<mfrac>
<mn> 7 </mn>
<mn> 6 </mn>
</mfrac>
<mo> = </mo>
<mfrac>
<mn> 10 </mn>
<mn> 6 </mn>
</mfrac>
<mo> + </mo>
<mfrac>
<mn> 7 </mn>
<mn> 6 </mn>
</mfrac>
<mo> = </mo>
<mfrac>
<mn> 17 </mn>
<mn> 6 </mn>
</mfrac>
</math><br/><br/>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mrow>
<munderover>
<mo movablelimits="false">&sum;</mo>
<mn><mi>k</mi>=1</mn>
<mn>5</mn>
</munderover>
<mrow>
<msup>
<mo>(-1)</mo>
<mn><mi>k</mi>+1</mn>
</msup>
</mrow>
<mfrac>
<mrow>
<msup>
<mi>x</mi>
<mn>2<mi>k</mi> + 1</mn>
</msup>
</mrow>
<mrow>
<mo>(2<mi>k</mi>+1)!</mo>
</mrow>
</mfrac>
</mrow>
</math>
</div>
</div>
<div class="col-sm-6">
<h3>Bild / Picture</h3>
<img alt="Beispielbild" src="MathML_Beispiel.jpg" border="1" height="154" width="233"></img>
</div>
</div>
</div>
</div>
<div class="row well">
<div class="col-sm-12">
<h2>Audiofiles</h2>
<p>Manche Module beinhalten Hörbeispiele</p>
<p>Testen Sie hier, ob Sie den Ton hören können.</p>
<audio controls>
<source src="audio_testfile.ogg" type="audio/ogg">
<source src="audio_testfile.mp3" type="audio/mpeg">
<p>Ihr Browser unterstützt dieses Audioelement leider nicht.</p>
</audio>
</td>
</tr>';
?>
</tbody>
</table>
</div>
</div>
</div>
</body>
</html>
+34 -10
View File
@@ -22,28 +22,54 @@
// Holt den Hexcode eines Bildes aus der DB wandelt es in Zeichen
// um und gibt das ein Bild zurueck.
// Aufruf mit <img src='bild.php?src=frage&frage_id=1
require_once('../../config/cis.config.inc.php');
require_once('../../include/basis_db.class.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../config/cis.config.inc.php');
require_once('../../include/basis_db.class.php');
if (!$db = new basis_db())
die('Fehler beim Oeffnen der Datenbankverbindung');
if (!$db = new basis_db())
die('Fehler beim Oeffnen der Datenbankverbindung');
session_start();
if(!isset($_SESSION['pruefling_id']))
{
$user = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
if (!$rechte->isBerechtigt('basis/testtool', null, 's'))
die($rechte->errormsg);
}
//base64 Dump aus der DB holen
$qry = '';
if(isset($_GET['src']) && $_GET['src']=='frage' && isset($_GET['frage_id']))
{
$qry = "SELECT bild FROM testtool.tbl_frage_sprache WHERE frage_id='".addslashes($_GET['frage_id'])."' AND sprache='".addslashes($_GET['sprache'])."'";
$qry = "
SELECT
bild
FROM
testtool.tbl_frage_sprache
WHERE
frage_id=".$db->db_add_param($_GET['frage_id'], FHC_INTEGER)."
AND sprache=".$db->db_add_param($_GET['sprache']);
}
elseif(isset($_GET['src']) && $_GET['src']=='vorschlag' && isset($_GET['vorschlag_id']))
{
$qry = "SELECT bild FROM testtool.tbl_vorschlag_sprache WHERE vorschlag_id='".addslashes($_GET['vorschlag_id'])."' AND sprache='".addslashes($_GET['sprache'])."'";
$qry = "
SELECT
bild
FROM
testtool.tbl_vorschlag_sprache
WHERE
vorschlag_id=".$db->db_add_param($_GET['vorschlag_id'], FHC_INTEGER)."
AND sprache=".$db->db_add_param($_GET['sprache']);
}
elseif(isset($_GET['src']) && $_GET['src']=='flag' && isset($_GET['sprache']))
{
$qry = "SELECT flagge as bild FROM public.tbl_sprache WHERE sprache='".addslashes($_GET['sprache'])."'";
$qry = "SELECT flagge as bild FROM public.tbl_sprache WHERE sprache=".$db->db_add_param($_GET['sprache']);
}
else
else
echo 'Unkown type';
if($qry!='')
@@ -56,5 +82,3 @@ if($qry!='')
echo base64_decode($row->bild);
}
?>
+12
View File
@@ -36,6 +36,7 @@ require_once('../../include/antwort.class.php');
require_once('../../include/gebiet.class.php');
require_once('../../include/sprache.class.php');
require_once '../../include/phrasen.class.php';
require_once '../../include/reihungstest.class.php';
if (!$db = new basis_db())
die('Fehler beim Oeffnen der Datenbankverbindung');
@@ -174,6 +175,17 @@ if(!$gestartet && $gebiet->errormsg!='')
//Start des Pruefungsvorganges
if(isset($_GET['start']) && !$gestartet)
{
//Wenn der Reihungstest nicht freigeschaltet ist, kann das Gebiet nicht gestartet werden
if (isset($_SESSION['reihungstestID']) && $_SESSION['reihungstestID'] != '')
{
$rt = new reihungstest($_SESSION['reihungstestID']);
if ($rt->freigeschaltet == false)
{
echo '<div class="alert alert-danger">Die Gesamtbearbeitungszeit des Reihungstests ist vorbei und der Test wurde gesperrt.</div></body>';
die();
}
}
//Fragenpool generieren
$frage = new frage();
if(!$frage->generateFragenpool($_SESSION['pruefling_id'], $gebiet_id))
+5 -14
View File
@@ -1,21 +1,12 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<!DOCTYPE HTML>
<html>
<head>
<title>TestTool - FH Technikum Wien</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../skin/style.css.php" rel="stylesheet" type="text/css">
<meta http-equiv="refresh" content="0; url=index.php" />
</head>
<frameset rows="13%,*" cols="*" frameborder="NO" border="0" framespacing="0">
<frame src="topbar.php" name="topbar" scrolling="NO" noresize>
<frameset rows="*" cols="230,*" framespacing="0" frameborder="NO" border="0">
<frame id="menu_testtool" src="menu.php" name="menu" scrolling="AUTO" noresize>
<frame id="content_testtool" style="padding-top: 24px; overflow: hidden; padding-left: 10px" src="login.php" name="content">
</frameset>
<noframes>
<body>
<p>Diese Seite verwendet Frames. Frames werden von Ihrem Browser aber nicht unterstützt.</p>
</body>
</noframes>
</frameset>
<body>
Falls sie nicht automatisch weitergeleitet werden klicken Sie <a href="index.php">hier</a>
</body>
</html>
+28
View File
@@ -0,0 +1,28 @@
<?php
$contentpage = 'login.php';
if(isset($_GET['prestudent']) && is_numeric($_GET['prestudent']))
{
$contentpage = 'login.php?prestudent='.$_GET['prestudent'];
}
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<title>TestTool - FH Technikum Wien</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../skin/style.css.php" rel="stylesheet" type="text/css">
</head>
<frameset rows="13%,*" cols="*" frameborder="NO" border="0" framespacing="0">
<frame src="topbar.php" name="topbar" scrolling="NO" noresize>
<frameset rows="*" cols="230,*" framespacing="0" frameborder="NO" border="0">
<frame id="menu_testtool" src="menu.php" name="menu" scrolling="AUTO" noresize>
<frame id="content_testtool" style="padding-top: 24px; overflow: hidden; padding-left: 10px" src="<?php echo $contentpage;?>" name="content">
</frameset>
<noframes>
<body>
<p>Diese Seite verwendet Frames. Frames werden von Ihrem Browser aber nicht unterstützt.</p>
</body>
</noframes>
</frameset>
</html>
+376 -301
View File
@@ -44,22 +44,22 @@ session_start();
// Logout (triggered by logout button in menu.php)
if (isset($_GET['logout']) && $_GET['logout'] == true)
{
// Unset global vars
unset($_GET['logout']);
unset($_GET['sprache_user']);
$_POST = [];
$_SESSION = [];
// Unset global vars
unset($_GET['logout']);
unset($_GET['sprache_user']);
$_POST = [];
$_SESSION = [];
// Destroy session
session_destroy();
// Destroy session
session_destroy();
echo '
<script language="Javascript">
location = location.pathname; // clean the login.php-url from querystring
parent.menu.location = parent.menu.location.pathname; // clean the menu.php-url from querystring
parent.topbar.location = parent.topbar.location.pathname; // clean the topbar.php-url from querystring
</script>
';
echo '
<script language="Javascript">
location = location.pathname; // clean the login.php-url from querystring
parent.menu.location = parent.menu.location.pathname; // clean the menu.php-url from querystring
parent.topbar.location = parent.topbar.location.pathname; // clean the topbar.php-url from querystring
</script>
';
}
$gebdatum='';
@@ -70,19 +70,45 @@ $alertmsg = '';
$sg_var = new studiengang();
if(isset($_POST['gebdatum']) && $_POST['gebdatum']!='')
if (isset($_POST['gebdatum']) && $_POST['gebdatum']!='')
{
$gebdatum = $date->formatDatum($_POST['gebdatum'],'Y-m-d');
}
else
$gebdatum='';
if (isset($_POST['prestudent']) && isset($gebdatum))
if (isset($_REQUEST['prestudent']))
{
$ps=new prestudent($_POST['prestudent']);
$ps = new prestudent($_REQUEST['prestudent']);
//Geburtsdatum Pruefen
if ($gebdatum==$ps->gebdatum)
$login_ok = false;
if (defined('TESTTOOL_LOGIN_BEWERBUNGSTOOL') && TESTTOOL_LOGIN_BEWERBUNGSTOOL && isset($_GET['confirmation']))
{
if (isset($_SESSION['bewerbung/personId']) && $ps->person_id == $_SESSION['bewerbung/personId'])
{
$login_ok = true;
}
else
{
$alertmsg .= '<div class="alert alert-danger">Login ist nicht korrekt.
Bitte schließen Sie ihren Browser und versuchen es erneut
</div>';
}
}
elseif(!defined('TESTTOOL_LOGIN_BEWERBUNGSTOOL') || TESTTOOL_LOGIN_BEWERBUNGSTOOL == false)
{
//Geburtsdatum Pruefen
if (isset($gebdatum) && $gebdatum == $ps->gebdatum)
{
$login_ok = true;
}
else
{
$alertmsg .= '<div class="alert alert-danger">'.$p->t('testtool/geburtsdatumStimmtNichtUeberein').'</div>';
}
}
if ($login_ok)
{
$reihungstest_id='';
//Freischaltung fuer zugeteilten Reihungstest pruefen
@@ -91,29 +117,29 @@ if (isset($_POST['prestudent']) && isset($gebdatum))
// Wenns der Dummy ist dann extra laden
// An der FHTW gibt es 3 Testuser für den Camus International
$prestudent_id_dummy_student = (defined('PRESTUDENT_ID_DUMMY_STUDENT')?PRESTUDENT_ID_DUMMY_STUDENT:'');
if($prestudent_id_dummy_student==$ps->prestudent_id ||
if ($prestudent_id_dummy_student==$ps->prestudent_id ||
(CAMPUS_NAME == 'FH Technikum Wien' && $ps->prestudent_id == 30891) ||
(CAMPUS_NAME == 'FH Technikum Wien' && $ps->prestudent_id == 30890) ||
(CAMPUS_NAME == 'FH Technikum Wien' && $ps->prestudent_id == 30889))
{
$rt->getReihungstestPerson($ps->person_id);
if(isset($rt->result[0]))
if (isset($rt->result[0]))
$reihungstest_id = $rt->result[0]->reihungstest_id;
else
{
echo '<span class="error">'.$p->t('testtool/reihungstestKannNichtGeladenWerden').'</span>';
$alertmsg .= '<div class="alert alert-danger">'.$p->t('testtool/reihungstestKannNichtGeladenWerden').'</div>';
}
}
else
{
if($rt->getReihungstestPersonDatum($ps->prestudent_id, date('Y-m-d')))
if ($rt->getReihungstestPersonDatum($ps->prestudent_id, date('Y-m-d')))
{
// TODO Was ist wenn da mehrere Zurueckkommen?!
if(isset($rt->result[0]))
if (isset($rt->result[0]))
$reihungstest_id = $rt->result[0]->reihungstest_id;
else
{
echo '<span class="error">'.$p->t('testtool/reihungstestKannNichtGeladenWerden').'</span>';
$alertmsg .= '<div class="alert alert-danger">'.$p->t('testtool/reihungstestKannNichtGeladenWerden').'</div>';
}
}
else
@@ -121,16 +147,15 @@ if (isset($_POST['prestudent']) && isset($gebdatum))
echo 'Failed:'.$rt->errormsg;
}
}
//echo "Reihungstest $reihungstest_id";
if($reihungstest_id != '' && $rt->load($reihungstest_id))
if ($reihungstest_id != '' && $rt->load($reihungstest_id))
{
if($rt->freigeschaltet)
if ($rt->freigeschaltet)
{
// regenerate Session ID after Login
session_regenerate_id();
$pruefling = new pruefling();
if($pruefling->getPruefling($ps->prestudent_id))
if ($pruefling->getPruefling($ps->prestudent_id))
{
$studiengang = $pruefling->studiengang_kz;
$semester = $pruefling->semester;
@@ -141,10 +166,10 @@ if (isset($_POST['prestudent']) && isset($gebdatum))
$ps->getLastStatus($ps->prestudent_id);
$semester = $ps->ausbildungssemester;
}
if($semester=='')
if ($semester=='')
$semester=1;
$_SESSION['prestudent_id']=$_POST['prestudent'];
$_SESSION['prestudent_id']=$_REQUEST['prestudent'];
$_SESSION['studiengang_kz']=$studiengang;
$_SESSION['nachname']=$ps->nachname;
$_SESSION['vorname']=$ps->vorname;
@@ -152,27 +177,28 @@ if (isset($_POST['prestudent']) && isset($gebdatum))
$stg_obj = new studiengang($studiengang);
$_SESSION['semester']=$semester;
$stg_obj->getStudiengangTyp($stg_obj->typ);
$_SESSION['reihungstestID'] = $reihungstest_id;
$stg_obj->getStudiengangTyp($stg_obj->typ);
// STG und Studienplan mit der höchsten Prio ermitteln
$firstPrio_studienplan_id = '';
$firstPrio_studiengang_kz = '';
// * wenn STG des eingeloggten Prestudenten vom Typ Bachelor ist, dann höchste Prio aller
// Bachelor-STG ermitteln, an denen die Person noch interessiert ist
// Wenn STG vom Typ Master, dann wird als firstPrio der STPL bzw. der STG des MasterSTG gesetzt.
if ($stg_obj->typ == 'b')
{
$ps->getActualInteressenten($_POST['prestudent'], true);
}
elseif ($stg_obj->typ == 'm')
{
$ps->getActualInteressenten($_POST['prestudent'], false, 'm', $studiengang);
}
// * wenn STG des eingeloggten Prestudenten vom Typ Bachelor ist, dann höchste Prio aller
// Bachelor-STG ermitteln, an denen die Person noch interessiert ist
// Wenn STG vom Typ Master, dann wird als firstPrio der STPL bzw. der STG des MasterSTG gesetzt.
if ($stg_obj->typ == 'b')
{
$ps->getActualInteressenten($_REQUEST['prestudent'], true);
}
elseif ($stg_obj->typ == 'm')
{
$ps->getActualInteressenten($_REQUEST['prestudent'], false, 'm', $studiengang);
}
foreach($ps->result as $row)
{
if(isset($row->studiengang_kz))
if (isset($row->studiengang_kz))
{
$firstPrio_studienplan_id = $row->studienplan_id;
break;
@@ -180,7 +206,7 @@ if (isset($_POST['prestudent']) && isset($gebdatum))
}
foreach($ps->result as $row)
{
if(isset($row->studiengang_kz))
if (isset($row->studiengang_kz))
{
$firstPrio_studiengang_kz = $row->studiengang_kz;
break;
@@ -188,23 +214,23 @@ if (isset($_POST['prestudent']) && isset($gebdatum))
}
// Sprachvorgaben zu STG mit höchster Prio ermitteln
// * 1. Sprache über Ablauf Vorgaben ermitteln
// * 1. Sprache über Ablauf Vorgaben ermitteln
$ablauf = new Ablauf();
$ablauf->getAblaufGebiete($firstPrio_studiengang_kz, $firstPrio_studienplan_id);
$rt_sprache = '';
if(!empty($ablauf->result[0]))
if (!empty($ablauf->result[0]))
{
$rt_sprache = $ablauf->result[0]->sprache;
}
// * 2. falls keine Sprache vorhanden -> Sprache über Studienplan ermitteln
if (empty($rt_sprache))
{
$stpl = new Studienplan();
$stpl->loadStudienplan($firstPrio_studienplan_id);
$rt_sprache = $stpl->sprache;
}
{
$stpl = new Studienplan();
$stpl->loadStudienplan($firstPrio_studienplan_id);
$rt_sprache = $stpl->sprache;
}
// * 3. falls keine Sprache vorhanden -> Sprache über Studiengang ermitteln
if (empty($rt_sprache))
@@ -219,13 +245,13 @@ if (isset($_POST['prestudent']) && isset($gebdatum))
$_SESSION['sprache_user'] = DEFAULT_LANGUAGE;
}
else
{
{
$_SESSION['sprache_user'] = $rt_sprache;
}
}
}
else
{
$alertmsg .= '<div class="alert alert-danger">'.$p->t('testtool/reihungstestNichtFreigeschalten').'</div>';
{
$alertmsg .= '<div class="alert alert-danger">'.$p->t('testtool/reihungstestNichtFreigeschalten').'</div>';
}
}
else
@@ -233,10 +259,6 @@ if (isset($_POST['prestudent']) && isset($gebdatum))
$alertmsg .= '<div class="alert alert-danger">'.$p->t('testtool/reihungstestKannNichtGeladenWerden').'</div>';
}
}
else
{
$alertmsg .= '<div class="alert alert-danger">'.$p->t('testtool/geburtsdatumStimmtNichtUeberein').'</div>';
}
}
// Set language of user.
@@ -247,21 +269,21 @@ if (isset($_POST['prestudent']) && isset($gebdatum))
$sprache_user = DEFAULT_LANGUAGE;
if (isset($_SESSION['sprache_user']) && !empty($_SESSION['sprache_user']))
{
// If session var already exists, overwrite language var
// (session var changes e.g. when user selects other language with language-select-menu)
$sprache_user = $_SESSION['sprache_user'];
// If session var already exists, overwrite language var
// (session var changes e.g. when user selects other language with language-select-menu)
$sprache_user = $_SESSION['sprache_user'];
}
elseif (isset($_SESSION['prestudent_id']))
{
// If session var does not exist but prestudent is known, set the session var
$_SESSION['sprache_user'] = DEFAULT_LANGUAGE;
// If session var does not exist but prestudent is known, set the session var
$_SESSION['sprache_user'] = DEFAULT_LANGUAGE;
}
// If language is changed by language select menu, reset language variables
if(isset($_GET['sprache_user']) && !empty($_GET['sprache_user']))
if (isset($_GET['sprache_user']) && !empty($_GET['sprache_user']))
{
$sprache_user = $_GET['sprache_user'];
$_SESSION['sprache_user'] = $_GET['sprache_user'];
$sprache_user = $_GET['sprache_user'];
$_SESSION['sprache_user'] = $_GET['sprache_user'];
}
// NOTE: leave phrasen here, as the final users language is not defined until here
@@ -269,7 +291,7 @@ $p = new phrasen($sprache_user);
if (isset($_SESSION['prestudent_id']))
{
$prestudent_id=$_SESSION['prestudent_id'];
$prestudent_id=$_SESSION['prestudent_id'];
}
else
{
@@ -288,15 +310,15 @@ else
}
if(isset($_SESSION['prestudent_id']) && !isset($_SESSION['pruefling_id']))
if (isset($_SESSION['prestudent_id']) && !isset($_SESSION['pruefling_id']))
{
$pruefling = new pruefling();
//wenn kein Prüfling geladen werden kann
if(!$pruefling->getPruefling($_SESSION['prestudent_id']))
//wenn kein Prüfling geladen werden kann
if (!$pruefling->getPruefling($_SESSION['prestudent_id']))
$pruefling->new = true;
else
$pruefling->new = false;
else
$pruefling->new = false;
$pruefling->studiengang_kz = $_SESSION['studiengang_kz'];
$pruefling->semester = $_SESSION['semester'];
@@ -304,18 +326,18 @@ if(isset($_SESSION['prestudent_id']) && !isset($_SESSION['pruefling_id']))
$pruefling->idnachweis = '';
$pruefling->registriert = date('Y-m-d H:i:s');
$pruefling->prestudent_id = $_SESSION['prestudent_id'];
if($pruefling->save())
if ($pruefling->save())
{
$_SESSION['pruefling_id']=$pruefling->pruefling_id;
$reload_menu=true;
}
}
if(isset($_POST['save']) && isset($_SESSION['prestudent_id']))
if (isset($_POST['save']) && isset($_SESSION['prestudent_id']))
{
$pruefling = new pruefling();
if($_POST['pruefling_id']!='')
if(!$pruefling->load($_POST['pruefling_id']))
if ($_POST['pruefling_id']!='')
if (!$pruefling->load($_POST['pruefling_id']))
die('Pruefling wurde nicht gefunden');
else
$pruefling->new=false;
@@ -327,7 +349,7 @@ if(isset($_POST['save']) && isset($_SESSION['prestudent_id']))
$pruefling->registriert = date('Y-m-d H:i:s');
$pruefling->prestudent_id = $_SESSION['prestudent_id'];
$pruefling->semester = $_POST['semester'];
if($pruefling->save())
if ($pruefling->save())
{
$_SESSION['pruefling_id']=$pruefling->pruefling_id;
$_SESSION['semester']=$pruefling->semester;
@@ -344,8 +366,9 @@ if(isset($_POST['save']) && isset($_SESSION['prestudent_id']))
<script type="text/javascript" src="../../vendor/components/jquery/jquery.min.js"></script>
<script type="text/javascript" src="../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../vendor/components/jqueryui/ui/i18n/datepicker-de.js"></script>
<script type="text/javascript" src="../../vendor/twbs/bootstrap/dist/js/bootstrap.min.js"></script>
<script type="text/javascript" src="../../vendor/twbs/bootstrap/dist/js/bootstrap.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$.datepicker.setDefaults( $.datepicker.regional[ "" ] );
@@ -372,274 +395,326 @@ if(isset($_POST['save']) && isset($_SESSION['prestudent_id']))
});';
?>
// If Browser is any other than Mozilla Firefox and the test includes any MathML,
// show message to use Mozilla Firefox
var ua = navigator.userAgent;
if ((ua.indexOf("Firefox") > -1) == false)
{
$("#alertmsgdiv").html("<div class='alert alert-danger'>BITTE VERWENDEN SIE DEN MOZILLA FIREFOX BROWSER!<br>(Manche Prüfungsfragen werden sonst nicht korrekt dargestellt.<br><br>PLEASE USE MOZILLA FIREFOX BROWSER!<br>(Otherwise some exam items will not be displayed correctly</div>");
//alert('BITTE VERWENDEN SIE DEN MOZILLA FIREFOX BROWSER!\n(Manche Prüfungsfragen werden sonst nicht korrekt dargestellt.\n\nPLEASE USE MOZILLA FIREFOX BROWSER!\n(Ohterwise some exam items will not be displayed correctly.)');
}
});
</script>
<?php
if($reload_menu)
if ($reload_menu)
echo '<script language="Javascript">parent.menu.location.reload();</script>';
?>
</head>
<body scroll="no">
<div class="row">
<div class="row">
<?php
//REIHUNGSTEST STARTSEITE (nach Login)
if (isset($prestudent_id))
{
$prestudent = new prestudent($prestudent_id);
$stg_obj = new studiengang($prestudent->studiengang_kz);
$pruefling = new pruefling();
$typ = new studiengang($prestudent->studiengang_kz);
$typ->getStudiengangTyp($stg_obj->typ);
$prestudent = new prestudent($prestudent_id);
$stg_obj = new studiengang($prestudent->studiengang_kz);
$pruefling = new pruefling();
$typ = new studiengang($prestudent->studiengang_kz);
$typ->getStudiengangTyp($stg_obj->typ);
// STG mit der höchsten Prio ermitteln
$ps = new Prestudent();
// STG mit der höchsten Prio ermitteln
$ps = new Prestudent();
// * prinzipiell STG der session übernehmem
$firstPrio_studiengang_kz = $prestudent->studiengang_kz;
// * prinzipiell STG der session übernehmem
$firstPrio_studiengang_kz = $prestudent->studiengang_kz;
// * wenn STG des eingeloggten Prestudenten vom Typ Bachelor ist, dann höchste Prio aller
// Bachelor-STG ermitteln, an denen die Person noch interessiert ist
if ($typ->typ == 'b')
{
$ps->getActualInteressenten($prestudent_id, true, 'b');
foreach($ps->result as $row_prio)
{
if(isset($row_prio->studiengang_kz))
{
$firstPrio_studiengang_kz = $row_prio->studiengang_kz;
break;
}
}
}
// * wenn STG des eingeloggten Prestudenten vom Typ Bachelor ist, dann höchste Prio aller
// Bachelor-STG ermitteln, an denen die Person noch interessiert ist
if ($typ->typ == 'b')
{
$ps->getActualInteressenten($prestudent_id, true, 'b');
foreach($ps->result as $row_prio)
{
if (isset($row_prio->studiengang_kz))
{
$firstPrio_studiengang_kz = $row_prio->studiengang_kz;
break;
}
}
}
// Sprachwahl zu STG mit höchster Prio ermitteln
$ablauf = new Ablauf();
$sprachwahl = false;
if (isset($ablauf->result[0])
// Sprachwahl zu STG mit höchster Prio ermitteln
$ablauf = new Ablauf();
$sprachwahl = false;
if (isset($ablauf->result[0])
&& $ablauf->getAblaufVorgabeStudiengang($firstPrio_studiengang_kz)
&& is_bool($ablauf->result[0]->sprachwahl))
{
$sprachwahl = $ablauf->result[0]->sprachwahl;
}
{
$sprachwahl = $ablauf->result[0]->sprachwahl;
}
// If language can be switched, display language select menu on the top
if ($sprachwahl)
{
$_SESSION['sprache_auswahl'] = true;
?>
<script type="text/javascript">
parent.topbar.location.reload();
</script>
<?php
}
//Prestudent Informationen
echo '<div class="col-xs-10 col-sm-9 col-lg-6">';
echo '
<h1 style="margin-top: -20px;">'. $p->t('testtool/begruessungstext'). '</h1><br/>
<p>'. $p->t('testtool/anmeldedaten'). '</p><br/>
';
// If language can be switched, display language select menu on the top
if ($sprachwahl)
{
$_SESSION['sprache_auswahl'] = true;
?>
<script type="text/javascript">
parent.topbar.location.reload();
</script>
<?php
}
//Prestudent Informationen
echo '<div class="col-xs-10 col-sm-9 col-lg-6">';
echo '
<h1 style="margin-top: -20px;">'. $p->t('testtool/begruessungstext'). '</h1><br/>
<p>'. $p->t('testtool/anmeldedaten'). '</p><br/>
';
echo '
<table class="table table-bordered">
<tr>
<td style="width: 50%;"><strong>'.$p->t('zeitaufzeichnung/id').'</strong></td>
<td>'.$_SESSION['prestudent_id'].'</td>
</tr>
<tr>
<td><strong>'.$p->t('global/name').'</strong></td>
<td>'.$_SESSION['vorname'].' '.$_SESSION['nachname'].'</td>
</tr>
<tr>
<td><strong>'.$p->t('global/geburtsdatum').'</strong></td>
<td>'.$date->formatDatum($_SESSION["gebdatum"],"d.m.Y").'</td>
</tr>
</table>
';
echo '
<table class="table table-bordered">
<tr>
<td style="width: 50%;"><strong>'.$p->t('zeitaufzeichnung/id').'</strong></td>
<td>'.$_SESSION['prestudent_id'].'</td>
</tr>
<tr>
<td><strong>'.$p->t('global/name').'</strong></td>
<td>'.$_SESSION['vorname'].' '.$_SESSION['nachname'].'</td>
</tr>
<tr>
<td><strong>'.$p->t('global/geburtsdatum').'</strong></td>
<td>'.$date->formatDatum($_SESSION["gebdatum"],"d.m.Y").'</td>
</tr>
</table>
';
echo '<br>';
echo '
<p>'. $p->t('testtool/fuerFolgendeStgAngemeldet'). '</p><br>
echo '
<p>'. $p->t('testtool/fuerFolgendeStgAngemeldet'). '</p><br>
<table class="table table-bordered">
<thead>
<tr>
<th style="width: 50%;">'. $p->t('global/studiengang'). '</th>
<th>Status</th>
</tr>
</thead>
<tbody>
';
<table class="table table-bordered">
<thead>
<tr>
<th style="width: 50%;">'. $p->t('global/studiengang'). '</th>
<th>Status</th>
</tr>
</thead>
<tbody>
';
// * wenn Prestudent an 1 - n Bachelor-Studiengängen interessiert ist, dann STG anführen
if ($typ->typ == 'b')
{
// * wenn Prestudent an 1 - n Bachelor-Studiengängen interessiert ist, dann STG anführen
if ($typ->typ == 'b')
{
$ps_arr = new Prestudent();
$ps_arr->getActualInteressenten($prestudent_id, false, 'b');
if (count($ps_arr->result) > 0)
{
// Jeweils letzten Status ermitteln (ob Interessent oder Abgewiesener)
foreach ($ps_arr->result as $ps_obj)
{
$ps_tmp = new Prestudent();
$ps_tmp->getLastStatus($ps_obj->prestudent_id);
if (count($ps_arr->result) > 0)
{
// Jeweils letzten Status ermitteln (ob Interessent oder Abgewiesener)
foreach ($ps_arr->result as $ps_obj)
{
$ps_tmp = new Prestudent();
$ps_tmp->getLastStatus($ps_obj->prestudent_id);
$ps_obj->lastStatus = $ps_tmp->status_kurzbz; // letzten Status dem result array hinzufügen
$ps_obj->status_mehrsprachig = $ps_tmp->status_mehrsprachig;
}
$ps_obj->lastStatus = $ps_tmp->status_kurzbz; // letzten Status dem result array hinzufügen
$ps_obj->status_mehrsprachig = $ps_tmp->status_mehrsprachig;
}
// Falls Status 'Abgewiesene' vorhanden, nach hinten reihen
usort($ps_arr->result, function($a, $b){
return strcmp($b->lastStatus, $a->lastStatus); // Order by DESC
});
foreach ($ps_arr->result as $ps_obj)
{
echo '<tr>';
$stg = new Studiengang($ps_obj->studiengang_kz);
// Falls Status 'Abgewiesene' vorhanden, nach hinten reihen
usort($ps_arr->result, function($a, $b){
return strcmp($b->lastStatus, $a->lastStatus); // Order by DESC
});
foreach ($ps_arr->result as $ps_obj)
{
echo '<tr>';
$stg = new Studiengang($ps_obj->studiengang_kz);
if($ps_obj->lastStatus == "Interessent"
|| $ps_obj->lastStatus == "Bewerber"
|| $ps_obj->lastStatus == "Wartender"
|| $ps_obj->lastStatus == "Aufgenommener")
{
echo '<td style="width: 50%;">'. $ps_obj->typ_bz .' '. ($sprache_user == 'English' ? $stg->english : $stg->bezeichnung). ' ('.$ps_obj->orgform_bezeichnung[$sprache_user].')</td>';
if($ps_obj->ausbildungssemester == '1')
{
echo '<td>'. $p->t('testtool/regulaererEinstieg'). ' (1. Semester)</td>';
}
elseif($ps_obj->ausbildungssemester == '3')
{
echo '<td>'. $p->t('testtool/quereinstieg'). ' (3. Semester)</td>';
}
}
// wenn letzter Status \'Abgewiesener\' ist, dann als solchen kennzeichnen
elseif($ps_obj->lastStatus == "Abgewiesener")
{
echo '
<td class="text-muted">'. $ps_obj->typ_bz .' '. ($sprache_user == 'English' ? $stg->english : $stg->bezeichnung). '</td>
<td class="text-muted">'. $ps_obj->status_mehrsprachig[$sprache_user]. '</td>
';
}
echo '</tr>';
}
}
}
// * wenn Prestudent an einem Master-Studiengang interessiert ist, dann nur den einen STG anführen
else
{
// Letzten Status für des Prestudenten einholen
$ps_master = new Prestudent();
if ($ps_obj->lastStatus == "Interessent"
|| $ps_obj->lastStatus == "Bewerber"
|| $ps_obj->lastStatus == "Wartender"
|| $ps_obj->lastStatus == "Aufgenommener")
{
echo '<td style="width: 50%;">'. $ps_obj->typ_bz .' '. ($sprache_user == 'English' ? $stg->english : $stg->bezeichnung). ' ('.$ps_obj->orgform_bezeichnung[$sprache_user].')</td>';
if ($ps_obj->ausbildungssemester == '1')
{
echo '<td>'. $p->t('testtool/regulaererEinstieg'). ' (1. Semester)</td>';
}
elseif ($ps_obj->ausbildungssemester == '3')
{
echo '<td>'. $p->t('testtool/quereinstieg'). ' (3. Semester)</td>';
}
}
// wenn letzter Status \'Abgewiesener\' ist, dann als solchen kennzeichnen
elseif ($ps_obj->lastStatus == "Abgewiesener")
{
echo '
<td class="text-muted">'. $ps_obj->typ_bz .' '. ($sprache_user == 'English' ? $stg->english : $stg->bezeichnung). '</td>
<td class="text-muted">'. $ps_obj->status_mehrsprachig[$sprache_user]. '</td>
';
}
echo '</tr>';
}
}
}
// * wenn Prestudent an einem Master-Studiengang interessiert ist, dann nur den einen STG anführen
else
{
// Letzten Status für des Prestudenten einholen
$ps_master = new Prestudent();
$ps_master->getLastStatus($prestudent_id);
echo '<td>'. $typ->bezeichnung.' '.($sprache_user=='English'?$stg_obj->english:$stg_obj->bezeichnung).'</td>';
echo '<td>'. $typ->bezeichnung.' '.($sprache_user=='English'?$stg_obj->english:$stg_obj->bezeichnung).'</td>';
echo '<td>'. $ps_master->status_mehrsprachig[$sprache_user]. '</td>';
}
}
echo '
</tbody>
</table>
';
echo '
</tbody>
</table>
';
echo '<br>';
echo '<br>';
if($pruefling->getPruefling($prestudent_id))
{
echo '<FORM accept-charset="UTF-8" action="'. $_SERVER['PHP_SELF'].'" method="post" enctype="multipart/form-data">';
echo '<input type="hidden" name="pruefling_id" value="'.$pruefling->pruefling_id.'">';
echo '<table>';
//echo '<tr><td>'.$p->t('global/semester').':</td><td><input type="text" name="semester" size="1" maxlength="1" value="'.$pruefling->semester.'">&nbsp;<input type="submit" name="save" value="Semester ändern"></td></tr>';
//echo '<tr><td>ID Nachweis:</td><td><INPUT type="text" maxsize="50" name="idnachweis" value="'.$pruefling->idnachweis.'"></td></tr>';
//echo '<tr><td></td><td><input type="submit" name="save" value="Semester ändern"></td>';
echo '</table>';
echo '</FORM>';
echo '<br><br>';
echo '
<div class="well well-lg text-center">
<strong>'.$p->t('testtool/klickenSieAufEinTeilgebiet').'</strong>
</div>
';
if($pruefling->pruefling_id!='')
{
$_SESSION['pruefling_id']=$pruefling->pruefling_id;
}
}
else
{
echo '<span class="error">'.$p->t('testtool/keinPrueflingseintragVorhanden').'</span>';
}
echo ' </div><!--/.col-->';
if ($pruefling->getPruefling($prestudent_id))
{
echo '<FORM accept-charset="UTF-8" action="'. $_SERVER['PHP_SELF'].'" method="post" enctype="multipart/form-data">';
echo '<input type="hidden" name="pruefling_id" value="'.$pruefling->pruefling_id.'">';
echo '<table>';
//echo '<tr><td>'.$p->t('global/semester').':</td><td><input type="text" name="semester" size="1" maxlength="1" value="'.$pruefling->semester.'">&nbsp;<input type="submit" name="save" value="Semester ändern"></td></tr>';
//echo '<tr><td>ID Nachweis:</td><td><INPUT type="text" maxsize="50" name="idnachweis" value="'.$pruefling->idnachweis.'"></td></tr>';
//echo '<tr><td></td><td><input type="submit" name="save" value="Semester ändern"></td>';
echo '</table>';
echo '</FORM>';
echo '<br><br>';
echo '
<div class="well well-lg text-center">
<strong>'.$p->t('testtool/klickenSieAufEinTeilgebiet').'</strong>
</div>
';
if ($pruefling->pruefling_id!='')
{
$_SESSION['pruefling_id']=$pruefling->pruefling_id;
}
}
else
{
echo '<span class="error">'.$p->t('testtool/keinPrueflingseintragVorhanden').'</span>';
}
echo ' </div><!--/.col-->';
}
else // LOGIN Site (vor Login)
{
$prestudent_id_dummy_student = (defined('PRESTUDENT_ID_DUMMY_STUDENT')?PRESTUDENT_ID_DUMMY_STUDENT:'');
echo '<div class="col-xs-11">';
if (defined('TESTTOOL_LOGIN_BEWERBUNGSTOOL') && TESTTOOL_LOGIN_BEWERBUNGSTOOL)
{
echo '<div class="col-xs-11">';
echo '<div id="alertmsgdiv">'.$alertmsg.'</div>';
echo $p->t('testtool/einfuehrungsText');
// Welcome text
echo $alertmsg;
echo '
<div class="row" style="margin-bottom: 10%; margin-top: 3%;">
<div class="col-xs-6 text-center" style="border-right: 1px solid lightgrey;">
<h1 style="white-space: normal">Herzlich Willkommen zum Reihungstest</h1><br><br>
Bitte warten Sie mit dem Login auf die Anweisung der Aufsichtsperson.<br><br>
Wir wünschen Ihnen einen erfolgreichen Start ins Studium.
</div>
<div class="col-xs-6 text-center">
<h1 style="white-space: normal">Welcome to the placement test</h1> <br><br>
Please wait for the tutor\'s instructions before you log in.<br><br>
We wish you a good start to your studies.
</div>
</div>
';
if (isset($_SESSION['bewerbung/personId']))
{
echo '<script>
function changeconfirmation()
{
document.getElementById("confirmationSubmit").disabled = !document.getElementById("confirmationCheckbox").checked;
}
</script>';
echo '<div class="row text-center">
'.$p->t('testtool/loginNoetig').'<br /><br />
<form action="login.php">
<input type="hidden" name="prestudent" value="'.$_REQUEST['prestudent'].'" />
<input id="confirmationCheckbox" type="checkbox" name="confirmation" onclick="changeconfirmation()" />
'.$p->t('testtool/confirmationText').'
<br><br>
<button id="confirmationSubmit" type="submit" class="btn btn-primary" disabled/>
'.$p->t('testtool/start').'
</button>
</form>';
}
else
{
echo '<div class="row text-center">
'.$p->t('testtool/loginNoetig').'<br /><br />
<form action="'.APP_ROOT.'/addons/bewerbung/cis/." target="_top">
<button type="submit" class="btn btn-primary" />
'.$p->t('testtool/login').'
</button>
</form>';
}
echo '
</div>';
echo '</div>';
}
else
{
$prestudent_id_dummy_student = (defined('PRESTUDENT_ID_DUMMY_STUDENT')?PRESTUDENT_ID_DUMMY_STUDENT:'');
echo '<div class="col-xs-11">';
// Begin form
echo '<div class="row text-center">';
echo '<form method="post" class="form-inline">';
// Welcome text
echo '<div id="alertmsgdiv">'.$alertmsg.'</div>';
echo '
<div class="row" style="margin-bottom: 10%; margin-top: 3%;">
<div class="col-xs-6 text-center" style="border-right: 1px solid lightgrey;">
<h1 style="white-space: normal">Herzlich Willkommen zum Reihungstest</h1><br><br>
Bitte warten Sie mit dem Login auf die Anweisung der Aufsichtsperson.<br><br>
Wir wünschen Ihnen einen erfolgreichen Start ins Studium.
</div>
<div class="col-xs-6 text-center">
<h1 style="white-space: normal">Welcome to the placement test</h1> <br><br>
Please wait for the tutor\'s instructions before you log in.<br><br>
We wish you a good start to your studies.
</div>
</div>
';
// Name select menu
echo '<div class="form-group">';
echo '<label for="select-prestudent" class="col-sm-2 control-label">Name</label>';
echo '<div class="col-sm-10">';
echo '<SELECT name="prestudent" id="select-prestudent" class="form-control">';
echo '<OPTION value="'.$prestudent_id_dummy_student.'">Bitte wählen / Please select...</OPTION>\n';
foreach($ps->result as $prestd)
{
$stg = new studiengang();
$stg->load($prestd->studiengang_kz);
if(isset($_POST['prestudent']) && $prestd->prestudent_id==$_POST['prestudent'])
$selected = 'selected';
else
$selected='';
echo '
<OPTION value="'.$prestd->prestudent_id.'" '.$selected.'>'.$prestd->nachname.' '.$prestd->vorname.' ('.(strtoupper($stg->typ.$stg->kurzbz)).')</OPTION>\n';
}
// An der FHTW gibt es 3 Testuser für den Camus International
if (CAMPUS_NAME == 'FH Technikum Wien')
{
echo '<OPTION value="30891">Testuser Campus International 01</OPTION>\n';
echo '<OPTION value="30890">Testuser Campus International 02</OPTION>\n';
echo '<OPTION value="30889">Testuser Campus International 03</OPTION>\n';
}
echo '</SELECT>';
echo '</div>'; // end col-xs
echo '</div>'; // end form-group
// Begin form
echo '<div class="row text-center">';
echo '<form method="post" class="form-inline">';
// Datepicker input
echo '<div class="form-group"> ';
echo '<label for="datepicker" class="col-sm-offset-1 col-sm-4 control-label">Geburtsdatum | Date of Birth</label>';
echo '<div class="col-sm-3">';
echo '<input type="text" id="datepicker" class="form-control" name="gebdatum" value="'.$date->formatDatum($gebdatum,'d.m.Y').'" placeholder="DD.MM.YYYY">';
echo '</div>'; // end col-xs
echo '</div>'; // end form-group
// Name select menu
echo '<div class="form-group">';
echo '<label for="select-prestudent" class="col-sm-2 control-label">Name</label>';
echo '<div class="col-sm-10">';
echo '<SELECT name="prestudent" id="select-prestudent" class="form-control">';
echo '<OPTION value="'.$prestudent_id_dummy_student.'">Bitte wählen / Please select...</OPTION>\n';
foreach($ps->result as $prestd)
{
$stg = new studiengang();
$stg->load($prestd->studiengang_kz);
if (isset($_REQUEST['prestudent']) && $prestd->prestudent_id==$_REQUEST['prestudent'])
$selected = 'selected';
else
$selected='';
echo '
<OPTION value="'.$prestd->prestudent_id.'" '.$selected.'>'.$prestd->nachname.' '.$prestd->vorname.' ('.(strtoupper($stg->typ.$stg->kurzbz)).')</OPTION>\n';
}
// An der FHTW gibt es 3 Testuser für den Camus International
if (CAMPUS_NAME == 'FH Technikum Wien')
{
echo '<OPTION value="30891">Testuser Campus International 01</OPTION>\n';
echo '<OPTION value="30890">Testuser Campus International 02</OPTION>\n';
echo '<OPTION value="30889">Testuser Campus International 03</OPTION>\n';
}
echo '</SELECT>';
echo '</div>'; // end col-xs
echo '</div>'; // end form-group
// Login button
echo '<button type="submit" class="btn btn-default" value="'.$p->t('testtool/login').'" />'.$p->t('testtool/login').'</button>';
// Datepicker input
echo '<div class="form-group"> ';
echo '<label for="datepicker" class="col-sm-offset-1 col-sm-4 control-label">Geburtsdatum | Date of Birth</label>';
echo '<div class="col-sm-3">';
echo '<input type="text" id="datepicker" class="form-control" name="gebdatum" value="'.$date->formatDatum($gebdatum,'d.m.Y').'" placeholder="DD.MM.YYYY">';
echo '</div>'; // end col-xs
echo '</div>'; // end form-group
echo '</form>'; // end form
// Login button
echo '<button type="submit" class="btn btn-default" value="'.$p->t('testtool/login').'" />'.$p->t('testtool/login').'</button>';
echo '</div>'; // end row
echo '</div>'; // end col-xs-11
echo '</form>'; // end form
echo '</div>'; // end row
echo '</div>'; // end col-xs-11
}
}
?>
</div><!--/.row-->
</body>
+37 -12
View File
@@ -23,22 +23,49 @@
// Holt den Hexcode eines Bildes aus der DB wandelt es in Zeichen
// um und gibt das ein Bild zurueck.
// Aufruf mit <img src='bild.php?src=frage&frage_id=1
require_once('../../config/cis.config.inc.php');
require_once('../../include/basis_db.class.php');
if (!$db = new basis_db())
die('Fehler beim Oeffnen der Datenbankverbindung');
require_once('../../config/cis.config.inc.php');
require_once('../../include/basis_db.class.php');
require_once('../../include/benutzerberechtigung.class.php');
if (!$db = new basis_db())
die('Fehler beim Oeffnen der Datenbankverbindung');
session_start();
if(!isset($_SESSION['pruefling_id']))
{
$user = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
if (!$rechte->isBerechtigt('basis/testtool', null, 's'))
die($rechte->errormsg);
}
//base64 Dump aus der DB holen
$qry = '';
if(isset($_GET['src']) && $_GET['src']=='frage' && isset($_GET['frage_id']))
{
$qry = "SELECT audio FROM testtool.tbl_frage_sprache WHERE frage_id='".addslashes($_GET['frage_id'])."' AND sprache='".addslashes($_GET['sprache'])."'";
$qry = "
SELECT
audio
FROM
testtool.tbl_frage_sprache
WHERE
frage_id=".$db->db_add_param($_GET['frage_id'], FHC_INTEGER)."
AND sprache=".$db->db_add_param($_GET['sprache']);
}
elseif(isset($_GET['src']) && $_GET['src']=='vorschlag' && isset($_GET['vorschlag_id']))
{
$qry = "SELECT audio FROM testtool.tbl_vorschlag_sprache WHERE vorschlag_id='".addslashes($_GET['vorschlag_id'])."' AND sprache='".addslashes($_GET['sprache'])."'";
$qry = "
SELECT
audio
FROM
testtool.tbl_vorschlag_sprache
WHERE
vorschlag_id=".$db->db_add_param($_GET['vorschlag_id'], FHC_INTEGER)."
AND sprache=".$db->db_add_param($_GET['sprache']);
}
else
else
echo 'Unkown type';
if($qry!='')
@@ -52,16 +79,14 @@ if($qry!='')
//base64 Werte in Zeichen
$result = $db->db_query($qry);
$row = $db->db_fetch_object($result);
$content = base64_decode($row->audio);
$len = strlen($content);
header("Content-Length: $len\n");
//header("Content-type: audio/wav");
//ausgeben
echo $content;
}
?>
+3
View File
@@ -288,4 +288,7 @@ define('STATUSGRUND_ID_EINSTIEG_SOMMERSEMESTER', null);
// Studiengangs_kz des Studiengangs "Qualifikationskurse". Der Studiengang hat eine Sonderstellung zB für das Bewerbungstool.
define('STUDIENGANG_KZ_QUALIFIKATIONKURSE', null);
// Gibt an ob der Login ins Testtool ueber das Bewerbungstool stattfindet oder nicht
define('TESTTOOL_LOGIN_BEWERBUNGSTOOL', false);
?>
+33
View File
@@ -50,4 +50,37 @@ $this->phrasen['testtool/startDrueckenUmZuBeginnen']='Um dieses Teilgebiet zu st
$this->phrasen['testtool/keinPrueflingseintragVorhanden']='Kein Prüflingseintrag vorhanden';
$this->phrasen['testtool/fuerFolgendeStgAngemeldet']='Für folgende Studiengänge haben Sie sich angemeldet:';
$this->phrasen['testtool/invalideGebiete']='Ein oder mehrere Fragengebiet/e inkorrekt!<br>Bitte melden Sie dies der Betreuungsperson.';
$this->phrasen['testtool/confirmationText']='Ich bestätige, den Online-Reihungstest persönlich, selbständig, ohne Hilfe einer zusätzlichen Person und ohne Hilfsmittel zu absolvieren.';
$this->phrasen['testtool/loginNoetig']='Bitte beachten Sie, dass der Reihungstest erst <b>unmittelbar</b> vor Testbeginn von uns aktiviert wird.<br>
Please note, that the test will be enabled straight before the beginning';
$this->phrasen['testtool/start']='Reihungstest jetzt starten';
$this->phrasen['testtool/einfuehrungsText']='
<div class="row" style="margin-bottom: 20px; margin-top: 3%%;">
<div class="col-xs-6 text-center" style="border-right: 1px solid lightgrey;">
<h1 style="white-space: normal">Herzlich Willkommen zum Reihungstest</h1>
<a href="'.APP_ROOT.'dms.php?id=142964" target="_blank"><img src="'.APP_ROOT.'cms/dms.php?id=142976" alt="Einfuehrungsvideo" style="border: 1px solid lightgray; border-radius: 10px; width:350px;"></a>
<!--<video controls poster="'.APP_ROOT.'cms/dms.php?id=2786&version=2" style="border: 1px solid lightgray; border-radius: 10px; width:350px; max-width:100%%;">
<source src="'.APP_ROOT.'cms/dms.php?id=142964" type="video/mp4">
<p>Ihr Browser unterstützt dieses Videoelement leider nicht.</p>
</video>-->
<br><br>
<a href="#" target="_blank"><img src="'.APP_ROOT.'cms/dms.php?id=46&version=1">&nbsp;Leitfaden zum Ablauf des Reihungstests (folgt in Kürze)</a>
<br><br>
Unter dem folgenden Link können Sie die korrekte Darstellung des Reihungstests testen:<br><br>
<a href="../public/testtool_test/testseite.php" target="_blank" class="btn btn-default">Zum Darstellungstest</a>
</div>
<div class="col-xs-6 text-center">
<h1 style="white-space: normal">Welcome to the placement test</h1>
<a href="'.APP_ROOT.'cms/dms.php?id=142964" target="_blank"><img src="'.APP_ROOT.'cms/dms.php?id=142977" alt="Einfuehrungsvideo" style="border: 1px solid lightgray; border-radius: 10px; width:350px;"></a>
<!--<video width="320" controls poster="'.APP_ROOT.'cms/dms.php?id=2786&version=2" style="border: 1px solid lightgray; border-radius: 10px;">
<source src="'.APP_ROOT.'cms/dms.php?id=142964" type="video/mp4">
<p>Ihr Browser unterstützt dieses Videoelement leider nicht.</p>
</video>-->
<br><br>
<a href="#" target="_blank"><img src="'.APP_ROOT.'cms/dms.php?id=46&version=1">&nbsp;Guideline for placement test (coming soon)</a>
<br><br>
Under the following link you can test the correct display of the placement test:<br><br>
<a href="../public/testtool_test/testseite.php" target="_blank" class="btn btn-default">Display testpage</a>
</div>
</div>';
?>