, * Andreas Oesterreicher , * Rudolf Hangl , * Manfred Kindl * Cristina Hainberger */ require_once('../../config/cis.config.inc.php'); require_once('../../config/global.config.inc.php'); require_once('../../include/person.class.php'); require_once('../../include/prestudent.class.php'); require_once('../../include/pruefling.class.php'); require_once('../../include/studiengang.class.php'); require_once('../../include/studienplan.class.php'); require_once('../../include/ablauf.class.php'); require_once('../../include/reihungstest.class.php'); require_once('../../include/sprache.class.php'); require_once '../../include/phrasen.class.php'; require_once '../../include/datum.class.php'; if (!$db = new basis_db()) die('Fehler beim Oeffnen der Datenbankverbindung'); //if(isset($_GET['lang'])) // setSprache($_GET['lang']); $date = new datum(); function getSpracheUser() { if(isset($_SESSION['sprache_user'])) { $sprache_user=$_SESSION['sprache_user']; } else { if(isset($_COOKIE['sprache_user'])) { $sprache_user=$_COOKIE['sprache_user']; } else { $sprache_user=DEFAULT_LANGUAGE; } setSpracheUser($sprache_user); } return $sprache_user; } function setSpracheUser($sprache) { $_SESSION['sprache_user']=$sprache; setcookie('sprache_user',$sprache,time()+60*60*24*30,'/'); } if(isset($_GET['sprache_user'])) { $sprache_user = new sprache(); if($sprache_user->load($_GET['sprache_user'])) { setSpracheUser($_GET['sprache_user']); } else setSpracheUser(DEFAULT_LANGUAGE); } $sprache_user = getSpracheUser(); $p = new phrasen($sprache_user); $gebdatum=''; session_start(); $reload=false; $reload_parent=false; $sg_var = new studiengang(); if (isset($_GET['logout'])) { if(isset($_SESSION['prestudent_id'])) { $reload = true; session_destroy(); } } if(isset($_POST['gebdatum']) && $_POST['gebdatum']!='') { $gebdatum = $date->formatDatum($_POST['gebdatum'],'Y-m-d'); } else $gebdatum=''; if (isset($_POST['prestudent']) && isset($gebdatum)) { $ps=new prestudent($_POST['prestudent']); //Geburtsdatum Pruefen if ($gebdatum==$ps->gebdatum) { $reihungstest_id=''; //Freischaltung fuer zugeteilten Reihungstest pruefen $rt = new reihungstest(); // 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 || (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])) $reihungstest_id = $rt->result[0]->reihungstest_id; else { echo ''.$p->t('testtool/reihungstestKannNichtGeladenWerden').''; } } else { if($rt->getReihungstestPersonDatum($ps->prestudent_id, date('Y-m-d'))) { // TODO Was ist wenn da mehrere Zurueckkommen?! if(isset($rt->result[0])) $reihungstest_id = $rt->result[0]->reihungstest_id; else { echo ''.$p->t('testtool/reihungstestKannNichtGeladenWerden').''; } } else { echo 'Failed:'.$rt->errormsg; } } //echo "Reihungstest $reihungstest_id"; if($reihungstest_id != '' && $rt->load($reihungstest_id)) { if($rt->freigeschaltet) { $pruefling = new pruefling(); if($pruefling->getPruefling($ps->prestudent_id)) { $studiengang = $pruefling->studiengang_kz; $semester = $pruefling->semester; } else { $studiengang = $ps->studiengang_kz; $ps->getLastStatus($ps->prestudent_id); $semester = $ps->ausbildungssemester; } if($semester=='') $semester=1; $_SESSION['prestudent_id']=$_POST['prestudent']; $_SESSION['studiengang_kz']=$studiengang; $_SESSION['nachname']=$ps->nachname; $_SESSION['vorname']=$ps->vorname; $_SESSION['gebdatum']=$ps->gebdatum; $stg_obj = new studiengang($studiengang); $_SESSION['sprache']=$stg_obj->sprache; $_SESSION['semester']=$semester; $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); } foreach($ps->result as $row) { if(isset($row->studiengang_kz)) { $firstPrio_studienplan_id = $row->studienplan_id; break; } } foreach($ps->result as $row) { if(isset($row->studiengang_kz)) { $firstPrio_studiengang_kz = $row->studiengang_kz; break; } } // Sprachvorgaben zu STG mit höchster Prio ermitteln // * 1. Sprache über Ablauf Vorgaben ermitteln $ablauf = new Ablauf(); $ablauf->getAblaufVorgabeStudiengang($firstPrio_studiengang_kz); $rt_sprache = ''; 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; } // * 3. falls keine Sprache vorhanden -> Sprache über Studiengang ermitteln if (empty($rt_sprache)) { $stg = new Studiengang($firstPrio_studiengang_kz); $rt_sprache = $stg->sprache; } // * 4. Sprache setzen. Falls keine Sprache vorhanden -> DEFAULT language verwenden if (empty($rt_sprache)) { $_SESSION['sprache'] = DEFAULT_LANGUAGE; } else { $_SESSION['sprache'] = $rt_sprache; } } else { echo ''.$p->t('testtool/reihungstestNichtFreigeschalten').''; } } else { echo ''.$p->t('testtool/reihungstestKannNichtGeladenWerden').''; } } else { echo ''.$p->t('testtool/geburtsdatumStimmtNichtUeberein').''; } } if (isset($_SESSION['prestudent_id'])) $prestudent_id=$_SESSION['prestudent_id']; else { //$prestudent_id=null; $ps=new prestudent(); $datum=date('Y-m-d'); $ps->getPrestudentRT($datum); } if(isset($_GET['type']) && $_GET['type']=='sprachechange' && isset($_GET['sprache'])) { setSprache($_GET['sprache']); } 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'])) $pruefling->new = true; else $pruefling->new = false; $pruefling->studiengang_kz = $_SESSION['studiengang_kz']; $pruefling->semester = $_SESSION['semester']; $pruefling->idnachweis = ''; $pruefling->registriert = date('Y-m-d H:i:s'); $pruefling->prestudent_id = $_SESSION['prestudent_id']; if($pruefling->save()) { $_SESSION['pruefling_id']=$pruefling->pruefling_id; $reload_parent=true; } } if(isset($_POST['save']) && isset($_SESSION['prestudent_id'])) { $pruefling = new pruefling(); if($_POST['pruefling_id']!='') if(!$pruefling->load($_POST['pruefling_id'])) die('Pruefling wurde nicht gefunden'); else $pruefling->new=false; else $pruefling->new=true; $pruefling->studiengang_kz = $_SESSION['studiengang_kz']; $pruefling->idnachweis = isset($_POST['idnachweis'])?$_POST['idnachweis']:''; $pruefling->registriert = date('Y-m-d H:i:s'); $pruefling->prestudent_id = $_SESSION['prestudent_id']; $pruefling->semester = $_POST['semester']; if($pruefling->save()) { $_SESSION['pruefling_id']=$pruefling->pruefling_id; $_SESSION['semester']=$pruefling->semester; $reload_parent=true; } } ?> parent.menu.location.reload();'; if($reload) echo ""; ?>
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(); // * 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; } } } // Sprachwahl zu STG mit höchster Prio ermitteln $ablauf = new Ablauf(); $sprachwahl = false; if ($ablauf->getAblaufVorgabeStudiengang($firstPrio_studiengang_kz) && is_bool($ablauf->result[0]->sprachwahl)) { $sprachwahl = $ablauf->result[0]->sprachwahl; } //Prestudent Informationen echo '

