diff --git a/cis/testtool/login.php b/cis/testtool/login.php index 078830b87..29d733696 100644 --- a/cis/testtool/login.php +++ b/cis/testtool/login.php @@ -1,408 +1,412 @@ -, - * Andreas Oesterreicher , - * Rudolf Hangl , - * Manfred Kindl - */ - -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/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; - } - 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(); - - if(!$pruefling->getPruefling($_SESSION['prestudent_id'])) - { - $pruefling->new = true; - - $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 ""; -?> - - - -'.$p->t('testtool/startseite').''; - - 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); - - //Sprachwahl des Studiengangs - $qry = "SELECT sprachwahl FROM testtool.tbl_ablauf_vorgaben WHERE studiengang_kz=".$db->db_add_param($prestudent->studiengang_kz)." LIMIT 1"; - $result = $db->db_query($qry); - $sprachwahl = $db->db_fetch_object($result); - $sprachwahl = $db->db_parse_bool($sprachwahl->sprachwahl); - - 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).'

'; - 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 diesen 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 - { - $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').' -
'; - } -?> - - - +, + * Andreas Oesterreicher , + * Rudolf Hangl , + * Manfred Kindl + */ + +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/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; + } + 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); + + //Sprachwahl des Studiengangs + $qry = "SELECT sprachwahl FROM testtool.tbl_ablauf_vorgaben WHERE studiengang_kz=".$db->db_add_param($prestudent->studiengang_kz)." LIMIT 1"; + $result = $db->db_query($qry); + $sprachwahl = $db->db_fetch_object($result); + $sprachwahl = $db->db_parse_bool($sprachwahl->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').'
'; + 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 diesen 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').' +
'; + } +?> + + + diff --git a/vilesci/stammdaten/reihungstestverwaltung.php b/vilesci/stammdaten/reihungstestverwaltung.php index 68b5d59f0..35cfe885d 100644 --- a/vilesci/stammdaten/reihungstestverwaltung.php +++ b/vilesci/stammdaten/reihungstestverwaltung.php @@ -1,2268 +1,2349 @@ - - * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > - * Rudolf Hangl < rudolf.hangl@technikum-wien.at > - * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > - * Manfred Kindl < manfred.kindl@technikum-wien.at > - */ -/** - * Reihungstest - * - * - Anlegen und Bearbeiten von Terminen - * - Export von Anwesenheitslisten als Excel - * - Uebertragung der Ergebnis-Punkte ins FAS - * - * Parameter: - * excel ... wenn gesetzt, dann wird die Anwesenheitsliste als Excel exportiert - */ -require_once('../../config/vilesci.config.inc.php'); -require_once('../../config/global.config.inc.php'); -require_once('../../include/functions.inc.php'); -require_once('../../include/studiengang.class.php'); -require_once('../../include/reihungstest.class.php'); -require_once('../../include/ort.class.php'); -require_once('../../include/datum.class.php'); -require_once('../../include/benutzerberechtigung.class.php'); -require_once('../../include/pruefling.class.php'); -require_once('../../include/person.class.php'); -require_once('../../include/prestudent.class.php'); -require_once('../../include/Excel/excel.php'); -require_once('../../include/adresse.class.php'); -require_once('../../include/studiensemester.class.php'); -require_once('../../include/benutzer.class.php'); -require_once('../../include/studienplan.class.php'); -require_once('../../include/sprache.class.php'); -require_once('../../include/organisationsform.class.php'); -require_once('../../include/gruppe.class.php'); -require_once('../../include/variable.class.php'); - -// @todo Allgemein: Beim kopieren auch die Studienplanzuordnungen übernehmen -// "Teilgenommen" und "Punkte" werden immer mit false bzw. 0 gespeichert - -define('REIHUNGSTEST_ARBEITSPLAETZE_SCHWUND', 5); - -if (!$db = new basis_db()) -{ - die('Es konnte keine Verbindung zum Server aufgebaut werden.'); -} - -//Richtiges Studiensemester zum anzeigen ermitteln - //Mit getAktOrNext das aktuelle oder kommende WINTERsemester auslesen - $stsem_aktorNext = new studiensemester(); - $stsem_aktorNext = $stsem_aktorNext->getaktorNext(1); - //Ergebnis aus $stsem_aktorNext laden und den Timestamp der Semestermitte bestimmen. - $stsem_berechnet = new studiensemester(); - $stsem_berechnet->load($stsem_aktorNext); - $mitte = (strtotime($stsem_berechnet->ende) - strtotime($stsem_berechnet->start)) / 2; - // Wenn die Haelfte des Wintersemesters vorbei ist, das naechste Wintersemester ermitteln, sonst das Aktuelle nehmen - if (strtotime($stsem_berechnet->ende) - $mitte <= time()) - { - $stsem_dropdown = new studiensemester(); - $stsem_dropdown->getNextStudiensemester('WS'); - $stsem_dropdown = $stsem_dropdown->studiensemester_kurzbz; - } - else - $stsem_dropdown = $stsem_aktorNext; - -$user = get_uid(); -$datum_obj = new datum(); -$stg_kz = (isset($_GET['stg_kz']) ? $_GET['stg_kz'] : ''); -$reihungstest_id = (isset($_GET['reihungstest_id']) ? $_GET['reihungstest_id'] : ''); -$studiensemester_kurzbz = (isset($_GET['studiensemester_kurzbz']) ? $_GET['studiensemester_kurzbz'] : $stsem_dropdown); -$studienplan_id = (isset($_GET['studienplan_id']) ? $_GET['studienplan_id'] : ''); -$prestudent_id = (isset($_GET['prestudent_id']) ? $_GET['prestudent_id'] : ''); -$rtpunkte = (isset($_GET['rtpunkte']) ? $_GET['rtpunkte'] : ''); -$neu = (isset($_GET['neu']) ? true : false); -$stg_arr = array(); -$error = false; - -$rechte = new benutzerberechtigung(); -$rechte->getBerechtigungen($user); - -if ($stg_kz == '' && ($reihungstest_id != '' || isset($_POST['reihungstest_id']))) -{ - if ($reihungstest_id != '') - { - $rt = new Reihungstest(); - $rt->load($reihungstest_id); - $stg_kz = $rt->studiengang_kz; - } - elseif (isset($_POST['reihungstest_id'])) - { - $rt = new Reihungstest(); - $rt->load($_POST['reihungstest_id']); - $stg_kz = $rt->studiengang_kz; - } - else - $stg_kz = '-1'; -} - -if(!$rechte->isBerechtigt('lehre/reihungstest')) -{ - die($rechte->errormsg); -} - -$studiengang = new studiengang(); -$studiengang->getAll('typ, kurzbz', false); - -$studiensemester = new Studiensemester(); -$studiensemester->getAll('desc'); - -$sprachen_obj = new sprache(); -$sprachen_obj->getAll(); -$sprachen_arr=array(); - -foreach($sprachen_obj->result as $row) -{ - if(isset($row->bezeichnung_arr[$sprache])) - $sprachen_arr[$row->sprache]=$row->bezeichnung_arr[$sprache]; - else - $sprachen_arr[$row->sprache]=$row->sprache; -} - -$orgform_obj = new organisationsform(); -$orgform_obj->getAll(); -$orgform_arr=array(); -foreach($orgform_obj->result as $row) - $orgform_arr[$row->orgform_kurzbz]=$row->bezeichnung; - -// Pruefen ob Variable fuer Punkteberechnung gesetzt ist, wenn nicht, einen neuen Eintrag anlegen -$variable = new variable(); -if ($variable->load($user, 'reihungstestverwaltung_punkteberechnung')) -{ - if (isset($_GET['punkteberechnung']) && $_GET['punkteberechnung'] != $variable->wert) - { - $variable->new = false; - $variable->uid = $user; - $variable->name = 'reihungstestverwaltung_punkteberechnung'; - $variable->wert = $_GET['punkteberechnung']; - $variable->save(); - - $punkteberechnung = $_GET['punkteberechnung']; - } - else - $punkteberechnung = $variable->wert; - -} -else -{ - $variable->new = true; - $variable->uid = $user; - $variable->name = 'reihungstestverwaltung_punkteberechnung'; - $variable->wert = 'true'; - $variable->save(); - - $punkteberechnung = 'true'; -} - -//Studierende als Excel Exportieren -if(isset($_GET['excel'])) -{ - $reihungstest = new reihungstest(); - if($reihungstest->load($_GET['reihungstest_id'])) - { - $studienplaene_arr = array(); - $studienplaene = new reihungstest(); - $studienplaene->getStudienplaeneReihungstest($reihungstest->reihungstest_id); - foreach ($studienplaene->result AS $row) - { - $studienplan = new studienplan(); - $studienplan->loadStudienplan($row->studienplan_id); - $studienplaene_arr[ $row->studienplan_id] = $studienplan->bezeichnung; - } - - $studienplaene_list = implode(',', array_keys($studienplaene_arr)); - $qry = " - SELECT - rt_id, - prestudent_id, - tbl_rt_person.person_id, - vorname, - nachname, - ort_kurzbz, - studienplan_id, - studiengang_kz, - gebdatum, - geschlecht, - punkte - ,( - SELECT - kontakt - FROM - public.tbl_kontakt - WHERE - kontakttyp = 'email' - AND person_id = tbl_rt_person.person_id - AND zustellung = true LIMIT 1 - ) AS email - ,( - SELECT - ausbildungssemester - FROM - public.tbl_prestudentstatus - WHERE - prestudent_id = tbl_prestudent.prestudent_id - AND datum = ( - SELECT MAX(datum) - FROM public.tbl_prestudentstatus - WHERE prestudent_id = tbl_prestudent.prestudent_id - AND status_kurzbz = 'Interessent' - ) LIMIT 1 - ) AS ausbildungssemester - ,( - SELECT orgform_kurzbz - FROM public.tbl_prestudentstatus - WHERE prestudent_id = tbl_prestudent.prestudent_id - AND datum = ( - SELECT MAX(datum) - FROM public.tbl_prestudentstatus - WHERE prestudent_id = tbl_prestudent.prestudent_id - AND status_kurzbz = 'Interessent' - ) LIMIT 1 - ) AS orgform_kurzbz - FROM - public.tbl_rt_person - JOIN public.tbl_person USING (person_id) - JOIN public.tbl_prestudent ON (tbl_rt_person.person_id=tbl_prestudent.person_id) - WHERE - rt_id = ".$db->db_add_param($reihungstest->reihungstest_id, FHC_INTEGER)." - AND tbl_rt_person.studienplan_id IN(SELECT studienplan_id FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_prestudent.prestudent_id) - ORDER BY - ort_kurzbz NULLS FIRST,nachname,vorname - "; - - $gebietbezeichnungen = array(); - $qry_gebiete = "SELECT gebiet_id, reihung, bezeichnung FROM testtool.tbl_ablauf JOIN testtool.tbl_gebiet USING (gebiet_id) WHERE studienplan_id = ".$db->db_add_param($row->studienplan_id)." ORDER BY reihung"; - if($result_gebiete = $db->db_query($qry_gebiete)) - { - while($row_gebiete = $db->db_fetch_object($result_gebiete)) - { - $gebietbezeichnungen[$row_gebiete->gebiet_id] = $row_gebiete->bezeichnung; - } - } - - // Creating a workbook - $workbook = new Spreadsheet_Excel_Writer(); - $workbook->setVersion(8); - // sending HTTP headers - $workbook->send("Anwesenheitsliste_Aufnahmetermin_".$reihungstest->datum.".xls"); - - //Formate Definieren - $format_bold =& $workbook->addFormat(); - $format_bold->setBold(); - - $format_border =& $workbook->addFormat(); - $format_border->setBorder(1); - $format_border->setTextWrap(); - $format_border->setVAlign ('top'); - - $format_border_center =& $workbook->addFormat(); - $format_border_center->setBorder(1); - $format_border_center->setTextWrap(); - $format_border_center->setVAlign ('top'); - $format_border_center->setHAlign ('center'); - - $format_border_left =& $workbook->addFormat(); - $format_border_left->setBorder(1); - $format_border_left->setTextWrap(); - $format_border_left->setVAlign ('top'); - $format_border_left->setHAlign ('left'); - - if($result = $db->db_query($qry)) - { - $ort_kurzbz = '0'; - // Wenn Daten vorhanden - if ($db->db_num_rows($result) > 0) - { - while($row = $db->db_fetch_object($result)) - { - if ($ort_kurzbz == '0' || $ort_kurzbz != $row->ort_kurzbz) - { - // Creating a worksheet - if ($row->ort_kurzbz=='') - $worksheet =& $workbook->addWorksheet("Ohne Raumzuteilung"); - else - $worksheet =& $workbook->addWorksheet("Raum ".$row->ort_kurzbz); - $worksheet->setInputEncoding('utf-8'); - //$worksheet->setZoom (85); - $worksheet->hideScreenGridlines(); - $worksheet->hideGridlines(); - $worksheet->setLandscape(); - $worksheet->centerHorizontally(1); - $worksheet->fitToPages ( 1, 1); - $worksheet->setMargins_LR (0.4); - $worksheet->setMarginTop (0.79); - $worksheet->setMarginBottom (0.59); - - // Titelzeilen - $worksheet->write(0,0,'Anwesenheitsliste Aufnahmetermin vom '.$datum_obj->convertISODate($reihungstest->datum).' '.$reihungstest->uhrzeit.' Uhr, '.$reihungstest->anmerkung.', erstellt am '.date('d.m.Y'), $format_bold); - if ($row->ort_kurzbz=='') - $worksheet->write(1,0,'Ohne Raumzuteilung', $format_bold); - else - $worksheet->write(1,0,'Raum '.$row->ort_kurzbz, $format_bold); - $worksheet->write(2,0,'Studienpläne: '.implode(', ', $studienplaene_arr)); - $worksheet->write(3,0,'Stufe: '.$reihungstest->stufe); - $worksheet->write(4,0,'Testmodule: '.implode(', ', $gebietbezeichnungen)); - - //Ueberschriften - $zeile=6; - $col=0; - $worksheet->write($zeile,$col,"Nachname", $format_bold); - $maxlength[$col] = 8; - $worksheet->write($zeile,++$col,"Vorname", $format_bold); - $maxlength[$col] = 7; - $worksheet->write($zeile,++$col,"G", $format_bold); - $maxlength[$col] = 2; - $worksheet->write($zeile,++$col,"Geburtsdatum", $format_bold); - $maxlength[$col] = 12; - $worksheet->write($zeile,++$col,"Studiengang", $format_bold); - $maxlength[$col] = 11; - $worksheet->write($zeile,++$col,"OrgForm", $format_bold); - $maxlength[$col] = 7; - $worksheet->write($zeile,++$col,"S", $format_bold); - $maxlength[$col] = 2; - $worksheet->write($zeile,++$col,"Bereits absolvierte RTs", $format_bold); - $maxlength[$col] = 20; - $worksheet->write($zeile,++$col,"Sonstige Termine", $format_bold); - $maxlength[$col] = 20; - $worksheet->write($zeile,++$col,"EMail", $format_bold); - $maxlength[$col] = 5; - $worksheet->write($zeile,++$col,"Strasse", $format_bold); - $maxlength[$col] = 6; - $worksheet->write($zeile,++$col,"PLZ", $format_bold); - $maxlength[$col] = 3; - $worksheet->write($zeile,++$col,"Ort", $format_bold); - $maxlength[$col] = 3; - $worksheet->write($zeile,++$col,"Unterschrift", $format_bold); - $maxlength[$col] = 30; - - $ort_kurzbz = $row->ort_kurzbz; - $zeile++; - } - - $pruefling = new pruefling(); - - $prestudent = new prestudent(); - $prestudent->getPrestudenten($row->person_id); - $rt_in_anderen_stg=''; - $erg = ''; - //if($punkteberechnung == 'true') Punktebrechnung im Excel wird immer ausgefuehrt - { - foreach($prestudent->result as $item) - { - if($item->prestudent_id!=$row->prestudent_id) - { - if(defined('FAS_REIHUNGSTEST_PUNKTE') && FAS_REIHUNGSTEST_PUNKTE) - $erg = $pruefling->getReihungstestErgebnisPrestudent($item->prestudent_id, true); - else - $erg = $pruefling->getReihungstestErgebnisPrestudent($item->prestudent_id); - if($erg!==false) - { - $rt_in_anderen_stg.=number_format($erg,2).' Punkte im Studiengang '.$studiengang->kuerzel_arr[$item->studiengang_kz]."; "; - } - } - } - } - $weitere_zuteilungen = array(); - $qry_zuteilungen = " - SELECT - DISTINCT tbl_studienplan.bezeichnung, tbl_reihungstest.datum, tbl_rt_person.studienplan_id - FROM - public.tbl_rt_person JOIN public.tbl_reihungstest ON (rt_id = reihungstest_id) - JOIN lehre.tbl_studienplan USING (studienplan_id) - JOIN testtool.tbl_ablauf USING (studienplan_id) - WHERE - person_id=".$db->db_add_param($row->person_id)." - AND studiensemester_kurzbz=".$db->db_add_param($reihungstest->studiensemester_kurzbz)." - ORDER BY bezeichnung"; - - if($result_zuteilungen = $db->db_query($qry_zuteilungen)) - { - while($row_zuteilungen = $db->db_fetch_object($result_zuteilungen)) - { - $testmodule = array(); - $qry_gebiete = "SELECT gebiet_id, bezeichnung, reihung FROM testtool.tbl_ablauf JOIN testtool.tbl_gebiet USING (gebiet_id) WHERE studienplan_id = ".$db->db_add_param($row_zuteilungen->studienplan_id)." ORDER BY reihung"; - if($result_gebiete = $db->db_query($qry_gebiete)) - { - while($row_gebiete = $db->db_fetch_object($result_gebiete)) - { - $testmodule[$row_gebiete->gebiet_id] = $row_gebiete->bezeichnung; - } - } - $weitere_zuteilungen[] = $row_zuteilungen->bezeichnung.' am '.$datum_obj->formatDatum($row_zuteilungen->datum, 'd.m.Y').' ('.implode(', ', $testmodule).')'; - } - } - - $col=0; - - $worksheet->write($zeile,$col,$row->nachname, $format_border); - if(strlen($row->nachname)>$maxlength[$col]) - $maxlength[$col] = strlen($row->nachname); - - $worksheet->write($zeile,++$col, $row->vorname, $format_border); - if(strlen($row->vorname)>$maxlength[$col]) - $maxlength[$col] = strlen($row->vorname); - - $worksheet->write($zeile,++$col, $row->geschlecht, $format_border_center); - if(strlen($row->geschlecht)>$maxlength[$col]) - $maxlength[$col] = strlen($row->geschlecht); - - $worksheet->write($zeile,++$col,$datum_obj->convertISODate($row->gebdatum), $format_border); - if(strlen($row->gebdatum)>$maxlength[$col]) - $maxlength[$col] = strlen($row->gebdatum); - - $worksheet->write($zeile,++$col,$studiengang->kuerzel_arr[$row->studiengang_kz], $format_border); - if(strlen($studiengang->kuerzel_arr[$row->studiengang_kz])>$maxlength[$col]) - $maxlength[$col] = strlen($studiengang->kuerzel_arr[$row->studiengang_kz]); - - $worksheet->write($zeile,++$col,$row->orgform_kurzbz, $format_border); - if(strlen($row->orgform_kurzbz)>$maxlength[$col]) - $maxlength[$col] = strlen($row->orgform_kurzbz); - - $worksheet->write($zeile,++$col,$row->ausbildungssemester, $format_border_center); - if(strlen($row->ausbildungssemester)>$maxlength[$col]) - $maxlength[$col] = strlen($row->ausbildungssemester); - - $worksheet->write($zeile,++$col,$rt_in_anderen_stg, $format_border); - if(strlen($rt_in_anderen_stg)>$maxlength[$col]) - $maxlength[$col] = strlen($rt_in_anderen_stg); - - $worksheet->write($zeile,++$col,implode("\n", $weitere_zuteilungen), $format_border); - foreach ($weitere_zuteilungen as $items) - { - if (strlen($items)>$maxlength[$col]) - $maxlength[$col] = strlen($items); - } - - $worksheet->write($zeile,++$col,$row->email, $format_border); - if(strlen($row->email)>$maxlength[$col]) - $maxlength[$col] = strlen($row->email); - - $adresse = new adresse(); - $adresse->loadZustellAdresse($row->person_id); - - $worksheet->write($zeile,++$col,$adresse->strasse, $format_border); - if(strlen($adresse->strasse)>$maxlength[$col]) - $maxlength[$col] = strlen($adresse->strasse); - - $worksheet->write($zeile,++$col,$adresse->plz, $format_border_left); - if(strlen($adresse->plz)>$maxlength[$col]) - $maxlength[$col] = strlen($adresse->plz); - - $worksheet->write($zeile,++$col,$adresse->ort, $format_border); - if(strlen($adresse->ort)>$maxlength[$col]) - $maxlength[$col] = strlen($adresse->ort); - - $worksheet->write($zeile,++$col,'', $format_border); - - if(count($weitere_zuteilungen)>2) - $worksheet->setRow($zeile, count($weitere_zuteilungen)*14); - else - $worksheet->setRow($zeile, 35); - - $zeile++; - - //Die Breite der Spalten setzen - foreach($maxlength as $col=>$breite) - $worksheet->setColumn($col, $col, $breite+2); - } - } - else - { - // Creating a worksheet - $worksheet =& $workbook->addWorksheet("Keine Daten"); - $worksheet->setInputEncoding('utf-8'); - $worksheet->hideScreenGridlines(); - $worksheet->hideGridlines(); - $worksheet->setLandscape(); - $worksheet->centerHorizontally(1); - $worksheet->fitToPages ( 1, 1); - $worksheet->setMargins_LR (0.4); - $worksheet->setMarginTop (0.79); - $worksheet->setMarginBottom (0.59); - - // Titelzeilen - $worksheet->write(0,0,'Anwesenheitsliste Aufnahmetermin vom '.$datum_obj->convertISODate($reihungstest->datum).' '.$reihungstest->uhrzeit.' Uhr, '.$reihungstest->anmerkung.', erstellt am '.date('d.m.Y'), $format_bold); - - $worksheet->write(3,0,'Keine BewerberInnen zugeteilt', $format_bold); - } - } - $workbook->close(); - } - else - { - echo 'Reihungstest wurde nicht gefunden!'; - } - return; -} ?> - - - - Reihungstest - - - - - - - - - - - - - - - -

