Merge branch 'master' into dbskel

This commit is contained in:
Paolo
2020-04-22 21:22:59 +02:00
25 changed files with 976 additions and 490 deletions
@@ -1374,7 +1374,7 @@ class InfoCenter extends Auth_Controller
{
if (isset($prestudentstatus->bestaetigtam))
{
//if statusgrund set - RTfreigabe, otherwise Stgfreigabe
//if statusgrund set - freigegeben for Studiengang, otherwise freigegeben for RT
if (isset($prestudentstatus->statusgrund_id))
{
if (isset($prestudentstatus->bezeichnung_statusgrund[0])
@@ -1388,23 +1388,37 @@ class InfoCenter extends Auth_Controller
$zgvpruefung->isRtFreigegeben = true;
}
}
}
}
//application priority change possible?
$zgvpruefung->changeup = false;
$zgvpruefung->changedown = false;
//application priority change possible?
$zgvpruefung->changeup = false;
$zgvpruefung->changedown = false;
$zgvpruefung->hasBewerber = false;
if (isset($zgvpruefung->prestudentstatus->status_kurzbz) && $zgvpruefung->prestudentstatus->status_kurzbz == self::INTERESSENTSTATUS)
{
if (isset($zgvpruefung->prestudentstatus->studiensemester_kurzbz))
{
$studiensemester = $zgvpruefung->prestudentstatus->studiensemester_kurzbz;
$zgvpruefung->changeup = $this->PrestudentModel->checkPrioChange($zgvpruefung->prestudent_id, $studiensemester, -1);
$zgvpruefung->changedown = $this->PrestudentModel->checkPrioChange($zgvpruefung->prestudent_id, $studiensemester, 1);
}
}
if (isset($zgvpruefung->prestudentstatus->status_kurzbz) && $zgvpruefung->prestudentstatus->status_kurzbz == self::INTERESSENTSTATUS)
{
if (isset($zgvpruefung->prestudentstatus->studiensemester_kurzbz))
{
$studiensemester = $zgvpruefung->prestudentstatus->studiensemester_kurzbz;
//show warning if there is already another bewerber (RT result already exists)
$bewerber = $this->PersonModel->hasBewerber($person_id, $studiensemester, 'b');
$zgvpruefungen[] = $zgvpruefung;
if (hasData($bewerber))
{
$bewerbercnt = getData($bewerber);
if (is_numeric($bewerbercnt[0]->anzahl_bewerber) && $bewerbercnt[0]->anzahl_bewerber > 0)
{
$zgvpruefung->hasBewerber = true;
}
}
$zgvpruefung->changeup = $this->PrestudentModel->checkPrioChange($zgvpruefung->prestudent_id, $studiensemester, -1);
$zgvpruefung->changedown = $this->PrestudentModel->checkPrioChange($zgvpruefung->prestudent_id, $studiensemester, 1);
}
}
$zgvpruefungen[] = $zgvpruefung;
}
$this->_sortPrestudents($zgvpruefungen);
@@ -34,7 +34,7 @@ class MessageClient extends FHC_Controller
public function read()
{
// Loads the view to read messages
$this->load->view('system/messages/ajaxRead');
$this->load->view('system/messages/ajaxRead', $this->CLMessagesModel->prepareAjaxRead());
}
/**
+20 -8
View File
@@ -91,6 +91,23 @@ class Messages_model extends CI_Model
}
}
/**
* Prepares data for the view system/messages/ajaxRead
*/
public function prepareAjaxRead()
{
$psResult = $this->PrestudentModel->loadWhere(array('person_id' => getAuthPersonId()));
if (isError($psResult)) show_error('An error occurred while loading this page, please contact the site administrator');
if (hasData($psResult))
{
return array('writeButton' => '<input id="writeMessage" type="button" value="'.$this->p->t('ui', 'nachrichtSenden').'">');
}
return array('writeButton' => '');
}
/**
* Prepares data for the view system/messages/ajaxWrite
*/
@@ -267,15 +284,10 @@ class Messages_model extends CI_Model
$sender = getData($senderResult)[0]; // Found sender data
// Check if the receiver is an employee
$isEmployee = false; // not by default
$isEmployeeResult = $this->MessageTokenModel->isEmployee($message->receiver_id);
if (isError($isEmployeeResult)) show_error(getError($isEmployeeResult));
if (hasData($isEmployeeResult)) $isEmployee = true;
// If the sender is not an employee and are present configurations to reply
// If the sender is not the system sender and are present configurations to reply
$hrefReply = '';
if (!$isEmployee && !isEmptyString($this->config->item(MessageLib::CFG_REDIRECT_VIEW_MESSAGE_URL)))
if ($message->sender_id != $this->config->item(MessageLib::CFG_SYSTEM_PERSON_ID)
&& !isEmptyString($this->config->item(MessageLib::CFG_REDIRECT_VIEW_MESSAGE_URL)))
{
$hrefReply = $this->config->item(MessageLib::CFG_MESSAGE_SERVER).
$this->config->item(MessageLib::CFG_REDIRECT_VIEW_MESSAGE_URL).
@@ -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'} = '-';
@@ -34,12 +34,14 @@
//set bootstrap columns for zgv form
$columns = array(3, 3, 3, 3);
$headercolumns = array(7, 5);
if (!$infoonly && isset($zgvpruefung->prestudentstatus->bewerbungsnachfrist) && isset($zgvpruefung->prestudentstatus->bewerbungstermin))
{
$headercolumns[0] = 4;
$headercolumns[1] = 8;
$headercolumns = $zgvpruefung->hasBewerber === true ? array(3, 5, 4) : array(4, 8);
}
else
{
$headercolumns = $zgvpruefung->hasBewerber === true ? array(4, 4, 4) : array(7, 5);
}
if (!$first)
echo '<br />';
@@ -68,6 +70,11 @@
?></a>
</h4>
</div>
<?php if($zgvpruefung->hasBewerber === true): ?>
<div class="col-xs-<?php echo $headercolumns[2]; ?> text-center text-danger">
<?php echo $this->p->t('infocenter', 'rtErgebnisExistiert') ?>
</div>
<?php endif; ?>
<?php
$changeup = isset($zgvpruefung->changeup) && $zgvpruefung->changeup === true;
$changedown = isset($zgvpruefung->changedown) && $zgvpruefung->changedown === true;
@@ -77,7 +84,7 @@
<span<?php echo $changeup || $changedown ? ' class="zgvheaderbeforeprio"' : ''?>>
<?php if ($infoonly): ?>
<?php if (isset($zgvpruefung->prestudentstatus->bestaetigtam)): ?>
<i class="fa fa-check" style="color: green"></i>
<i class="fa fa-check text-success"></i>
<?php if (isset($zgvpruefung->prestudentstatus->statusgrund_id))
echo $this->p->t('global', 'anStudiengangFreigegeben').(isset($zgvpruefung->prestudentstatus->bezeichnung_statusgrund[0]) ? ' ('.$zgvpruefung->prestudentstatus->bezeichnung_statusgrund[0].')' : '');
else
@@ -85,9 +92,9 @@
?>
<?php endif; ?>
<?php else: ?>
<?php echo ucfirst($this->p->t('infocenter', 'bewerbung')) . ' ' . $this->p->t('global', 'abgeschickt') . ': '.(isset($zgvpruefung->prestudentstatus->bewerbung_abgeschicktamum) ? '<i class="fa fa-check" style="color:green"></i>' : '<i class="fa fa-times" style="color:red"></i>'); ?>
<?php echo (isset($zgvpruefung->prestudentstatus->bewerbungsnachfrist) ? ' | ' . $this->p->t('infocenter', 'nachfrist') . ': ' . date_format(date_create($zgvpruefung->prestudentstatus->bewerbungsnachfrist), 'd.m.Y') : ''); ?>
<?php echo (isset($zgvpruefung->prestudentstatus->bewerbungstermin) ? ' | ' . $this->p->t('infocenter', 'bewerbungsfrist') . ': ' . date_format(date_create($zgvpruefung->prestudentstatus->bewerbungstermin), 'd.m.Y') : ''); ?>
<?php echo ucfirst($this->p->t('infocenter', 'bewerbung')) . ' ' . $this->p->t('global', 'abgeschickt') . ':&nbsp;'.(isset($zgvpruefung->prestudentstatus->bewerbung_abgeschicktamum) ? '<i class="fa fa-check text-success"></i>' : '<i class="fa fa-times text-danger"></i>'); ?>
<?php echo (isset($zgvpruefung->prestudentstatus->bewerbungsnachfrist) ? ' | ' . $this->p->t('infocenter', 'nachfrist') . ':&nbsp;' . date_format(date_create($zgvpruefung->prestudentstatus->bewerbungsnachfrist), 'd.m.Y') : ''); ?>
<?php echo (isset($zgvpruefung->prestudentstatus->bewerbungstermin) ? ' | ' . $this->p->t('infocenter', 'bewerbungsfrist') . ':&nbsp;' . date_format(date_create($zgvpruefung->prestudentstatus->bewerbungstermin), 'd.m.Y') : ''); ?>
<?php endif; ?>
<?php
echo ' | ' . ucfirst($this->p->t('infocenter', 'priorisierung')) . ': ';
@@ -472,10 +479,10 @@
</div><!-- /.row -->
</div><!-- /.panel-footer -->
<?php elseif (isset($zgvpruefung->prestudentstatus->status_kurzbz) && $zgvpruefung->prestudentstatus->status_kurzbz === 'Interessent'): ?>
<div class="panel-footer" style="border-top: 1px solid #ddd">
<div class="panel-footer solidtop">
<div class="row">
<div class="col-lg-12 text-left">
<?php echo isset($zgvpruefung->prestudentstatus->bestaetigtam) ? '<i class="fa fa-check" style="color: green"></i>' : '<i class="fa fa-check" style="color: red"></i>' ?>
<?php echo isset($zgvpruefung->prestudentstatus->bestaetigtam) ? '<i class="fa fa-check text-success"></i>' : '<i class="fa fa-check text-danger"></i>' ?>
<label>
<?php if (isset($zgvpruefung->prestudentstatus->statusgrund_id))
echo $this->p->t('global', 'anStudiengangFreigegeben').(isset($zgvpruefung->prestudentstatus->bezeichnung_statusgrund[0]) ? ' ('.$zgvpruefung->prestudentstatus->bezeichnung_statusgrund[0].')' : '');
@@ -44,7 +44,7 @@
<span class="buttonsSpacer"></span>
<span>
<input id="writeMessage" type="button" value="<?php echo $this->p->t('ui', 'nachrichtSenden'); ?>">
<?php echo $writeButton; ?>
<input id="replyMessage" type="button" value="<?php echo $this->p->t('global', 'reply'); ?>">
</span>
@@ -85,6 +85,12 @@
<br>
<div class="row">
<div class="col-lg-12 text-right">
<button id="backButton" class="btn btn-default" type="button">
<?php echo $this->p->t('ui', 'backToReadWriteMessage'); ?>
</button>
<button id="sendButton" class="btn btn-default" type="button">
<?php echo $this->p->t('ui', 'senden'); ?>
@@ -89,7 +89,7 @@
array(
'name' => 'variables[]',
'id' => 'variables',
'size' => 27,
'size' => count($variables),
'multiple' => true
)
);
+5 -1
View File
@@ -718,7 +718,11 @@ for ($i=0;$i<6;$i++)
else
{
echo '<b title="'.$p->t('urlaubstool/vertretung').': '.$vertretung_uid[$j+7*$i].' - '.$p->t('urlaubstool/erreichbar').': '.$erreichbarkeit_kurzbz[$j+7*$i].'">'.$tage[$j+7*$i].'</b><br>';
if(isset($freigabeamum[$j+7*$i]))
if(!isset($freigabeamum[$j+7*$i]) && !isset($freigabevon[$j+7*$i]))
{
echo '<img src="../../../skin/images/flag-red.png" alt="nicht freigegeben" title="'.$p->t('urlaubstool/freigabeFehlt').'"></td>';
}
elseif(isset($freigabeamum[$j+7*$i]))
{
echo '<img src="../../../skin/images/flag-green.png" alt="freigegeben" title="'.$p->t('urlaubstool/freigegebenDurchAm', array($freigabevon[$j+7*$i])).' '.date("d-m-Y",strtotime($freigabeamum[$j+7*$i])).'"></td>';
}
+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>';
?>
+2 -1
View File
@@ -35,4 +35,5 @@ $this->phrasen['urlaubstool/handbuchUrlaubserfassung']='Handbuch Urlaubserfassun
$this->phrasen['urlaubstool/meineZeitsperren']='Meine Zeitsperren';
$this->phrasen['urlaubstool/sieKoennenDiesenUnterFolgenderAdresseFreigeben']='Sie können diesen unter folgender Adresse freigeben';
$this->phrasen['urlaubstool/freigabeansuchenUrlaub']='Freigabeansuchen Urlaub';
?>
$this->phrasen['urlaubstool/freigabeFehlt']='Urlaub wurde noch nicht freigegeben';
?>
+2 -1
View File
@@ -35,4 +35,5 @@ $this->phrasen['urlaubstool/handbuchUrlaubserfassung']='Handbuch Urlaubserfassun
$this->phrasen['urlaubstool/meineZeitsperren']='My Planned Absences';
$this->phrasen['urlaubstool/sieKoennenDiesenUnterFolgenderAdresseFreigeben']='Sie können diesen unter folgender Adresse freigeben'; //Nur übersetzen, wenn die eMail in der eingestellten Sprache versandt werden soll
$this->phrasen['urlaubstool/freigabeansuchenUrlaub']='Freigabeansuchen Urlaub'; //Nur übersetzen, wenn die eMail in der eingestellten Sprache versandt werden soll
?>
$this->phrasen['urlaubstool/freigabeFehlt']='Vacation has not been approved yet';
?>
+12
View File
@@ -44,6 +44,16 @@ function sendMessageToOU()
}
}
/**
*
*/
function backToInOut()
{
window.location = FHC_JS_DATA_STORAGE_OBJECT.app_root +
FHC_JS_DATA_STORAGE_OBJECT.ci_router + "/" +
FHC_JS_DATA_STORAGE_OBJECT.called_path + "/read";
}
/**
*
*/
@@ -60,4 +70,6 @@ $(document).ready(function () {
$('#sendButton').click(sendMessageToOU);
$('#backButton').click(backToInOut);
});
Binary file not shown.

