From 6efd12038af5e792da4c6b2274da44429e015352 Mon Sep 17 00:00:00 2001 From: Gerald Raab Date: Thu, 6 Sep 2007 09:39:09 +0000 Subject: [PATCH] --- .../lehre/benotungstool/studentenansicht.php | 843 +++++++++--------- 1 file changed, 433 insertions(+), 410 deletions(-) diff --git a/cis/private/lehre/benotungstool/studentenansicht.php b/cis/private/lehre/benotungstool/studentenansicht.php index c4523f08d..fba948922 100644 --- a/cis/private/lehre/benotungstool/studentenansicht.php +++ b/cis/private/lehre/benotungstool/studentenansicht.php @@ -344,88 +344,109 @@ if($result = pg_query($conn, $qry)) if (!isset($_GET["notenuebersicht"])) { - echo "
Leistungsuebersicht / NotenÜbersicht für $name

"; - $uebung_obj = new uebung($conn); - $uebung_obj->load_uebung($lehreinheit_id,1); - if(count($uebung_obj->uebungen)>0) - { - echo "'; + + echo " +
"; - echo "
Wählen Sie bitte eine Aufgabe aus (Kreuzerllisten, Abgaben): '; - - echo " -
"; + echo "
Wählen Sie bitte eine Aufgabe aus (Kreuzerllisten, Abgaben): '; - echo '
- - - - - - - - - -
+...freigeschaltet.
-...nicht freigeschaltet.
-
"; + + echo ''; + echo '
+ + + + + + + + + +
+...freigeschaltet.
-...nicht freigeschaltet.
+
"; + } + else + die("Derzeit gibt es keine Uebungen"); + } + else + { + echo "Derzeit sind keine Kreuzerllisten oder Abgaben angelegt"; } - else - die("Derzeit gibt es keine Uebungen"); @@ -510,350 +531,352 @@ if (!isset($_GET["notenuebersicht"])) } //********ANZEIGE DER EINGETRAGENEN KREUZERL*********** - $uebung_obj = new uebung($conn); - $uebung_obj->load($uebung_id); - $downloadname = str_replace($uebung_id,ereg_replace(' ','_',$uebung_obj->bezeichnung), $uebung_obj->angabedatei); - echo "Freigegeben von ".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon))." bis ".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis)); - echo "

$uebung_obj->bezeichnung

"; - if ($uebung_obj->angabedatei) - echo "Angabe: ".$downloadname."

"; - - - $ueb_obj = new uebung($conn); - if($ueb_obj->load_studentuebung($user, $uebung_id)) - { - $anmerkung = $ueb_obj->anmerkung; - $mitarbeit = $ueb_obj->mitarbeitspunkte; - $note = $ueb_obj->note; - } - else - { - $anmerkung = ''; - $mitarbeit = 0; - $note = null; - } - $anmerkung = ereg_replace("\n","
",htmlentities($anmerkung)); - - if ($uebung_obj->beispiele) - { + if ($l > 0) + { + $uebung_obj = new uebung($conn); + $uebung_obj->load($uebung_id); + $downloadname = str_replace($uebung_id,ereg_replace(' ','_',$uebung_obj->bezeichnung), $uebung_obj->angabedatei); + echo "Freigegeben von ".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon))." bis ".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis)); + echo "

$uebung_obj->bezeichnung

"; + if ($uebung_obj->angabedatei) + echo "Angabe: ".$downloadname."

"; - $qry_cnt = "SELECT count(*) as anzahl FROM campus.tbl_studentbeispiel WHERE beispiel_id IN (SELECT beispiel_id from campus.tbl_beispiel where uebung_id = $uebung_id) AND vorbereitet=true and student_uid = '$user'"; - if($result_cnt = pg_query($conn,$qry_cnt)) - if($row_cnt = pg_fetch_object($result_cnt)) - $anzahl = $row_cnt->anzahl; - - echo ""; - - echo " "; - if ($uebung_obj->maxbsp > 0) - echo ""; - if ($uebung_obj->maxstd > 0) - echo ""; - echo "
Maximale Anzahl der Beispiele/Student:".$uebung_obj->maxbsp."
Maximale Anzahl Studenten/Übung:".$uebung_obj->maxstd."
"; - echo " -
- - - - -
- ".($anmerkung!=''?'Anmerkungen:
'.$anmerkung.'

':'')." -
- - - - - - - - "; - $bsp_obj = new beispiel($conn); - $bsp_obj->load_beispiel($uebung_id); - - foreach ($bsp_obj->beispiele as $row) + $ueb_obj = new uebung($conn); + if($ueb_obj->load_studentuebung($user, $uebung_id)) { - $bsp_voll = false; - $stud_bsp_obj = new beispiel($conn); - - if ($uebung_obj->maxstd > 0) - { - $stud_bsp_obj->check_anzahl_studentbeispiel($row->beispiel_id); - if ($stud_bsp_obj->anzahl_studentbeispiel >= $uebung_obj->maxstd) - $bsp_voll = true; - } - if($stud_bsp_obj->load_studentbeispiel($user, $row->beispiel_id)) - { - $vorbereitet = $stud_bsp_obj->vorbereitet; - $probleme = $stud_bsp_obj->probleme; - } - else - { - $vorbereitet = false; - $probleme = false; - } - if ($bsp_voll) - { - $ro = " disabled"; - $markiert = " style='background-color:#dddddd;'"; - } - else - { - $ro = ""; - $markiert = ""; - } - echo " - - - - - - "; - - + $anmerkung = $ueb_obj->anmerkung; + $mitarbeit = $ueb_obj->mitarbeitspunkte; + $note = $ueb_obj->note; } - - //Speichern button nur Anzeigen wenn die Uebung Freigegeben ist - if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)mktime_fromtimestamp($uebung_obj->freigabebis)>time()) - echo ""; - - echo "
BeispielVorbereitetNicht vorbereitetProblemePunkte
$row->bezeichnung$row->punkte
"; - echo " -
"; - - //Gesamtpunkte diese Kreuzerlliste - $qry = "SELECT sum(punkte) as punktegesamt FROM campus.tbl_beispiel WHERE uebung_id='$uebung_id'"; - $punkte_gesamt=0; - if($result=pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $punkte_gesamt = $row->punktegesamt; - - //Eingetragen diese Kreuzerlliste - $qry = "SELECT sum(punkte) as punkteeingetragen FROM campus.tbl_beispiel JOIN campus.tbl_studentbeispiel USING(beispiel_id) WHERE uebung_id='$uebung_id' AND student_uid='$user' AND vorbereitet=true"; - $punkte_eingetragen=0; - if($result=pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0); - - //Gesamtpunkte alle Kreuzerllisten in dieser Übung - $ueb_help = new uebung($conn, $uebung_id); - $liste_id = $ueb_help->liste_id; - $qry = "SELECT sum(tbl_beispiel.punkte) as punktegesamt_alle FROM campus.tbl_beispiel, campus.tbl_uebung - WHERE tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND - tbl_uebung.lehreinheit_id='$lehreinheit_id' and tbl_uebung.liste_id = '$liste_id'"; - $punkte_gesamt_alle=0; - if($result=pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $punkte_gesamt_alle = $row->punktegesamt_alle; - - //Eingetragen alle Kreuzerllisten - $qry = "SELECT sum(tbl_beispiel.punkte) as punkteeingetragen_alle FROM campus.tbl_beispiel, campus.tbl_studentbeispiel, campus.tbl_uebung - WHERE tbl_beispiel.beispiel_id = tbl_studentbeispiel.beispiel_id AND - tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND - tbl_uebung.lehreinheit_id='$lehreinheit_id' AND - tbl_uebung.liste_id = '$liste_id' AND - tbl_studentbeispiel.student_uid='$user' AND vorbereitet=true"; - $punkte_eingetragen_alle=0; - if($result=pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $punkte_eingetragen_alle = ($row->punkteeingetragen_alle!=''?$row->punkteeingetragen_alle:0); - - //Mitarbeitspunkte - $qry = "SELECT sum(mitarbeitspunkte) as mitarbeitspunkte FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) - WHERE lehreinheit_id='$lehreinheit_id' AND student_uid='$user' AND liste_id = '$liste_id'"; - $mitarbeit_alle=0; - if($result=pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $mitarbeit_alle = ($row->mitarbeitspunkte!=''?$row->mitarbeitspunkte:0); - - //Mitarbeitspunkte - $qry = "SELECT mitarbeitspunkte FROM campus.tbl_studentuebung - WHERE uebung_id='$uebung_id' AND student_uid='$user'"; - $mitarbeit=0; - if($result=pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $mitarbeit = $row->mitarbeitspunkte; - echo " - - - - - - - - - - - - - -
Diese Kreuzerlliste:
Punkte insgesamt möglich:$punkte_gesamt
Punkte eingetragen:$punkte_eingetragen
-