Reihungstest - Verwaltung

-isBerechtigt('lehre/reihungstest', null, 'sui')) - { - die($rechte->errormsg); - } - - $reihungstest = new reihungstest(); - - if(isset($_POST['reihungstest_id']) && $_POST['reihungstest_id']!='' && !isset($_POST['kopieren'])) - { - //Reihungstest laden - if(!$reihungstest->load($_POST['reihungstest_id'])) - { - die($reihungstest->errormsg); - } - - $reihungstest->new = false; - } - else - { - //Neuen Reihungstest anlegen - $reihungstest->new=true; - $reihungstest->insertvon = $user; - $reihungstest->insertamum = date('Y-m-d H:i:s'); - } - - //Datum und Uhrzeit pruefen - if($_POST['datum']!='' && !$datum_obj->checkDatum($_POST['datum'])) - { - echo 'Datum ist ungueltig. Das Datum muss im Format DD.MM.JJJJ eingegeben werden
'; - $error = true; - } - if($_POST['uhrzeit']!='' && !$datum_obj->checkUhrzeit($_POST['uhrzeit'])) - { - echo 'Uhrzeit ist ungueltig. Die Uhrzeit muss im Format HH:MM angegeben werden!
'; - $error = true; - } - - if(!$error) - { - if (isset($_POST['kopieren'])) - { - $reihungstest->freigeschaltet = false; - $reihungstest->max_teilnehmer = ''; - $reihungstest->oeffentlich = false; - $reihungstest->stufe = filter_input(INPUT_POST, 'stufe', FILTER_VALIDATE_INT); - $reihungstest->aufnahmegruppe_kurzbz = filter_input(INPUT_POST, 'aufnahmegruppe'); - $reihungstest->anmeldefrist = $datum_obj->formatDatum($_POST['anmeldefrist']); - $reihungstest->updateamum = date('Y-m-d H:i:s'); - $reihungstest->updatevon = $user; - } - else - { - $reihungstest->freigeschaltet = isset($_POST['freigeschaltet']); - $reihungstest->max_teilnehmer = filter_input(INPUT_POST, 'max_teilnehmer', FILTER_VALIDATE_INT); - $reihungstest->oeffentlich = filter_input(INPUT_POST, 'oeffentlich', FILTER_VALIDATE_BOOLEAN); - $reihungstest->stufe = filter_input(INPUT_POST, 'stufe', FILTER_VALIDATE_INT); - $reihungstest->aufnahmegruppe_kurzbz = filter_input(INPUT_POST, 'aufnahmegruppe'); - $reihungstest->anmeldefrist = $datum_obj->formatDatum($_POST['anmeldefrist']); - $reihungstest->updateamum = date('Y-m-d H:i:s'); - $reihungstest->updatevon = $user; - } - $reihungstest->studiengang_kz = $_POST['studiengang_kz']; - //$reihungstest->ort_kurzbz = $_POST['ort_kurzbz']; - $reihungstest->studiensemester_kurzbz = filter_input(INPUT_POST, 'studiensemester_kurzbz'); - $reihungstest->anmerkung = $_POST['anmerkung']; - $reihungstest->datum = $datum_obj->formatDatum($_POST['datum']); - $reihungstest->uhrzeit = $_POST['uhrzeit']; - - if($reihungstest->save()) - { - if (isset($_POST['ort_kurzbz']) && $_POST['ort_kurzbz']!='') - { - $ort = new ort(); - - if (!$ort->load($_POST['ort_kurzbz'])) - echo 'Die Bezeichnung des Ortes ist ungueltig oder wurde nicht gefunden'; - else - { - if($rechte->isBerechtigt('lehre/reihungstestOrt', null, 'sui')) - { - $orte_zugeteilt = new reihungstest(); - $orte_zugeteilt->getOrteReihungstest($reihungstest->reihungstest_id); - $zugeteilt = false; - foreach ($orte_zugeteilt->result AS $row) - { - if ($row->ort_kurzbz == $_POST['ort_kurzbz']) - { - $zugeteilt = true; - break; - } - } - // Check, ob der Raum schon diesem RT zugeteilt ist - if ($zugeteilt == false) - { - $add_ort = new reihungstest(); - $add_ort->new = true; - $add_ort->reihungstest_id = $reihungstest->reihungstest_id; - $add_ort->ort_kurzbz = $_POST['ort_kurzbz']; - $add_ort->uid = null; - - if ($add_ort->saveOrtReihungstest()) - { - echo 'Daten wurden erfolgreich gespeichert '; - } - else - echo 'Fehler beim Speichern der Raumzuordnung: '.$db->convert_html_chars($reihungstest->errormsg).''; - } - else - echo 'Der Raum '.$_POST['ort_kurzbz'].' ist bereits diesem Reihungstest zugeteilt'; - } - else - die($rechte->errormsg); - } - } - if (isset($_POST['studienplan_id']) && $_POST['studienplan_id']!='') - { - $rt_stpl = new reihungstest(); - $rt_stpl->new = true; - $rt_stpl->reihungstest_id = $reihungstest->reihungstest_id; - $rt_stpl->studienplan_id = $_POST['studienplan_id']; - - if ($rt_stpl->saveStudienplanReihungstest()) - { - echo 'Daten wurden erfolgreich gespeichert '; - } - else - echo 'Fehler beim Speichern des Studienplans: '.$db->convert_html_chars($rt_stpl->errormsg).''; - } - $reihungstest_id = $reihungstest->reihungstest_id; - $stg_kz = $reihungstest->studiengang_kz; - $studiensemester_kurzbz = $reihungstest->studiensemester_kurzbz; - } - else - { - echo 'Fehler beim Speichern der Daten: '.$db->convert_html_chars($reihungstest->errormsg).''; - } - } - $neu=false; -} - -if ($reihungstest_id != '' || isset($_POST['reihungstest_id'])) -{ - $orte = new Reihungstest(); - $orte->getOrteReihungstest($reihungstest_id != ''?$reihungstest_id:$_POST['reihungstest_id']); - $orte_array = array(); - foreach ($orte->result AS $row) - { - // Wenn Arbeitsplaetze in DB gepflegt sind, Schwund herausrechnen (wenn gesetzt) sonst max_person verwenden und Schwund herausrechnen (wenn gesetzt) - $raum = new Ort(); - $raum->load($row->ort_kurzbz); - if ($raum->arbeitsplaetze != '') - { - if(defined('REIHUNGSTEST_ARBEITSPLAETZE_SCHWUND') && REIHUNGSTEST_ARBEITSPLAETZE_SCHWUND > 0) - $orte_array[$row->ort_kurzbz] = $raum->arbeitsplaetze - ceil(($raum->arbeitsplaetze/100)*REIHUNGSTEST_ARBEITSPLAETZE_SCHWUND); - else - $orte_array[$row->ort_kurzbz] = $raum->arbeitsplaetze; - } - else - { - if(defined('REIHUNGSTEST_ARBEITSPLAETZE_SCHWUND') && REIHUNGSTEST_ARBEITSPLAETZE_SCHWUND > 0) - $orte_array[$row->ort_kurzbz] = $raum->max_person - ceil(($raum->max_person/100)*REIHUNGSTEST_ARBEITSPLAETZE_SCHWUND); - else - $orte_array[$row->ort_kurzbz] = $raum->max_person; - } - } - $arbeitsplaetze_gesamt = array_sum($orte_array); -} - -if(isset($_POST['raumzuteilung_speichern'])) -{ - if(!$rechte->isBerechtigt('lehre/reihungstest', null, 'su')) - { - die($rechte->errormsg); - } - - $raumzuteilung = new reihungstest(); - - if(isset($_POST['reihungstest_id']) && $_POST['reihungstest_id']!='') - { - //Reihungstest laden - if(!$raumzuteilung->load($_POST['reihungstest_id'])) - { - die($raumzuteilung->errormsg); - } - if (isset($_POST['checkbox'])) - { - $person_ids = $_POST['checkbox']; - - foreach ($person_ids AS $key=>$value) - { - $load_person = new reihungstest(); - if ($load_person->getPersonReihungstest($key, $_POST['reihungstest_id'])) - { - $raumzuteilung->new = false; - $raumzuteilung->rt_person_id = $load_person->rt_person_id; - $raumzuteilung->anmeldedatum = $load_person->anmeldedatum; - $raumzuteilung->teilgenommen = $load_person->teilgenommen; - $raumzuteilung->punkte = $load_person->punkte; - $raumzuteilung->studienplan_id = $load_person->studienplan_id; - - $raumzuteilung->reihungstest_id = $load_person->reihungstest_id; - $raumzuteilung->person_id = $key; - $raumzuteilung->ort_kurzbz = $_POST['raumzuteilung']; - } - else - die('PersonID '.$key.' hat keine korrekte Zuordnung -> Abbruch'); - - if (!$raumzuteilung->savePersonReihungstest()) - { - echo 'Fehler beim Speichern der Daten: '.$db->convert_html_chars($reihungstest->errormsg).''; - } - } - } - $reihungstest_id = $_POST['reihungstest_id']; - } - $neu=false; -} - -// Uebertraegt die Punkte eines Prestudenten ins FAS -if(isset($_GET['type']) && $_GET['type']=='savertpunkte') -{ - $prestudent = new prestudent(); - $prestudent->load($prestudent_id); - - if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('assistenz', $prestudent->studiengang_kz, 'sui')) - { - $rtperson = new reihungstest(); - $rtperson->loadReihungstestPerson($_GET['rt_person_id']); - $rtperson->punkte = str_replace(',','.',$rtpunkte); - $rtperson->new = false; - $rtperson->teilgenommen = true; - if(!$rtperson->savePersonReihungstest()) - { - echo 'Fehler:'.$rtperson->errormsg.''; - } - } - else - { - echo '
Sie haben keine Berechtigung zur Uebernahme der Punkte fuer '.$db->convert_html_chars($row->nachname).' '.$db->convert_html_chars($row->vorname).'
'; - } -} - -// Uebertraegt alle Punkte eines Reihungstests ins FAS -if(isset($_GET['type']) && $_GET['type']=='saveallrtpunkte') -{ - $errormsg=''; - $qry = "SELECT - prestudent_id, tbl_prestudent.studiengang_kz, nachname, vorname, - tbl_studiengang.oe_kurzbz, rt_person_id, tbl_person.person_id - FROM - public.tbl_prestudent - JOIN public.tbl_person USING(person_id) - JOIN public.tbl_studiengang USING(studiengang_kz) - JOIN public.tbl_rt_person USING(person_id) - JOIN lehre.tbl_studienplan ON(tbl_rt_person.studienplan_id=tbl_studienplan.studienplan_id) - JOIN lehre.tbl_studienordnung ON(tbl_studienplan.studienordnung_id=tbl_studienordnung.studienordnung_id) - WHERE - tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz - AND tbl_rt_person.rt_id=".$db->db_add_param($reihungstest_id, FHC_INTEGER); - - if($result = $db->db_query($qry)) - { - while($row = $db->db_fetch_object($result)) - { - if($rechte->isBerechtigt('student/stammdaten', $row->oe_kurzbz,'sui')) - { - $prestudent = new prestudent(); - $prestudent->load($row->prestudent_id); - - $reihungstest = new reihungstest(); - if($reihungstest->loadReihungstestPerson($row->rt_person_id)) - { - $pruefling = new pruefling(); - if(defined('FAS_REIHUNGSTEST_PUNKTE') && FAS_REIHUNGSTEST_PUNKTE) - $rtpunkte = $pruefling->getReihungstestErgebnisPerson($row->person_id, true, $reihungstest->reihungstest_id); - else - $rtpunkte = $pruefling->getReihungstestErgebnisPerson($row->person_id, false, $reihungstest->reihungstest_id); - - $reihungstest->punkte = str_replace(',','.',$rtpunkte); - $reihungstest->reihungstestangetreten = true; - $reihungstest->save(false); - $reihungstest->new = false; - - if($rtpunkte!==false) - { - $reihungstest->punkte = str_replace(',','.',$rtpunkte); - $reihungstest->teilgenommen = true; - $reihungstest->save(false); - $reihungstest->new = false; - - if(!$reihungstest->savePersonReihungstest()) - { - $errormsg .='
Fehler:'.$reihungstest->errorsmg; - } - } - } - } - else - { - $errormsg .= "
Sie haben keine Berechtigung zur Uebernahme der Punkte fuer $row->nachname $row->vorname"; - } - } - if($errormsg!='') - { - echo ''.$db->convert_html_chars($errormsg).''; - } - } -} - -// Verteilt alle BewerberInnen gleichmaessig auf die Raeume -if(isset($_GET['type']) && $_GET['type']=='verteilen') -{ - if(!$rechte->isBerechtigt('lehre/reihungstest', null, 'sui')) - { - die($rechte->errormsg); - } - - if($reihungstest_id!='') - { - $errormsg=''; - $qry = "SELECT - person_id, - vorname, - nachname, - ort_kurzbz - FROM - public.tbl_prestudent - JOIN public.tbl_person USING (person_id) - LEFT JOIN public.tbl_rt_person USING (person_id) - WHERE - tbl_rt_person.rt_id = ".$db->db_add_param($reihungstest_id, FHC_INTEGER)." - AND tbl_rt_person.studienplan_id IN (SELECT studienplan_id FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_prestudent.prestudent_id) - ORDER BY nachname,vorname "; - - $raumzuteilung = new reihungstest(); - if($result = $db->db_query($qry)) - { - $anz_personen = $db->db_num_rows($result); - - if($arbeitsplaetze_gesamt!=0) - { - $multiplikator = $anz_personen/$arbeitsplaetze_gesamt; - foreach ($orte->result AS $ort) - { - $counter = 0; - - $anz_zugeteilte = new Reihungstest(); - $anz_zugeteilte->getPersonReihungstestOrt($reihungstest_id, $ort->ort_kurzbz); - $anz_zugeteilte = count($anz_zugeteilte->result); - - $anteil = round(($orte_array[$ort->ort_kurzbz] * $multiplikator))-$anz_zugeteilte; - - if ($orte_array[$ort->ort_kurzbz] == 0 || ($anteil - $anz_zugeteilte)<=0) - continue; - - while($row = $db->db_fetch_object($result)) - { - //Nur Personen ohne Raumzuteilung verteilen - if ($row->ort_kurzbz == '') - { - $load_person = new reihungstest(); - if ($load_person->getPersonReihungstest($row->person_id, $reihungstest_id)) - { - $raumzuteilung->new = false; - $raumzuteilung->rt_person_id = $load_person->rt_person_id; - $raumzuteilung->anmeldedatum = $load_person->anmeldedatum; - $raumzuteilung->teilgenommen = $load_person->teilgenommen; - $raumzuteilung->punkte = $load_person->punkte; - $raumzuteilung->studienplan_id = $load_person->studienplan_id; - - $raumzuteilung->reihungstest_id = $load_person->reihungstest_id; - $raumzuteilung->person_id = $row->person_id; - $raumzuteilung->ort_kurzbz = $ort->ort_kurzbz; - } - else - { - die('Person zuteilung nicht gefunden'); - } - - if (!$raumzuteilung->savePersonReihungstest()) - { - echo 'Fehler beim Speichern der Daten: '.$db->convert_html_chars($raumzuteilung->errormsg).''; - } - $counter++; - - //Wenn 0 Arbeitsplaetze vorhanden sind oder die max. Arbeitsplatzanzahl erreicht ist - if ($orte_array[$ort->ort_kurzbz] == 0 || ($anteil - $counter)<=0) - break; - } - } - } - } - else - { - echo 'Nicht genug Raumkapazität vorhanden'; - } - } - - } - $neu=false; -} - -// Fuellt die Raeume aufsteigend mit BewerberInnen an -if(isset($_GET['type']) && $_GET['type']=='auffuellen') -{ - if(!$rechte->isBerechtigt('lehre/reihungstest', null, 'sui')) - { - die($rechte->errormsg); - } - - if($reihungstest_id!='') - { - $orte = new Reihungstest(); - $orte->getOrteReihungstest($reihungstest_id); - - $errormsg=''; - $qry = "SELECT - person_id, - vorname, - nachname, - ort_kurzbz - FROM - public.tbl_prestudent - JOIN - public.tbl_person USING (person_id) - LEFT JOIN public.tbl_rt_person USING (person_id) - WHERE - tbl_rt_person.rt_id = ".$db->db_add_param($reihungstest_id, FHC_INTEGER)." - AND tbl_rt_person.studienplan_id IN (SELECT studienplan_id FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_prestudent.prestudent_id) - AND tbl_rt_person.ort_kurzbz IS NULL - ORDER BY nachname,vorname "; - - $raumzuteilung = new reihungstest(); - if($result = $db->db_query($qry)) - { - foreach ($orte->result AS $ort) - { - $counter = 0; - - $anz_zugeteilte = new Reihungstest(); - $anz_zugeteilte->getPersonReihungstestOrt($reihungstest_id, $ort->ort_kurzbz); - $anz_zugeteilte = count($anz_zugeteilte->result); - - if ($orte_array[$ort->ort_kurzbz] == 0 || ($orte_array[$ort->ort_kurzbz]-$anz_zugeteilte)<=0) - continue; - - while($row = $db->db_fetch_object($result)) - { - $load_person = new reihungstest(); - - if ($load_person->getPersonReihungstest($row->person_id, $reihungstest_id)) - { - $raumzuteilung->new = false; - $raumzuteilung->rt_person_id = $load_person->rt_person_id; - $raumzuteilung->anmeldedatum = $load_person->anmeldedatum; - $raumzuteilung->teilgenommen = $load_person->teilgenommen; - $raumzuteilung->punkte = $load_person->punkte; - $raumzuteilung->studienplan_id = $load_person->studienplan_id; - - $raumzuteilung->reihungstest_id = $load_person->reihungstest_id; - $raumzuteilung->person_id = $row->person_id; - $raumzuteilung->ort_kurzbz = $ort->ort_kurzbz; - } - else - die('Personen zuteilung nicht gefunden'); - - if (!$raumzuteilung->savePersonReihungstest()) - { - echo 'Fehler beim Speichern der Daten: '.$db->convert_html_chars($raumzuteilung->errormsg).''; - } - $counter++; - - //Wenn 0 Arbeitsplaetze vorhanden sind oder die max. Arbeitsplatzanzahl erreicht ist - if ($orte_array[$ort->ort_kurzbz] == 0 || ($orte_array[$ort->ort_kurzbz]-($anz_zugeteilte+$counter))<=0) - break; - } - } - } - - } - $neu=false; -} - -if(isset($_POST['aufsicht']) && $_POST['aufsicht']!='' && !isset($_POST['kopieren'])) -{ - - if(!$rechte->isBerechtigt('lehre/reihungstest', null, 'su')) - { - die($rechte->errormsg); - } - - $save_aufsicht = new reihungstest(); - - if(isset($_POST['reihungstest_id']) && $_POST['reihungstest_id']!='') - { - //Reihungstest laden - if(!$save_aufsicht->load($_POST['reihungstest_id'])) - { - die($save_aufsicht->errormsg); - } - $aufsichtspersonen = $_POST['aufsicht']; - - foreach ($aufsichtspersonen AS $key=>$value) - { - // UID aus POST-String auslesen - $length = (strrpos($value, ')')) - (strpos($value, '(')); - $uid = substr($value,strpos($value, '(')+1, $length-1); - - $benutzer = new benutzer(); - if ($uid!='' && !$benutzer->load($uid)) - echo 'Die UID '.$value.' konnte nicht gefunden werden'; - else - { - $save_aufsicht->new = false; - $save_aufsicht->reihungstest_id = $_POST['reihungstest_id']; - $save_aufsicht->ort_kurzbz = $key; - $save_aufsicht->uid = $uid; - if (!$save_aufsicht->saveOrtReihungstest()) - { - echo 'Fehler beim Speichern der Daten: '.$db->convert_html_chars($reihungstest->errormsg).''; - } - } - } - $reihungstest_id = $save_aufsicht->reihungstest_id; - $stg_kz = $save_aufsicht->studiengang_kz; - } - $neu=false; -} - -if(isset($_POST['delete_ort'])) -{ - if(!$rechte->isBerechtigt('lehre/reihungstestOrt', null, 'suid')) - { - die($rechte->errormsg); - } - - if(isset($_POST['reihungstest_id']) && $_POST['reihungstest_id']!='') - { - $delete_ort = new reihungstest(); - $delete_ort->getPersonReihungstestOrt($_POST['reihungstest_id'], $_POST['delete_ort']); - - if (count($delete_ort->result) == 0) - { - if (!$delete_ort->deleteOrtReihungstest($_POST['reihungstest_id'], $_POST['delete_ort'])) - echo 'Fehler beim löschen der Raumzuordnung: '.$db->convert_html_chars($reihungstest->errormsg).''; - } - else - echo 'Dem Raum '.$_POST['delete_ort'].' sind noch '.count($delete_ort->result).' Personen zugeteilt. Bitte entfernen Sie zuerst diese Zuteilungen'; - - $reihungstest_id = $_POST['reihungstest_id']; - $studiensemester_kurzbz = $_POST['studiensemester_kurzbz']; - } - $neu=false; -} - -if(isset($_POST['delete_studienplan'])) //@todo: Check, ob Zuordnungen zu diesem Studienplan vorhanden sind. Wenn ja, nicht loeschen! -{ - if(isset($_POST['reihungstest_id']) && $_POST['reihungstest_id']!='') - { - $delete_studienplan = new reihungstest(); - - if (!$delete_studienplan->deleteStudienplanReihungstest($_POST['reihungstest_id'], $_POST['delete_studienplan'])) - echo 'Fehler beim löschen der Studienplanzuteilung: '.$db->convert_html_chars($delete_studienplan->errormsg).''; - - $reihungstest_id = $_POST['reihungstest_id']; - $studiensemester_kurzbz = $_POST['studiensemester_kurzbz']; - } - $neu=false; -} - -if(isset($_POST['deleteReihungstest'])) //@todo: Check, ob Zuordnungen zu diesem Studienplan vorhanden sind. Wenn ja, nicht loeschen! -{ - if(isset($_POST['reihungstest_id']) && $_POST['reihungstest_id']!='') - { - $deleteReihungstest = new reihungstest(); - - if (!$deleteReihungstest->delete($_POST['reihungstest_id'])) - echo 'Fehler beim löschen des Reihungstests: '.$db->convert_html_chars($deleteReihungstest->errormsg).''; - - $reihungstest_id = ''; - $studiensemester_kurzbz = $_POST['studiensemester_kurzbz']; - } - $neu = true; -} - -echo '
'; - -// Studiengang DropDown -echo ""; -$studienplan_obj = new studienplan(); -$studienplan_obj->getStudienplaeneFromSem($stg_kz, $studiensemester_kurzbz); -$studienordnung_arr = array(); -$studienplan_arr = array(); -$studienplaene_verwendet = array(); - -foreach($studienplan_obj->result as $row_sto) -{ - $studienordnung_arr[$row_sto->studienordnung_id]['bezeichnung']=$row_sto->bezeichnung_studienordnung; - $studienplan_arr[$row_sto->studienordnung_id][$row_sto->studienplan_id]['bezeichnung']=$row_sto->bezeichnung_studienplan; - - $studienplan_arr[$row_sto->studienordnung_id][$row_sto->studienplan_id]['orgform_kurzbz']=$row_sto->orgform_kurzbz; - $studienplan_arr[$row_sto->studienordnung_id][$row_sto->studienplan_id]['sprache']=(isset($sprachen_arr[$row_sto->sprache])?$sprachen_arr[$row_sto->sprache]:''); - $studienplaene_verwendet[$row_sto->studienplan_id] = $row_sto->bezeichnung_studienplan; -} - -// Pruefen ob uebergebene StudienplanID in Auswahl enthalten -// ist und ggf auf leer setzen -if($studienplan_id!='') -{ - $studienplan_found=false; - foreach($studienplan_arr as $stoid=>$row_sto) - { - if(array_key_exists($studienplan_id, $studienplan_arr[$stoid])) - { - $studienplan_found=true; - break; - } - } - if(!$studienplan_found) - { - $studienplan_id=''; - } -} -// Studiensemester DropDown -echo ""; - -//Reihungstest DropDown -$reihungstest = new reihungstest(); -if($stg_kz==-1 && $studiensemester_kurzbz=='') - $reihungstest->getAll(date('Y').'-01-01'); //Alle Reihungstests ab diesem Jahr laden -elseif($stg_kz==-1 && $studiensemester_kurzbz!='') - $reihungstest->getReihungstest('','datum DESC,uhrzeit DESC',$studiensemester_kurzbz); -else - $reihungstest->getReihungstest($stg_kz,'datum DESC,uhrzeit DESC',$studiensemester_kurzbz); - - -echo "'; -echo ""; -echo '  '; -echo "
"; - -if($reihungstest_id=='') - $neu=true; -$reihungstest = new reihungstest(); - -if(!$neu) -{ - if(!$reihungstest->load($reihungstest_id)) - die('Reihungstest existiert nicht'); -} -else -{ - if($stg_kz!=-1 && $stg_kz!='') - $reihungstest->studiengang_kz = $stg_kz; - $reihungstest_id=''; - $reihungstest->datum = date('Y-m-d'); - $reihungstest->uhrzeit = date('H:i:s'); - $reihungstest->anmeldefrist = date('Y-m-d', time() - 60 * 60 * 24); -} - -$studienplaene_arr = array(); -$studienplaene = new reihungstest(); -$studienplaene->getStudienplaeneReihungstest($reihungstest->reihungstest_id); -foreach ($studienplaene->result AS $row) -{ - $studienplan = new studienplan(); - $studienplan->loadStudienplan($row->studienplan_id); - $studienplaene_arr[ $row->studienplan_id] = $studienplan->bezeichnung; -} - -$studienplaene_list = implode(',', array_keys($studienplaene_arr)); - -//Formular zum Bearbeiten des Reihungstests -?> -
-
'> - - - - - '; - } - else - { - echo ''; - echo ''; - } - ?> -
- - - - - - - - - - - - - '; - } - - if($neu) - { - echo ''; - echo ''; - echo ''; - } - else - { - echo ''; - - if(!$neu) - { - //echo ''; - } - else - echo ''; - } - - $arbeitsplaetze_sum = 0; - if(!$neu) - { - echo ''; - //echo ''; - echo ''; - } - else - { - echo ''; - } - $orte = new Reihungstest(); - $orte->getOrteReihungstest($reihungstest->reihungstest_id); - foreach ($orte->result AS $row) - { - $person = new Person(); - $person->getPersonFromBenutzer($row->uid); - if ($row->uid != '') - $anzeigename = $person->vorname.' '.$person->nachname.' ('.$row->uid.')'; - else - $anzeigename = ''; - - echo ''; - echo ''; - $arbeitsplaetze_sum = $arbeitsplaetze_sum + $orte_array[$row->ort_kurzbz]; - } - if(defined('REIHUNGSTEST_ARBEITSPLAETZE_SCHWUND') && REIHUNGSTEST_ARBEITSPLAETZE_SCHWUND > 0) - echo ''; - //echo '
Studiengang - -
Stufe - -   Studiensemester - -
Gruppe - -
Studienplan'; - - // Studienplan DropDown - echo ""; - echo '
Studienpläne'; - echo ''; - echo ''; - - foreach ($studienplaene->result AS $row) - { - $studienplan = new studienplan(); - $studienplan->loadStudienplan($row->studienplan_id); - - echo ''; - echo ''; - echo ''; - echo ''; - } - //echo '
'; - echo ''; - echo ''; - echo '
 '.$studienplan->bezeichnung.' ('.$studienplan->studienplan_id.')
