From 391d6f109c38c14a3a660ab1314497e33012ec88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Thu, 14 Feb 2008 08:45:52 +0000 Subject: [PATCH] --- cis/private/lehre/menu.php | 2 +- cis/testtool/auswertung.php | 316 +++++++++++------- content/student/studentDBDML.php | 2 + .../student/studentabschlusspruefung.js.php | 6 + .../studentabschlusspruefungoverlay.xul.php | 16 +- content/student/studentprojektarbeit.js.php | 6 + .../studentprojektarbeitoverlay.xul.php | 4 + include/abschlusspruefung.class.php | 9 +- include/projektarbeit.class.php | 26 +- rdf/abschlusspruefung.rdf.php | 1 + rdf/lehreinheit.rdf.php | 6 +- rdf/projektarbeit.rdf.php | 1 + .../TempusStPoeltenExtern.xpi | Bin 3204 -> 13104 bytes .../chrome/content/tempusextern.xul | 2 +- .../chrome/tempusextern.jar | Bin 957 -> 4850 bytes vilesci/admin/xslvorlagen/bakkzeugnis.xsl | 2 +- vilesci/admin/xslvorlagen/diplomzeugnis.xsl | 4 +- 17 files changed, 258 insertions(+), 145 deletions(-) diff --git a/cis/private/lehre/menu.php b/cis/private/lehre/menu.php index cc87de48b..21f8b0b50 100644 --- a/cis/private/lehre/menu.php +++ b/cis/private/lehre/menu.php @@ -264,7 +264,7 @@ function js_toggle_container(conid) load_lva($course_id,$term_id, null, true)) + if(!$lv_obj->load_lva($course_id,$term_id, null, true, true)) echo "$lv_obj->errormsg"; foreach($lv_obj->lehrveranstaltungen as $row) diff --git a/cis/testtool/auswertung.php b/cis/testtool/auswertung.php index 04d38ef4c..22dad712c 100644 --- a/cis/testtool/auswertung.php +++ b/cis/testtool/auswertung.php @@ -1,12 +1,37 @@ , + * Andreas Oesterreicher and + * Rudolf Hangl . + */ + +require_once('../config.inc.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/studiengang.class.php'); function sortByField($multArray,$sortField,$desc=true) { $tmpKey=''; $ResArray=array(); + if(!is_array($multArray)) + return array(); + $maIndex=array_keys($multArray); $maSize=count($multArray)-1; @@ -41,12 +66,17 @@ function sortByField($multArray,$sortField,$desc=true) if (!$conn = pg_connect(CONN_STRING)) die("Es konnte keine Verbindung zum Server aufgebaut werden."); +$ergebnis=''; +$kategorie=array(); +$erg_kat=array(); + // Reihungstests laden $sql_query="; SELECT * FROM public.tbl_reihungstest WHERE date_part('year',datum)=date_part('year',now()) ORDER BY datum,uhrzeit"; //echo $sql_query; if(!($result=pg_query($conn, $sql_query))) die(pg_errormessage($conn)); + while ($row=pg_fetch_object($result)) { $rtest[$row->reihungstest_id]->reihungstest_id=$row->reihungstest_id; @@ -59,121 +89,158 @@ while ($row=pg_fetch_object($result)) if (isset($_POST['reihungstest'])) { -// Vorkommende Gebiete laden -$sql_query="SELECT DISTINCT gebiet_id, gebiet FROM testtool.vw_auswertung"; -//echo $sql_query; -if(!($result=pg_query($conn, $sql_query))) - die(pg_errormessage($conn)); -while ($row=pg_fetch_object($result)) -{ - $gebiet[$row->gebiet_id]->name=$row->gebiet; - $gebiet[$row->gebiet_id]->gebiet_id=$row->gebiet_id; -} - -// Ergebnisse laden -$sql_query="SELECT vw_auswertung.* FROM testtool.vw_auswertung"; -if (isset($_POST['reihungstest'])) - $sql_query.=' JOIN public.tbl_prestudent USING (prestudent_id) WHERE TRUE OR reihungstest_id='.$_POST['reihungstest']; - -//echo $sql_query; -if(!($result=pg_query($conn, $sql_query))) - die(pg_errormessage($conn)); - -while ($row=pg_fetch_object($result)) -{ - $ergebnis[$row->pruefling_id]->pruefling_id=$row->pruefling_id; - $ergebnis[$row->pruefling_id]->nachname=$row->nachname; - $ergebnis[$row->pruefling_id]->vorname=$row->vorname; - $ergebnis[$row->pruefling_id]->gebdatum=$row->gebdatum; - $ergebnis[$row->pruefling_id]->geschlecht=$row->geschlecht; - $ergebnis[$row->pruefling_id]->idnachweis=$row->idnachweis; - $ergebnis[$row->pruefling_id]->registriert=$row->registriert; - $ergebnis[$row->pruefling_id]->stg_kurzbz=$row->stg_kurzbz; - $ergebnis[$row->pruefling_id]->stg_bez=$row->stg_bez; - $ergebnis[$row->pruefling_id]->gruppe=$row->gruppe_kurzbz; - $ergebnis[$row->pruefling_id]->gebiet[$row->gebiet_id]->name=$row->gebiet; - $ergebnis[$row->pruefling_id]->gebiet[$row->gebiet_id]->anz_fragen=$row->anz_fragen; - $ergebnis[$row->pruefling_id]->gebiet[$row->gebiet_id]->abzug=$row->abzug; - $ergebnis[$row->pruefling_id]->gebiet[$row->gebiet_id]->anz_richtig=$row->anz_richtig; - $ergebnis[$row->pruefling_id]->gebiet[$row->gebiet_id]->anz_antworten=$row->anz_antworten; - $ergebnis[$row->pruefling_id]->gebiet[$row->gebiet_id]->anz_falsch=$row->anz_falsch; - $ergebnis[$row->pruefling_id]->gebiet[$row->gebiet_id]->punkte=$row->punkte; - $ergebnis[$row->pruefling_id]->gebiet[$row->gebiet_id]->prozent=$row->prozent; - if (isset($ergebnis[$row->pruefling_id]->gesamt)) - $ergebnis[$row->pruefling_id]->gesamt+=$row->prozent; - else - $ergebnis[$row->pruefling_id]->gesamt=$row->prozent; -} - $ergb=sortByField($ergebnis,'gesamt'); - - -// Vorkommende Kategorien laden -$sql_query="SELECT DISTINCT kategorie_kurzbz FROM testtool.vw_auswertung_kategorie"; -if (isset($_POST['reihungstest'])) - $sql_query.=' JOIN public.tbl_prestudent USING (prestudent_id) WHERE reihungstest_id='.$_POST['reihungstest']; -//echo $sql_query; -if(!($result=pg_query($conn, $sql_query))) - die(pg_errormessage($conn)); -while ($row=pg_fetch_object($result)) - $kategorie[$row->kategorie_kurzbz]->name=$row->kategorie_kurzbz; - -// Ergebnisse laden -$sql_query="SELECT vw_auswertung_kategorie.*, tbl_kriterien.typ - FROM (testtool.vw_auswertung_kategorie JOIN testtool.tbl_kriterien USING (kategorie_kurzbz))"; -if (isset($_POST['reihungstest'])) - $sql_query.=' JOIN public.tbl_prestudent USING (prestudent_id)'; -$sql_query.=" WHERE vw_auswertung_kategorie.gebiet_id=tbl_kriterien.gebiet_id AND tbl_kriterien.punkte=vw_auswertung_kategorie.richtig"; -if (isset($_POST['reihungstest'])) - $sql_query.=' AND reihungstest_id='.$_POST['reihungstest']; - -$sql_query.=" ORDER BY pruefling_id, kategorie_kurzbz"; -//echo $sql_query; -if(!($result=pg_query($conn, $sql_query))) - die(pg_errormessage($conn)); - -while ($row=pg_fetch_object($result)) -{ - $erg_kat[$row->pruefling_id]->pruefling_id=$row->pruefling_id; - $erg_kat[$row->pruefling_id]->nachname=$row->nachname; - $erg_kat[$row->pruefling_id]->vorname=$row->vorname; - $erg_kat[$row->pruefling_id]->gebdatum=$row->gebdatum; - $erg_kat[$row->pruefling_id]->geschlecht=$row->geschlecht; - $erg_kat[$row->pruefling_id]->idnachweis=$row->idnachweis; - $erg_kat[$row->pruefling_id]->registriert=$row->registriert; - $erg_kat[$row->pruefling_id]->stg_kurzbz=$row->stg_kurzbz; - $erg_kat[$row->pruefling_id]->stg_bez=$row->stg_bez; - $erg_kat[$row->pruefling_id]->gruppe=$row->gruppe_kurzbz; - $erg_kat[$row->pruefling_id]->kategorie[$row->kategorie_kurzbz]->name=$row->kategorie_kurzbz; - $erg_kat[$row->pruefling_id]->kategorie[$row->kategorie_kurzbz]->richtig=$row->richtig; - $erg_kat[$row->pruefling_id]->kategorie[$row->kategorie_kurzbz]->falsch=$row->falsch; - $erg_kat[$row->pruefling_id]->kategorie[$row->kategorie_kurzbz]->gesamt=$row->gesamt; - $erg_kat[$row->pruefling_id]->kategorie[$row->kategorie_kurzbz]->typ=$row->typ; - $erg_kat[$row->pruefling_id]->kategorie[$row->kategorie_kurzbz]->punkte=$row->richtig.'/'.$row->gesamt; + // Vorkommende Gebiete laden + $sql_query="SELECT DISTINCT gebiet_id, gebiet FROM testtool.vw_auswertung"; + //echo $sql_query; + if(!($result=pg_query($conn, $sql_query))) + die(pg_errormessage($conn)); + while ($row=pg_fetch_object($result)) + { + $gebiet[$row->gebiet_id]->name=$row->gebiet; + $gebiet[$row->gebiet_id]->gebiet_id=$row->gebiet_id; + } + + // Ergebnisse laden + $sql_query="SELECT vw_auswertung.* FROM testtool.vw_auswertung"; + if (isset($_POST['reihungstest'])) + $sql_query.=' JOIN public.tbl_prestudent USING (prestudent_id) WHERE reihungstest_id='.$_POST['reihungstest']; + if(isset($_POST['studiengang']) && $_POST['studiengang']!='') + $sql_query.=" AND tbl_prestudent.studiengang_kz='".$_POST['studiengang']."'"; + + //echo $sql_query; + if(!($result=pg_query($conn, $sql_query))) + die(pg_errormessage($conn)); + + while ($row=pg_fetch_object($result)) + { + $ergebnis[$row->pruefling_id]->pruefling_id=$row->pruefling_id; + $ergebnis[$row->pruefling_id]->nachname=$row->nachname; + $ergebnis[$row->pruefling_id]->vorname=$row->vorname; + $ergebnis[$row->pruefling_id]->gebdatum=$row->gebdatum; + $ergebnis[$row->pruefling_id]->geschlecht=$row->geschlecht; + $ergebnis[$row->pruefling_id]->idnachweis=$row->idnachweis; + $ergebnis[$row->pruefling_id]->registriert=$row->registriert; + $ergebnis[$row->pruefling_id]->stg_kurzbz=$row->stg_kurzbz; + $ergebnis[$row->pruefling_id]->stg_bez=$row->stg_bez; + $ergebnis[$row->pruefling_id]->gruppe=$row->gruppe_kurzbz; + $ergebnis[$row->pruefling_id]->gebiet[$row->gebiet_id]->name=$row->gebiet; + $ergebnis[$row->pruefling_id]->gebiet[$row->gebiet_id]->anz_fragen=$row->anz_fragen; + $ergebnis[$row->pruefling_id]->gebiet[$row->gebiet_id]->abzug=$row->abzug; + $ergebnis[$row->pruefling_id]->gebiet[$row->gebiet_id]->anz_richtig=$row->anz_richtig; + $ergebnis[$row->pruefling_id]->gebiet[$row->gebiet_id]->anz_antworten=$row->anz_antworten; + $ergebnis[$row->pruefling_id]->gebiet[$row->gebiet_id]->anz_falsch=$row->anz_falsch; + $ergebnis[$row->pruefling_id]->gebiet[$row->gebiet_id]->punkte=$row->punkte; + $ergebnis[$row->pruefling_id]->gebiet[$row->gebiet_id]->prozent=$row->prozent; + if (isset($ergebnis[$row->pruefling_id]->gesamt)) + $ergebnis[$row->pruefling_id]->gesamt+=$row->prozent; + else + $ergebnis[$row->pruefling_id]->gesamt=$row->prozent; + } + + $ergb=sortByField($ergebnis,'gesamt'); + + // Vorkommende Kategorien laden + $sql_query="SELECT DISTINCT kategorie_kurzbz FROM testtool.vw_auswertung_kategorie"; + if (isset($_POST['reihungstest'])) + $sql_query.=' JOIN public.tbl_prestudent USING (prestudent_id) WHERE reihungstest_id='.$_POST['reihungstest']; + if(isset($_POST['studiengang']) && $_POST['studiengang']!='') + $sql_query.=" AND tbl_prestudent.studiengang_kz='".$_POST['studiengang']."'"; + + //echo $sql_query; + if(!($result=pg_query($conn, $sql_query))) + die(pg_errormessage($conn)); + while ($row=pg_fetch_object($result)) + $kategorie[$row->kategorie_kurzbz]->name=$row->kategorie_kurzbz; + + // Ergebnisse laden + $sql_query="SELECT vw_auswertung_kategorie.*, tbl_kriterien.typ + FROM (testtool.vw_auswertung_kategorie JOIN testtool.tbl_kriterien USING (kategorie_kurzbz))"; + if (isset($_POST['reihungstest'])) + $sql_query.=' JOIN public.tbl_prestudent USING (prestudent_id)'; + $sql_query.=" WHERE vw_auswertung_kategorie.gebiet_id=tbl_kriterien.gebiet_id AND tbl_kriterien.punkte=vw_auswertung_kategorie.richtig"; + if (isset($_POST['reihungstest'])) + $sql_query.=' AND reihungstest_id='.$_POST['reihungstest']; + if(isset($_POST['studiengang']) && $_POST['studiengang']!='') + $sql_query.=" AND tbl_prestudent.studiengang_kz='".$_POST['studiengang']."'"; + + $sql_query.=" ORDER BY pruefling_id, kategorie_kurzbz"; + //echo $sql_query; + if(!($result=pg_query($conn, $sql_query))) + die(pg_errormessage($conn)); + + while ($row=pg_fetch_object($result)) + { + $erg_kat[$row->pruefling_id]->pruefling_id=$row->pruefling_id; + $erg_kat[$row->pruefling_id]->nachname=$row->nachname; + $erg_kat[$row->pruefling_id]->vorname=$row->vorname; + $erg_kat[$row->pruefling_id]->gebdatum=$row->gebdatum; + $erg_kat[$row->pruefling_id]->geschlecht=$row->geschlecht; + $erg_kat[$row->pruefling_id]->idnachweis=$row->idnachweis; + $erg_kat[$row->pruefling_id]->registriert=$row->registriert; + $erg_kat[$row->pruefling_id]->stg_kurzbz=$row->stg_kurzbz; + $erg_kat[$row->pruefling_id]->stg_bez=$row->stg_bez; + $erg_kat[$row->pruefling_id]->gruppe=$row->gruppe_kurzbz; + $erg_kat[$row->pruefling_id]->kategorie[$row->kategorie_kurzbz]->name=$row->kategorie_kurzbz; + $erg_kat[$row->pruefling_id]->kategorie[$row->kategorie_kurzbz]->richtig=$row->richtig; + $erg_kat[$row->pruefling_id]->kategorie[$row->kategorie_kurzbz]->falsch=$row->falsch; + $erg_kat[$row->pruefling_id]->kategorie[$row->kategorie_kurzbz]->gesamt=$row->gesamt; + $erg_kat[$row->pruefling_id]->kategorie[$row->kategorie_kurzbz]->typ=$row->typ; + $erg_kat[$row->pruefling_id]->kategorie[$row->kategorie_kurzbz]->punkte=$row->richtig.'/'.$row->gesamt; + } } -} -?> +//Studiengaenge laden +$stg_obj = new studiengang($conn); +$stg_obj->getAll(null, false); +$stg_arr = array(); + +foreach($stg_obj->result as $row) + $stg_arr[$row->studiengang_kz]=$row->kuerzel; + +?> - + Testtool - Auswertung - +

Auswertung Reihungstest

-Reihungstest wählen: 
+Reihungstest wählen:  - +Studiengang: + +
- IDNachnameVornamen - GebDatumGIdNachweis - RegistriertSTGStudiengang - Grp - $gbt->name"; + IDNachnameVornamen + GebDatumGIdNachweis + RegistriertSTGStudiengang + Grp + $gbt->name"; ?> Gesamt - + - PunkteProzent"; + PunkteProzent"; ?> Prozentpunkte - - - - - $erg->pruefling_id$erg->nachname$erg->vorname$erg->gebdatum$erg->geschlecht - $erg->idnachweis$erg->registriert$erg->stg_kurzbz$erg->stg_bez$erg->gruppe"; - foreach ($gebiet AS $gbt) + + $erg->pruefling_id$erg->nachname$erg->vorname$erg->gebdatum$erg->geschlecht + $erg->idnachweis$erg->registriert$erg->stg_kurzbz$erg->stg_bez$erg->gruppe"; + foreach ($gebiet AS $gbt) if (isset($erg->gebiet[$gbt->gebiet_id])) - echo ''.number_format($erg->gebiet[$gbt->gebiet_id]->punkte,2,',',' ').''.number_format($erg->gebiet[$gbt->gebiet_id]->prozent,2,',',' ').' %'; + echo ''.number_format($erg->gebiet[$gbt->gebiet_id]->punkte,2,',',' ').''.number_format($erg->gebiet[$gbt->gebiet_id]->prozent,2,',',' ').' %'; else echo ''; echo ''.number_format($erg->gesamt,2,',',' ').''; - echo ''; - } + echo ''; + } + } ?> @@ -239,9 +306,6 @@ if (isset($_POST['reihungstest'])) echo "PunkteTyp"; ?> - - - pruefer2 = $_POST['pruefer2']; $pruefung->pruefer3 = $_POST['pruefer3']; $pruefung->abschlussbeurteilung_kurzbz = $_POST['abschlussbeurteilung_kurzbz']; + $pruefung->note = $_POST['notekommpruef']; $pruefung->akadgrad_id = $_POST['akadgrad_id']; $pruefung->pruefungstyp_kurzbz = $_POST['pruefungstyp_kurzbz']; $pruefung->datum = $_POST['datum']; @@ -2514,6 +2515,7 @@ if(!$error) $projektarbeit->projekttyp_kurzbz = $_POST['projekttyp_kurzbz']; $projektarbeit->titel = $_POST['titel']; + $projektarbeit->titel_english = $_POST['titel_english']; $projektarbeit->lehreinheit_id = $_POST['lehreinheit_id']; $projektarbeit->student_uid = $_POST['student_uid']; $projektarbeit->firma_id = $_POST['firma_id']; diff --git a/content/student/studentabschlusspruefung.js.php b/content/student/studentabschlusspruefung.js.php index 2710d4c6c..12d1df550 100644 --- a/content/student/studentabschlusspruefung.js.php +++ b/content/student/studentabschlusspruefung.js.php @@ -120,6 +120,7 @@ function StudentAbschlusspruefungDetailDisableFields(val) document.getElementById('student-abschlusspruefung-menulist-pruefer2').disabled=val; document.getElementById('student-abschlusspruefung-menulist-pruefer3').disabled=val; document.getElementById('student-abschlusspruefung-menulist-abschlussbeurteilung').disabled=val; + document.getElementById('student-abschlusspruefung-menulist-notekommpruef').disabled=val; document.getElementById('student-abschlusspruefung-menulist-akadgrad').disabled=val; document.getElementById('student-abschlusspruefung-menulist-typ').disabled=val; document.getElementById('student-abschlusspruefung-datum-datum').disabled=val; @@ -141,6 +142,7 @@ function StudentAbschlusspruefungResetFields() document.getElementById('student-abschlusspruefung-menulist-pruefer2').value=''; document.getElementById('student-abschlusspruefung-menulist-pruefer3').value=''; document.getElementById('student-abschlusspruefung-menulist-abschlussbeurteilung').value=''; + document.getElementById('student-abschlusspruefung-menulist-notekommpruef').value=''; //document.getElementById('student-abschlusspruefung-menulist-akadgrad').value=''; //document.getElementById('student-abschlusspruefung-menulist-typ').value='Bachelor'; document.getElementById('student-abschlusspruefung-datum-datum').value=''; @@ -303,6 +305,7 @@ function StudentAbschlusspruefungAuswahl() pruefer3 = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#pruefer3" )); pruefer3_nachname = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#pruefer3_nachname" )); abschlussbeurteilung_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#abschlussbeurteilung_kurzbz" )); + notekommpruef = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#notekommpruef" )); akadgrad_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#akadgrad_id" )); datum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#datum" )); sponsion = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#sponsion" )); @@ -348,6 +351,7 @@ function StudentAbschlusspruefungAuswahl() MenulistSelectItemOnValue('student-abschlusspruefung-menulist-pruefer2', pruefer2); MenulistSelectItemOnValue('student-abschlusspruefung-menulist-pruefer3', pruefer3); document.getElementById('student-abschlusspruefung-menulist-abschlussbeurteilung').value=abschlussbeurteilung_kurzbz; + document.getElementById('student-abschlusspruefung-menulist-notekommpruef').value=notekommpruef; document.getElementById('student-abschlusspruefung-menulist-akadgrad').value=akadgrad_id; document.getElementById('student-abschlusspruefung-datum-datum').value=datum; document.getElementById('student-abschlusspruefung-datum-sponsion').value=sponsion; @@ -373,6 +377,7 @@ function StudentAbschlusspruefungSpeichern() pruefer2 = MenulistGetSelectedValue('student-abschlusspruefung-menulist-pruefer2'); pruefer3 = MenulistGetSelectedValue('student-abschlusspruefung-menulist-pruefer3'); abschlussbeurteilung_kurzbz = document.getElementById('student-abschlusspruefung-menulist-abschlussbeurteilung').value; + notekommpruef = document.getElementById('student-abschlusspruefung-menulist-notekommpruef').value; akadgrad_id = document.getElementById('student-abschlusspruefung-menulist-akadgrad').value; datum = document.getElementById('student-abschlusspruefung-datum-datum').value; sponsion = document.getElementById('student-abschlusspruefung-datum-sponsion').value; @@ -424,6 +429,7 @@ function StudentAbschlusspruefungSpeichern() req.add('pruefer2', pruefer2); req.add('pruefer3', pruefer3); req.add('abschlussbeurteilung_kurzbz', abschlussbeurteilung_kurzbz); + req.add('notekommpruef', notekommpruef); req.add('akadgrad_id', akadgrad_id); req.add('datum', datum); req.add('sponsion', sponsion); diff --git a/content/student/studentabschlusspruefungoverlay.xul.php b/content/student/studentabschlusspruefungoverlay.xul.php index a0835fc38..72456888d 100644 --- a/content/student/studentabschlusspruefungoverlay.xul.php +++ b/content/student/studentabschlusspruefungoverlay.xul.php @@ -167,6 +167,20 @@ echo ''; +