- - - - - - - - - - - - -
Alle Kreuzerllisten bisher:
Punkte insgesamt möglich:$punkte_gesamt_alle
Punkte eingetragen:$punkte_eingetragen_alle
-

- - - - - - - - - - - - -
Mitarbeitspunkte:
Bisher insgesamt:$mitarbeit_alle
Diese Kreuzerlliste:$mitarbeit
- "; - - - echo " -
- -
- "; - - //**********STATISTIK*************** - if($uebung_obj->statistik) + else { - echo "

Statistik

"; - $beispiel_obj = new beispiel($conn); - if($beispiel_obj->load_beispiel($uebung_id)) - { - if(count($beispiel_obj->beispiele)>0) - { - echo ' - - - - '; - $i=0; - $qry_cnt = "SELECT distinct student_uid FROM campus.tbl_studentbeispiel JOIN campus.tbl_beispiel USING(beispiel_id) WHERE uebung_id='$uebung_id' GROUP BY student_uid"; - if($result_cnt = pg_query($conn,$qry_cnt)) - $gesamt=pg_num_rows($result_cnt); - - foreach ($beispiel_obj->beispiele as $row) - { - $i++; - $solved = 0; - $psolved = 0; - $qry_cnt = "SELECT count(*) as anzahl FROM campus.tbl_studentbeispiel WHERE beispiel_id=$row->beispiel_id AND vorbereitet=true"; - if($result_cnt = pg_query($conn,$qry_cnt)) - if($row_cnt = pg_fetch_object($result_cnt)) - $solved = $row_cnt->anzahl; - - - - if($solved>0) - $psolved = $solved/$gesamt*100; - - echo ' - - - '; - } - echo "
  - - - - -
 