Nach dem Anlegen eines Termins, können Sie weitere Studienpläne zuordnen
Ort'; - if ($rechte->isBerechtigt('lehre/reihungstestOrt', null, 'sui')) - { - echo ''; - echo '
Keine Berechtigung zum zuteilen von Räumen
 '.$row->ort_kurzbz.' ('.$orte_array[$row->ort_kurzbz].' Arbeitsplätze'; - if(defined('REIHUNGSTEST_ARBEITSPLAETZE_SCHWUND') && REIHUNGSTEST_ARBEITSPLAETZE_SCHWUND > 0) - echo '*'; - echo ')'; - echo ' '; - if ($rechte->isBerechtigt('lehre/reihungstestOrt', null, 'suid')) - echo ''; - echo '
 * Inklusive '.REIHUNGSTEST_ARBEITSPLAETZE_SCHWUND.'% Schwund
OrtNach dem Anlegen eines Termins, können Sie Räume zuordnen
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Anmerkung (max. 64 Zeichen)
Datum
Uhrzeit (Format: HH:MM)
Anmeldefrist
Max TeilnehmerInnen - - (optional; laut Raumkapazität - 0) - echo ' inklusive '.REIHUNGSTEST_ARBEITSPLAETZE_SCHWUND.'% Schwund)'; - else - echo ')'; - ?> -
Öffentlich - - oeffentlich ? 'checked="checked"' : '' ?>> - (Für Bewerber sichtbar/auswählbar) -
Freigeschaltet - freigeschaltet ? 'checked="checked"' : '' ?>> - (Kurz vor Testbeginn aktivieren) -
 
