From 617ed240734928612b22b88072af16f0320adbc0 Mon Sep 17 00:00:00 2001 From: Cris Date: Wed, 24 Apr 2019 16:52:20 +0200 Subject: [PATCH 01/13] Modified menu of Quereinstiegsgebiete Now the menu of Quereinstiegsgebiete is clustered and displayed by study. --- cis/testtool/menu.php | 137 ++++++++++++++++++++++++-------------- locale/de-AT/testtool.php | 88 ++++++++++++------------ locale/en-US/testtool.php | 86 ++++++++++++------------ skin/styles/tw.css | 21 ++++-- 4 files changed, 191 insertions(+), 141 deletions(-) diff --git a/cis/testtool/menu.php b/cis/testtool/menu.php index cb1feb67e..c09ced7aa 100644 --- a/cis/testtool/menu.php +++ b/cis/testtool/menu.php @@ -197,59 +197,70 @@ if (isset($_SESSION['pruefling_id'])) (gebiet_id, semester) semester, gebiet_id, + STRING_AGG(studiengang_kz::TEXT, ', ' ORDER BY studiengang_kz) AS studiengang_kz_list, bezeichnung, reihung, ". $bezeichnung_mehrsprachig_sel. " - FROM - ( - (SELECT - prestudent_data.semester AS ps_sem, - gebiet_id, - bezeichnung, - tbl_ablauf.studienplan_id, - tbl_ablauf.studiengang_kz, - tbl_ablauf.semester, - tbl_ablauf.reihung, - ".$bezeichnung_mehrsprachig. " - FROM - prestudent_data - JOIN - testtool.tbl_ablauf USING (studiengang_kz) - JOIN - testtool.tbl_gebiet USING (gebiet_id) - WHERE - (prestudent_data.semester= 1 AND tbl_ablauf.semester = 1) - OR - (prestudent_data.semester= 3 AND tbl_ablauf.semester IN (1,3)) - ) - - UNION - - ( - SELECT - prestudent_data.semester AS ps_sem, - gebiet_id, - bezeichnung, - tbl_ablauf.studienplan_id, - tbl_ablauf.studiengang_kz, - tbl_ablauf.semester, - tbl_ablauf.reihung, - ". $bezeichnung_mehrsprachig. " - FROM - prestudent_data - JOIN - testtool.tbl_ablauf USING (studienplan_id) - JOIN - testtool.tbl_gebiet USING (gebiet_id) - WHERE - (prestudent_data.semester= 1 AND tbl_ablauf.semester = 1) - OR - (prestudent_data.semester= 3 AND tbl_ablauf.semester IN (1,3)) - ) - - ORDER BY - reihung - ) temp + FROM ( + SELECT + * + FROM ( + (SELECT + prestudent_data.semester AS ps_sem, + gebiet_id, + bezeichnung, + tbl_ablauf.studienplan_id, + tbl_ablauf.studiengang_kz, + tbl_ablauf.semester, + tbl_ablauf.reihung, + ".$bezeichnung_mehrsprachig. " + FROM + prestudent_data + JOIN + testtool.tbl_ablauf USING (studiengang_kz) + JOIN + testtool.tbl_gebiet USING (gebiet_id) + WHERE + (prestudent_data.semester= 1 AND tbl_ablauf.semester = 1) + OR + (prestudent_data.semester= 3 AND tbl_ablauf.semester IN (1,3)) + ) + + UNION + + ( + SELECT + prestudent_data.semester AS ps_sem, + gebiet_id, + bezeichnung, + tbl_ablauf.studienplan_id, + tbl_ablauf.studiengang_kz, + tbl_ablauf.semester, + tbl_ablauf.reihung, + ". $bezeichnung_mehrsprachig. " + FROM + prestudent_data + JOIN + testtool.tbl_ablauf USING (studienplan_id) + JOIN + testtool.tbl_gebiet USING (gebiet_id) + WHERE + (prestudent_data.semester= 1 AND tbl_ablauf.semester = 1) + OR + (prestudent_data.semester= 3 AND tbl_ablauf.semester IN (1,3)) + ) + ) temp + ) temp2 + + GROUP BY + semester, + gebiet_id, + bezeichnung, + reihung, + bezeichnung_mehrsprachig_1, + bezeichnung_mehrsprachig_2, + bezeichnung_mehrsprachig_3, + bezeichnung_mehrsprachig_4 ORDER BY semester, @@ -259,6 +270,7 @@ if (isset($_SESSION['pruefling_id'])) $result = $db->db_query($qry); $lastsemester = ''; + $quereinsteiger_stg = ''; while($row = $db->db_fetch_object($result)) { @@ -273,8 +285,31 @@ if (isset($_SESSION['pruefling_id'])) $lastsemester = $row->semester; echo ''; - echo ''; + /*echo '';*/ + echo ''; } + + // Bei Quereinstiegsgebieten nach STG clustern und die STG anzeigen + if($row->semester != '1') + { + if($quereinsteiger_stg != $row->studiengang_kz_list) + { + echo "
"; // Abstand zwischen Erstsemester- und Quereinstiegs-Gebietsblock + $quereinsteiger_stg = $row->studiengang_kz_list; + $quereinsteiger_stg_arr = explode(',', $row->studiengang_kz_list); + $quereinsteiger_stg_string = ''; + $cnt = 0; + foreach ($quereinsteiger_stg_arr as $qe_stg) + { + $stg = new Studiengang($qe_stg); + $quereinsteiger_stg_string .= ($cnt > 0) ? ",
" : ''; + $quereinsteiger_stg_string .= $stg->bezeichnung; + $cnt++; + } + echo ''; + } + } + $gebiet = new gebiet(); if($gebiet->check_gebiet($row->gebiet_id)) { diff --git a/locale/de-AT/testtool.php b/locale/de-AT/testtool.php index 0e62491f1..554ef917e 100644 --- a/locale/de-AT/testtool.php +++ b/locale/de-AT/testtool.php @@ -1,43 +1,45 @@ -phrasen['testtool/titel']=''; -$this->phrasen['testtool/login']='Login'; -$this->phrasen['testtool/tag']='Tag'; -$this->phrasen['testtool/monat']='Monat'; -$this->phrasen['testtool/jahr']='Jahr'; -$this->phrasen['testtool/willkommenstext']='Herzlich Willkommen zum Reihungstest.

- Bitte warten Sie mit dem Login auf die Anweisung der Aufsichtsperson.

