diff --git a/cis/testtool/login.php b/cis/testtool/login.php index cb7f3fa12..5fec6d670 100644 --- a/cis/testtool/login.php +++ b/cis/testtool/login.php @@ -19,6 +19,7 @@ * Andreas Oesterreicher , * Rudolf Hangl , * Manfred Kindl + * Cristina Hainberger */ 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 '
'; echo '
'.$p->t('testtool/begruessungstext').'

'; echo ''.$p->t('zeitaufzeichnung/id').': '.$_SESSION['prestudent_id'].'
'; echo ''.$p->t('global/name').': '.$_SESSION['vorname'].' '.$_SESSION['nachname'].'
'; echo ''.$p->t('global/geburtsdatum').': '.$date->formatDatum($_SESSION['gebdatum'],'d.m.Y').'
'; - echo ''.$p->t('global/studiengang').': '.$typ->bezeichnung.' '.($sprache_user=='English'?$stg_obj->english:$stg_obj->bezeichnung).'

'; + + // * 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 ''.$p->t('global/studiengang'). ":

"; + foreach ($ps_arr->result as $ps_obj) + { + $stg = new Studiengang($ps_obj->studiengang_kz); + echo "
  • ". $ps_obj->typ_bz .' '. ($sprache_user == 'English' ? $stg->english : $stg->bezeichnung). '
    '. "
  • "; + } + echo "
    "; + } + // * wenn Prestudent nur an einem Bachelor-Studiengang interessiert ist, dann nur den einen STG anführen + else + { + echo ''.$p->t('global/studiengang').': '. $typ->bezeichnung.' '.($sprache_user=='English'?$stg_obj->english:$stg_obj->bezeichnung).'

    '; + } + } + // * wenn Prestudent an einem Master-Studiengang interessiert ist, dann nur den einen STG anführen + else + { + echo ''.$p->t('global/studiengang').': '.$typ->bezeichnung.' '.($sprache_user=='English'?$stg_obj->english:$stg_obj->bezeichnung).'

    '; + } echo ''; echo '
    '; echo '

    '; diff --git a/cis/testtool/menu.php b/cis/testtool/menu.php index 1399ad019..75d820a59 100644 --- a/cis/testtool/menu.php +++ b/cis/testtool/menu.php @@ -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 ''.$p->t('testtool/einleitung').''; echo ' '; echo ''; - + + $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