-
- '.$row->bezeichnung.' - - - - - -
- - - - -
- -  '.$solved.' ['.number_format($psolved,1,'.','').'%] -
-
-
"; - echo "

Es haben insgesamt $gesamt Studenten eingetragen."; - } - } - else - echo "$beispiel_obj->errormsg"; - echo ""; - echo ""; - } - } - else if ($uebung_obj->abgabe) - { + $anmerkung = ''; + $mitarbeit = 0; + $note = null; + } + $anmerkung = ereg_replace("\n","
",htmlentities($anmerkung)); - echo "\n"; - echo "\n"; - echo" - - "; - echo "\n"; - - echo "\n"; - $uebung_obj->load_studentuebung($user, $uebung_id); - if ($uebung_obj->abgabe_id) - { - $uebung_obj->load_abgabe($uebung_obj->abgabe_id); - echo " "; - echo" "; - echo ""; - } - if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)mktime_fromtimestamp($uebung_obj->freigabebis)>time()) + if ($uebung_obj->beispiele) { - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - } - echo "
".($note!=''?'Note: '.$note.'

':'')."
- ".($anmerkung!=''?'Anmerkungen:
'.$anmerkung.'

':'')." -

Abgabedatei: ".$uebung_obj->abgabedatei.""; - if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)mktime_fromtimestamp($uebung_obj->freigabebis)>time()) - echo " [del]
\n"; - echo " "; - echo "
\n"; + + $qry_cnt = "SELECT count(*) as anzahl FROM campus.tbl_studentbeispiel WHERE beispiel_id IN (SELECT beispiel_id from campus.tbl_beispiel where uebung_id = $uebung_id) AND vorbereitet=true and student_uid = '$user'"; + if($result_cnt = pg_query($conn,$qry_cnt)) + if($row_cnt = pg_fetch_object($result_cnt)) + $anzahl = $row_cnt->anzahl; + + echo ""; + + echo " "; + if ($uebung_obj->maxbsp > 0) + echo ""; + if ($uebung_obj->maxstd > 0) + echo ""; + echo "
Maximale Anzahl der Beispiele/Student:".$uebung_obj->maxbsp."
Maximale Anzahl Studenten/Übung:".$uebung_obj->maxstd."
"; + echo " +
+ + + + +
+ ".($anmerkung!=''?'Anmerkungen:
'.$anmerkung.'