- Wir wünschen Ihnen einen erfolgreichen Start ins Studium.'; -$this->phrasen['testtool/nameAuswaehlen']='Name auswählen...'; -$this->phrasen['testtool/quereinstieg']='(Quereinstieg)'; -$this->phrasen['testtool/semester']='Semester'; -$this->phrasen['testtool/reihungstestNichtFreigeschalten']='Der zuteilte Reihungstest ist noch nicht freigeschaltet'; -$this->phrasen['testtool/reihungstestKannNichtGeladenWerden']='Der Reihungstest dem Sie zugeteilt sind, kann nicht geladen werden'; -$this->phrasen['testtool/geburtsdatumStimmtNichtUeberein']='Ihr Geburtsdatum stimmt nicht mit unseren Daten überein. Bitte wenden Sie sich an die Aufsichtsperson'; -$this->phrasen['testtool/home']='Home'; -$this->phrasen['testtool/klickenSieAufEinTeilgebiet']='Klicken Sie links auf ein Teilgebiet'; -$this->phrasen['testtool/gebietStarten']='Gebiet starten'; -$this->phrasen['testtool/startseite']='Startseite'; -$this->phrasen['testtool/zurueckZurStartseite']='Zurück zur Startseite'; -$this->phrasen['testtool/begruessungstext']='Willkommen zum Reihungstest der Fachhochschule Technikum Wien. Sie sind mit folgenden Daten angemeldet:'; -$this->phrasen['testtool/keineAntwort']='Keine Antwort'; -$this->phrasen['testtool/speichernUndWeiter']='Speichern und weiter'; -$this->phrasen['testtool/alleFragenBeantwortet']='GLÜCKWUNSCH! \n\nSie haben alle Fragen in der zur Verfügung stehenden Zeit beantwortet. \nNutzen Sie die verbleibende Zeit, um Ihre Antworten zu kontrollieren oder fahren Sie mit dem nächsten Teilgebiet fort'; -$this->phrasen['testtool/zeitAbgelaufen']='Die Maximalzeit für dieses Gebiet ist abgelaufen, oder alle Fragen wurden beantwortet'; -$this->phrasen['testtool/spracheDerTestfragen']='Gewünschte Sprache der Testfragen'; -$this->phrasen['testtool/einleitung']='Einleitung'; -$this->phrasen['testtool/blaettern']='Blättern'; -$this->phrasen['testtool/demo']='Demobeispiel ansehen'; -$this->phrasen['testtool/okKlickenUmZuStarten']='Klicken Sie OK um dieses Gebiet zu starten. \nSie haben für die Bearbeitung ein Zeitlimit von'; -$this->phrasen['testtool/bitteZuerstAnmelden']='Bitte zuerst anmelden!'; -$this->phrasen['testtool/fehlerBeimGenerierenDesFragenpools']='Fehler beim generieren des Fragenpools'; -$this->phrasen['testtool/esWurdeKeineFrageGefunden']='Es wurde keine Frage gefunden'; -$this->phrasen['testtool/fehler']='Fehler'; -$this->phrasen['testtool/fehlerBeimStartvorgang']='Fehler beim Startvorgang'; -$this->phrasen['testtool/beiDiesemGebietMuessenSieJedeFrageBeantworten']='Bei diesem Gebiet müssen Sie jede Frage beantworten'; -$this->phrasen['testtool/bearbeitungszeit']='Bearbeitungszeit'; -$this->phrasen['testtool/dieZeitIstAbgelaufen']='Die Zeit ist abgelaufen!
Bitte aktivieren Sie Javascript in Ihrem Browser!'; -$this->phrasen['testtool/dieseFrageIstNichtFuerSieBestimmt']='Diese Frage ist nicht für Sie bestimmt'; -$this->phrasen['testtool/fehlerBeimSpeichernDerErstansicht']='Fehler beim Speichern der Erstansicht'; -$this->phrasen['testtool/startDrueckenUmZuBeginnen']='Um dieses Teilgebiet zu starten, drücken Sie bitte links oben auf Gebiet starten.'; -$this->phrasen['testtool/keinPrueflingseintragVorhanden']='Kein Prüflingseintrag vorhanden'; -?> +phrasen['testtool/titel']=''; +$this->phrasen['testtool/login']='Login'; +$this->phrasen['testtool/tag']='Tag'; +$this->phrasen['testtool/monat']='Monat'; +$this->phrasen['testtool/jahr']='Jahr'; +$this->phrasen['testtool/willkommenstext']='Herzlich Willkommen zum Reihungstest.

+ Bitte warten Sie mit dem Login auf die Anweisung der Aufsichtsperson.

+ Wir wünschen Ihnen einen erfolgreichen Start ins Studium.'; +$this->phrasen['testtool/nameAuswaehlen']='Name auswählen...'; +$this->phrasen['testtool/quereinstieg']='(Quereinstieg)'; +$this->phrasen['testtool/quereinsteiger']='Quereinsteiger'; +$this->phrasen['testtool/basic']='Basic'; +$this->phrasen['testtool/semester']='Semester'; +$this->phrasen['testtool/reihungstestNichtFreigeschalten']='Der zuteilte Reihungstest ist noch nicht freigeschaltet'; +$this->phrasen['testtool/reihungstestKannNichtGeladenWerden']='Der Reihungstest dem Sie zugeteilt sind, kann nicht geladen werden'; +$this->phrasen['testtool/geburtsdatumStimmtNichtUeberein']='Ihr Geburtsdatum stimmt nicht mit unseren Daten überein. Bitte wenden Sie sich an die Aufsichtsperson'; +$this->phrasen['testtool/home']='Home'; +$this->phrasen['testtool/klickenSieAufEinTeilgebiet']='Klicken Sie links auf ein Teilgebiet'; +$this->phrasen['testtool/gebietStarten']='Gebiet starten'; +$this->phrasen['testtool/startseite']='Startseite'; +$this->phrasen['testtool/zurueckZurStartseite']='Zurück zur Startseite'; +$this->phrasen['testtool/begruessungstext']='Willkommen zum Reihungstest der Fachhochschule Technikum Wien. Sie sind mit folgenden Daten angemeldet:'; +$this->phrasen['testtool/keineAntwort']='Keine Antwort'; +$this->phrasen['testtool/speichernUndWeiter']='Speichern und weiter'; +$this->phrasen['testtool/alleFragenBeantwortet']='GLÜCKWUNSCH! \n\nSie haben alle Fragen in der zur Verfügung stehenden Zeit beantwortet. \nNutzen Sie die verbleibende Zeit, um Ihre Antworten zu kontrollieren oder fahren Sie mit dem nächsten Teilgebiet fort'; +$this->phrasen['testtool/zeitAbgelaufen']='Die Maximalzeit für dieses Gebiet ist abgelaufen, oder alle Fragen wurden beantwortet'; +$this->phrasen['testtool/spracheDerTestfragen']='Gewünschte Sprache der Testfragen'; +$this->phrasen['testtool/einleitung']='Einleitung'; +$this->phrasen['testtool/blaettern']='Blättern'; +$this->phrasen['testtool/demo']='Demobeispiel ansehen'; +$this->phrasen['testtool/okKlickenUmZuStarten']='Klicken Sie OK um dieses Gebiet zu starten. \nSie haben für die Bearbeitung ein Zeitlimit von'; +$this->phrasen['testtool/bitteZuerstAnmelden']='Bitte zuerst anmelden!'; +$this->phrasen['testtool/fehlerBeimGenerierenDesFragenpools']='Fehler beim generieren des Fragenpools'; +$this->phrasen['testtool/esWurdeKeineFrageGefunden']='Es wurde keine Frage gefunden'; +$this->phrasen['testtool/fehler']='Fehler'; +$this->phrasen['testtool/fehlerBeimStartvorgang']='Fehler beim Startvorgang'; +$this->phrasen['testtool/beiDiesemGebietMuessenSieJedeFrageBeantworten']='Bei diesem Gebiet müssen Sie jede Frage beantworten'; +$this->phrasen['testtool/bearbeitungszeit']='Bearbeitungszeit'; +$this->phrasen['testtool/dieZeitIstAbgelaufen']='Die Zeit ist abgelaufen!
Bitte aktivieren Sie Javascript in Ihrem Browser!'; +$this->phrasen['testtool/dieseFrageIstNichtFuerSieBestimmt']='Diese Frage ist nicht für Sie bestimmt'; +$this->phrasen['testtool/fehlerBeimSpeichernDerErstansicht']='Fehler beim Speichern der Erstansicht'; +$this->phrasen['testtool/startDrueckenUmZuBeginnen']='Um dieses Teilgebiet zu starten, drücken Sie bitte links oben auf Gebiet starten.'; +$this->phrasen['testtool/keinPrueflingseintragVorhanden']='Kein Prüflingseintrag vorhanden'; +?> diff --git a/locale/en-US/testtool.php b/locale/en-US/testtool.php index dca61c40c..76f2e75b9 100644 --- a/locale/en-US/testtool.php +++ b/locale/en-US/testtool.php @@ -1,43 +1,45 @@ -phrasen['testtool/titel']=''; -$this->phrasen['testtool/login']='Login'; -$this->phrasen['testtool/tag']='Day'; -$this->phrasen['testtool/monat']='Month'; -$this->phrasen['testtool/jahr']='Year'; -$this->phrasen['testtool/willkommenstext']='Welcome to the placement test.

