mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-22 14:39:28 +00:00
Merge branch 'master' into ciauth
This commit is contained in:
+44
-5
@@ -19,6 +19,7 @@
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>,
|
||||
* Manfred Kindl <manfred.kindl@technikum-wien.at>
|
||||
* Cristina Hainberger <hainberg@technikum-wien.at>
|
||||
*/
|
||||
|
||||
require_once('../../config/cis.config.inc.php');
|
||||
@@ -356,22 +357,60 @@ if(isset($_POST['save']) && isset($_SESSION['prestudent_id']))
|
||||
|
||||
// STG mit der höchsten Prio ermitteln
|
||||
$ps = new Prestudent();
|
||||
$ps->getActualInteressenten($prestudent_id, true);
|
||||
$firstPrio_studiengang_kz = array_column($ps->result, 'studiengang_kz');
|
||||
$firstPrio_studiengang_kz = array_shift($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
|
||||
if ($typ->typ == 'b')
|
||||
{
|
||||
$ps->getActualInteressenten($prestudent_id, true, 'b');
|
||||
$firstPrio_studiengang_kz = array_column($ps->result, 'studiengang_kz');
|
||||
$firstPrio_studiengang_kz = array_shift($firstPrio_studiengang_kz);
|
||||
}
|
||||
// * sonst STG der session übernehmem
|
||||
else
|
||||
{
|
||||
$firstPrio_studiengang_kz = $prestudent->studiengang_kz;
|
||||
}
|
||||
|
||||
// Sprachwahl zu STG mit höchster Prio ermitteln
|
||||
$ablauf = new Ablauf();
|
||||
$ablauf->getAblaufVorgabeStudiengang($firstPrio_studiengang_kz);
|
||||
$sprachwahl = $ablauf->result[0]->sprachwahl;
|
||||
|
||||
//Prestudent Informationen und Logout
|
||||
//Prestudent Informationen und Logout
|
||||
echo '<form method="GET">';
|
||||
echo '<br>'.$p->t('testtool/begruessungstext').' <br/><br/>';
|
||||
echo '<b>'.$p->t('zeitaufzeichnung/id').'</b>: '.$_SESSION['prestudent_id'].'<br/>';
|
||||
echo '<b>'.$p->t('global/name').'</b>: '.$_SESSION['vorname'].' '.$_SESSION['nachname'].'<br/>';
|
||||
echo '<b>'.$p->t('global/geburtsdatum').'</b>: '.$date->formatDatum($_SESSION['gebdatum'],'d.m.Y').'<br/>';
|
||||
echo '<b>'.$p->t('global/studiengang').'</b>: '.$typ->bezeichnung.' '.($sprache_user=='English'?$stg_obj->english:$stg_obj->bezeichnung).'<br/><br/>';
|
||||
|
||||
// * wenn Prestudent an mehreren Bachelor-Studiengängen interessiert ist, dann alle STG anführen
|
||||
if ($typ->typ == 'b')
|
||||
{
|
||||
$ps_arr = new Prestudent();
|
||||
$ps_arr->getActualInteressenten($prestudent_id, false, 'b');
|
||||
|
||||
if (count($ps_arr->result) > 1)
|
||||
{
|
||||
echo '<b>'.$p->t('global/studiengang'). "</b>: <br><br>";
|
||||
foreach ($ps_arr->result as $ps_obj)
|
||||
{
|
||||
$stg = new Studiengang($ps_obj->studiengang_kz);
|
||||
echo "<li>". $ps_obj->typ_bz .' '. ($sprache_user == 'English' ? $stg->english : $stg->bezeichnung). '<br/>'. "</li>";
|
||||
}
|
||||
echo "<br>";
|
||||
}
|
||||
// * wenn Prestudent nur an einem Bachelor-Studiengang interessiert ist, dann nur den einen STG anführen
|
||||
else
|
||||
{
|
||||
echo '<b>'.$p->t('global/studiengang').'</b>: '. $typ->bezeichnung.' '.($sprache_user=='English'?$stg_obj->english:$stg_obj->bezeichnung).'<br/><br/>';
|
||||
}
|
||||
}
|
||||
// * wenn Prestudent an einem Master-Studiengang interessiert ist, dann nur den einen STG anführen
|
||||
else
|
||||
{
|
||||
echo '<b>'.$p->t('global/studiengang').'</b>: '.$typ->bezeichnung.' '.($sprache_user=='English'?$stg_obj->english:$stg_obj->bezeichnung).'<br/><br/>';
|
||||
}
|
||||
echo '<INPUT type="submit" value="Logout" name="logout" />';
|
||||
echo '</form>';
|
||||
echo '<br><br>';
|
||||
|
||||
+27
-2
@@ -26,6 +26,7 @@ require_once('../../config/global.config.inc.php');
|
||||
require_once('../../include/basis_db.class.php');
|
||||
require_once('../../include/sprache.class.php');
|
||||
require_once '../../include/phrasen.class.php';
|
||||
require_once '../../include/studiengang.class.php';
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Fehler beim Oeffnen der Datenbankverbindung');
|
||||
@@ -100,7 +101,10 @@ if (isset($_SESSION['pruefling_id']))
|
||||
echo '<tr><td style="padding-left: 20px;"><a href="../../cms/content.php?content_id='.$content_id->content_id.'&sprache='.$sprache.'" target="content">'.$p->t('testtool/einleitung').'</a></td></tr>';
|
||||
echo '<tr><td> </td></tr>';
|
||||
echo '<tr><td style="padding-left: 20px;" nowrap>';
|
||||
|
||||
|
||||
$studiengang_kz = (isset($_SESSION['studiengang_kz'])) ? $_SESSION['studiengang_kz'] : '';
|
||||
$stg = new Studiengang($studiengang_kz);
|
||||
|
||||
$sprache_mehrsprachig = new sprache();
|
||||
$bezeichnung_mehrsprachig = $sprache_mehrsprachig->getSprachQuery('bezeichnung_mehrsprachig');
|
||||
|
||||
@@ -130,11 +134,17 @@ if (isset($_SESSION['pruefling_id']))
|
||||
prestudent_id,
|
||||
studienplan_id,
|
||||
studiengang_kz,
|
||||
typ,
|
||||
tbl_studiengangstyp.bezeichnung AS typ_bz,
|
||||
ausbildungssemester AS semester
|
||||
FROM
|
||||
public.tbl_prestudentstatus
|
||||
JOIN
|
||||
public.tbl_prestudent USING (prestudent_id)
|
||||
JOIN
|
||||
public.tbl_studiengang USING (studiengang_kz)
|
||||
JOIN
|
||||
public.tbl_studiengangstyp USING (typ)
|
||||
WHERE
|
||||
tbl_prestudent.person_id = (
|
||||
SELECT
|
||||
@@ -157,7 +167,22 @@ if (isset($_SESSION['pruefling_id']))
|
||||
)
|
||||
|
||||
AND
|
||||
status_kurzbz = 'Interessent'
|
||||
status_kurzbz = 'Interessent'";
|
||||
|
||||
/* If the logged-in prestudents study is a Bachelor-study, filter only Bachelor-studies */
|
||||
if ($stg->typ == 'b')
|
||||
{
|
||||
$qry .= "
|
||||
AND tbl_studiengang.typ = 'b'";
|
||||
}
|
||||
/* If the logged-in prestudents study is NOT a Bachelor-study, get only the specific study */
|
||||
else
|
||||
{
|
||||
$qry .= "
|
||||
AND tbl_studiengang.studiengang_kz = ". $studiengang_kz;
|
||||
}
|
||||
|
||||
$qry .= "
|
||||
|
||||
-- Order to get last semester when using distinct on
|
||||
ORDER BY
|
||||
|
||||
@@ -426,7 +426,7 @@ class prestudent extends person
|
||||
* @boolean $prio Wenn true, dann wird nur der Prestudent mit dem am höchsten priorisierten Studiengang zurückgegeben.
|
||||
* return Objekt-Array mit allen Prestudenten einer Person, die aktuell an STG interessiert sind.
|
||||
*/
|
||||
public function getActualInteressenten($prestudent_id, $prio = false)
|
||||
public function getActualInteressenten($prestudent_id, $prio = false, $typ = NULL, $studiengang_kz = NULL)
|
||||
{
|
||||
if (is_numeric($prestudent_id))
|
||||
{
|
||||
@@ -436,11 +436,17 @@ class prestudent extends person
|
||||
prestudent_id,
|
||||
studienplan_id,
|
||||
studiengang_kz,
|
||||
typ,
|
||||
tbl_studiengangstyp.bezeichnung AS typ_bz,
|
||||
ausbildungssemester
|
||||
FROM
|
||||
public.tbl_prestudentstatus
|
||||
JOIN
|
||||
public.tbl_prestudent USING (prestudent_id)
|
||||
JOIN
|
||||
public.tbl_studiengang USING (studiengang_kz)
|
||||
JOIN
|
||||
public.tbl_studiengangstyp USING (typ)
|
||||
WHERE
|
||||
tbl_prestudent.person_id = (
|
||||
SELECT
|
||||
@@ -450,8 +456,8 @@ class prestudent extends person
|
||||
WHERE
|
||||
prestudent_id = ". $this->db_add_param($prestudent_id). "
|
||||
)
|
||||
|
||||
-- Filter only future studiensemester (incl. actual one)
|
||||
|
||||
/* Filter only future studiensemester (incl. actual one) */
|
||||
AND
|
||||
studiensemester_kurzbz IN (
|
||||
SELECT
|
||||
@@ -461,12 +467,25 @@ class prestudent extends person
|
||||
WHERE
|
||||
ende > now()
|
||||
)
|
||||
|
||||
|
||||
AND
|
||||
status_kurzbz = 'Interessent'
|
||||
|
||||
-- Order to get the very last status and highest prio on top
|
||||
ORDER BY
|
||||
status_kurzbz = 'Interessent'";
|
||||
|
||||
if (!is_null($typ) && is_string($typ))
|
||||
{
|
||||
$qry .= "
|
||||
AND tbl_studiengang.typ = ". $this->db_add_param($typ);
|
||||
}
|
||||
|
||||
if (!is_null($studiengang_kz) && is_numeric($studiengang_kz))
|
||||
{
|
||||
$qry .= "
|
||||
AND tbl_studiengang.studiengang_kz = ". $this->db_add_param($studiengang_kz);
|
||||
}
|
||||
|
||||
$qry .= "
|
||||
-- Order to get the very last status and highest prio on top
|
||||
ORDER BY
|
||||
priorisierung NULLS LAST,
|
||||
prestudent_id,
|
||||
datum DESC,
|
||||
@@ -481,6 +500,8 @@ class prestudent extends person
|
||||
";
|
||||
}
|
||||
|
||||
//echo "<br>". $qry;
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
@@ -490,6 +511,8 @@ class prestudent extends person
|
||||
$obj->prestudent_id = $row->prestudent_id;
|
||||
$obj->studienplan_id = $row->studienplan_id;
|
||||
$obj->studiengang_kz = $row->studiengang_kz;
|
||||
$obj->typ = $row->typ;
|
||||
$obj->typ_bz = $row->typ_bz;
|
||||
$obj->ausbildungssemester = $row->ausbildungssemester;
|
||||
|
||||
$this->result[] = $obj;
|
||||
|
||||
+28
-14
@@ -342,20 +342,34 @@ class pruefling extends basis_db
|
||||
// die den Reihungstest oefter im selben Studiengang gemacht haben nicht das
|
||||
// Ergebniss der beiden Tests summiert bekommen
|
||||
// Im Zweifelsfall wird der neuere Reihungstest genommen
|
||||
$qry.= " AND prestudent_id = (
|
||||
SELECT
|
||||
prestudent_id
|
||||
FROM
|
||||
public.tbl_rt_person
|
||||
JOIN public.tbl_reihungstest ON(rt_id=reihungstest_id)
|
||||
JOIN public.tbl_prestudent USING(person_id)
|
||||
JOIN public.tbl_prestudentstatus USING(prestudent_id, studienplan_id)
|
||||
WHERE
|
||||
tbl_rt_person.person_id=".$this->db_add_param($person_id, FHC_INTEGER)."
|
||||
AND tbl_rt_person.rt_id=".$this->db_add_param($reihungstest_id, FHC_INTEGER)."
|
||||
AND tbl_prestudentstatus.status_kurzbz='Interessent'
|
||||
ORDER BY
|
||||
tbl_reihungstest.datum desc LIMIT 1)";
|
||||
$qry.= "
|
||||
AND
|
||||
prestudent_id = (
|
||||
SELECT
|
||||
prestudent_id
|
||||
FROM
|
||||
public.tbl_rt_person
|
||||
JOIN
|
||||
public.tbl_prestudent USING(person_id)
|
||||
JOIN
|
||||
public.tbl_prestudentstatus USING (prestudent_id)
|
||||
JOIN
|
||||
tbl_reihungstest ON (
|
||||
tbl_rt_person.rt_id = tbl_reihungstest.reihungstest_id
|
||||
AND
|
||||
tbl_prestudentstatus.studiensemester_kurzbz = tbl_reihungstest.studiensemester_kurzbz
|
||||
)
|
||||
WHERE
|
||||
tbl_rt_person.person_id = ".$this->db_add_param($person_id, FHC_INTEGER)."
|
||||
AND
|
||||
tbl_rt_person.rt_id = ".$this->db_add_param($reihungstest_id, FHC_INTEGER)."
|
||||
AND
|
||||
tbl_prestudentstatus.status_kurzbz='Interessent'
|
||||
AND
|
||||
(tbl_reihungstest.stufe = 1 OR tbl_reihungstest.stufe IS NULL)
|
||||
ORDER BY
|
||||
tbl_reihungstest.datum desc LIMIT 1
|
||||
)";
|
||||
}
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
|
||||
@@ -115,6 +115,37 @@ foreach ($rt->result as $row)
|
||||
}
|
||||
|
||||
$bezeichnung = $row->studiensemester_kurzbz.' St.'.$row->stufe.' '.(array_key_exists($row->studiengang_kz, $stg)?$stg[$row->studiengang_kz].' ':'').$row->datum.' '.$row->uhrzeit.' '.$row->ort_kurzbz.' '.$row->anmerkung.$freieplaetze;
|
||||
|
||||
|
||||
// Convert date string into timestamp
|
||||
$unixTimestamp = strtotime($row->datum);
|
||||
|
||||
// Get the day of the week
|
||||
$dayOfWeek = date("l", $unixTimestamp);
|
||||
switch($dayOfWeek)
|
||||
{
|
||||
case 'Monday':
|
||||
$dayOfWeek = 'Mo';
|
||||
break;
|
||||
case 'Tuesday':
|
||||
$dayOfWeek = 'Di';
|
||||
break;
|
||||
case 'Wednesday':
|
||||
$dayOfWeek = 'Mi';
|
||||
break;
|
||||
case 'Thursday':
|
||||
$dayOfWeek = 'Do';
|
||||
break;
|
||||
case 'Friday':
|
||||
$dayOfWeek = 'Fr';
|
||||
break;
|
||||
case 'Saturday':
|
||||
$dayOfWeek = 'Sa';
|
||||
break;
|
||||
case 'Sunday':
|
||||
$dayOfWeek = 'So';
|
||||
break;
|
||||
}
|
||||
?>
|
||||
<RDF:li>
|
||||
<RDF:Description id="<?php echo $row->reihungstest_id; ?>" about="<?php echo $rdf_url.'/'.$row->reihungstest_id; ?>" >
|
||||
@@ -124,7 +155,7 @@ foreach ($rt->result as $row)
|
||||
<RT:anmerkung><![CDATA[<?php echo $row->anmerkung; ?>]]></RT:anmerkung>
|
||||
<RT:datum><![CDATA[<?php echo $row->datum; ?>]]></RT:datum>
|
||||
<RT:uhrzeit><![CDATA[<?php echo $row->uhrzeit; ?>]]></RT:uhrzeit>
|
||||
<RT:bezeichnung><![CDATA[<?php echo $bezeichnung; ?>]]></RT:bezeichnung>
|
||||
<RT:bezeichnung><![CDATA[<?php echo $bezeichnung. ' ('. $dayOfWeek. ')' ; ?>]]></RT:bezeichnung>
|
||||
</RDF:Description>
|
||||
</RDF:li>
|
||||
<?php
|
||||
|
||||
Reference in New Issue
Block a user