':'')." +
+ + + + + + + + "; + + $bsp_obj = new beispiel($conn); + $bsp_obj->load_beispiel($uebung_id); + + foreach ($bsp_obj->beispiele as $row) + { + $bsp_voll = false; + $stud_bsp_obj = new beispiel($conn); + + if ($uebung_obj->maxstd > 0) + { + $stud_bsp_obj->check_anzahl_studentbeispiel($row->beispiel_id); + if ($stud_bsp_obj->anzahl_studentbeispiel >= $uebung_obj->maxstd) + $bsp_voll = true; + } + if($stud_bsp_obj->load_studentbeispiel($user, $row->beispiel_id)) + { + $vorbereitet = $stud_bsp_obj->vorbereitet; + $probleme = $stud_bsp_obj->probleme; + } + else + { + $vorbereitet = false; + $probleme = false; + } + if ($bsp_voll) + { + $ro = " disabled"; + $markiert = " style='background-color:#dddddd;'"; + } + else + { + $ro = ""; + $markiert = ""; + } + echo " + + + + + + "; + + + } + + //Speichern button nur Anzeigen wenn die Uebung Freigegeben ist + if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)mktime_fromtimestamp($uebung_obj->freigabebis)>time()) + echo ""; + + echo "
BeispielVorbereitetNicht vorbereitetProblemePunkte
$row->bezeichnung$row->punkte
"; + echo " +
"; + + //Gesamtpunkte diese Kreuzerlliste + $qry = "SELECT sum(punkte) as punktegesamt FROM campus.tbl_beispiel WHERE uebung_id='$uebung_id'"; + $punkte_gesamt=0; + if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $punkte_gesamt = $row->punktegesamt; + + //Eingetragen diese Kreuzerlliste + $qry = "SELECT sum(punkte) as punkteeingetragen FROM campus.tbl_beispiel JOIN campus.tbl_studentbeispiel USING(beispiel_id) WHERE uebung_id='$uebung_id' AND student_uid='$user' AND vorbereitet=true"; + $punkte_eingetragen=0; + if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0); + + //Gesamtpunkte alle Kreuzerllisten in dieser Übung + $ueb_help = new uebung($conn, $uebung_id); + $liste_id = $ueb_help->liste_id; + $qry = "SELECT sum(tbl_beispiel.punkte) as punktegesamt_alle FROM campus.tbl_beispiel, campus.tbl_uebung + WHERE tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND + tbl_uebung.lehreinheit_id='$lehreinheit_id' and tbl_uebung.liste_id = '$liste_id'"; + $punkte_gesamt_alle=0; + if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $punkte_gesamt_alle = $row->punktegesamt_alle; + + //Eingetragen alle Kreuzerllisten + $qry = "SELECT sum(tbl_beispiel.punkte) as punkteeingetragen_alle FROM campus.tbl_beispiel, campus.tbl_studentbeispiel, campus.tbl_uebung + WHERE tbl_beispiel.beispiel_id = tbl_studentbeispiel.beispiel_id AND + tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND + tbl_uebung.lehreinheit_id='$lehreinheit_id' AND + tbl_uebung.liste_id = '$liste_id' AND + tbl_studentbeispiel.student_uid='$user' AND vorbereitet=true"; + $punkte_eingetragen_alle=0; + if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $punkte_eingetragen_alle = ($row->punkteeingetragen_alle!=''?$row->punkteeingetragen_alle:0); + + //Mitarbeitspunkte + $qry = "SELECT sum(mitarbeitspunkte) as mitarbeitspunkte FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) + WHERE lehreinheit_id='$lehreinheit_id' AND student_uid='$user' AND liste_id = '$liste_id'"; + $mitarbeit_alle=0; + if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $mitarbeit_alle = ($row->mitarbeitspunkte!=''?$row->mitarbeitspunkte:0); + + //Mitarbeitspunkte + $qry = "SELECT mitarbeitspunkte FROM campus.tbl_studentuebung + WHERE uebung_id='$uebung_id' AND student_uid='$user'"; + $mitarbeit=0; + if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $mitarbeit = $row->mitarbeitspunkte; + echo " + + + + + + + + + + + + + +
Diese Kreuzerlliste:
Punkte insgesamt möglich:$punkte_gesamt
Punkte eingetragen:$punkte_eingetragen
+