- - Kopie erstellen'; - - if($rechte->isBerechtigt('lehre/reihungstest', null, 'suid')) - { - $anzahl_teilnehmer = new reihungstest(); - $anzahl_teilnehmer = $anzahl_teilnehmer->getTeilnehmerAnzahl($reihungstest_id); - - if (isset($orte) && count($orte->result) == 0 && isset($studienplaene) && count($studienplaene->result) == 0 && $anzahl_teilnehmer == 0 && $reihungstest_id != '') - echo ''; - else - echo ''; - } - ?> -
- - - -
- -
-'; -if($reihungstest_id!='') -{ - echo 'Excel Export'; - echo 'Punkte ins FAS übertragen'; - echo 'Mail an alle senden'; -} -echo 'Auswertung'; -echo 'Anmeldungen zusammenlegen'; -if($rechte->isBerechtigt('basis/testtool', null, 'suid')) -{ - echo 'Administration
'; -} -echo ''; -echo ''; -if($reihungstest_id!='') -{ - //Liste der Interessenten die zum Reihungstest angemeldet sind - $qry = " - SELECT - rt_person_id, - rt_id, - prestudent_id, - tbl_rt_person.person_id, - vorname, - nachname, - ort_kurzbz, - studienplan_id, - studiengang_kz, - gebdatum, - geschlecht, - punkte - ,( - SELECT kontakt - FROM tbl_kontakt - WHERE kontakttyp = 'email' - AND person_id = tbl_rt_person.person_id - AND zustellung = true LIMIT 1 - ) AS email - ,( - SELECT ausbildungssemester - FROM public.tbl_prestudentstatus - WHERE prestudent_id = tbl_prestudent.prestudent_id - AND datum = ( - SELECT MAX(datum) - FROM public.tbl_prestudentstatus - WHERE prestudent_id = tbl_prestudent.prestudent_id - AND status_kurzbz = 'Interessent' - ) LIMIT 1 - ) AS ausbildungssemester - ,( - SELECT orgform_kurzbz - FROM public.tbl_prestudentstatus - WHERE prestudent_id = tbl_prestudent.prestudent_id - AND datum = ( - SELECT MAX(datum) - FROM public.tbl_prestudentstatus - WHERE prestudent_id = tbl_prestudent.prestudent_id - AND status_kurzbz = 'Interessent' - ) LIMIT 1 - ) AS orgform_kurzbz - FROM - public.tbl_rt_person - JOIN public.tbl_person USING (person_id) - JOIN public.tbl_prestudent ON (tbl_rt_person.person_id=tbl_prestudent.person_id) - WHERE - rt_id = ".$db->db_add_param($reihungstest_id, FHC_INTEGER); - - $qry .= " AND tbl_rt_person.studienplan_id IN(SELECT studienplan_id FROM public.tbl_prestudentstatus where prestudent_id=tbl_prestudent.prestudent_id) - ORDER BY ort_kurzbz NULLS FIRST,nachname,vorname"; - - $mailto = ''; - $result_arr = array(); - - $orte = new Reihungstest(); - $orte->getOrteReihungstest($reihungstest_id); - $orte_zuteilung_array = array(); - $orte_zuteilung_array['ohne'] = 0; - foreach ($orte->result AS $row) - $orte_zuteilung_array[$row->ort_kurzbz] = 0; - - if($result = $db->db_query($qry)) - { - while($row = $db->db_fetch_object($result)) - { - $result_arr[] = $row; - - if (is_null($row->ort_kurzbz)) - $orte_zuteilung_array['ohne']++; - else - $orte_zuteilung_array[$row->ort_kurzbz]++; - } - } - - echo ''; - echo '
'; - echo '
'; - echo 'Anzahl: '.$db->db_num_rows($result).' ('.($reihungstest->max_teilnehmer!=''?$reihungstest->max_teilnehmer:$arbeitsplaetze_sum).' Plätze verfügbar)'; - if ( ($reihungstest->max_teilnehmer!='' && $db->db_num_rows($result) > $reihungstest->max_teilnehmer) - || ($reihungstest->max_teilnehmer=='' && $db->db_num_rows($result) > $arbeitsplaetze_sum) - && !empty($orte_array) - ) - echo '
Achtung! Anzahl Arbeitsplätze überschritten'; - echo '
'; - echo '
Prestudent ID
'; - echo '
Person ID
'; - echo '
Geschlecht
'; - echo '
Studiengang
'; - echo '
OrgForm
'; - echo '
Studienplan
'; - echo '
Einstiegssemester
'; - echo '
Geburtsdatum
'; - echo '
EMail
'; - echo '
Absolvierte Tests
'; - echo '
Ergebnis
'; - echo '
FAS
'; - echo '
'; - echo '
'; - echo ''; - - - $pruefling = new pruefling(); - - $cnt = 0; - if ($orte_zuteilung_array['ohne']>0) - { - echo ''; - } - foreach ($orte->result AS $ort) - { - $cnt++; - - echo ''; - } - - echo '
'; - echo '
Ohne Raumzuteilung ('.$orte_zuteilung_array['ohne'].')
'; - echo ''; - echo '
'; - echo ''; - echo ' - - - - - - - - - - - - - - - - - - - - '; - foreach ($result_arr AS $row) - { - $rt_in_anderen_stg=''; - $rtergebnis = ''; - if($punkteberechnung == 'true') - { - if(defined('FAS_REIHUNGSTEST_PUNKTE') && FAS_REIHUNGSTEST_PUNKTE) - $rtergebnis = $pruefling->getReihungstestErgebnisPerson($row->person_id,true, $reihungstest->reihungstest_id); - else - $rtergebnis = $pruefling->getReihungstestErgebnisPerson($row->person_id, false, $reihungstest->reihungstest_id); - $prestudent = new prestudent(); - $prestudent->getPrestudenten($row->person_id); - $rt_in_anderen_stg=''; - foreach($prestudent->result as $item) - { - if($item->prestudent_id!=$row->prestudent_id) - { - if(defined('FAS_REIHUNGSTEST_PUNKTE') && FAS_REIHUNGSTEST_PUNKTE) - $erg = $pruefling->getReihungstestErgebnisPrestudent($item->prestudent_id, true); - else - $erg = $pruefling->getReihungstestErgebnisPrestudent($item->prestudent_id); - if($erg!==false) - { - $rt_in_anderen_stg.=number_format($erg,2).' Punkte im Studiengang '.$studiengang->kuerzel_arr[$item->studiengang_kz].'
'; - } - } - } - } - if ($row->ort_kurzbz == '') - { - if(isset($studienplaene_arr[$row->studienplan_id])) - $studienplan_bezeichnung = $studienplaene_arr[$row->studienplan_id]; - else - { - $studienplan_obj = new studienplan(); - $studienplan_obj->loadStudienplan($row->studienplan_id); - $studienplan_bezeichnung = $studienplan_obj->bezeichnung; - $studienplaene_arr[$row->studienplan_id]=$studienplan_obj->bezeichnung; - } - echo ' - - - - - - - - - - - - - - - - - '; - - $mailto.= ($mailto!=''?',':'').$row->email; - } - } - echo '
- - - - - Prestudent IDPerson IDNachnameVornameGeschlechtStudiengangOrgFormStudienplanEinstiegssemesterGeburtsdatumEMailbereits absolvierte VerfahrenErgebnisFAS
'.$db->convert_html_chars($row->prestudent_id).''.$db->convert_html_chars($row->person_id).''.$db->convert_html_chars($row->nachname).''.$db->convert_html_chars($row->vorname).''.$db->convert_html_chars($row->geschlecht).''.$db->convert_html_chars($stg_arr[$row->studiengang_kz]).''.$db->convert_html_chars($row->orgform_kurzbz!=''?$row->orgform_kurzbz:' ').''.$db->convert_html_chars($studienplan_bezeichnung).' ('.$row->studienplan_id.')'.$db->convert_html_chars($row->ausbildungssemester).''.$db->convert_html_chars($row->gebdatum!=''?$datum_obj->convertISODate($row->gebdatum):' ').''.$rt_in_anderen_stg.''.($rtergebnis == '' || $rtergebnis===false?'-':number_format($rtergebnis,2,'.','')).''; - if($rtergebnis!==false && $rtergebnis != '' && $row->punkte=='') - echo 'übertragen'; - else - { - if($row->punkte!='') - echo number_format($row->punkte,2,'.',''); - } - echo '
'; - - echo ''; - echo ''; - echo '
'; - echo '
'; - if ($orte_array[$ort->ort_kurzbz] - $orte_zuteilung_array[$ort->ort_kurzbz] < 0) - $style = 'text-align: center; margin: 0 5px 0 5px; color: red'; - else - $style = 'text-align: center; margin: 0 5px 0 5px;'; - echo '
'.$ort->ort_kurzbz.' ('.$orte_zuteilung_array[$ort->ort_kurzbz].'/'.$orte_array[$ort->ort_kurzbz].')
'; - - if ($orte_zuteilung_array[$ort->ort_kurzbz]>0) - { - echo '
'; - echo ''; - echo ' - - - - - - - - - - - - - - - - - - - - '; - $cnt_personen = 0; - foreach ($result_arr AS $row) - { - $rt_in_anderen_stg=''; - $rtergebnis = ''; - if($punkteberechnung == 'true') - { - if(defined('FAS_REIHUNGSTEST_PUNKTE') && FAS_REIHUNGSTEST_PUNKTE) - $rtergebnis = $pruefling->getReihungstestErgebnisPerson($row->person_id,true, $reihungstest->reihungstest_id); - else - $rtergebnis = $pruefling->getReihungstestErgebnisPerson($row->person_id, false, $reihungstest->reihungstest_id); - $prestudent = new prestudent(); - $prestudent->getPrestudenten($row->person_id); - $rt_in_anderen_stg=''; - foreach($prestudent->result as $item) - { - if($item->prestudent_id!=$row->prestudent_id) - { - if(defined('FAS_REIHUNGSTEST_PUNKTE') && FAS_REIHUNGSTEST_PUNKTE) - $erg = $pruefling->getReihungstestErgebnisPrestudent($item->prestudent_id, true); - else - $erg = $pruefling->getReihungstestErgebnisPrestudent($item->prestudent_id); - if($erg!==false) - { - $rt_in_anderen_stg.=number_format($erg,2).' Punkte im Studiengang '.$studiengang->kuerzel_arr[$item->studiengang_kz].'
'; - } - } - } - } - if ($row->ort_kurzbz == $ort->ort_kurzbz) - { - - if(isset($studienplaene_arr[$row->studienplan_id])) - $studienplan_bezeichnung = $studienplaene_arr[$row->studienplan_id]; - else - { - $studienplan_obj = new studienplan(); - $studienplan_obj->loadStudienplan($row->studienplan_id); - $studienplan_bezeichnung = $studienplan_obj->bezeichnung; - $studienplaene_arr[$row->studienplan_id]=$studienplan_obj->bezeichnung; - } - - $cnt_personen++; - echo ' - - - - - - - - - - - - - - - - - '; - - $mailto.= ($mailto!=''?',':'').$row->email; - } - } - echo '
- - - - - Prestudent IDPerson IDNachnameVornameGeschlechtStudiengangOrgFormStudienplanEinstiegssemesterGeburtsdatumEMailbereits absolvierte VerfahrenErgebnisFAS
'.$db->convert_html_chars($row->prestudent_id).''.$db->convert_html_chars($row->person_id).''.$db->convert_html_chars($row->nachname).''.$db->convert_html_chars($row->vorname).''.$db->convert_html_chars($row->geschlecht).''.$db->convert_html_chars($stg_arr[$row->studiengang_kz]).''.$db->convert_html_chars($row->orgform_kurzbz!=''?$row->orgform_kurzbz:' ').''.$db->convert_html_chars($studienplan_bezeichnung).' ('.$row->studienplan_id.')'.$db->convert_html_chars($row->ausbildungssemester).''.$db->convert_html_chars($row->gebdatum!=''?$datum_obj->convertISODate($row->gebdatum):' ').''.$rt_in_anderen_stg.''.($rtergebnis==0?'-':number_format($rtergebnis,2,'.','')).''.($rtergebnis!=0 && $row->punkte==''?'übertragen':$row->punkte).'
'; - - echo ''; - echo ''; - echo '
'; - } - else - echo '
Leer
'; - - echo '
'; -} ?> - - - + + * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > + * Rudolf Hangl < rudolf.hangl@technikum-wien.at > + * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > + * Manfred Kindl < manfred.kindl@technikum-wien.at > + * Cristina Hainberger < hainberg@technikum-wien.at > + */ +/** + * Reihungstest + * + * - Anlegen und Bearbeiten von Terminen + * - Export von Anwesenheitslisten als Excel + * - Uebertragung der Ergebnis-Punkte ins FAS + * + * Parameter: + * excel ... wenn gesetzt, dann wird die Anwesenheitsliste als Excel exportiert + */ +require_once('../../config/vilesci.config.inc.php'); +require_once('../../config/global.config.inc.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/studiengang.class.php'); +require_once('../../include/reihungstest.class.php'); +require_once('../../include/ort.class.php'); +require_once('../../include/datum.class.php'); +require_once('../../include/benutzerberechtigung.class.php'); +require_once('../../include/pruefling.class.php'); +require_once('../../include/person.class.php'); +require_once('../../include/prestudent.class.php'); +require_once('../../include/Excel/excel.php'); +require_once('../../include/adresse.class.php'); +require_once('../../include/studiensemester.class.php'); +require_once('../../include/benutzer.class.php'); +require_once('../../include/studienplan.class.php'); +require_once('../../include/sprache.class.php'); +require_once('../../include/organisationsform.class.php'); +require_once('../../include/gruppe.class.php'); +require_once('../../include/variable.class.php'); + +// @todo Allgemein: Beim kopieren auch die Studienplanzuordnungen übernehmen +// "Teilgenommen" und "Punkte" werden immer mit false bzw. 0 gespeichert + +define('REIHUNGSTEST_ARBEITSPLAETZE_SCHWUND', 5); + +if (!$db = new basis_db()) +{ + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); +} + +//Richtiges Studiensemester zum anzeigen ermitteln + //Mit getAktOrNext das aktuelle oder kommende WINTERsemester auslesen + $stsem_aktorNext = new studiensemester(); + $stsem_aktorNext = $stsem_aktorNext->getaktorNext(1); + //Ergebnis aus $stsem_aktorNext laden und den Timestamp der Semestermitte bestimmen. + $stsem_berechnet = new studiensemester(); + $stsem_berechnet->load($stsem_aktorNext); + $mitte = (strtotime($stsem_berechnet->ende) - strtotime($stsem_berechnet->start)) / 2; + // Wenn die Haelfte des Wintersemesters vorbei ist, das naechste Wintersemester ermitteln, sonst das Aktuelle nehmen + if (strtotime($stsem_berechnet->ende) - $mitte <= time()) + { + $stsem_dropdown = new studiensemester(); + $stsem_dropdown->getNextStudiensemester('WS'); + $stsem_dropdown = $stsem_dropdown->studiensemester_kurzbz; + } + else + $stsem_dropdown = $stsem_aktorNext; + +$user = get_uid(); +$datum_obj = new datum(); +$stg_kz = (isset($_GET['stg_kz']) ? $_GET['stg_kz'] : ''); +$reihungstest_id = (isset($_GET['reihungstest_id']) ? $_GET['reihungstest_id'] : ''); +$studiensemester_kurzbz = (isset($_GET['studiensemester_kurzbz']) ? $_GET['studiensemester_kurzbz'] : $stsem_dropdown); +$studienplan_id = (isset($_GET['studienplan_id']) ? $_GET['studienplan_id'] : ''); +$prestudent_id = (isset($_GET['prestudent_id']) ? $_GET['prestudent_id'] : ''); +$rtpunkte = (isset($_GET['rtpunkte']) ? $_GET['rtpunkte'] : ''); +$neu = (isset($_GET['neu']) ? true : false); +$stg_arr = array(); +$error = false; + +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($user); + +if ($stg_kz == '' && ($reihungstest_id != '' || isset($_POST['reihungstest_id']))) +{ + if ($reihungstest_id != '') + { + $rt = new Reihungstest(); + $rt->load($reihungstest_id); + $stg_kz = $rt->studiengang_kz; + } + elseif (isset($_POST['reihungstest_id'])) + { + $rt = new Reihungstest(); + $rt->load($_POST['reihungstest_id']); + $stg_kz = $rt->studiengang_kz; + } + else + $stg_kz = '-1'; +} + +if(!$rechte->isBerechtigt('lehre/reihungstest')) +{ + die($rechte->errormsg); +} + +$studiengang = new studiengang(); +$studiengang->getAll('typ, kurzbz', false); + +$studiensemester = new Studiensemester(); +$studiensemester->getAll('desc'); + +$sprachen_obj = new sprache(); +$sprachen_obj->getAll(); +$sprachen_arr=array(); + +foreach($sprachen_obj->result as $row) +{ + if(isset($row->bezeichnung_arr[$sprache])) + $sprachen_arr[$row->sprache]=$row->bezeichnung_arr[$sprache]; + else + $sprachen_arr[$row->sprache]=$row->sprache; +} + +$orgform_obj = new organisationsform(); +$orgform_obj->getAll(); +$orgform_arr=array(); +foreach($orgform_obj->result as $row) + $orgform_arr[$row->orgform_kurzbz]=$row->bezeichnung; + +// Pruefen ob Variable fuer Punkteberechnung gesetzt ist, wenn nicht, einen neuen Eintrag anlegen +$variable = new variable(); +if ($variable->load($user, 'reihungstestverwaltung_punkteberechnung')) +{ + if (isset($_GET['punkteberechnung']) && $_GET['punkteberechnung'] != $variable->wert) + { + $variable->new = false; + $variable->uid = $user; + $variable->name = 'reihungstestverwaltung_punkteberechnung'; + $variable->wert = $_GET['punkteberechnung']; + $variable->save(); + + $punkteberechnung = $_GET['punkteberechnung']; + } + else + $punkteberechnung = $variable->wert; + +} +else +{ + $variable->new = true; + $variable->uid = $user; + $variable->name = 'reihungstestverwaltung_punkteberechnung'; + $variable->wert = 'true'; + $variable->save(); + + $punkteberechnung = 'true'; +} + +//Studierende als Excel Exportieren +if(isset($_GET['excel'])) +{ + $reihungstest = new reihungstest(); + if($reihungstest->load($_GET['reihungstest_id'])) + { + $studienplaene_arr = array(); + $studienplaene = new reihungstest(); + $studienplaene->getStudienplaeneReihungstest($reihungstest->reihungstest_id); + foreach ($studienplaene->result AS $row) + { + $studienplan = new studienplan(); + $studienplan->loadStudienplan($row->studienplan_id); + $studienplaene_arr[ $row->studienplan_id] = $studienplan->bezeichnung; + } + + $studienplaene_list = implode(',', array_keys($studienplaene_arr)); + $qry = " + SELECT + rt_id, + prestudent_id, + tbl_rt_person.person_id, + vorname, + nachname, + ort_kurzbz, + studienplan_id, + studiengang_kz, + gebdatum, + geschlecht, + punkte + ,( + SELECT + kontakt + FROM + public.tbl_kontakt + WHERE + kontakttyp = 'email' + AND person_id = tbl_rt_person.person_id + AND zustellung = true LIMIT 1 + ) AS email + ,( + SELECT + ausbildungssemester + FROM + public.tbl_prestudentstatus + WHERE + prestudent_id = tbl_prestudent.prestudent_id + AND datum = ( + SELECT MAX(datum) + FROM public.tbl_prestudentstatus + WHERE prestudent_id = tbl_prestudent.prestudent_id + AND status_kurzbz = 'Interessent' + ) LIMIT 1 + ) AS ausbildungssemester + ,( + SELECT orgform_kurzbz + FROM public.tbl_prestudentstatus + WHERE prestudent_id = tbl_prestudent.prestudent_id + AND datum = ( + SELECT MAX(datum) + FROM public.tbl_prestudentstatus + WHERE prestudent_id = tbl_prestudent.prestudent_id + AND status_kurzbz = 'Interessent' + ) LIMIT 1 + ) AS orgform_kurzbz + FROM + public.tbl_rt_person + JOIN public.tbl_person USING (person_id) + JOIN public.tbl_prestudent ON (tbl_rt_person.person_id=tbl_prestudent.person_id) + WHERE + rt_id = ".$db->db_add_param($reihungstest->reihungstest_id, FHC_INTEGER)." + AND tbl_rt_person.studienplan_id IN(SELECT studienplan_id FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_prestudent.prestudent_id) + ORDER BY + ort_kurzbz NULLS FIRST,nachname,vorname + "; + + $gebietbezeichnungen = array(); + $qry_gebiete = "SELECT gebiet_id, reihung, bezeichnung FROM testtool.tbl_ablauf JOIN testtool.tbl_gebiet USING (gebiet_id) WHERE studienplan_id = ".$db->db_add_param($row->studienplan_id)." ORDER BY reihung"; + if($result_gebiete = $db->db_query($qry_gebiete)) + { + while($row_gebiete = $db->db_fetch_object($result_gebiete)) + { + $gebietbezeichnungen[$row_gebiete->gebiet_id] = $row_gebiete->bezeichnung; + } + } + + // Creating a workbook + $workbook = new Spreadsheet_Excel_Writer(); + $workbook->setVersion(8); + // sending HTTP headers + $workbook->send("Anwesenheitsliste_Aufnahmetermin_".$reihungstest->datum.".xls"); + + //Formate Definieren + $format_bold =& $workbook->addFormat(); + $format_bold->setBold(); + + $format_border =& $workbook->addFormat(); + $format_border->setBorder(1); + $format_border->setTextWrap(); + $format_border->setVAlign ('top'); + + $format_border_center =& $workbook->addFormat(); + $format_border_center->setBorder(1); + $format_border_center->setTextWrap(); + $format_border_center->setVAlign ('top'); + $format_border_center->setHAlign ('center'); + + $format_border_left =& $workbook->addFormat(); + $format_border_left->setBorder(1); + $format_border_left->setTextWrap(); + $format_border_left->setVAlign ('top'); + $format_border_left->setHAlign ('left'); + + if($result = $db->db_query($qry)) + { + $ort_kurzbz = '0'; + // Wenn Daten vorhanden + if ($db->db_num_rows($result) > 0) + { + while($row = $db->db_fetch_object($result)) + { + if ($ort_kurzbz == '0' || $ort_kurzbz != $row->ort_kurzbz) + { + // Creating a worksheet + if ($row->ort_kurzbz=='') + $worksheet =& $workbook->addWorksheet("Ohne Raumzuteilung"); + else + $worksheet =& $workbook->addWorksheet("Raum ".$row->ort_kurzbz); + $worksheet->setInputEncoding('utf-8'); + //$worksheet->setZoom (85); + $worksheet->hideScreenGridlines(); + $worksheet->hideGridlines(); + $worksheet->setLandscape(); + $worksheet->centerHorizontally(1); + $worksheet->fitToPages ( 1, 1); + $worksheet->setMargins_LR (0.4); + $worksheet->setMarginTop (0.79); + $worksheet->setMarginBottom (0.59); + + // Titelzeilen + $worksheet->write(0,0,'Anwesenheitsliste Aufnahmetermin vom '.$datum_obj->convertISODate($reihungstest->datum).' '.$reihungstest->uhrzeit.' Uhr, '.$reihungstest->anmerkung.', erstellt am '.date('d.m.Y'), $format_bold); + if ($row->ort_kurzbz=='') + $worksheet->write(1,0,'Ohne Raumzuteilung', $format_bold); + else + $worksheet->write(1,0,'Raum '.$row->ort_kurzbz, $format_bold); + $worksheet->write(2,0,'Studienpläne: '.implode(', ', $studienplaene_arr)); + $worksheet->write(3,0,'Stufe: '.$reihungstest->stufe); + $worksheet->write(4,0,'Testmodule: '.implode(', ', $gebietbezeichnungen)); + + //Ueberschriften + $zeile=6; + $col=0; + $worksheet->write($zeile,$col,"Nachname", $format_bold); + $maxlength[$col] = 8; + $worksheet->write($zeile,++$col,"Vorname", $format_bold); + $maxlength[$col] = 7; + $worksheet->write($zeile,++$col,"G", $format_bold); + $maxlength[$col] = 2; + $worksheet->write($zeile,++$col,"Geburtsdatum", $format_bold); + $maxlength[$col] = 12; + $worksheet->write($zeile,++$col,"Studiengang", $format_bold); + $maxlength[$col] = 11; + $worksheet->write($zeile,++$col,"OrgForm", $format_bold); + $maxlength[$col] = 7; + $worksheet->write($zeile,++$col,"S", $format_bold); + $maxlength[$col] = 2; + $worksheet->write($zeile,++$col,"Bereits absolvierte RTs", $format_bold); + $maxlength[$col] = 20; + $worksheet->write($zeile,++$col,"Sonstige Termine", $format_bold); + $maxlength[$col] = 20; + $worksheet->write($zeile,++$col,"EMail", $format_bold); + $maxlength[$col] = 5; + $worksheet->write($zeile,++$col,"Strasse", $format_bold); + $maxlength[$col] = 6; + $worksheet->write($zeile,++$col,"PLZ", $format_bold); + $maxlength[$col] = 3; + $worksheet->write($zeile,++$col,"Ort", $format_bold); + $maxlength[$col] = 3; + $worksheet->write($zeile,++$col,"Unterschrift", $format_bold); + $maxlength[$col] = 30; + + $ort_kurzbz = $row->ort_kurzbz; + $zeile++; + } + + $pruefling = new pruefling(); + $rt_in_anderen_stg=''; + $erg = ''; + $rt_prestudent_arr = array(); + + //Daten ermitteln für Spalte absolvierte Verfahren + $qry_absolvierte_Verfahren = "SELECT + distinct tbl_reihungstest.reihungstest_id, + tbl_pruefling.pruefling_id, + tbl_prestudent.prestudent_id, + tbl_rt_person.person_id + FROM + public.tbl_rt_person + JOIN lehre.tbl_studienplan USING(studienplan_id) + JOIN lehre.tbl_studienordnung USING(studienordnung_id) + JOIN public.tbl_prestudent USING(person_id) + JOIN public.tbl_prestudentstatus USING(studienplan_id, prestudent_id) + JOIN public.tbl_reihungstest ON(tbl_reihungstest.reihungstest_id=tbl_rt_person.rt_id) + LEFT JOIN testtool.tbl_pruefling using(prestudent_id) WHERE + (tbl_rt_person.anmeldedatum is null OR tbl_rt_person.anmeldedatum<=tbl_reihungstest.datum) + AND tbl_reihungstest.datum >=(SELECT min(begintime)::date FROM testtool.tbl_pruefling_frage WHERE pruefling_id=tbl_pruefling.pruefling_id AND tbl_reihungstest.datum>=begintime-'1 days'::interval) AND (tbl_reihungstest.stufe is null or tbl_reihungstest.stufe=1) + AND person_id=".$db->db_add_param($row->person_id, FHC_INTEGER); + + if($result_rt_prestudent = $db->db_query($qry_absolvierte_Verfahren)) + { + while($obj = $db->db_fetch_object($result_rt_prestudent)) + { + array_push($rt_prestudent_arr, $obj); + } + } + + foreach($rt_prestudent_arr as $item) + { + $pruefling->getPruefling($item->prestudent_id); + $rt = new Reihungstest(); + $rt->load($item->reihungstest_id); + $rt_letztes_login = $datum_obj->formatDatum($pruefling->registriert, 'Y-m-d'); + $rt_antrittstermin = $datum_obj->formatDatum($rt->datum, 'Y-m-d'); + + if($item->prestudent_id!=$row->prestudent_id || $rt_letztes_login < $rt_antrittstermin) + { + if(defined('FAS_REIHUNGSTEST_PUNKTE') && FAS_REIHUNGSTEST_PUNKTE) + $erg = $pruefling->getReihungstestErgebnisPrestudent($item->prestudent_id, true, $item->reihungstest_id); + else + $erg = $pruefling->getReihungstestErgebnisPrestudent($item->prestudent_id, false, $item->reihungstest_id); + + if($erg!==false) + { + $rt_in_anderen_stg.=number_format($erg,2).((FAS_REIHUNGSTEST_PUNKTE) ? ' Punkte' : ' %').' im Studiengang '.$studiengang->kuerzel_arr[$pruefling->studiengang_kz]."\n"; + + if ($item->prestudent_id == $row->prestudent_id && $rt_letztes_login < $rt_antrittstermin) + { + $rt_in_anderen_stg .= '(Letzter '.$studiengang->kuerzel_arr[$pruefling->studiengang_kz].'-Antritt: '.$datum_obj->formatDatum($rt_letztes_login, 'd.m.Y').'), '; + } + } + } + } + + $weitere_zuteilungen = array(); + $qry_zuteilungen = " + SELECT + DISTINCT tbl_studienplan.bezeichnung, tbl_reihungstest.datum, tbl_rt_person.studienplan_id + FROM + public.tbl_rt_person JOIN public.tbl_reihungstest ON (rt_id = reihungstest_id) + JOIN lehre.tbl_studienplan USING (studienplan_id) + JOIN testtool.tbl_ablauf USING (studienplan_id) + WHERE + person_id=".$db->db_add_param($row->person_id)." + AND studiensemester_kurzbz=".$db->db_add_param($reihungstest->studiensemester_kurzbz)." + ORDER BY bezeichnung"; + + if($result_zuteilungen = $db->db_query($qry_zuteilungen)) + { + while($row_zuteilungen = $db->db_fetch_object($result_zuteilungen)) + { + $testmodule = array(); + $qry_gebiete = "SELECT gebiet_id, bezeichnung, reihung FROM testtool.tbl_ablauf JOIN testtool.tbl_gebiet USING (gebiet_id) WHERE studienplan_id = ".$db->db_add_param($row_zuteilungen->studienplan_id)." ORDER BY reihung"; + if($result_gebiete = $db->db_query($qry_gebiete)) + { + while($row_gebiete = $db->db_fetch_object($result_gebiete)) + { + $testmodule[$row_gebiete->gebiet_id] = $row_gebiete->bezeichnung; + } + } + $weitere_zuteilungen[] = $row_zuteilungen->bezeichnung.' am '.$datum_obj->formatDatum($row_zuteilungen->datum, 'd.m.Y').' ('.implode(', ', $testmodule).')'; + } + } + + $col=0; + + $worksheet->write($zeile,$col,$row->nachname, $format_border); + if(strlen($row->nachname)>$maxlength[$col]) + $maxlength[$col] = strlen($row->nachname); + + $worksheet->write($zeile,++$col, $row->vorname, $format_border); + if(strlen($row->vorname)>$maxlength[$col]) + $maxlength[$col] = strlen($row->vorname); + + $worksheet->write($zeile,++$col, $row->geschlecht, $format_border_center); + if(strlen($row->geschlecht)>$maxlength[$col]) + $maxlength[$col] = strlen($row->geschlecht); + + $worksheet->write($zeile,++$col,$datum_obj->convertISODate($row->gebdatum), $format_border); + if(strlen($row->gebdatum)>$maxlength[$col]) + $maxlength[$col] = strlen($row->gebdatum); + + $worksheet->write($zeile,++$col,$studiengang->kuerzel_arr[$row->studiengang_kz], $format_border); + if(strlen($studiengang->kuerzel_arr[$row->studiengang_kz])>$maxlength[$col]) + $maxlength[$col] = strlen($studiengang->kuerzel_arr[$row->studiengang_kz]); + + $worksheet->write($zeile,++$col,$row->orgform_kurzbz, $format_border); + if(strlen($row->orgform_kurzbz)>$maxlength[$col]) + $maxlength[$col] = strlen($row->orgform_kurzbz); + + $worksheet->write($zeile,++$col,$row->ausbildungssemester, $format_border_center); + if(strlen($row->ausbildungssemester)>$maxlength[$col]) + $maxlength[$col] = strlen($row->ausbildungssemester); + + $worksheet->write($zeile,++$col,$rt_in_anderen_stg, $format_border); + if(strlen($rt_in_anderen_stg)>$maxlength[$col]) + $maxlength[$col] = strlen($rt_in_anderen_stg); + + $worksheet->write($zeile,++$col,implode("\n", $weitere_zuteilungen), $format_border); + foreach ($weitere_zuteilungen as $items) + { + if (strlen($items)>$maxlength[$col]) + $maxlength[$col] = strlen($items); + } + + $worksheet->write($zeile,++$col,$row->email, $format_border); + if(strlen($row->email)>$maxlength[$col]) + $maxlength[$col] = strlen($row->email); + + $adresse = new adresse(); + $adresse->loadZustellAdresse($row->person_id); + + $worksheet->write($zeile,++$col,$adresse->strasse, $format_border); + if(strlen($adresse->strasse)>$maxlength[$col]) + $maxlength[$col] = strlen($adresse->strasse); + + $worksheet->write($zeile,++$col,$adresse->plz, $format_border_left); + if(strlen($adresse->plz)>$maxlength[$col]) + $maxlength[$col] = strlen($adresse->plz); + + $worksheet->write($zeile,++$col,$adresse->ort, $format_border); + if(strlen($adresse->ort)>$maxlength[$col]) + $maxlength[$col] = strlen($adresse->ort); + + $worksheet->write($zeile,++$col,'', $format_border); + + if(count($weitere_zuteilungen)>2) + $worksheet->setRow($zeile, count($weitere_zuteilungen)*14); + else + $worksheet->setRow($zeile, 35); + + $zeile++; + + //Die Breite der Spalten setzen + foreach($maxlength as $col=>$breite) + $worksheet->setColumn($col, $col, $breite+2); + } + } + else + { + // Creating a worksheet + $worksheet =& $workbook->addWorksheet("Keine Daten"); + $worksheet->setInputEncoding('utf-8'); + $worksheet->hideScreenGridlines(); + $worksheet->hideGridlines(); + $worksheet->setLandscape(); + $worksheet->centerHorizontally(1); + $worksheet->fitToPages ( 1, 1); + $worksheet->setMargins_LR (0.4); + $worksheet->setMarginTop (0.79); + $worksheet->setMarginBottom (0.59); + + // Titelzeilen + $worksheet->write(0,0,'Anwesenheitsliste Aufnahmetermin vom '.$datum_obj->convertISODate($reihungstest->datum).' '.$reihungstest->uhrzeit.' Uhr, '.$reihungstest->anmerkung.', erstellt am '.date('d.m.Y'), $format_bold); + + $worksheet->write(3,0,'Keine BewerberInnen zugeteilt', $format_bold); + } + } + $workbook->close(); + } + else + { + echo 'Reihungstest wurde nicht gefunden!'; + } + return; +} ?> + + + + Reihungstest + + + + + + + + + + + + + + + +

