, * 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 $prestudent_id_dummy_student = (defined('PRESTUDENT_ID_DUMMY_STUDENT')?PRESTUDENT_ID_DUMMY_STUDENT:''); if($prestudent_id_dummy_student==$ps->prestudent_id) { $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 und Studienplan mit der höchsten Prio ermitteln $firstPrio_studienplan_id = ''; $firstPrio_studiengang_kz = ''; $ps->getActualInteressenten($_POST['prestudent'], true); 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();'; //CRIS: nach reload()ein ; ergänzt if($reload) echo ""; ?> '.$p->t('testtool/startseite').''; //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); // 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 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').'
'; // * 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 '

    '; 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"; echo $p->t('testtool/spracheDerTestfragen').':'; if($result = $db->db_query($qry)) { while($row = $db->db_fetch_object($result)) { if($_SESSION['sprache']==$row->sprache) $selected='style="border:1px solid black;"'; else $selected=''; echo " sprache' class='Item' $selected>$row->sprache"; } } } 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/willkommenstext').'
    '; } ?>