Login für Testtool angepasst damit ein Login über das Bewerbungstool möglich ist wenn im Config aktiviert

This commit is contained in:
Andreas Österreicher
2020-03-31 12:20:33 +02:00
parent bb4d01f6e7
commit 646378ad1a
6 changed files with 456 additions and 335 deletions
+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);
}
?>
+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>
+349 -299
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,46 @@ $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)
{
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>';
}
}
else
{
//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,13 +118,13 @@ 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
{
@@ -106,10 +133,10 @@ if (isset($_POST['prestudent']) && isset($gebdatum))
}
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
{
@@ -121,16 +148,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 +167,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 +178,27 @@ if (isset($_POST['prestudent']) && isset($gebdatum))
$stg_obj = new studiengang($studiengang);
$_SESSION['semester']=$semester;
$stg_obj->getStudiengangTyp($stg_obj->typ);
$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,7 +366,7 @@ 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()
{
@@ -375,270 +397,298 @@ if(isset($_POST['save']) && isset($_SESSION['prestudent_id']))
});
</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 $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>
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>
We wish you a good start to your studies.
</div>
</div>
';
echo '<div class="row text-center">
<form action="'.APP_ROOT.'/addons/bewerbung/cis/." target="_top">
<button type="submit" class="btn btn-default" value="'.$p->t('testtool/login').'" />
'.$p->t('testtool/login').'
</button>
</form>
</div>';
echo '</div>';
}
else
{
$prestudent_id_dummy_student = (defined('PRESTUDENT_ID_DUMMY_STUDENT')?PRESTUDENT_ID_DUMMY_STUDENT:'');
echo '<div class="col-xs-11">';
// 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>
';
// 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>
';
// Begin form
echo '<div class="row text-center">';
echo '<form method="post" class="form-inline">';
// Begin form
echo '<div class="row text-center">';
echo '<form method="post" class="form-inline">';
// 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
// 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
// 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
// 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
// Login button
echo '<button type="submit" class="btn btn-default" value="'.$p->t('testtool/login').'" />'.$p->t('testtool/login').'</button>';
// Login button
echo '<button type="submit" class="btn btn-default" value="'.$p->t('testtool/login').'" />'.$p->t('testtool/login').'</button>';
echo '</form>'; // end form
echo '</form>'; // end form
echo '</div>'; // end row
echo '</div>'; // end col-xs-11
echo '</div>'; // end row
echo '</div>'; // end col-xs-11
}
}
?>
</div><!--/.row-->
+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);
?>