Reihungstest - Verwaltung

+isBerechtigt('lehre/reihungstest', null, 'sui')) + { + die($rechte->errormsg); + } + + $reihungstest = new reihungstest(); + + if(isset($_POST['reihungstest_id']) && $_POST['reihungstest_id']!='' && !isset($_POST['kopieren'])) + { + //Reihungstest laden + if(!$reihungstest->load($_POST['reihungstest_id'])) + { + die($reihungstest->errormsg); + } + + $reihungstest->new = false; + } + else + { + //Neuen Reihungstest anlegen + $reihungstest->new=true; + $reihungstest->insertvon = $user; + $reihungstest->insertamum = date('Y-m-d H:i:s'); + } + + //Datum und Uhrzeit pruefen + if($_POST['datum']!='' && !$datum_obj->checkDatum($_POST['datum'])) + { + echo 'Datum ist ungueltig. Das Datum muss im Format DD.MM.JJJJ eingegeben werden
'; + $error = true; + } + if($_POST['uhrzeit']!='' && !$datum_obj->checkUhrzeit($_POST['uhrzeit'])) + { + echo 'Uhrzeit ist ungueltig. Die Uhrzeit muss im Format HH:MM angegeben werden!
'; + $error = true; + } + + if(!$error) + { + if (isset($_POST['kopieren'])) + { + $reihungstest->freigeschaltet = false; + $reihungstest->max_teilnehmer = ''; + $reihungstest->oeffentlich = false; + $reihungstest->stufe = filter_input(INPUT_POST, 'stufe', FILTER_VALIDATE_INT); + $reihungstest->aufnahmegruppe_kurzbz = filter_input(INPUT_POST, 'aufnahmegruppe'); + $reihungstest->anmeldefrist = $datum_obj->formatDatum($_POST['anmeldefrist']); + $reihungstest->updateamum = date('Y-m-d H:i:s'); + $reihungstest->updatevon = $user; + } + else + { + $reihungstest->freigeschaltet = isset($_POST['freigeschaltet']); + $reihungstest->max_teilnehmer = filter_input(INPUT_POST, 'max_teilnehmer', FILTER_VALIDATE_INT); + $reihungstest->oeffentlich = filter_input(INPUT_POST, 'oeffentlich', FILTER_VALIDATE_BOOLEAN); + $reihungstest->stufe = filter_input(INPUT_POST, 'stufe', FILTER_VALIDATE_INT); + $reihungstest->aufnahmegruppe_kurzbz = filter_input(INPUT_POST, 'aufnahmegruppe'); + $reihungstest->anmeldefrist = $datum_obj->formatDatum($_POST['anmeldefrist']); + $reihungstest->updateamum = date('Y-m-d H:i:s'); + $reihungstest->updatevon = $user; + } + $reihungstest->studiengang_kz = $_POST['studiengang_kz']; + //$reihungstest->ort_kurzbz = $_POST['ort_kurzbz']; + $reihungstest->studiensemester_kurzbz = filter_input(INPUT_POST, 'studiensemester_kurzbz'); + $reihungstest->anmerkung = $_POST['anmerkung']; + $reihungstest->datum = $datum_obj->formatDatum($_POST['datum']); + $reihungstest->uhrzeit = $_POST['uhrzeit']; + + if($reihungstest->save()) + { + if (isset($_POST['ort_kurzbz']) && $_POST['ort_kurzbz']!='') + { + $ort = new ort(); + + if (!$ort->load($_POST['ort_kurzbz'])) + echo 'Die Bezeichnung des Ortes ist ungueltig oder wurde nicht gefunden'; + else + { + if($rechte->isBerechtigt('lehre/reihungstestOrt', null, 'sui')) + { + $orte_zugeteilt = new reihungstest(); + $orte_zugeteilt->getOrteReihungstest($reihungstest->reihungstest_id); + $zugeteilt = false; + foreach ($orte_zugeteilt->result AS $row) + { + if ($row->ort_kurzbz == $_POST['ort_kurzbz']) + { + $zugeteilt = true; + break; + } + } + // Check, ob der Raum schon diesem RT zugeteilt ist + if ($zugeteilt == false) + { + $add_ort = new reihungstest(); + $add_ort->new = true; + $add_ort->reihungstest_id = $reihungstest->reihungstest_id; + $add_ort->ort_kurzbz = $_POST['ort_kurzbz']; + $add_ort->uid = null; + + if ($add_ort->saveOrtReihungstest()) + { + echo 'Daten wurden erfolgreich gespeichert '; + } + else + echo 'Fehler beim Speichern der Raumzuordnung: '.$db->convert_html_chars($reihungstest->errormsg).''; + } + else + echo 'Der Raum '.$_POST['ort_kurzbz'].' ist bereits diesem Reihungstest zugeteilt'; + } + else + die($rechte->errormsg); + } + } + if (isset($_POST['studienplan_id']) && $_POST['studienplan_id']!='') + { + $rt_stpl = new reihungstest(); + $rt_stpl->new = true; + $rt_stpl->reihungstest_id = $reihungstest->reihungstest_id; + $rt_stpl->studienplan_id = $_POST['studienplan_id']; + + if ($rt_stpl->saveStudienplanReihungstest()) + { + echo 'Daten wurden erfolgreich gespeichert '; + } + else + echo 'Fehler beim Speichern des Studienplans: '.$db->convert_html_chars($rt_stpl->errormsg).''; + } + $reihungstest_id = $reihungstest->reihungstest_id; + $stg_kz = $reihungstest->studiengang_kz; + $studiensemester_kurzbz = $reihungstest->studiensemester_kurzbz; + } + else + { + echo 'Fehler beim Speichern der Daten: '.$db->convert_html_chars($reihungstest->errormsg).''; + } + } + $neu=false; +} + +if ($reihungstest_id != '' || isset($_POST['reihungstest_id'])) +{ + $orte = new Reihungstest(); + $orte->getOrteReihungstest($reihungstest_id != ''?$reihungstest_id:$_POST['reihungstest_id']); + $orte_array = array(); + foreach ($orte->result AS $row) + { + // Wenn Arbeitsplaetze in DB gepflegt sind, Schwund herausrechnen (wenn gesetzt) sonst max_person verwenden und Schwund herausrechnen (wenn gesetzt) + $raum = new Ort(); + $raum->load($row->ort_kurzbz); + if ($raum->arbeitsplaetze != '') + { + if(defined('REIHUNGSTEST_ARBEITSPLAETZE_SCHWUND') && REIHUNGSTEST_ARBEITSPLAETZE_SCHWUND > 0) + $orte_array[$row->ort_kurzbz] = $raum->arbeitsplaetze - ceil(($raum->arbeitsplaetze/100)*REIHUNGSTEST_ARBEITSPLAETZE_SCHWUND); + else + $orte_array[$row->ort_kurzbz] = $raum->arbeitsplaetze; + } + else + { + if(defined('REIHUNGSTEST_ARBEITSPLAETZE_SCHWUND') && REIHUNGSTEST_ARBEITSPLAETZE_SCHWUND > 0) + $orte_array[$row->ort_kurzbz] = $raum->max_person - ceil(($raum->max_person/100)*REIHUNGSTEST_ARBEITSPLAETZE_SCHWUND); + else + $orte_array[$row->ort_kurzbz] = $raum->max_person; + } + } + $arbeitsplaetze_gesamt = array_sum($orte_array); +} + +if(isset($_POST['raumzuteilung_speichern'])) +{ + if(!$rechte->isBerechtigt('lehre/reihungstest', null, 'su')) + { + die($rechte->errormsg); + } + + $raumzuteilung = new reihungstest(); + + if(isset($_POST['reihungstest_id']) && $_POST['reihungstest_id']!='') + { + //Reihungstest laden + if(!$raumzuteilung->load($_POST['reihungstest_id'])) + { + die($raumzuteilung->errormsg); + } + if (isset($_POST['checkbox'])) + { + $person_ids = $_POST['checkbox']; + + foreach ($person_ids AS $key=>$value) + { + $load_person = new reihungstest(); + if ($load_person->getPersonReihungstest($key, $_POST['reihungstest_id'])) + { + $raumzuteilung->new = false; + $raumzuteilung->rt_person_id = $load_person->rt_person_id; + $raumzuteilung->anmeldedatum = $load_person->anmeldedatum; + $raumzuteilung->teilgenommen = $load_person->teilgenommen; + $raumzuteilung->punkte = $load_person->punkte; + $raumzuteilung->studienplan_id = $load_person->studienplan_id; + + $raumzuteilung->reihungstest_id = $load_person->reihungstest_id; + $raumzuteilung->person_id = $key; + $raumzuteilung->ort_kurzbz = $_POST['raumzuteilung']; + } + else + die('PersonID '.$key.' hat keine korrekte Zuordnung -> Abbruch'); + + if (!$raumzuteilung->savePersonReihungstest()) + { + echo 'Fehler beim Speichern der Daten: '.$db->convert_html_chars($reihungstest->errormsg).''; + } + } + } + $reihungstest_id = $_POST['reihungstest_id']; + } + $neu=false; +} + +// Uebertraegt die Punkte eines Prestudenten ins FAS +if(isset($_GET['type']) && $_GET['type']=='savertpunkte') +{ + $prestudent = new prestudent(); + $prestudent->load($prestudent_id); + + if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('assistenz', $prestudent->studiengang_kz, 'sui')) + { + $rtperson = new reihungstest(); + $rtperson->loadReihungstestPerson($_GET['rt_person_id']); + $rtperson->punkte = str_replace(',','.',$rtpunkte); + $rtperson->new = false; + $rtperson->teilgenommen = true; + if(!$rtperson->savePersonReihungstest()) + { + echo 'Fehler:'.$rtperson->errormsg.''; + } + } + else + { + echo '
Sie haben keine Berechtigung zur Uebernahme der Punkte fuer '.$db->convert_html_chars($row->nachname).' '.$db->convert_html_chars($row->vorname).'
'; + } +} + +// Uebertraegt alle Punkte eines Reihungstests ins FAS +if(isset($_GET['type']) && $_GET['type']=='saveallrtpunkte') +{ + $errormsg=''; + $qry = "SELECT + prestudent_id, tbl_prestudent.studiengang_kz, nachname, vorname, + tbl_studiengang.oe_kurzbz, rt_person_id, tbl_person.person_id + FROM + public.tbl_prestudent + JOIN public.tbl_person USING(person_id) + JOIN public.tbl_studiengang USING(studiengang_kz) + JOIN public.tbl_rt_person USING(person_id) + JOIN lehre.tbl_studienplan ON(tbl_rt_person.studienplan_id=tbl_studienplan.studienplan_id) + JOIN lehre.tbl_studienordnung ON(tbl_studienplan.studienordnung_id=tbl_studienordnung.studienordnung_id) + WHERE + tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz + AND tbl_rt_person.rt_id=".$db->db_add_param($reihungstest_id, FHC_INTEGER); + + if($result = $db->db_query($qry)) + { + while($row = $db->db_fetch_object($result)) + { + if($rechte->isBerechtigt('student/stammdaten', $row->oe_kurzbz,'sui')) + { + $prestudent = new prestudent(); + $prestudent->load($row->prestudent_id); + + $reihungstest = new reihungstest(); + if($reihungstest->loadReihungstestPerson($row->rt_person_id)) + { + $pruefling = new pruefling(); + if(defined('FAS_REIHUNGSTEST_PUNKTE') && FAS_REIHUNGSTEST_PUNKTE) + $rtpunkte = $pruefling->getReihungstestErgebnisPerson($row->person_id, true, $reihungstest->reihungstest_id); + else + $rtpunkte = $pruefling->getReihungstestErgebnisPerson($row->person_id, false, $reihungstest->reihungstest_id); + + $reihungstest->punkte = str_replace(',','.',$rtpunkte); + $reihungstest->reihungstestangetreten = true; + $reihungstest->save(false); + $reihungstest->new = false; + + if($rtpunkte!==false) + { + $reihungstest->punkte = str_replace(',','.',$rtpunkte); + $reihungstest->teilgenommen = true; + $reihungstest->save(false); + $reihungstest->new = false; + + if(!$reihungstest->savePersonReihungstest()) + { + $errormsg .='
Fehler:'.$reihungstest->errorsmg; + } + } + } + } + else + { + $errormsg .= "
Sie haben keine Berechtigung zur Uebernahme der Punkte fuer $row->nachname $row->vorname"; + } + } + if($errormsg!='') + { + echo ''.$db->convert_html_chars($errormsg).''; + } + } +} + +// Verteilt alle BewerberInnen gleichmaessig auf die Raeume +if(isset($_GET['type']) && $_GET['type']=='verteilen') +{ + if(!$rechte->isBerechtigt('lehre/reihungstest', null, 'sui')) + { + die($rechte->errormsg); + } + + if($reihungstest_id!='') + { + $errormsg=''; + $qry = "SELECT + person_id, + vorname, + nachname, + ort_kurzbz + FROM + public.tbl_prestudent + JOIN public.tbl_person USING (person_id) + LEFT JOIN public.tbl_rt_person USING (person_id) + WHERE + tbl_rt_person.rt_id = ".$db->db_add_param($reihungstest_id, FHC_INTEGER)." + AND tbl_rt_person.studienplan_id IN (SELECT studienplan_id FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_prestudent.prestudent_id) + ORDER BY nachname,vorname "; + + $raumzuteilung = new reihungstest(); + if($result = $db->db_query($qry)) + { + $anz_personen = $db->db_num_rows($result); + + if($arbeitsplaetze_gesamt!=0) + { + $multiplikator = $anz_personen/$arbeitsplaetze_gesamt; + foreach ($orte->result AS $ort) + { + $counter = 0; + + $anz_zugeteilte = new Reihungstest(); + $anz_zugeteilte->getPersonReihungstestOrt($reihungstest_id, $ort->ort_kurzbz); + $anz_zugeteilte = count($anz_zugeteilte->result); + + $anteil = round(($orte_array[$ort->ort_kurzbz] * $multiplikator))-$anz_zugeteilte; + + if ($orte_array[$ort->ort_kurzbz] == 0 || ($anteil - $anz_zugeteilte)<=0) + continue; + + while($row = $db->db_fetch_object($result)) + { + //Nur Personen ohne Raumzuteilung verteilen + if ($row->ort_kurzbz == '') + { + $load_person = new reihungstest(); + if ($load_person->getPersonReihungstest($row->person_id, $reihungstest_id)) + { + $raumzuteilung->new = false; + $raumzuteilung->rt_person_id = $load_person->rt_person_id; + $raumzuteilung->anmeldedatum = $load_person->anmeldedatum; + $raumzuteilung->teilgenommen = $load_person->teilgenommen; + $raumzuteilung->punkte = $load_person->punkte; + $raumzuteilung->studienplan_id = $load_person->studienplan_id; + + $raumzuteilung->reihungstest_id = $load_person->reihungstest_id; + $raumzuteilung->person_id = $row->person_id; + $raumzuteilung->ort_kurzbz = $ort->ort_kurzbz; + } + else + { + die('Person zuteilung nicht gefunden'); + } + + if (!$raumzuteilung->savePersonReihungstest()) + { + echo 'Fehler beim Speichern der Daten: '.$db->convert_html_chars($raumzuteilung->errormsg).''; + } + $counter++; + + //Wenn 0 Arbeitsplaetze vorhanden sind oder die max. Arbeitsplatzanzahl erreicht ist + if ($orte_array[$ort->ort_kurzbz] == 0 || ($anteil - $counter)<=0) + break; + } + } + } + } + else + { + echo 'Nicht genug Raumkapazität vorhanden'; + } + } + + } + $neu=false; +} + +// Fuellt die Raeume aufsteigend mit BewerberInnen an +if(isset($_GET['type']) && $_GET['type']=='auffuellen') +{ + if(!$rechte->isBerechtigt('lehre/reihungstest', null, 'sui')) + { + die($rechte->errormsg); + } + + if($reihungstest_id!='') + { + $orte = new Reihungstest(); + $orte->getOrteReihungstest($reihungstest_id); + + $errormsg=''; + $qry = "SELECT + person_id, + vorname, + nachname, + ort_kurzbz + FROM + public.tbl_prestudent + JOIN + public.tbl_person USING (person_id) + LEFT JOIN public.tbl_rt_person USING (person_id) + WHERE + tbl_rt_person.rt_id = ".$db->db_add_param($reihungstest_id, FHC_INTEGER)." + AND tbl_rt_person.studienplan_id IN (SELECT studienplan_id FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_prestudent.prestudent_id) + AND tbl_rt_person.ort_kurzbz IS NULL + ORDER BY nachname,vorname "; + + $raumzuteilung = new reihungstest(); + if($result = $db->db_query($qry)) + { + foreach ($orte->result AS $ort) + { + $counter = 0; + + $anz_zugeteilte = new Reihungstest(); + $anz_zugeteilte->getPersonReihungstestOrt($reihungstest_id, $ort->ort_kurzbz); + $anz_zugeteilte = count($anz_zugeteilte->result); + + if ($orte_array[$ort->ort_kurzbz] == 0 || ($orte_array[$ort->ort_kurzbz]-$anz_zugeteilte)<=0) + continue; + + while($row = $db->db_fetch_object($result)) + { + $load_person = new reihungstest(); + + if ($load_person->getPersonReihungstest($row->person_id, $reihungstest_id)) + { + $raumzuteilung->new = false; + $raumzuteilung->rt_person_id = $load_person->rt_person_id; + $raumzuteilung->anmeldedatum = $load_person->anmeldedatum; + $raumzuteilung->teilgenommen = $load_person->teilgenommen; + $raumzuteilung->punkte = $load_person->punkte; + $raumzuteilung->studienplan_id = $load_person->studienplan_id; + + $raumzuteilung->reihungstest_id = $load_person->reihungstest_id; + $raumzuteilung->person_id = $row->person_id; + $raumzuteilung->ort_kurzbz = $ort->ort_kurzbz; + } + else + die('Personen zuteilung nicht gefunden'); + + if (!$raumzuteilung->savePersonReihungstest()) + { + echo 'Fehler beim Speichern der Daten: '.$db->convert_html_chars($raumzuteilung->errormsg).''; + } + $counter++; + + //Wenn 0 Arbeitsplaetze vorhanden sind oder die max. Arbeitsplatzanzahl erreicht ist + if ($orte_array[$ort->ort_kurzbz] == 0 || ($orte_array[$ort->ort_kurzbz]-($anz_zugeteilte+$counter))<=0) + break; + } + } + } + + } + $neu=false; +} + +if(isset($_POST['aufsicht']) && $_POST['aufsicht']!='' && !isset($_POST['kopieren'])) +{ + + if(!$rechte->isBerechtigt('lehre/reihungstest', null, 'su')) + { + die($rechte->errormsg); + } + + $save_aufsicht = new reihungstest(); + + if(isset($_POST['reihungstest_id']) && $_POST['reihungstest_id']!='') + { + //Reihungstest laden + if(!$save_aufsicht->load($_POST['reihungstest_id'])) + { + die($save_aufsicht->errormsg); + } + $aufsichtspersonen = $_POST['aufsicht']; + + foreach ($aufsichtspersonen AS $key=>$value) + { + // UID aus POST-String auslesen + $length = (strrpos($value, ')')) - (strpos($value, '(')); + $uid = substr($value,strpos($value, '(')+1, $length-1); + + $benutzer = new benutzer(); + if ($uid!='' && !$benutzer->load($uid)) + echo 'Die UID '.$value.' konnte nicht gefunden werden'; + else + { + $save_aufsicht->new = false; + $save_aufsicht->reihungstest_id = $_POST['reihungstest_id']; + $save_aufsicht->ort_kurzbz = $key; + $save_aufsicht->uid = $uid; + if (!$save_aufsicht->saveOrtReihungstest()) + { + echo 'Fehler beim Speichern der Daten: '.$db->convert_html_chars($reihungstest->errormsg).''; + } + } + } + $reihungstest_id = $save_aufsicht->reihungstest_id; + $stg_kz = $save_aufsicht->studiengang_kz; + } + $neu=false; +} + +if(isset($_POST['delete_ort'])) +{ + if(!$rechte->isBerechtigt('lehre/reihungstestOrt', null, 'suid')) + { + die($rechte->errormsg); + } + + if(isset($_POST['reihungstest_id']) && $_POST['reihungstest_id']!='') + { + $delete_ort = new reihungstest(); + $delete_ort->getPersonReihungstestOrt($_POST['reihungstest_id'], $_POST['delete_ort']); + + if (count($delete_ort->result) == 0) + { + if (!$delete_ort->deleteOrtReihungstest($_POST['reihungstest_id'], $_POST['delete_ort'])) + echo 'Fehler beim löschen der Raumzuordnung: '.$db->convert_html_chars($reihungstest->errormsg).''; + } + else + echo 'Dem Raum '.$_POST['delete_ort'].' sind noch '.count($delete_ort->result).' Personen zugeteilt. Bitte entfernen Sie zuerst diese Zuteilungen'; + + $reihungstest_id = $_POST['reihungstest_id']; + $studiensemester_kurzbz = $_POST['studiensemester_kurzbz']; + } + $neu=false; +} + +if(isset($_POST['delete_studienplan'])) //@todo: Check, ob Zuordnungen zu diesem Studienplan vorhanden sind. Wenn ja, nicht loeschen! +{ + if(isset($_POST['reihungstest_id']) && $_POST['reihungstest_id']!='') + { + $delete_studienplan = new reihungstest(); + + if (!$delete_studienplan->deleteStudienplanReihungstest($_POST['reihungstest_id'], $_POST['delete_studienplan'])) + echo 'Fehler beim löschen der Studienplanzuteilung: '.$db->convert_html_chars($delete_studienplan->errormsg).''; + + $reihungstest_id = $_POST['reihungstest_id']; + $studiensemester_kurzbz = $_POST['studiensemester_kurzbz']; + } + $neu=false; +} + +if(isset($_POST['deleteReihungstest'])) //@todo: Check, ob Zuordnungen zu diesem Studienplan vorhanden sind. Wenn ja, nicht loeschen! +{ + if(isset($_POST['reihungstest_id']) && $_POST['reihungstest_id']!='') + { + $deleteReihungstest = new reihungstest(); + + if (!$deleteReihungstest->delete($_POST['reihungstest_id'])) + echo 'Fehler beim löschen des Reihungstests: '.$db->convert_html_chars($deleteReihungstest->errormsg).''; + + $reihungstest_id = ''; + $studiensemester_kurzbz = $_POST['studiensemester_kurzbz']; + } + $neu = true; +} + +echo '
'; + +// Studiengang DropDown +echo ""; +$studienplan_obj = new studienplan(); +$studienplan_obj->getStudienplaeneFromSem($stg_kz, $studiensemester_kurzbz); +$studienordnung_arr = array(); +$studienplan_arr = array(); +$studienplaene_verwendet = array(); + +foreach($studienplan_obj->result as $row_sto) +{ + $studienordnung_arr[$row_sto->studienordnung_id]['bezeichnung']=$row_sto->bezeichnung_studienordnung; + $studienplan_arr[$row_sto->studienordnung_id][$row_sto->studienplan_id]['bezeichnung']=$row_sto->bezeichnung_studienplan; + + $studienplan_arr[$row_sto->studienordnung_id][$row_sto->studienplan_id]['orgform_kurzbz']=$row_sto->orgform_kurzbz; + $studienplan_arr[$row_sto->studienordnung_id][$row_sto->studienplan_id]['sprache']=(isset($sprachen_arr[$row_sto->sprache])?$sprachen_arr[$row_sto->sprache]:''); + $studienplaene_verwendet[$row_sto->studienplan_id] = $row_sto->bezeichnung_studienplan; +} + +// Pruefen ob uebergebene StudienplanID in Auswahl enthalten +// ist und ggf auf leer setzen +if($studienplan_id!='') +{ + $studienplan_found=false; + foreach($studienplan_arr as $stoid=>$row_sto) + { + if(array_key_exists($studienplan_id, $studienplan_arr[$stoid])) + { + $studienplan_found=true; + break; + } + } + if(!$studienplan_found) + { + $studienplan_id=''; + } +} +// Studiensemester DropDown +echo ""; + +//Reihungstest DropDown +$reihungstest = new reihungstest(); +if($stg_kz==-1 && $studiensemester_kurzbz=='') + $reihungstest->getAll(date('Y').'-01-01'); //Alle Reihungstests ab diesem Jahr laden +elseif($stg_kz==-1 && $studiensemester_kurzbz!='') + $reihungstest->getReihungstest('','datum DESC,uhrzeit DESC',$studiensemester_kurzbz); +else + $reihungstest->getReihungstest($stg_kz,'datum DESC,uhrzeit DESC',$studiensemester_kurzbz); + + +echo "'; +echo ""; +echo '  '; +echo "
"; + +if($reihungstest_id=='') + $neu=true; +$reihungstest = new reihungstest(); + +if(!$neu) +{ + if(!$reihungstest->load($reihungstest_id)) + die('Reihungstest existiert nicht'); +} +else +{ + if($stg_kz!=-1 && $stg_kz!='') + $reihungstest->studiengang_kz = $stg_kz; + $reihungstest_id=''; + $reihungstest->datum = date('Y-m-d'); + $reihungstest->uhrzeit = date('H:i:s'); + $reihungstest->anmeldefrist = date('Y-m-d', time() - 60 * 60 * 24); +} + +$studienplaene_arr = array(); +$studienplaene = new reihungstest(); +$studienplaene->getStudienplaeneReihungstest($reihungstest->reihungstest_id); +foreach ($studienplaene->result AS $row) +{ + $studienplan = new studienplan(); + $studienplan->loadStudienplan($row->studienplan_id); + $studienplaene_arr[ $row->studienplan_id] = $studienplan->bezeichnung; +} + +$studienplaene_list = implode(',', array_keys($studienplaene_arr)); + +//Formular zum Bearbeiten des Reihungstests +?> +
+
'> + + + + + '; + } + else + { + echo ''; + echo ''; + } + ?> +
+ + + + + + + + + + + + + '; + } + + if($neu) + { + echo ''; + echo ''; + echo ''; + } + else + { + echo ''; + + if(!$neu) + { + //echo ''; + } + else + echo ''; + } + + $arbeitsplaetze_sum = 0; + if(!$neu) + { + echo ''; + //echo ''; + echo ''; + } + else + { + echo ''; + } + $orte = new Reihungstest(); + $orte->getOrteReihungstest($reihungstest->reihungstest_id); + foreach ($orte->result AS $row) + { + $person = new Person(); + $person->getPersonFromBenutzer($row->uid); + if ($row->uid != '') + $anzeigename = $person->vorname.' '.$person->nachname.' ('.$row->uid.')'; + else + $anzeigename = ''; + + echo ''; + echo ''; + $arbeitsplaetze_sum = $arbeitsplaetze_sum + $orte_array[$row->ort_kurzbz]; + } + if(defined('REIHUNGSTEST_ARBEITSPLAETZE_SCHWUND') && REIHUNGSTEST_ARBEITSPLAETZE_SCHWUND > 0) + echo ''; + //echo '
Studiengang + +
Stufe + +   Studiensemester + +
Gruppe + +
Studienplan'; + + // Studienplan DropDown + echo ""; + echo '
Studienpläne'; + echo ''; + echo ''; + + foreach ($studienplaene->result AS $row) + { + $studienplan = new studienplan(); + $studienplan->loadStudienplan($row->studienplan_id); + + echo ''; + echo ''; + echo ''; + echo ''; + } + //echo '
'; + echo ''; + echo ''; + echo '
 '.$studienplan->bezeichnung.' ('.$studienplan->studienplan_id.')