+ + + + + + + + + + + + +
Alle Kreuzerllisten bisher:
Punkte insgesamt möglich:$punkte_gesamt_alle
Punkte eingetragen:$punkte_eingetragen_alle
+

+ + + + + + + + + + + + +
Mitarbeitspunkte:
Bisher insgesamt:$mitarbeit_alle
Diese Kreuzerlliste:$mitarbeit
+ "; + + + echo " +
+ +
+ "; + + //**********STATISTIK*************** + if($uebung_obj->statistik) + { + echo "

Statistik

"; + $beispiel_obj = new beispiel($conn); + if($beispiel_obj->load_beispiel($uebung_id)) + { + if(count($beispiel_obj->beispiele)>0) + { + echo ' + + + + '; + $i=0; + $qry_cnt = "SELECT distinct student_uid FROM campus.tbl_studentbeispiel JOIN campus.tbl_beispiel USING(beispiel_id) WHERE uebung_id='$uebung_id' GROUP BY student_uid"; + if($result_cnt = pg_query($conn,$qry_cnt)) + $gesamt=pg_num_rows($result_cnt); + + foreach ($beispiel_obj->beispiele as $row) + { + $i++; + $solved = 0; + $psolved = 0; + $qry_cnt = "SELECT count(*) as anzahl FROM campus.tbl_studentbeispiel WHERE beispiel_id=$row->beispiel_id AND vorbereitet=true"; + if($result_cnt = pg_query($conn,$qry_cnt)) + if($row_cnt = pg_fetch_object($result_cnt)) + $solved = $row_cnt->anzahl; + + + + if($solved>0) + $psolved = $solved/$gesamt*100; + + echo ' + + + '; + } + echo "
  + + + + +
 
+
+ '.$row->bezeichnung.' + + + + + +
+ + + + +
+ +  '.$solved.' ['.number_format($psolved,1,'.','').'%] +
+
+
"; + echo "

Es haben insgesamt $gesamt Studenten eingetragen."; + } + } + else + echo "$beispiel_obj->errormsg"; + echo ""; + echo ""; + } + } + else if ($uebung_obj->abgabe) + { + + echo "\n"; + echo "\n"; + echo" + + "; + echo "\n"; + + echo "\n"; + $uebung_obj->load_studentuebung($user, $uebung_id); + if ($uebung_obj->abgabe_id) + { + $uebung_obj->load_abgabe($uebung_obj->abgabe_id); + echo " "; + echo" "; + echo ""; + } + if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)mktime_fromtimestamp($uebung_obj->freigabebis)>time()) + { + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + } + echo "
".($note!=''?'Note: '.$note.'

':'')."
+ ".($anmerkung!=''?'Anmerkungen:
'.$anmerkung.'

':'')." +

Abgabedatei: ".$uebung_obj->abgabedatei.""; + if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)mktime_fromtimestamp($uebung_obj->freigabebis)>time()) + echo " [del]
\n"; + echo " "; + echo "
\n"; + + } } - } //notenübersicht else