- Please wait for the tutor\'s instructions before you log in.

- We wish you a good start to your studies.'; -$this->phrasen['testtool/nameAuswaehlen']='Choose name...'; -$this->phrasen['testtool/quereinstieg']='(Lateral entry)'; -$this->phrasen['testtool/semester']='Semester'; -$this->phrasen['testtool/reihungstestNichtFreigeschalten']='The entrance examination assigned has not yet been activated.'; -$this->phrasen['testtool/reihungstestKannNichtGeladenWerden']='The entrance examination assigned to you can not be loaded.'; -$this->phrasen['testtool/geburtsdatumStimmtNichtUeberein']='Your date of birth does not correspond to the data we have. Please speak to the supervisor. '; -$this->phrasen['testtool/home']='Home'; -$this->phrasen['testtool/klickenSieAufEinTeilgebiet']='Select a topic on the left side'; -$this->phrasen['testtool/gebietStarten']='Start section'; -$this->phrasen['testtool/startseite']='Startpage'; -$this->phrasen['testtool/zurueckZurStartseite']='Back to startpage';; -$this->phrasen['testtool/begruessungstext']='Welcome to the placement test of the UAS Technikum Wien.
You are logged in with the following data:'; -$this->phrasen['testtool/keineAntwort']='No Answer'; -$this->phrasen['testtool/speichernUndWeiter']='Save and next'; -$this->phrasen['testtool/alleFragenBeantwortet']='CONGRATULATIONS!\n\nYou have answered all the questions in the time allowed.\n Use the remaining time to check your answers or continue to the next section.'; -$this->phrasen['testtool/zeitAbgelaufen']='The time for this part has expired or you have answered all the questions.'; -$this->phrasen['testtool/spracheDerTestfragen']='Desired language of questions'; -$this->phrasen['testtool/einleitung']='Introduction'; -$this->phrasen['testtool/blaettern']='Browse'; -$this->phrasen['testtool/demo']='See an example'; -$this->phrasen['testtool/okKlickenUmZuStarten']='Click OK to start this section. \nYou have a timelimit of'; -$this->phrasen['testtool/bitteZuerstAnmelden']='Please log in first!'; -$this->phrasen['testtool/fehlerBeimGenerierenDesFragenpools']='Error in generating the pool of questions.'; -$this->phrasen['testtool/esWurdeKeineFrageGefunden']='No question has been found.'; -$this->phrasen['testtool/fehler']='Error'; -$this->phrasen['testtool/fehlerBeimStartvorgang']='Error in start-up sequence'; -$this->phrasen['testtool/beiDiesemGebietMuessenSieJedeFrageBeantworten']='In this section you must answer every question'; -$this->phrasen['testtool/bearbeitungszeit']='Time'; -$this->phrasen['testtool/dieZeitIstAbgelaufen']='The time has run out!
Please enable JavaScript in your browser!'; -$this->phrasen['testtool/dieseFrageIstNichtFuerSieBestimmt']='This question is not intended for you'; -$this->phrasen['testtool/fehlerBeimSpeichernDerErstansicht']='Error in saving the initial view'; -$this->phrasen['testtool/startDrueckenUmZuBeginnen']='To start this section, please click on Start section in the top left corner.'; -$this->phrasen['testtool/keinPrueflingseintragVorhanden']='No candidate entry available.'; +phrasen['testtool/titel']=''; +$this->phrasen['testtool/login']='Login'; +$this->phrasen['testtool/tag']='Day'; +$this->phrasen['testtool/monat']='Month'; +$this->phrasen['testtool/jahr']='Year'; +$this->phrasen['testtool/willkommenstext']='Welcome to the placement test.

+ Please wait for the tutor\'s instructions before you log in.

+ We wish you a good start to your studies.'; +$this->phrasen['testtool/nameAuswaehlen']='Choose name...'; +$this->phrasen['testtool/quereinstieg']='(Lateral entry)'; +$this->phrasen['testtool/quereinsteiger']='Lateral entry'; +$this->phrasen['testtool/basic']='Basic'; +$this->phrasen['testtool/semester']='Semester'; +$this->phrasen['testtool/reihungstestNichtFreigeschalten']='The entrance examination assigned has not yet been activated.'; +$this->phrasen['testtool/reihungstestKannNichtGeladenWerden']='The entrance examination assigned to you can not be loaded.'; +$this->phrasen['testtool/geburtsdatumStimmtNichtUeberein']='Your date of birth does not correspond to the data we have. Please speak to the supervisor. '; +$this->phrasen['testtool/home']='Home'; +$this->phrasen['testtool/klickenSieAufEinTeilgebiet']='Select a topic on the left side'; +$this->phrasen['testtool/gebietStarten']='Start section'; +$this->phrasen['testtool/startseite']='Startpage'; +$this->phrasen['testtool/zurueckZurStartseite']='Back to startpage';; +$this->phrasen['testtool/begruessungstext']='Welcome to the placement test of the UAS Technikum Wien.
You are logged in with the following data:'; +$this->phrasen['testtool/keineAntwort']='No Answer'; +$this->phrasen['testtool/speichernUndWeiter']='Save and next'; +$this->phrasen['testtool/alleFragenBeantwortet']='CONGRATULATIONS!\n\nYou have answered all the questions in the time allowed.\n Use the remaining time to check your answers or continue to the next section.'; +$this->phrasen['testtool/zeitAbgelaufen']='The time for this part has expired or you have answered all the questions.'; +$this->phrasen['testtool/spracheDerTestfragen']='Desired language of questions'; +$this->phrasen['testtool/einleitung']='Introduction'; +$this->phrasen['testtool/blaettern']='Browse'; +$this->phrasen['testtool/demo']='See an example'; +$this->phrasen['testtool/okKlickenUmZuStarten']='Click OK to start this section. \nYou have a timelimit of'; +$this->phrasen['testtool/bitteZuerstAnmelden']='Please log in first!'; +$this->phrasen['testtool/fehlerBeimGenerierenDesFragenpools']='Error in generating the pool of questions.'; +$this->phrasen['testtool/esWurdeKeineFrageGefunden']='No question has been found.'; +$this->phrasen['testtool/fehler']='Error'; +$this->phrasen['testtool/fehlerBeimStartvorgang']='Error in start-up sequence'; +$this->phrasen['testtool/beiDiesemGebietMuessenSieJedeFrageBeantworten']='In this section you must answer every question'; +$this->phrasen['testtool/bearbeitungszeit']='Time'; +$this->phrasen['testtool/dieZeitIstAbgelaufen']='The time has run out!
Please enable JavaScript in your browser!'; +$this->phrasen['testtool/dieseFrageIstNichtFuerSieBestimmt']='This question is not intended for you'; +$this->phrasen['testtool/fehlerBeimSpeichernDerErstansicht']='Error in saving the initial view'; +$this->phrasen['testtool/startDrueckenUmZuBeginnen']='To start this section, please click on Start section in the top left corner.'; +$this->phrasen['testtool/keinPrueflingseintragVorhanden']='No candidate entry available.'; ?> \ No newline at end of file diff --git a/skin/styles/tw.css b/skin/styles/tw.css index dea35d3aa..d6ecb9437 100644 --- a/skin/styles/tw.css +++ b/skin/styles/tw.css @@ -210,14 +210,14 @@ a:hover /*link ohne Item-Definition*/ a.ItemTesttool { color: #000; - /*line-height: 25px;*/ + line-height: 25px; display:block; padding: 5px 10px 5px 10px; } a.ItemTesttoolAktiv { color: #000; - /*line-height: 25px;*/ + line-height: 25px; display:block; padding: 5px 10px 5px 10px; text-decoration: none; @@ -225,7 +225,7 @@ a.ItemTesttoolAktiv a.ItemTesttoolBeendet { color: #C7C8C9; - /*line-height: 25px;*/ + line-height: 25px; display:block; padding: 5px 10px 5px 10px; cursor: default; @@ -234,7 +234,7 @@ a.ItemTesttoolBeendet a:hover.ItemTesttool { color: #000; - /*line-height: 25px;*/ + line-height: 25px; text-decoration: none; padding: 5px 10px 5px 10px; } @@ -430,7 +430,18 @@ td.HeaderTesttool /*fuer die Button-Optik beim Testtool*/ white-space:nowrap; line-height: 25px; box-shadow: inset 0 0 2px #FFFFFF; - padding: 0 10px 0 10px; + padding: 10px; +} +td.HeaderTesttoolSTG /*fuer die Button-Optik der Quereinstiegs-Studiengänge beim Testtool*/ +{ + color: #00639C; + border: 2px solid #00639C; + padding: 10px; + max-width: 100px; + overflow: hidden; + text-overflow: ellipsis; + white-space: normal; + font-weight: bold; } td.Inaktiv /*fuer Inaktive Items bei der Raumbeschreibung */ { From f5433a2a73ae3fde019115a31a017a322f980505 Mon Sep 17 00:00:00 2001 From: Cris Date: Thu, 25 Apr 2019 10:36:40 +0200 Subject: [PATCH 02/13] Modified RT-menu: Styled start/intro links Now the start and intro links are styled like buttons and integrated in the menu navigation. --- cis/testtool/menu.php | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/cis/testtool/menu.php b/cis/testtool/menu.php index c09ced7aa..d5dfcf42b 100644 --- a/cis/testtool/menu.php +++ b/cis/testtool/menu.php @@ -84,7 +84,7 @@ session_start(); - + db_add_param($_SESSION['studiengang_kz'])." LIMIT 1"; $result = $db->db_query($qry); - echo '
'.$row->semester.'. '.$p->t('testtool/semester').' '.($row->semester!='1'?$p->t('testtool/quereinstieg'):'').'
'.$row->semester.'. '.$p->t('testtool/semester').' '.($row->semester!='1'?$p->t('testtool/quereinstieg'):'').'
'. ($row->semester == '1' ? strtoupper($p->t('testtool/basic')) : strtoupper($p->t('testtool/quereinsteiger'))).'
'. $quereinsteiger_stg_string. '
'; - echo ''; + echo '
- '.$p->t('testtool/startseite').' + echo ''; + +// Link zur Startseite + echo ''; + +// Link zur Einleitung if ($content_id = $db->db_fetch_object($result)) if($content_id->content_id!='') - echo ''; - echo ''; + echo ' + '; + echo ''; // Link zur Einleitung @@ -105,7 +105,7 @@ if (isset($_SESSION['pruefling_id'])) if($content_id->content_id!='') echo ' '; echo '
+ '.$p->t('testtool/startseite').'
'.$p->t('testtool/einleitung').'
 