Nach dem Anlegen eines Termins, können Sie weitere Studienpläne zuordnen
Ort'; + if ($rechte->isBerechtigt('lehre/reihungstestOrt', null, 'sui')) + { + echo ''; + echo '
Keine Berechtigung zum zuteilen von Räumen
 '.$row->ort_kurzbz.' ('.$orte_array[$row->ort_kurzbz].' Arbeitsplätze'; + if(defined('REIHUNGSTEST_ARBEITSPLAETZE_SCHWUND') && REIHUNGSTEST_ARBEITSPLAETZE_SCHWUND > 0) + echo '*'; + echo ')'; + echo ' '; + if ($rechte->isBerechtigt('lehre/reihungstestOrt', null, 'suid')) + echo ''; + echo '
 * Inklusive '.REIHUNGSTEST_ARBEITSPLAETZE_SCHWUND.'% Schwund
OrtNach dem Anlegen eines Termins, können Sie Räume zuordnen
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Anmerkung (max. 64 Zeichen)
Datum
Uhrzeit (Format: HH:MM)
Anmeldefrist
Max TeilnehmerInnen + + (optional; laut Raumkapazität + 0) + echo ' inklusive '.REIHUNGSTEST_ARBEITSPLAETZE_SCHWUND.'% Schwund)'; + else + echo ')'; + ?> +
Öffentlich + + oeffentlich ? 'checked="checked"' : '' ?>> + (Für Bewerber sichtbar/auswählbar) +
Freigeschaltet + freigeschaltet ? 'checked="checked"' : '' ?>> + (Kurz vor Testbeginn aktivieren) +
 