'. $p->t('testtool/begruessungstext'). '


'. $p->t('testtool/anmeldedaten'). '


'; echo '
'.$p->t('zeitaufzeichnung/id').' '.$_SESSION['prestudent_id'].'
'.$p->t('global/name').' '.$_SESSION['vorname'].' '.$_SESSION['nachname'].'
'.$p->t('global/geburtsdatum').' '.$date->formatDatum($_SESSION["gebdatum"],"d.m.Y").'
'; echo '
'; echo '

'. $p->t('testtool/fuerFolgendeStgAngemeldet'). '


'; // * 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); $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 ''; $stg = new Studiengang($ps_obj->studiengang_kz); if($ps_obj->lastStatus == "Interessent") { echo ''; if($ps_obj->ausbildungssemester == '1') { echo ''; } elseif($ps_obj->ausbildungssemester == '3') { echo ''; } } // wenn letzter Status \'Abgewiesener\' ist, dann als solchen kennzeichnen elseif($ps_obj->lastStatus == "Abgewiesener") { echo ' '; } echo ''; } } } // * 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 ''; echo ''; } echo '
'. $p->t('global/studiengang'). ' Status
'. $ps_obj->typ_bz .' '. ($sprache_user == 'English' ? $stg->english : $stg->bezeichnung). ''. $p->t('testtool/regulaererEinstieg'). ' (1. Semester)'. $p->t('testtool/quereinstieg'). ' (3.Semester)'. $ps_obj->typ_bz .' '. ($sprache_user == 'English' ? $stg->english : $stg->bezeichnung). ' '. $ps_obj->status_mehrsprachig[$sprache_user]. '
'. $typ->bezeichnung.' '.($sprache_user=='English'?$stg_obj->english:$stg_obj->bezeichnung).''. $ps_master->status_mehrsprachig[$sprache_user]. '
'; echo '
'; if($pruefling->getPruefling($prestudent_id)) { echo '
'; echo ''; echo ''; //echo ''; //echo ''; //echo ''; echo '
'.$p->t('global/semester').': 
ID Nachweis:
'; echo '
'; //Wenn die Sprachwahl fuer den priorisierten Studiengang aktiviert ist, dann die Sprachen anzeigen if($sprachwahl==true) { //Liste der Sprachen, die in den Gebieten vorkommen koennen $qry = "SELECT distinct sprache FROM testtool.tbl_pruefling JOIN testtool.tbl_ablauf USING(studiengang_kz) JOIN testtool.tbl_frage USING(gebiet_id) JOIN testtool.tbl_frage_sprache USING(frage_id) WHERE tbl_pruefling.pruefling_id=".$db->db_add_param($pruefling->pruefling_id)." ORDER BY sprache DESC"; if($result = $db->db_query($qry)) { echo '

'. $p->t('testtool/spracheDerTestfragen').':


'; while($row = $db->db_fetch_object($result)) { $selected = ($_SESSION['sprache'] == $row->sprache) ? 'active' : ''; $row_sprache = $row->sprache; if ($sprache_user == 'German') { if($row->sprache == 'English') { $row_sprache = 'Englisch'; } elseif ($row->sprache == 'German') { $row_sprache = 'Deutsch'; } } echo " "; } echo '
'; } } echo '

'; echo '
'.$p->t('testtool/klickenSieAufEinTeilgebiet').'
'; if($pruefling->pruefling_id!='') { $_SESSION['pruefling_id']=$pruefling->pruefling_id; //echo ''; } } else { echo ''.$p->t('testtool/keinPrueflingseintragVorhanden').''; } } else { //LOGIN FORM (Startseite vor Login) $prestudent_id_dummy_student = (defined('PRESTUDENT_ID_DUMMY_STUDENT')?PRESTUDENT_ID_DUMMY_STUDENT:''); echo '
'; echo '  '.$p->t('global/geburtsdatum').': '; echo ''; echo ''; echo '
'; echo '


'.$p->t('testtool/willkommenstextTitel').'

'.$p->t('testtool/willkommenstext').'
'; } ?>