+ '.$p->t('testtool/einleitung').' +
'; $studiengang_kz = (isset($_SESSION['studiengang_kz'])) ? $_SESSION['studiengang_kz'] : ''; @@ -284,7 +292,7 @@ if (isset($_SESSION['pruefling_id'])) } $lastsemester = $row->semester; - echo ''; + echo '
'; /*echo '';*/ echo ''; } @@ -294,7 +302,7 @@ if (isset($_SESSION['pruefling_id'])) { if($quereinsteiger_stg != $row->studiengang_kz_list) { - echo "
"; // Abstand zwischen Erstsemester- und Quereinstiegs-Gebietsblock + //echo "
"; // Abstand zwischen Erstsemester- und Quereinstiegs-Gebietsblock $quereinsteiger_stg = $row->studiengang_kz_list; $quereinsteiger_stg_arr = explode(',', $row->studiengang_kz_list); $quereinsteiger_stg_string = ''; From 0738a0aee181339e065b87b50f10501233301a34 Mon Sep 17 00:00:00 2001 From: Cris Date: Thu, 25 Apr 2019 11:39:24 +0200 Subject: [PATCH 03/13] Marked studies that were rejected for the Reihungstest Now the studies, that were rejected for the Reihungstest (Prestudentstatus 'Abgewiesener'), are marked as rejected on the Reihungstest-starting page. --- cis/testtool/login.php | 1074 ++++++++++++++++++++-------------------- 1 file changed, 550 insertions(+), 524 deletions(-) diff --git a/cis/testtool/login.php b/cis/testtool/login.php index 06997012f..31d12747e 100644 --- a/cis/testtool/login.php +++ b/cis/testtool/login.php @@ -1,524 +1,550 @@ -, - * Andreas Oesterreicher , - * Rudolf Hangl , - * Manfred Kindl - * Cristina Hainberger - */ - -require_once('../../config/cis.config.inc.php'); -require_once('../../config/global.config.inc.php'); -require_once('../../include/person.class.php'); -require_once('../../include/prestudent.class.php'); -require_once('../../include/pruefling.class.php'); -require_once('../../include/studiengang.class.php'); -require_once('../../include/studienplan.class.php'); -require_once('../../include/ablauf.class.php'); -require_once('../../include/reihungstest.class.php'); -require_once('../../include/sprache.class.php'); -require_once '../../include/phrasen.class.php'; -require_once '../../include/datum.class.php'; - -if (!$db = new basis_db()) - die('Fehler beim Oeffnen der Datenbankverbindung'); - -//if(isset($_GET['lang'])) -// setSprache($_GET['lang']); - -$date = new datum(); - -function getSpracheUser() -{ - if(isset($_SESSION['sprache_user'])) - { - $sprache_user=$_SESSION['sprache_user']; - } - else - { - if(isset($_COOKIE['sprache_user'])) - { - $sprache_user=$_COOKIE['sprache_user']; - } - else - { - $sprache_user=DEFAULT_LANGUAGE; - } - setSpracheUser($sprache_user); - } - return $sprache_user; -} - -function setSpracheUser($sprache) -{ - $_SESSION['sprache_user']=$sprache; - setcookie('sprache_user',$sprache,time()+60*60*24*30,'/'); -} - -if(isset($_GET['sprache_user'])) -{ - $sprache_user = new sprache(); - if($sprache_user->load($_GET['sprache_user'])) - { - setSpracheUser($_GET['sprache_user']); - } - else - setSpracheUser(DEFAULT_LANGUAGE); -} - -$sprache_user = getSpracheUser(); -$p = new phrasen($sprache_user); - -$gebdatum=''; - -session_start(); -$reload=false; -$reload_parent=false; - -$sg_var = new studiengang(); - -if (isset($_GET['logout'])) -{ - if(isset($_SESSION['prestudent_id'])) - { - $reload = true; - session_destroy(); - } -} - -if(isset($_POST['gebdatum']) && $_POST['gebdatum']!='') -{ - $gebdatum = $date->formatDatum($_POST['gebdatum'],'Y-m-d'); -} -else - $gebdatum=''; - -if (isset($_POST['prestudent']) && isset($gebdatum)) -{ - $ps=new prestudent($_POST['prestudent']); - - //Geburtsdatum Pruefen - if ($gebdatum==$ps->gebdatum) - { - $reihungstest_id=''; - //Freischaltung fuer zugeteilten Reihungstest pruefen - $rt = new reihungstest(); - - // Wenns der Dummy ist dann extra laden - $prestudent_id_dummy_student = (defined('PRESTUDENT_ID_DUMMY_STUDENT')?PRESTUDENT_ID_DUMMY_STUDENT:''); - if($prestudent_id_dummy_student==$ps->prestudent_id) - { - $rt->getReihungstestPerson($ps->person_id); - if(isset($rt->result[0])) - $reihungstest_id = $rt->result[0]->reihungstest_id; - else - { - echo ''.$p->t('testtool/reihungstestKannNichtGeladenWerden').''; - } - } - else - { - if($rt->getReihungstestPersonDatum($ps->prestudent_id, date('Y-m-d'))) - { - // TODO Was ist wenn da mehrere Zurueckkommen?! - if(isset($rt->result[0])) - $reihungstest_id = $rt->result[0]->reihungstest_id; - else - { - echo ''.$p->t('testtool/reihungstestKannNichtGeladenWerden').''; - } - } - else - { - echo 'Failed:'.$rt->errormsg; - } - } - //echo "Reihungstest $reihungstest_id"; - if($reihungstest_id != '' && $rt->load($reihungstest_id)) - { - if($rt->freigeschaltet) - { - $pruefling = new pruefling(); - if($pruefling->getPruefling($ps->prestudent_id)) - { - $studiengang = $pruefling->studiengang_kz; - $semester = $pruefling->semester; - } - else - { - $studiengang = $ps->studiengang_kz; - $ps->getLastStatus($ps->prestudent_id); - $semester = $ps->ausbildungssemester; - } - if($semester=='') - $semester=1; - - $_SESSION['prestudent_id']=$_POST['prestudent']; - $_SESSION['studiengang_kz']=$studiengang; - $_SESSION['nachname']=$ps->nachname; - $_SESSION['vorname']=$ps->vorname; - $_SESSION['gebdatum']=$ps->gebdatum; - $stg_obj = new studiengang($studiengang); - $_SESSION['sprache']=$stg_obj->sprache; - - $_SESSION['semester']=$semester; - - // STG und Studienplan mit der höchsten Prio ermitteln - $firstPrio_studienplan_id = ''; - $firstPrio_studiengang_kz = ''; - - $ps->getActualInteressenten($_POST['prestudent'], true); - foreach($ps->result as $row) - { - if(isset($row->studiengang_kz)) - { - $firstPrio_studienplan_id = $row->studienplan_id; - break; - } - } - foreach($ps->result as $row) - { - if(isset($row->studiengang_kz)) - { - $firstPrio_studiengang_kz = $row->studiengang_kz; - break; - } - } - - // Sprachvorgaben zu STG mit höchster Prio ermitteln - - // * 1. Sprache über Ablauf Vorgaben ermitteln - $ablauf = new Ablauf(); - $ablauf->getAblaufVorgabeStudiengang($firstPrio_studiengang_kz); - $rt_sprache = ''; - - if(!empty($ablauf->result[0])) - { - $rt_sprache = $ablauf->result[0]->sprache; - } - - // * 2. falls keine Sprache vorhanden -> Sprache über Studienplan ermitteln - if (empty($rt_sprache)) - { - $stpl = new Studienplan(); - $stpl->loadStudienplan($firstPrio_studienplan_id); - $rt_sprache = $stpl->sprache; - } - - // * 3. falls keine Sprache vorhanden -> Sprache über Studiengang ermitteln - if (empty($rt_sprache)) - { - $stg = new Studiengang($firstPrio_studiengang_kz); - $rt_sprache = $stg->sprache; - } - - // * 4. Sprache setzen. Falls keine Sprache vorhanden -> DEFAULT language verwenden - if (empty($rt_sprache)) - { - $_SESSION['sprache'] = DEFAULT_LANGUAGE; - } - else - { - $_SESSION['sprache'] = $rt_sprache; - } - } - else - { - echo ''.$p->t('testtool/reihungstestNichtFreigeschalten').''; - } - } - else - { - echo ''.$p->t('testtool/reihungstestKannNichtGeladenWerden').''; - } - } - else - { - echo ''.$p->t('testtool/geburtsdatumStimmtNichtUeberein').''; - } -} - -if (isset($_SESSION['prestudent_id'])) - $prestudent_id=$_SESSION['prestudent_id']; -else -{ - //$prestudent_id=null; - $ps=new prestudent(); - $datum=date('Y-m-d'); - $ps->getPrestudentRT($datum); -} - -if(isset($_GET['type']) && $_GET['type']=='sprachechange' && isset($_GET['sprache'])) -{ - setSprache($_GET['sprache']); -} - -if(isset($_SESSION['prestudent_id']) && !isset($_SESSION['pruefling_id'])) -{ - $pruefling = new pruefling(); - - //wenn kein Prüfling geladen werden kann - if(!$pruefling->getPruefling($_SESSION['prestudent_id'])) - $pruefling->new = true; - else - $pruefling->new = false; - - $pruefling->studiengang_kz = $_SESSION['studiengang_kz']; - $pruefling->semester = $_SESSION['semester']; - - $pruefling->idnachweis = ''; - $pruefling->registriert = date('Y-m-d H:i:s'); - $pruefling->prestudent_id = $_SESSION['prestudent_id']; - if($pruefling->save()) - { - $_SESSION['pruefling_id']=$pruefling->pruefling_id; - $reload_parent=true; - } -} - -if(isset($_POST['save']) && isset($_SESSION['prestudent_id'])) -{ - $pruefling = new pruefling(); - if($_POST['pruefling_id']!='') - if(!$pruefling->load($_POST['pruefling_id'])) - die('Pruefling wurde nicht gefunden'); - else - $pruefling->new=false; - else - $pruefling->new=true; - - $pruefling->studiengang_kz = $_SESSION['studiengang_kz']; - $pruefling->idnachweis = isset($_POST['idnachweis'])?$_POST['idnachweis']:''; - $pruefling->registriert = date('Y-m-d H:i:s'); - $pruefling->prestudent_id = $_SESSION['prestudent_id']; - $pruefling->semester = $_POST['semester']; - if($pruefling->save()) - { - $_SESSION['pruefling_id']=$pruefling->pruefling_id; - $_SESSION['semester']=$pruefling->semester; - $reload_parent=true; - } -} -?> - - - - - - - - -parent.menu.location.reload();'; //CRIS: nach reload()ein ; ergänzt - - if($reload) - echo ""; -?> - - - -'.$p->t('testtool/startseite').''; - -//REIHUNGSTEST STARTSEITE (nach Login) - if (isset($prestudent_id)) - { - - $prestudent = new prestudent($prestudent_id); - $stg_obj = new studiengang($prestudent->studiengang_kz); - $pruefling = new pruefling(); - $typ = new studiengang($prestudent->studiengang_kz); - $typ->getStudiengangTyp($stg_obj->typ); - - // STG mit der höchsten Prio ermitteln - $ps = new Prestudent(); - - // * prinzipiell STG der session übernehmem - $firstPrio_studiengang_kz = $prestudent->studiengang_kz;; - - // * wenn STG des eingeloggten Prestudenten vom Typ Bachelor ist, dann höchste Prio aller - // Bachelor-STG ermitteln, an denen die Person noch interessiert ist - if ($typ->typ == 'b') - { - $ps->getActualInteressenten($prestudent_id, true, 'b'); - foreach($ps->result as $row_prio) - { - if(isset($row_prio->studiengang_kz)) - { - $firstPrio_studiengang_kz = $row_prio->studiengang_kz; - break; - } - } - } - - // Sprachwahl zu STG mit höchster Prio ermitteln - $ablauf = new Ablauf(); - $sprachwahl = false; - if ($ablauf->getAblaufVorgabeStudiengang($firstPrio_studiengang_kz) && is_bool($ablauf->result[0]->sprachwahl)) - { - $sprachwahl = $ablauf->result[0]->sprachwahl; - } - - //Prestudent Informationen und Logout - echo '
'; - echo '
'.$p->t('testtool/begruessungstext').'