+ + Kopie erstellen'; + + if($rechte->isBerechtigt('lehre/reihungstest', null, 'suid')) + { + $anzahl_teilnehmer = new reihungstest(); + $anzahl_teilnehmer = $anzahl_teilnehmer->getTeilnehmerAnzahl($reihungstest_id); + + if (isset($orte) && count($orte->result) == 0 && isset($studienplaene) && count($studienplaene->result) == 0 && $anzahl_teilnehmer == 0 && $reihungstest_id != '') + echo ''; + else + echo ''; + } + ?> +
+ + + +
+ +
+'; +if($reihungstest_id!='') +{ + echo 'Excel Export'; + echo 'Punkte ins FAS übertragen'; + echo 'Mail an alle senden'; +} +echo 'Auswertung'; +echo 'Anmeldungen zusammenlegen'; +if($rechte->isBerechtigt('basis/testtool', null, 'suid')) +{ + echo 'Administration
'; +} +echo ''; +echo ''; +if($reihungstest_id!='') +{ + //Liste der Interessenten die zum Reihungstest angemeldet sind + $qry = " + SELECT + rt_person_id, + rt_id, + prestudent_id, + tbl_rt_person.person_id, + vorname, + nachname, + ort_kurzbz, + studienplan_id, + studiengang_kz, + gebdatum, + geschlecht, + punkte + ,( + SELECT kontakt + FROM tbl_kontakt + WHERE kontakttyp = 'email' + AND person_id = tbl_rt_person.person_id + AND zustellung = true LIMIT 1 + ) AS email + ,( + SELECT ausbildungssemester + FROM public.tbl_prestudentstatus + WHERE prestudent_id = tbl_prestudent.prestudent_id + AND datum = ( + SELECT MAX(datum) + FROM public.tbl_prestudentstatus + WHERE prestudent_id = tbl_prestudent.prestudent_id + AND status_kurzbz = 'Interessent' + ) LIMIT 1 + ) AS ausbildungssemester + ,( + SELECT orgform_kurzbz + FROM public.tbl_prestudentstatus + WHERE prestudent_id = tbl_prestudent.prestudent_id + AND datum = ( + SELECT MAX(datum) + FROM public.tbl_prestudentstatus + WHERE prestudent_id = tbl_prestudent.prestudent_id + AND status_kurzbz = 'Interessent' + ) LIMIT 1 + ) AS orgform_kurzbz + FROM + public.tbl_rt_person + JOIN public.tbl_person USING (person_id) + JOIN public.tbl_prestudent ON (tbl_rt_person.person_id=tbl_prestudent.person_id) + WHERE + rt_id = ".$db->db_add_param($reihungstest_id, FHC_INTEGER); + + $qry .= " AND tbl_rt_person.studienplan_id IN(SELECT studienplan_id FROM public.tbl_prestudentstatus where prestudent_id=tbl_prestudent.prestudent_id) + ORDER BY ort_kurzbz NULLS FIRST,nachname,vorname"; + + $mailto = ''; + $result_arr = array(); + + $orte = new Reihungstest(); + $orte->getOrteReihungstest($reihungstest_id); + $orte_zuteilung_array = array(); + $orte_zuteilung_array['ohne'] = 0; + foreach ($orte->result AS $row) + $orte_zuteilung_array[$row->ort_kurzbz] = 0; + + if($result = $db->db_query($qry)) + { + while($row = $db->db_fetch_object($result)) + { + $result_arr[] = $row; + + if (is_null($row->ort_kurzbz)) + $orte_zuteilung_array['ohne']++; + else + $orte_zuteilung_array[$row->ort_kurzbz]++; + } + } + + echo ''; + echo '
'; + echo '
'; + echo 'Anzahl: '.$db->db_num_rows($result).' ('.($reihungstest->max_teilnehmer!=''?$reihungstest->max_teilnehmer:$arbeitsplaetze_sum).' Plätze verfügbar)'; + if ( ($reihungstest->max_teilnehmer!='' && $db->db_num_rows($result) > $reihungstest->max_teilnehmer) + || ($reihungstest->max_teilnehmer=='' && $db->db_num_rows($result) > $arbeitsplaetze_sum) + && !empty($orte_array) + ) + echo '
Achtung! Anzahl Arbeitsplätze überschritten'; + echo '
'; + echo '
Prestudent ID
'; + echo '
Person ID
'; + echo '
Geschlecht
'; + echo '
Studiengang
'; + echo '
OrgForm
'; + echo '
Studienplan
'; + echo '
Einstiegssemester
'; + echo '
Geburtsdatum
'; + echo '
EMail
'; + echo '
Absolvierte Tests
'; + echo '
Ergebnis
'; + echo '
FAS
'; + echo '
'; + echo '
'; + echo ''; + + + $pruefling = new pruefling(); + + $cnt = 0; + if ($orte_zuteilung_array['ohne']>0) + { + echo ''; + } + foreach ($orte->result AS $ort) + { + $cnt++; + + echo ''; + } + + echo '
'; + echo '
Ohne Raumzuteilung ('.$orte_zuteilung_array['ohne'].')
'; + echo ''; + echo '
'; + echo ''; + echo ' + + + + + + + + + + + + + + + + + + + + '; + + foreach ($result_arr AS $row) + { + $rt_in_anderen_stg=''; + $rtergebnis = ''; + $rt_prestudent_arr = array(); + + if($punkteberechnung == 'true') + { + //Daten für Spalte bereits absolvierte Verfahren + $qry = "SELECT + distinct tbl_reihungstest.reihungstest_id, + tbl_pruefling.pruefling_id, + tbl_prestudent.prestudent_id, + tbl_rt_person.person_id + FROM + public.tbl_rt_person + JOIN lehre.tbl_studienplan USING(studienplan_id) + JOIN lehre.tbl_studienordnung USING(studienordnung_id) + JOIN public.tbl_prestudent USING(person_id) + JOIN public.tbl_prestudentstatus USING(studienplan_id, prestudent_id) + JOIN public.tbl_reihungstest ON(tbl_reihungstest.reihungstest_id=tbl_rt_person.rt_id) + LEFT JOIN testtool.tbl_pruefling using(prestudent_id) WHERE + (tbl_rt_person.anmeldedatum is null OR tbl_rt_person.anmeldedatum<=tbl_reihungstest.datum) + AND tbl_reihungstest.datum >=(SELECT min(begintime)::date FROM testtool.tbl_pruefling_frage WHERE pruefling_id=tbl_pruefling.pruefling_id AND tbl_reihungstest.datum>=begintime-'1 days'::interval) AND (tbl_reihungstest.stufe is null or tbl_reihungstest.stufe=1) + AND person_id=".$db->db_add_param($row->person_id, FHC_INTEGER); + + if($result = $db->db_query($qry)) + { + while($obj = $db->db_fetch_object($result)) + { + array_push($rt_prestudent_arr, $obj); + } + } + + //Ergebnis ermitteln + if(defined('FAS_REIHUNGSTEST_PUNKTE') && FAS_REIHUNGSTEST_PUNKTE) + $rtergebnis = $pruefling->getReihungstestErgebnisPrestudent($row->prestudent_id, true, $reihungstest->reihungstest_id); + else + $rtergebnis = $pruefling->getReihungstestErgebnisPrestudent($row->prestudent_id, false, $reihungstest->reihungstest_id); + + + //Ausgabe für bereits absolvierte Verfahren + foreach($rt_prestudent_arr as $item) + { + $pruefling->getPruefling($item->prestudent_id); + $rt = new Reihungstest(); + $rt->load($item->reihungstest_id); + $rt_letztes_login = $datum_obj->formatDatum($pruefling->registriert, 'Y-m-d'); + $rt_antrittstermin = $datum_obj->formatDatum($rt->datum, 'Y-m-d'); + + //Wenn bereits absolvierte Verfahren vorhanden + if($item->prestudent_id != $row->prestudent_id || $rt_letztes_login < $rt_antrittstermin) + { + if(defined('FAS_REIHUNGSTEST_PUNKTE') && FAS_REIHUNGSTEST_PUNKTE) + $erg = $pruefling->getReihungstestErgebnisPrestudent($item->prestudent_id, true, $item->reihungstest_id); + else + $erg = $pruefling->getReihungstestErgebnisPrestudent($item->prestudent_id, false, $item->reihungstest_id); + + if($erg !== false) + { + $rt_in_anderen_stg .= number_format($erg, 2).((FAS_REIHUNGSTEST_PUNKTE) ? ' Punkte' : ' %').' im Studiengang '.$studiengang->kuerzel_arr[$pruefling->studiengang_kz].'
'; + + if ($item->prestudent_id == $row->prestudent_id && $rt_letztes_login < $rt_antrittstermin) + { + $rt_in_anderen_stg .= '(Letzter '.$studiengang->kuerzel_arr[$pruefling->studiengang_kz].'-Antritt: '.$datum_obj->formatDatum($rt_letztes_login, 'd.m.Y').',
'; + $rt_in_anderen_stg .= 'absolvierte RT-Gebiete entsperren)
'; + } + } + } + } + } + + if ($row->ort_kurzbz == '') + { + if(isset($studienplaene_arr[$row->studienplan_id])) + $studienplan_bezeichnung = $studienplaene_arr[$row->studienplan_id]; + else + { + $studienplan_obj = new studienplan(); + $studienplan_obj->loadStudienplan($row->studienplan_id); + $studienplan_bezeichnung = $studienplan_obj->bezeichnung; + $studienplaene_arr[$row->studienplan_id]=$studienplan_obj->bezeichnung; + } + echo ' + + + + + + + + + + + + + + + + + '; + + $mailto.= ($mailto!=''?',':'').$row->email; + } + } + echo '
+ + + + + Prestudent IDPerson IDNachnameVornameGeschlechtStudiengangOrgFormStudienplanEinstiegssemesterGeburtsdatumEMailbereits absolvierte VerfahrenErgebnisFAS
'.$db->convert_html_chars($row->prestudent_id).''.$db->convert_html_chars($row->person_id).''.$db->convert_html_chars($row->nachname).''.$db->convert_html_chars($row->vorname).''.$db->convert_html_chars($row->geschlecht).''.$db->convert_html_chars($stg_arr[$row->studiengang_kz]).''.$db->convert_html_chars($row->orgform_kurzbz!=''?$row->orgform_kurzbz:' ').''.$db->convert_html_chars($studienplan_bezeichnung).' ('.$row->studienplan_id.')'.$db->convert_html_chars($row->ausbildungssemester).''.$db->convert_html_chars($row->gebdatum!=''?$datum_obj->convertISODate($row->gebdatum):' ').''.$rt_in_anderen_stg.''.($rtergebnis == '' || $rtergebnis===false?'-':number_format($rtergebnis,2,'.','')).' %'; + if($rtergebnis!==false && $rtergebnis != '' && $row->punkte=='') + echo 'übertragen'; + else + { + if($row->punkte!='') + echo number_format($row->punkte,2,'.',''); + } + echo '
'; + + echo ''; + echo ''; + echo '
'; + echo '
'; + if ($orte_array[$ort->ort_kurzbz] - $orte_zuteilung_array[$ort->ort_kurzbz] < 0) + $style = 'text-align: center; margin: 0 5px 0 5px; color: red'; + else + $style = 'text-align: center; margin: 0 5px 0 5px;'; + echo '
'.$ort->ort_kurzbz.' ('.$orte_zuteilung_array[$ort->ort_kurzbz].'/'.$orte_array[$ort->ort_kurzbz].')
'; + + if ($orte_zuteilung_array[$ort->ort_kurzbz]>0) + { + echo '
'; + echo ''; + echo ' + + + + + + + + + + + + + + + + + + + + '; + $cnt_personen = 0; + foreach ($result_arr AS $row) + { + $rt_in_anderen_stg=''; + $rtergebnis = ''; + if($punkteberechnung == 'true') + { + if(defined('FAS_REIHUNGSTEST_PUNKTE') && FAS_REIHUNGSTEST_PUNKTE) + $rtergebnis = $pruefling->getReihungstestErgebnisPerson($row->person_id,true, $reihungstest->reihungstest_id); + else + $rtergebnis = $pruefling->getReihungstestErgebnisPerson($row->person_id, false, $reihungstest->reihungstest_id); + $prestudent = new prestudent(); + $prestudent->getPrestudenten($row->person_id); + $rt_in_anderen_stg=''; + foreach($prestudent->result as $item) + { + if($item->prestudent_id!=$row->prestudent_id) + { + if(defined('FAS_REIHUNGSTEST_PUNKTE') && FAS_REIHUNGSTEST_PUNKTE) + $erg = $pruefling->getReihungstestErgebnisPrestudent($item->prestudent_id, true); + else + $erg = $pruefling->getReihungstestErgebnisPrestudent($item->prestudent_id); + if($erg!==false) + { + $rt_in_anderen_stg.=number_format($erg,2).' Punkte im Studiengang '.$studiengang->kuerzel_arr[$item->studiengang_kz].'
'; + } + } + } + } + if ($row->ort_kurzbz == $ort->ort_kurzbz) + { + + if(isset($studienplaene_arr[$row->studienplan_id])) + $studienplan_bezeichnung = $studienplaene_arr[$row->studienplan_id]; + else + { + $studienplan_obj = new studienplan(); + $studienplan_obj->loadStudienplan($row->studienplan_id); + $studienplan_bezeichnung = $studienplan_obj->bezeichnung; + $studienplaene_arr[$row->studienplan_id]=$studienplan_obj->bezeichnung; + } + + $cnt_personen++; + echo ' + + + + + + + + + + + + + + + + + '; + + $mailto.= ($mailto!=''?',':'').$row->email; + } + } + echo '
+ + + + + Prestudent IDPerson IDNachnameVornameGeschlechtStudiengangOrgFormStudienplanEinstiegssemesterGeburtsdatumEMailbereits absolvierte VerfahrenErgebnisFAS
'.$db->convert_html_chars($row->prestudent_id).''.$db->convert_html_chars($row->person_id).''.$db->convert_html_chars($row->nachname).''.$db->convert_html_chars($row->vorname).''.$db->convert_html_chars($row->geschlecht).''.$db->convert_html_chars($stg_arr[$row->studiengang_kz]).''.$db->convert_html_chars($row->orgform_kurzbz!=''?$row->orgform_kurzbz:' ').''.$db->convert_html_chars($studienplan_bezeichnung).' ('.$row->studienplan_id.')'.$db->convert_html_chars($row->ausbildungssemester).''.$db->convert_html_chars($row->gebdatum!=''?$datum_obj->convertISODate($row->gebdatum):' ').''.$rt_in_anderen_stg.''.($rtergebnis==0?'-':number_format($rtergebnis,2,'.','')).''.($rtergebnis!=0 && $row->punkte==''?'übertragen':$row->punkte).'
'; + + echo ''; + echo ''; + echo '
'; + } + else + echo '
Leer
'; + + echo '
'; +} ?> + + +