After

Width:  |  Height:  |  Size: 344 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 313 B

+149 -5
View File
@@ -3565,7 +3565,6 @@ if(!$result = @$db->db_query("SELECT offsetpunkte FROM testtool.tbl_gebiet LIMIT
// ADD COLUMN offset to testtool.vw_auswertung_ablauf
if(!$result = @$db->db_query("SELECT offsetpunkte FROM testtool.vw_auswertung_ablauf LIMIT 1"))
{
// CREATE OR REPLACE VIEW testtool.vw_auswertung_ablauf
$qry = '
CREATE OR REPLACE VIEW testtool.vw_auswertung_ablauf AS (
SELECT
@@ -3618,12 +3617,11 @@ if(!$result = @$db->db_query("SELECT offsetpunkte FROM testtool.vw_auswertung_ab
echo '<br>testtool.vw_auswertung_ablauf view created';
}
// ADD COLUMN offset to testtool.vw_auswertung_ablauf
// ADD COLUMN offset to testtool.vw_auswertung
if(!$result = @$db->db_query("SELECT offsetpunkte FROM testtool.vw_auswertung LIMIT 1"))
{
// CREATE OR REPLACE VIEW testtool.vw_auswertung_ablauf
$qry = '
CREATE OR REPLACE VIEW testtool.vw_auswertung AS
CREATE OR REPLACE VIEW testtool.vw_auswertung AS
SELECT
tbl_gebiet.gebiet_id,
tbl_gebiet.bezeichnung AS gebiet,
@@ -3825,7 +3823,7 @@ if(!$result = @$db->db_query('SELECT "IBAN Studiengang", "BIC Studiengang", "Stu
if(!$db->db_query($qry))
echo '<strong>public.vw_msg_vars: '.$db->db_last_error().'</strong><br>';
else
echo '<br>public.vw_msg_vars IBAN Studiengang, BIC Studiengang, Studiengangskennzahl, Einstiegssemester, Einstiegsstudiensemester, Vorname Studiengangsassistenz, Nachname Studiengangsassistenz, Durchwahl Studiengangsassistenz, Relative Priorität added';
echo '<br>public.vw_msg_vars IBAN Studiengang, BIC Studiengang, Studiengangskennzahl, Einstiegssemester, Einstiegsstudiensemester, Vorname Studiengangsassistenz, Nachname Studiengangsassistenz, Durchwahl Studiengangsassistenz, Alias Studiengangsassistenz, Relative Priorität added';
}
// UNIQUE INDEX unq_idx_ablauf_gebiet_studiengang_semester in testtool.tbl_ablauf löschen und durch neuen INDEX ersetzen, der auch den Studienplan einschließt
@@ -3971,6 +3969,152 @@ if (!$result = @$db->db_query("SELECT ba1code_bis FROM bis.tbl_beschaeftigungsar
echo '<br>Verwendung und Beschaeftigungsart für BIS Version 6.8 aktualisiert.';
}
// Orgform DE und Orform EN zu vw_msg_vars hinzufügen
if(!$result = @$db->db_query('SELECT "Orgform DE", "Orgform EN" FROM public.vw_msg_vars LIMIT 1'))
{
$qry = '
CREATE OR REPLACE VIEW public.vw_msg_vars AS (
SELECT DISTINCT ON(p.person_id, pr.prestudent_id) p.person_id,
pr.prestudent_id AS prestudent_id,
p.nachname AS "Nachname",
p.vorname AS "Vorname",
p.anrede AS "Anrede",
a.strasse AS "Strasse",
a.ort AS "Ort",
a.plz AS "PLZ",
a.gemeinde AS "Gemeinde",
a.langtext AS "Nation",
ke.kontakt AS "Email",
kt.kontakt AS "Telefon",
s.bezeichnung AS "Studiengang DE",
s.english AS "Studiengang EN",
st.bezeichnung AS "Typ",
last_prestudent_status.orgform_kurzbz AS "Orgform",
p.zugangscode AS "Zugangscode",
bk.iban AS "IBAN Studiengang",
bk.bic AS "BIC Studiengang",
s.studiengang_kz AS "Studiengangskennzahl",
first_prestudent_status.ausbildungssemester AS "Einstiegssemester",
first_prestudent_status.studiensemester AS "Einstiegsstudiensemester",
ass.vorname AS "Vorname Studiengangsassistenz",
ass.nachname AS "Nachname Studiengangsassistenz",
ass.telefonklappe AS "Durchwahl Studiengangsassistenz",
ass.alias AS "Alias Studiengangsassistenz",
(SELECT count(*)
FROM (
SELECT pss.prestudent_id, pss.person_id, priorisierung,
(
SELECT status_kurzbz
FROM public.tbl_prestudentstatus
WHERE prestudent_id = pss.prestudent_id
ORDER BY datum DESC,
tbl_prestudentstatus.insertamum DESC LIMIT 1
) AS laststatus
FROM public.tbl_prestudent pss
JOIN public.tbl_prestudentstatus USING (prestudent_id)
WHERE person_id = (
SELECT person_id
FROM public.tbl_prestudent
WHERE prestudent_id = pr.prestudent_id
)
AND studiensemester_kurzbz = (
SELECT studiensemester_kurzbz
FROM public.tbl_prestudentstatus
WHERE prestudent_id = pr.prestudent_id
AND status_kurzbz = \'Interessent\' LIMIT 1
)
AND status_kurzbz = \'Interessent\'
) prest
WHERE laststatus NOT IN (\'Abbrecher\', \'Abgewiesener\', \'Absolvent\')
AND priorisierung <= pr.priorisierung) AS "Relative Prio",
last_prestudent_status.orgform_bezeichnung_de AS "Orgform DE",
last_prestudent_status.orgform_bezeichnung_en AS "Orgform EN"
FROM public.tbl_person p
LEFT JOIN (
SELECT person_id,
kontakt
FROM public.tbl_kontakt
WHERE zustellung = TRUE
AND kontakttyp = \'email\'
ORDER BY kontakt_id DESC
) ke USING(person_id)
LEFT JOIN (
SELECT person_id,
kontakt
FROM public.tbl_kontakt
WHERE zustellung = TRUE
AND kontakttyp IN (\'telefon\', \'mobil\')
ORDER BY kontakt_id DESC
) kt USING(person_id)
LEFT JOIN (
SELECT person_id,
strasse,
ort,
plz,
gemeinde,
langtext
FROM public.tbl_adresse
LEFT JOIN bis.tbl_nation ON(bis.tbl_nation.nation_code = public.tbl_adresse.nation)
WHERE public.tbl_adresse.heimatadresse = TRUE
ORDER BY adresse_id DESC
) a USING(person_id)
LEFT JOIN public.tbl_prestudent pr USING(person_id)
INNER JOIN public.tbl_studiengang s USING(studiengang_kz)
INNER JOIN public.tbl_studiengangstyp st USING(typ)
LEFT JOIN (
SELECT DISTINCT ON (ps.prestudent_id) ps.prestudent_id, tbl_studienplan.orgform_kurzbz,
tbl_orgform.bezeichnung_mehrsprachig[(SELECT index FROM public.tbl_sprache WHERE content=TRUE AND sprache=\'German\' LIMIT 1)] AS orgform_bezeichnung_de,
tbl_orgform.bezeichnung_mehrsprachig[(SELECT index FROM public.tbl_sprache WHERE content=TRUE AND sprache=\'English\' LIMIT 1)] AS orgform_bezeichnung_en
FROM public.tbl_prestudent ps
JOIN public.tbl_prestudentstatus ON ps.prestudent_id = tbl_prestudentstatus.prestudent_id
JOIN lehre.tbl_studienplan USING(studienplan_id)
LEFT JOIN bis.tbl_orgform ON tbl_studienplan.orgform_kurzbz = tbl_orgform.orgform_kurzbz
ORDER BY ps.prestudent_id DESC,
tbl_prestudentstatus.datum DESC,
tbl_prestudentstatus.insertamum DESC,
tbl_prestudentstatus.ext_id DESC
) last_prestudent_status ON pr.prestudent_id = last_prestudent_status.prestudent_id
LEFT JOIN (
SELECT DISTINCT ON (ps.prestudent_id) ps.prestudent_id, tbl_prestudentstatus.ausbildungssemester,
studiensemester_kurzbz, tbl_studiensemester.bezeichnung AS studiensemester,
tbl_studienordnung.studiengang_kz
FROM public.tbl_prestudent ps
JOIN public.tbl_prestudentstatus ON ps.prestudent_id = tbl_prestudentstatus.prestudent_id
JOIN public.tbl_studiensemester USING (studiensemester_kurzbz)
JOIN lehre.tbl_studienplan USING(studienplan_id)
JOIN lehre.tbl_studienordnung USING (studienordnung_id)
WHERE tbl_prestudentstatus.status_kurzbz = \'Interessent\'
ORDER BY ps.prestudent_id ASC,
tbl_prestudentstatus.datum ASC,
tbl_prestudentstatus.insertamum ASC,
tbl_prestudentstatus.ext_id ASC
) first_prestudent_status ON pr.prestudent_id = first_prestudent_status.prestudent_id
LEFT JOIN (
SELECT DISTINCT ON (tbl_benutzerfunktion.oe_kurzbz) vorname, nachname, oe_kurzbz, telefonklappe, alias
FROM public.tbl_benutzerfunktion
JOIN public.tbl_benutzer USING (uid)
JOIN public.tbl_person USING (person_id)
JOIN public.tbl_mitarbeiter on tbl_benutzer.uid = tbl_mitarbeiter.mitarbeiter_uid
WHERE tbl_benutzerfunktion.funktion_kurzbz = \'ass\'
AND NOW() BETWEEN COALESCE(datum_von, NOW()) AND COALESCE(datum_bis, NOW())
ORDER BY tbl_benutzerfunktion.oe_kurzbz, tbl_benutzerfunktion.insertamum DESC NULLS LAST, datum_von DESC NULLS LAST
) ass ON s.oe_kurzbz = ass.oe_kurzbz
LEFT JOIN (
SELECT DISTINCT ON (oe_kurzbz, orgform_kurzbz) oe_kurzbz, orgform_kurzbz, iban, bic
FROM tbl_bankverbindung
WHERE oe_kurzbz IS NOT NULL
ORDER BY oe_kurzbz, orgform_kurzbz, tbl_bankverbindung.insertamum DESC,tbl_bankverbindung.iban
)bk ON s.oe_kurzbz = bk.oe_kurzbz AND (last_prestudent_status.orgform_kurzbz = bk.orgform_kurzbz OR bk.orgform_kurzbz IS NULL)
WHERE p.aktiv = TRUE
ORDER BY p.person_id ASC, pr.prestudent_id ASC
);';
if(!$db->db_query($qry))
echo '<strong>public.vw_msg_vars: '.$db->db_last_error().'</strong><br>';
else
echo '<br>public.vw_msg_vars added';
}
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
+43 -2
View File
@@ -3618,8 +3618,8 @@ When on hold, the date is only a reminder.',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Es existierte bereits ein Bewerberstatus und eine Reihungstestteilnahme.
Deshalb wurde bei der Freigabe der Bewerberstatus automatisch hinzugefügt und der Bewerber als Reihungstestabsolvent markiert.
'text' => 'Es existierte bereits ein Bewerberstatus und eine Reihungstestteilnahme.
Deshalb wurde bei der Freigabe der Bewerberstatus automatisch hinzugefügt und der Bewerber als Reihungstestabsolvent markiert.
Die Reihungstestpunkte müssen aber noch manuell eingetragen werden!',
'description' => '',
'insertvon' => 'system'
@@ -3634,6 +3634,26 @@ When on hold, the date is only a reminder.',
)
)
),
array(
'app' => 'infocenter',
'category' => 'infocenter',
'phrase' => 'rtErgebnisExistiert',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Es existiert bereits ein RT-Ergebnis',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Placement test result already exists',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'password',
@@ -4453,7 +4473,28 @@ When on hold, the date is only a reminder.',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'ui',
'phrase' => 'backToReadWriteMessage',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Zurück zur Inbox/Outbox',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Back to Inbox/Outbox',
'description' => '',
'insertvon' => 'system'
)
)
)
);