'; - echo ''.$p->t('zeitaufzeichnung/id').': '.$_SESSION['prestudent_id'].'
'; - echo ''.$p->t('global/name').': '.$_SESSION['vorname'].' '.$_SESSION['nachname'].'
'; - echo ''.$p->t('global/geburtsdatum').': '.$date->formatDatum($_SESSION['gebdatum'],'d.m.Y').'
'; - - // * wenn Prestudent an mehreren Bachelor-Studiengängen interessiert ist, dann alle STG anführen - if ($typ->typ == 'b') - { - $ps_arr = new Prestudent(); - $ps_arr->getActualInteressenten($prestudent_id, false, 'b'); - - if (count($ps_arr->result) > 1) - { - echo ''.$p->t('global/studiengang'). ":

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

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

    '; - } - echo ''; - echo ''; - echo '

    '; - - if($pruefling->getPruefling($prestudent_id)) - { - echo '
    '; - echo ''; - echo '
    '.$row->semester.'. '.$p->t('testtool/semester').' '.($row->semester!='1'?$p->t('testtool/quereinstieg'):'').'
    '. ($row->semester == '1' ? strtoupper($p->t('testtool/basic')) : strtoupper($p->t('testtool/quereinsteiger'))).'
    '; - //echo ''; - //echo ''; - //echo ''; - echo '
    '.$p->t('global/semester').': 
    ID Nachweis:
    '; - echo ''; - - //Wenn die Sprachwahl fuer den priorisierten Studiengang aktiviert ist, dann die Sprachen anzeigen - if($sprachwahl==true) - { - //Liste der Sprachen, die in den Gebieten vorkommen koennen - $qry = "SELECT distinct sprache - FROM - testtool.tbl_pruefling - JOIN testtool.tbl_ablauf USING(studiengang_kz) - JOIN testtool.tbl_frage USING(gebiet_id) - JOIN testtool.tbl_frage_sprache USING(frage_id) - WHERE - tbl_pruefling.pruefling_id=".$db->db_add_param($pruefling->pruefling_id)." - ORDER BY sprache DESC"; - echo $p->t('testtool/spracheDerTestfragen').':'; - if($result = $db->db_query($qry)) - { - while($row = $db->db_fetch_object($result)) - { - if($_SESSION['sprache']==$row->sprache) - $selected='style="border:1px solid black;"'; - else - $selected=''; - echo " sprache' class='Item' $selected>$row->sprache"; - } - } - } - echo '


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


    -
    - '.$p->t('testtool/willkommenstext').' -
    '; - } -?> - - - +, + * Andreas Oesterreicher , + * Rudolf Hangl , + * Manfred Kindl + * Cristina Hainberger + */ + +require_once('../../config/cis.config.inc.php'); +require_once('../../config/global.config.inc.php'); +require_once('../../include/person.class.php'); +require_once('../../include/prestudent.class.php'); +require_once('../../include/pruefling.class.php'); +require_once('../../include/studiengang.class.php'); +require_once('../../include/studienplan.class.php'); +require_once('../../include/ablauf.class.php'); +require_once('../../include/reihungstest.class.php'); +require_once('../../include/sprache.class.php'); +require_once '../../include/phrasen.class.php'; +require_once '../../include/datum.class.php'; + +if (!$db = new basis_db()) + die('Fehler beim Oeffnen der Datenbankverbindung'); + +//if(isset($_GET['lang'])) +// setSprache($_GET['lang']); + +$date = new datum(); + +function getSpracheUser() +{ + if(isset($_SESSION['sprache_user'])) + { + $sprache_user=$_SESSION['sprache_user']; + } + else + { + if(isset($_COOKIE['sprache_user'])) + { + $sprache_user=$_COOKIE['sprache_user']; + } + else + { + $sprache_user=DEFAULT_LANGUAGE; + } + setSpracheUser($sprache_user); + } + return $sprache_user; +} + +function setSpracheUser($sprache) +{ + $_SESSION['sprache_user']=$sprache; + setcookie('sprache_user',$sprache,time()+60*60*24*30,'/'); +} + +if(isset($_GET['sprache_user'])) +{ + $sprache_user = new sprache(); + if($sprache_user->load($_GET['sprache_user'])) + { + setSpracheUser($_GET['sprache_user']); + } + else + setSpracheUser(DEFAULT_LANGUAGE); +} + +$sprache_user = getSpracheUser(); +$p = new phrasen($sprache_user); + +$gebdatum=''; + +session_start(); +$reload=false; +$reload_parent=false; + +$sg_var = new studiengang(); + +if (isset($_GET['logout'])) +{ + if(isset($_SESSION['prestudent_id'])) + { + $reload = true; + session_destroy(); + } +} + +if(isset($_POST['gebdatum']) && $_POST['gebdatum']!='') +{ + $gebdatum = $date->formatDatum($_POST['gebdatum'],'Y-m-d'); +} +else + $gebdatum=''; + +if (isset($_POST['prestudent']) && isset($gebdatum)) +{ + $ps=new prestudent($_POST['prestudent']); + + //Geburtsdatum Pruefen + if ($gebdatum==$ps->gebdatum) + { + $reihungstest_id=''; + //Freischaltung fuer zugeteilten Reihungstest pruefen + $rt = new reihungstest(); + + // Wenns der Dummy ist dann extra laden + $prestudent_id_dummy_student = (defined('PRESTUDENT_ID_DUMMY_STUDENT')?PRESTUDENT_ID_DUMMY_STUDENT:''); + if($prestudent_id_dummy_student==$ps->prestudent_id) + { + $rt->getReihungstestPerson($ps->person_id); + if(isset($rt->result[0])) + $reihungstest_id = $rt->result[0]->reihungstest_id; + else + { + echo ''.$p->t('testtool/reihungstestKannNichtGeladenWerden').''; + } + } + else + { + if($rt->getReihungstestPersonDatum($ps->prestudent_id, date('Y-m-d'))) + { + // TODO Was ist wenn da mehrere Zurueckkommen?! + if(isset($rt->result[0])) + $reihungstest_id = $rt->result[0]->reihungstest_id; + else + { + echo ''.$p->t('testtool/reihungstestKannNichtGeladenWerden').''; + } + } + else + { + echo 'Failed:'.$rt->errormsg; + } + } + //echo "Reihungstest $reihungstest_id"; + if($reihungstest_id != '' && $rt->load($reihungstest_id)) + { + if($rt->freigeschaltet) + { + $pruefling = new pruefling(); + if($pruefling->getPruefling($ps->prestudent_id)) + { + $studiengang = $pruefling->studiengang_kz; + $semester = $pruefling->semester; + } + else + { + $studiengang = $ps->studiengang_kz; + $ps->getLastStatus($ps->prestudent_id); + $semester = $ps->ausbildungssemester; + } + if($semester=='') + $semester=1; + + $_SESSION['prestudent_id']=$_POST['prestudent']; + $_SESSION['studiengang_kz']=$studiengang; + $_SESSION['nachname']=$ps->nachname; + $_SESSION['vorname']=$ps->vorname; + $_SESSION['gebdatum']=$ps->gebdatum; + $stg_obj = new studiengang($studiengang); + $_SESSION['sprache']=$stg_obj->sprache; + + $_SESSION['semester']=$semester; + + // STG und Studienplan mit der höchsten Prio ermitteln + $firstPrio_studienplan_id = ''; + $firstPrio_studiengang_kz = ''; + + $ps->getActualInteressenten($_POST['prestudent'], true); + foreach($ps->result as $row) + { + if(isset($row->studiengang_kz)) + { + $firstPrio_studienplan_id = $row->studienplan_id; + break; + } + } + foreach($ps->result as $row) + { + if(isset($row->studiengang_kz)) + { + $firstPrio_studiengang_kz = $row->studiengang_kz; + break; + } + } + + // Sprachvorgaben zu STG mit höchster Prio ermitteln + + // * 1. Sprache über Ablauf Vorgaben ermitteln + $ablauf = new Ablauf(); + $ablauf->getAblaufVorgabeStudiengang($firstPrio_studiengang_kz); + $rt_sprache = ''; + + if(!empty($ablauf->result[0])) + { + $rt_sprache = $ablauf->result[0]->sprache; + } + + // * 2. falls keine Sprache vorhanden -> Sprache über Studienplan ermitteln + if (empty($rt_sprache)) + { + $stpl = new Studienplan(); + $stpl->loadStudienplan($firstPrio_studienplan_id); + $rt_sprache = $stpl->sprache; + } + + // * 3. falls keine Sprache vorhanden -> Sprache über Studiengang ermitteln + if (empty($rt_sprache)) + { + $stg = new Studiengang($firstPrio_studiengang_kz); + $rt_sprache = $stg->sprache; + } + + // * 4. Sprache setzen. Falls keine Sprache vorhanden -> DEFAULT language verwenden + if (empty($rt_sprache)) + { + $_SESSION['sprache'] = DEFAULT_LANGUAGE; + } + else + { + $_SESSION['sprache'] = $rt_sprache; + } + } + else + { + echo ''.$p->t('testtool/reihungstestNichtFreigeschalten').''; + } + } + else + { + echo ''.$p->t('testtool/reihungstestKannNichtGeladenWerden').''; + } + } + else + { + echo ''.$p->t('testtool/geburtsdatumStimmtNichtUeberein').''; + } +} + +if (isset($_SESSION['prestudent_id'])) + $prestudent_id=$_SESSION['prestudent_id']; +else +{ + //$prestudent_id=null; + $ps=new prestudent(); + $datum=date('Y-m-d'); + $ps->getPrestudentRT($datum); +} + +if(isset($_GET['type']) && $_GET['type']=='sprachechange' && isset($_GET['sprache'])) +{ + setSprache($_GET['sprache']); +} + +if(isset($_SESSION['prestudent_id']) && !isset($_SESSION['pruefling_id'])) +{ + $pruefling = new pruefling(); + + //wenn kein Prüfling geladen werden kann + if(!$pruefling->getPruefling($_SESSION['prestudent_id'])) + $pruefling->new = true; + else + $pruefling->new = false; + + $pruefling->studiengang_kz = $_SESSION['studiengang_kz']; + $pruefling->semester = $_SESSION['semester']; + + $pruefling->idnachweis = ''; + $pruefling->registriert = date('Y-m-d H:i:s'); + $pruefling->prestudent_id = $_SESSION['prestudent_id']; + if($pruefling->save()) + { + $_SESSION['pruefling_id']=$pruefling->pruefling_id; + $reload_parent=true; + } +} + +if(isset($_POST['save']) && isset($_SESSION['prestudent_id'])) +{ + $pruefling = new pruefling(); + if($_POST['pruefling_id']!='') + if(!$pruefling->load($_POST['pruefling_id'])) + die('Pruefling wurde nicht gefunden'); + else + $pruefling->new=false; + else + $pruefling->new=true; + + $pruefling->studiengang_kz = $_SESSION['studiengang_kz']; + $pruefling->idnachweis = isset($_POST['idnachweis'])?$_POST['idnachweis']:''; + $pruefling->registriert = date('Y-m-d H:i:s'); + $pruefling->prestudent_id = $_SESSION['prestudent_id']; + $pruefling->semester = $_POST['semester']; + if($pruefling->save()) + { + $_SESSION['pruefling_id']=$pruefling->pruefling_id; + $_SESSION['semester']=$pruefling->semester; + $reload_parent=true; + } +} +?> + + + + + + + + +parent.menu.location.reload();'; + + if($reload) + echo ""; +?> + + + +'.$p->t('testtool/startseite').''; + +//REIHUNGSTEST STARTSEITE (nach Login) + if (isset($prestudent_id)) + { + + $prestudent = new prestudent($prestudent_id); + $stg_obj = new studiengang($prestudent->studiengang_kz); + $pruefling = new pruefling(); + $typ = new studiengang($prestudent->studiengang_kz); + $typ->getStudiengangTyp($stg_obj->typ); + + // STG mit der höchsten Prio ermitteln + $ps = new Prestudent(); + + // * prinzipiell STG der session übernehmem + $firstPrio_studiengang_kz = $prestudent->studiengang_kz;; + + // * wenn STG des eingeloggten Prestudenten vom Typ Bachelor ist, dann höchste Prio aller + // Bachelor-STG ermitteln, an denen die Person noch interessiert ist + if ($typ->typ == 'b') + { + $ps->getActualInteressenten($prestudent_id, true, 'b'); + foreach($ps->result as $row_prio) + { + if(isset($row_prio->studiengang_kz)) + { + $firstPrio_studiengang_kz = $row_prio->studiengang_kz; + break; + } + } + } + + // Sprachwahl zu STG mit höchster Prio ermitteln + $ablauf = new Ablauf(); + $sprachwahl = false; + if ($ablauf->getAblaufVorgabeStudiengang($firstPrio_studiengang_kz) && is_bool($ablauf->result[0]->sprachwahl)) + { + $sprachwahl = $ablauf->result[0]->sprachwahl; + } + + //Prestudent Informationen und Logout + echo '
    '; + echo '
    '.$p->t('testtool/begruessungstext').'

    '; + echo ''.$p->t('zeitaufzeichnung/id').': '.$_SESSION['prestudent_id'].'
    '; + echo ''.$p->t('global/name').': '.$_SESSION['vorname'].' '.$_SESSION['nachname'].'
    '; + echo ''.$p->t('global/geburtsdatum').': '.$date->formatDatum($_SESSION['gebdatum'],'d.m.Y').'
    '; + + // * wenn Prestudent an mehreren Bachelor-Studiengängen interessiert ist, dann alle STG anführen + if ($typ->typ == 'b') + { + $ps_arr = new Prestudent(); + $ps_arr->getActualInteressenten($prestudent_id, false, 'b'); + + if (count($ps_arr->result) > 1) + { + echo ''.$p->t('global/studiengang'). ":

    "; + + // Jeweils letzten Status ermitteln (ob Interessent oder Abgewiesener) + foreach ($ps_arr->result as $ps_obj) + { + $ps_tmp = new Prestudent(); + $ps_tmp->getLastStatus($ps_obj->prestudent_id); + + $ps_obj->lastStatus = $ps_tmp->status_kurzbz; // letzten Status dem result array hinzufügen + } + + // Falls Status 'Abgewiesene' vorhanden, nach hinten reihen + usort($ps_arr->result, function($a, $b){ + return strcmp($b->lastStatus, $a->lastStatus); // Order by DESC + }); + + foreach ($ps_arr->result as $ps_obj) + { + $stg = new Studiengang($ps_obj->studiengang_kz); + + if($ps_obj->lastStatus == 'Interessent') + { + echo "
  • ". $ps_obj->typ_bz .' '. ($sprache_user == 'English' ? $stg->english : $stg->bezeichnung). '
    '. "
  • "; + } + // wenn letzter Status 'Abgewiesener' ist, dann als solchen kennzeichnen + elseif($ps_obj->lastStatus == 'Abgewiesener') + { + echo "
  • ". $ps_obj->typ_bz .' '. ($sprache_user == 'English' ? $stg->english : $stg->bezeichnung). ' (- abgewiesen -)
    '. "
  • "; + } + + } + echo "
    "; + } + // * wenn Prestudent nur an einem Bachelor-Studiengang interessiert ist, dann nur den einen STG anführen + else + { + echo ''.$p->t('global/studiengang').': '. $typ->bezeichnung.' '.($sprache_user=='English'?$stg_obj->english:$stg_obj->bezeichnung).'

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

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

    '; + + if($pruefling->getPruefling($prestudent_id)) + { + echo '
    '; + echo ''; + echo ''; + //echo ''; + //echo ''; + //echo ''; + echo '
    '.$p->t('global/semester').': 
    ID Nachweis:
    '; + echo '
    '; + + //Wenn die Sprachwahl fuer den priorisierten Studiengang aktiviert ist, dann die Sprachen anzeigen + if($sprachwahl==true) + { + //Liste der Sprachen, die in den Gebieten vorkommen koennen + $qry = "SELECT distinct sprache + FROM + testtool.tbl_pruefling + JOIN testtool.tbl_ablauf USING(studiengang_kz) + JOIN testtool.tbl_frage USING(gebiet_id) + JOIN testtool.tbl_frage_sprache USING(frage_id) + WHERE + tbl_pruefling.pruefling_id=".$db->db_add_param($pruefling->pruefling_id)." + ORDER BY sprache DESC"; + echo $p->t('testtool/spracheDerTestfragen').':'; + if($result = $db->db_query($qry)) + { + while($row = $db->db_fetch_object($result)) + { + if($_SESSION['sprache']==$row->sprache) + $selected='style="border:1px solid black;"'; + else + $selected=''; + echo " sprache' class='Item' $selected>$row->sprache"; + } + } + } + echo '


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


    +
    + '.$p->t('testtool/willkommenstext').' +
    '; + } +?> + + + From 80afb74be9db1e0d59411a074938de135db2d6d5 Mon Sep 17 00:00:00 2001 From: Cris Date: Thu, 25 Apr 2019 13:14:57 +0200 Subject: [PATCH 04/13] Modified RT-menu: Styled logout link Now the logout link is also integrated in the menu. --- cis/testtool/login.php | 3 +-- cis/testtool/menu.php | 10 ++++++++-- skin/styles/tw.css | 13 +++++++++++++ 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/cis/testtool/login.php b/cis/testtool/login.php index 31d12747e..7f927a7c9 100644 --- a/cis/testtool/login.php +++ b/cis/testtool/login.php @@ -403,7 +403,7 @@ if(isset($_POST['save']) && isset($_SESSION['prestudent_id'])) $sprachwahl = $ablauf->result[0]->sprachwahl; } - //Prestudent Informationen und Logout + //Prestudent Informationen echo '
    '; echo '
    '.$p->t('testtool/begruessungstext').'

    '; echo ''.$p->t('zeitaufzeichnung/id').': '.$_SESSION['prestudent_id'].'
    '; @@ -462,7 +462,6 @@ if(isset($_POST['save']) && isset($_SESSION['prestudent_id'])) { echo ''.$p->t('global/studiengang').': '.$typ->bezeichnung.' '.($sprache_user=='English'?$stg_obj->english:$stg_obj->bezeichnung).'

    '; } - echo ''; echo '
    '; echo '

    '; diff --git a/cis/testtool/menu.php b/cis/testtool/menu.php index d5dfcf42b..88eedfd35 100644 --- a/cis/testtool/menu.php +++ b/cis/testtool/menu.php @@ -97,7 +97,7 @@ if (isset($_SESSION['pruefling_id'])) // Link zur Startseite echo '
    - '.$p->t('testtool/startseite').' + '.$p->t('testtool/startseite').'
    - '.$p->t('testtool/einleitung').' + '.$p->t('testtool/einleitung').'
    '; @@ -383,6 +383,12 @@ if (isset($_SESSION['pruefling_id'])) } } echo '
    '; + + // Link zum Logout + echo '
    + Logout +
    '; } else diff --git a/skin/styles/tw.css b/skin/styles/tw.css index d6ecb9437..a2dabeb09 100644 --- a/skin/styles/tw.css +++ b/skin/styles/tw.css @@ -214,6 +214,13 @@ a.ItemTesttool display:block; padding: 5px 10px 5px 10px; } + +a.ItemTesttool.navButton +{ + background-color: #0a629c; + color: white; + padding: 10px; +} a.ItemTesttoolAktiv { color: #000; @@ -238,6 +245,12 @@ a:hover.ItemTesttool text-decoration: none; padding: 5px 10px 5px 10px; } +a:hover.ItemTesttool.navButton +{ + background-color: steelblue; + color: white; + padding: 10px; +} a.HyperItem /* ? */ { color: Black; text-decoration: none; From c81331290672339bf7f7c58bf56e46f744ace080 Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Fri, 26 Apr 2019 17:19:42 +0200 Subject: [PATCH 05/13] FAS Mitarbeiterimport UID optional --- vilesci/personen/import/mitarbeiterimport.php | 132 ++++++++++++++---- 1 file changed, 105 insertions(+), 27 deletions(-) diff --git a/vilesci/personen/import/mitarbeiterimport.php b/vilesci/personen/import/mitarbeiterimport.php index 8da54208f..561323795 100644 --- a/vilesci/personen/import/mitarbeiterimport.php +++ b/vilesci/personen/import/mitarbeiterimport.php @@ -119,17 +119,38 @@ if(isset($_GET['type']) && $_GET['type']=='getortcontent' && isset($_GET['plz']) echo getOrtDropDown($_GET['plz'], $_GET['gemeinde']); exit; } + +// Checken der UID mit Ajax +if(isset($_POST['checkUID'])) +{ + $uid = filter_input(INPUT_POST, 'uid'); + $bn = new benutzer(); + + if($bn->uid_exists($uid)) + { + echo json_encode(array( + 'status'=>'fehler', + 'msg'=>'UID ist bereits vorhanden')); + } + else + { + echo json_encode(array( + 'status'=>'ok', + 'msg'=>'')); + } + exit(); +} ?> - - - - - + + + + + - +

    MitarbeiterIn anlegen

    uid_exists($uid)) { $error = true; - $errormsg = 'Es konnte keine UID ermittelt werden'; + $errormsg = 'Die UID '.$uid.' existiert bereits'; } } @@ -758,22 +831,27 @@ else '; -echo ''; -echo ''; -echo ''; -echo ''; -echo ''; +echo ''; +echo ''; +echo ''; +echo ''; +//echo ''; +echo ''; +echo ''; echo ''; -echo ''; -echo ''; -echo ''; -echo ''; +//echo '
    Anrede
    Titel(Pre)
    Vorname
    Weitere Vornamen
    Nachname *
    Titel(Post)
    Wunsch-UID + + (optional, max. 32) +
    Anrede
    Titel(Pre)
    Vorname +   Weitere Vornamen 
    Nachname *
    Titel(Post)
    Geschlecht *'; echo '
    SVNR
    Ersatzkennzeichen
    Geburtsdatum * (Format: TT.MM.JJJJ)
    Adresse'; +echo ''; +echo ''; +echo ''; +echo ''; echo ''; -echo ''; -echo ''; +echo ''; +echo ''; echo ''; - -echo '
    SVNR
    Ersatzkennzeichen
    Geburtsdatum * (Format: TT.MM.JJJJ)
     
    Nation
    Postleitzahl
    Adresse
    Postleitzahl
    Adresse
    Gemeinde
    '; //wenn die Nation Oesterreich ist, dann wird ein DropDown fuer Gemeinde und Ort angezeigt. //wenn die Nation nicht Oesterreich ist, werden nur textfelder angezeigt @@ -814,15 +892,15 @@ if($adresse_nation=='A' && $plz!='') echo getOrtDropDown($plz, $gemeinde); } echo '
    '; +echo '
     
    '; echo ''; echo ''; echo ''; -echo ''; -echo 'EMail'; -echo 'Telefon'; -echo 'Mobil'; +echo ''; +echo 'EMail'; +echo 'Telefon'; +echo 'Mobil'; echo 'Letzte Ausbildung'; echo ''; echo 'Lektor'; echo 'Fixangestellt'; -echo 'Personalnummer (optional)'; -echo 'Anmerkungen'; +echo 'Personalnummer (optional)'; +echo 'Anmerkungen'; echo ''; if(($geburtsdatum=='' && $vorname=='' && $nachname=='') || $geburtsdatum_error) From df73c0456e64e5dca52d0e452e4f241ff4184b70 Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Fri, 26 Apr 2019 17:20:05 +0200 Subject: [PATCH 06/13] New Tablesorter fixed Date sorting --- vilesci/stammdaten/reihungstest_administration.php | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/vilesci/stammdaten/reihungstest_administration.php b/vilesci/stammdaten/reihungstest_administration.php index cec0074f2..b1db58e5e 100644 --- a/vilesci/stammdaten/reihungstest_administration.php +++ b/vilesci/stammdaten/reihungstest_administration.php @@ -92,18 +92,20 @@ echo ' - - - - - + '; + + include('../../include/meta/jquery.php'); + include('../../include/meta/jquery-tablesorter.php'); + +echo '