diff --git a/cis/private/lehre/benotungstool/anwesenheitsliste.php b/cis/private/lehre/benotungstool/anwesenheitsliste.php index 5493fc11a..2a5845c7f 100644 --- a/cis/private/lehre/benotungstool/anwesenheitsliste.php +++ b/cis/private/lehre/benotungstool/anwesenheitsliste.php @@ -15,7 +15,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * - * Authors: Christian Paminger , + * Authors: Christian Paminger , * Andreas Oesterreicher and * Rudolf Hangl . */ @@ -54,9 +54,9 @@ if(isset($_GET['uebung_id']) && is_numeric($_GET['uebung_id'])) } else { - if(!isset($_GET['all'])) + if(!isset($_GET['all'])) die('Fehlerhafte Parameteruebergabe'); - else + else { $lehreinheit_id = $_GET['lehreinheit_id']; $lehreinheit_obj = new lehreinheit($lehreinheit_id); @@ -78,11 +78,11 @@ if (isset($_GET["download_abgabe"])){ exit; } /* -$qry = "SELECT * FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE +$qry = "SELECT * FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE tbl_lehreinheit.lehreinheit_id=".$db->db_add_param($lehreinheit_obj->lehreinheit_id, FHC_INTEGER)." AND mitarbeiter_uid=".$db->db_add_param($user); */ -$qry = "SELECT * FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE +$qry = "SELECT * FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE tbl_lehreinheit.lehrveranstaltung_id in(Select lehrveranstaltung_id from lehre.tbl_lehreinheit where lehreinheit_id=".$db->db_add_param($lehreinheit_obj->lehreinheit_id, FHC_INTEGER).") AND mitarbeiter_uid=".$db->db_add_param($user); @@ -91,12 +91,12 @@ if(!$result = $db->db_query($qry)) $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); - + if(!($db->db_num_rows($result)>0 || $rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lehreinheit_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lehreinheit_obj->studiengang_kz))) die('Sie haben keine Berechtigung für diesen Bereich'); // Beteiligte Gruppen laden -$gruppen = ''; +$gruppen = ''; $qry_gruppen = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=".$db->db_add_param($lehreinheit_obj->lehreinheit_id, FHC_INTEGER); if($result_gruppen = $db->db_query($qry_gruppen)) { @@ -122,33 +122,33 @@ if(isset($_GET['output']) && $_GET['output']=='xls') //EXCEL VERSION / ALLE Kreuzerllisten $le_obj = new lehreinheit(); $le_obj->load($lehreinheit_id); - + $lv_obj = new lehrveranstaltung(); $lv_obj->load($le_obj->lehrveranstaltung_id); - + // Creating a workbook $workbook = new Spreadsheet_Excel_Writer(); $workbook->setVersion(8); // sending HTTP headers $workbook->send("Kreuzerlliste_Gesamt_".$lv_obj->lehreverzeichnis. "_" . date("d_m_Y") . ".xls"); - + // Creating a worksheet $worksheet =& $workbook->addWorksheet("Kreuzerltool"); $worksheet->setInputEncoding('utf-8'); - + $format_bold =& $workbook->addFormat(); $format_bold->setBold(); - + $format_title =& $workbook->addFormat(); $format_title->setBold(); // let's merge $format_title->setAlign('merge'); - - - + + + $worksheet->write(0,0,'Gesamtübersicht '.$lv_obj->bezeichnung.' vom '.date('d.m.Y'), $format_bold); $maxlength = array(); - + //Ueberschrift $i=0; $worksheet->write(1,$i,"Vorname", $format_title); @@ -174,7 +174,7 @@ if(isset($_GET['output']) && $_GET['output']=='xls') $maxlength[$i]=strlen('Punkte insgesamt'); $worksheet->write(1,++$i,"Unterschrift", $format_title); $maxlength[$i]=strlen('Unterschrift')+5; - + if(isset($_GET['gruppe']) && $_GET['gruppe']!='') { $gruppe = $_GET['gruppe']; @@ -188,49 +188,49 @@ if(isset($_GET['output']) && $_GET['output']=='xls') $gruppe_bez = 'Gruppe '.$row->gruppe_kurzbz; $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz=".$db->db_add_param($row->gruppe_kurzbz)." AND studiensemester_kurzbz = ".$db->db_add_param($stsem)." ORDER BY nachname, vorname"; } - else + else { $gruppe_bez = 'Gruppe '.$row->verband.$row->gruppe; - $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student - WHERE studiengang_kz=".$db->db_add_param($row->studiengang_kz)." + $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student + WHERE studiengang_kz=".$db->db_add_param($row->studiengang_kz)." AND semester=".$db->db_add_param($row->semester). ($row->verband!=''?" AND verband=".$db->db_add_param($row->verband):''). ($row->gruppe!=''?" AND gruppe=".$db->db_add_param($row->gruppe):''). " ORDER BY nachname, vorname"; } - + } else die('Gruppe konnte nicht ermittelt werden'); } - else + else die('Gruppe konnte nicht ermittelt werden'); } - else + else { if(isset($_GET['lehreinheit_id']) && $_GET['lehreinheit_id']!='') { $lehreinheit_id = $_GET['lehreinheit_id']; $gruppe_bez = 'Alle Studienrende'; //Alle Studenten die dieser Lehreinheit zugeordnet sind - $qry_stud = "SELECT - vw_student.uid, vorname, nachname, matrikelnr, - tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe - FROM - campus.vw_student, public.tbl_benutzergruppe, lehre.tbl_lehreinheitgruppe, + $qry_stud = "SELECT + vw_student.uid, vorname, nachname, matrikelnr, + tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe + FROM + campus.vw_student, public.tbl_benutzergruppe, lehre.tbl_lehreinheitgruppe, public.tbl_studentlehrverband, lehre.tbl_lehreinheit - WHERE - tbl_lehreinheitgruppe.lehreinheit_id=".$db->db_add_param($lehreinheit_id)." AND + WHERE + tbl_lehreinheitgruppe.lehreinheit_id=".$db->db_add_param($lehreinheit_id)." AND tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitgruppe.lehreinheit_id AND vw_student.uid = tbl_benutzergruppe.uid AND tbl_benutzergruppe.gruppe_kurzbz = tbl_lehreinheitgruppe.gruppe_kurzbz AND vw_student.uid=tbl_studentlehrverband.student_uid AND tbl_studentlehrverband.studiensemester_kurzbz=tbl_lehreinheit.studiensemester_kurzbz UNION - SELECT - vw_student.uid, vorname, nachname, matrikelnr, tbl_studentlehrverband.semester, - tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe - FROM + SELECT + vw_student.uid, vorname, nachname, matrikelnr, tbl_studentlehrverband.semester, + tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe + FROM campus.vw_student, lehre.tbl_lehreinheitgruppe, public.tbl_studentlehrverband, lehre.tbl_lehreinheit WHERE tbl_lehreinheitgruppe.lehreinheit_id=".$db->db_add_param($lehreinheit_id)." AND @@ -239,29 +239,29 @@ if(isset($_GET['output']) && $_GET['output']=='xls') tbl_studentlehrverband.student_uid=vw_student.uid AND tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitgruppe.lehreinheit_id AND tbl_lehreinheit.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz AND - ((tbl_lehreinheitgruppe.verband<>'' AND - tbl_lehreinheitgruppe.gruppe<>'' AND + ((tbl_lehreinheitgruppe.verband<>'' AND + tbl_lehreinheitgruppe.gruppe<>'' AND trim(tbl_lehreinheitgruppe.verband) = trim(tbl_studentlehrverband.verband) AND trim(tbl_lehreinheitgruppe.gruppe) = trim(tbl_studentlehrverband.gruppe)) OR - (tbl_lehreinheitgruppe.verband<>'' AND + (tbl_lehreinheitgruppe.verband<>'' AND (trim(tbl_lehreinheitgruppe.gruppe)='' OR tbl_lehreinheitgruppe.gruppe is null) AND trim(tbl_lehreinheitgruppe.verband) = trim(tbl_studentlehrverband.verband)) OR (tbl_lehreinheitgruppe.verband is null AND tbl_lehreinheitgruppe.gruppe is null) ) ORDER BY nachname, vorname"; } - else + else die('Fehler bei der Parameteruebergabe'); $gruppe=''; } - + if($result_stud = $db->db_query($qry_stud)) { $zeile=3; - + while($row_stud = $db->db_fetch_object($result_stud)) - { + { $spalte=0; $summe=0; //vorname @@ -275,15 +275,15 @@ if(isset($_GET['output']) && $_GET['output']=='xls') //matrikelnr $worksheet->write($zeile,++$spalte,'="'.$row_stud->matrikelnr.'"'); if(strlen($row_stud->matrikelnr)>$maxlength[$spalte]) - $maxlength[$spalte]=strlen($row_stud->matrikelnr); + $maxlength[$spalte]=strlen($row_stud->matrikelnr); //Gruppe $worksheet->write($zeile,++$spalte,$row_stud->semester.$row_stud->verband.$row_stud->gruppe); if(strlen($row_stud->semester.$row_stud->verband.$row_stud->gruppe)>$maxlength[$spalte]) $maxlength[$spalte]=strlen($row_stud->semester.$row_stud->verband.$row_stud->gruppe); - + foreach($ueb_obj->uebungen as $row_ueb) { - $qry = "SELECT sum(punkte) as punkte FROM campus.tbl_studentbeispiel JOIN campus.tbl_beispiel USING(beispiel_id) + $qry = "SELECT sum(punkte) as punkte FROM campus.tbl_studentbeispiel JOIN campus.tbl_beispiel USING(beispiel_id) WHERE uebung_id=".$db->db_add_param($row_ueb->uebung_id)." AND student_uid=".$db->db_add_param($row_stud->uid)." AND vorbereitet=true"; if($result = $db->db_query($qry)) { @@ -292,67 +292,67 @@ if(isset($_GET['output']) && $_GET['output']=='xls') $punkte = $row->punkte; $summe +=$punkte; } - else + else $punkte = 'failed'; } - else + else $punkte='failed'; //punkte auf uebung $worksheet->write($zeile,++$spalte,($punkte!=''?$punkte:'0')); } - + //summe $worksheet->write($zeile,++$spalte,$summe); - + //mitarbeit - $qry = "SELECT sum(mitarbeitspunkte) as mitarbeit FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) + $qry = "SELECT sum(mitarbeitspunkte) as mitarbeit FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) WHERE lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($row_stud->uid); if($result = $db->db_query($qry)) if($row = $db->db_fetch_object($result)) - $mitarbeit=$row->mitarbeit; - else + $mitarbeit=$row->mitarbeit; + else $mitarbeit='failed'; - else + else $mitarbeit='failed'; - + $worksheet->write($zeile,++$spalte,($row->mitarbeit!=''?$mitarbeit:'0')); //punkte insgesamt $worksheet->write($zeile,++$spalte,($summe+$mitarbeit), $format_bold); - - $zeile++; + + $zeile++; } for($i=0;$isetColumn(0, $i, $maxlength[$i]); } } - + $workbook->close(); } - else + else { //EXCEL VERSION / Einzelne Kreuzerlliste - + // Creating a workbook $workbook = new Spreadsheet_Excel_Writer(); $workbook->setVersion(8); - + // sending HTTP headers $workbook->send("Kreuzerltool". "_" . date("d_m_Y") . ".xls"); - + // Creating a worksheet $worksheet =& $workbook->addWorksheet("Kreuzerltool"); $worksheet->setInputEncoding('utf-8'); - + $format_bold =& $workbook->addFormat(); $format_bold->setBold(); - + $format_title =& $workbook->addFormat(); $format_title->setBold(); // let's merge $format_title->setAlign('merge'); - + $worksheet->write(0,0,$uebung_obj->bezeichnung.' am '.date('d.m.Y').' '.$gruppen, $format_bold); $maxlength = array(); //Ueberschrift @@ -382,7 +382,7 @@ if(isset($_GET['output']) && $_GET['output']=='xls') $maxlength[$i]=strlen('Mitarbeit insgesamt'); $worksheet->write(1,++$i,"Unterschrift", $format_title); $maxlength[$i]=strlen('Unterschrift')+5; - + if(isset($_GET['gruppe']) && $_GET['gruppe']!='') { $gruppe = $_GET['gruppe']; @@ -394,60 +394,60 @@ if(isset($_GET['output']) && $_GET['output']=='xls') if($row->gruppe_kurzbz!='') { $gruppe_bez = 'Gruppe '.$row->gruppe_kurzbz; - $qry_stud = "SELECT uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe - FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) + $qry_stud = "SELECT uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe + FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz=".$db->db_add_param($row->gruppe_kurzbz)." AND studiensemester_kurzbz=".$db->db_add_param($stsem)." ORDER BY nachname, vorname"; } - else + else { $gruppe_bez = 'Gruppe '.$row->verband.$row->gruppe; - $qry_stud = "SELECT uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe FROM campus.vw_student - WHERE studiengang_kz=".$db->db_add_param($row->studiengang_kz)." + $qry_stud = "SELECT uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe FROM campus.vw_student + WHERE studiengang_kz=".$db->db_add_param($row->studiengang_kz)." AND semester=".$db->db_add_param($row->semester). ($row->verband!=''?" AND verband=".$db->db_add_param($row->verband):''). ($row->gruppe!=''?" AND gruppe=".$db->db_add_param($row->gruppe):''). " ORDER BY nachname, vorname"; } - + } else die('Gruppe konnte nicht ermittelt werden'); } - else + else die('Gruppe konnte nicht ermittelt werden'); - - + + $lehreinheit_id = $uebung_obj->lehreinheit_id; } - else + else { if(isset($_GET['lehreinheit_id']) && $_GET['lehreinheit_id']!='') { $lehreinheit_id = $_GET['lehreinheit_id']; $gruppe_bez = 'Alle Studienrende'; - $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) + $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = ".$db->db_add_param($stsem)." AND lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." ORDER BY nachname, vorname"; - + //Alle Studenten die dieser Lehreinheit zugeordnet sind /* - $qry_stud = "SELECT vw_student.uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe - FROM campus.vw_student, public.tbl_benutzergruppe, lehre.tbl_lehreinheitgruppe - WHERE tbl_lehreinheitgruppe.lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." AND + $qry_stud = "SELECT vw_student.uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe + FROM campus.vw_student, public.tbl_benutzergruppe, lehre.tbl_lehreinheitgruppe + WHERE tbl_lehreinheitgruppe.lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." AND vw_student.uid = tbl_benutzergruppe.uid AND tbl_benutzergruppe.gruppe_kurzbz = tbl_lehreinheitgruppe.gruppe_kurzbz UNION - SELECT vw_student.uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe + SELECT vw_student.uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe FROM campus.vw_student, lehre.tbl_lehreinheitgruppe WHERE tbl_lehreinheitgruppe.lehreinheit_id=".$db->db_add_param($lehreinheit_id)." AND tbl_lehreinheitgruppe.studiengang_kz=vw_student.studiengang_kz AND tbl_lehreinheitgruppe.semester = vw_student.semester AND - ((tbl_lehreinheitgruppe.verband<>'' AND - tbl_lehreinheitgruppe.gruppe<>'' AND + ((tbl_lehreinheitgruppe.verband<>'' AND + tbl_lehreinheitgruppe.gruppe<>'' AND trim(tbl_lehreinheitgruppe.verband) = trim(vw_student.verband) AND trim(tbl_lehreinheitgruppe.gruppe) = trim(vw_student.gruppe)) OR - (tbl_lehreinheitgruppe.verband<>'' AND + (tbl_lehreinheitgruppe.verband<>'' AND (trim(tbl_lehreinheitgruppe.gruppe)='' OR tbl_lehreinheitgruppe.gruppe is null) AND trim(tbl_lehreinheitgruppe.verband) = trim(vw_student.verband)) OR (tbl_lehreinheitgruppe.verband is null AND tbl_lehreinheitgruppe.gruppe is null) @@ -455,7 +455,7 @@ if(isset($_GET['output']) && $_GET['output']=='xls') ORDER BY nachname, vorname"; */ } - else + else die('Fehler bei der Parameteruebergabe'); $gruppe=''; } @@ -463,9 +463,9 @@ if(isset($_GET['output']) && $_GET['output']=='xls') if($result_stud = $db->db_query($qry_stud)) { $zeile=3; - + while($row_stud = $db->db_fetch_object($result_stud)) - { + { $spalte=0; $punkte_heute=0; //vorname @@ -480,7 +480,7 @@ if(isset($_GET['output']) && $_GET['output']=='xls') $worksheet->write($zeile,++$spalte,'="'.$row_stud->matrikelnr.'"'); if(strlen($row_stud->matrikelnr)>$maxlength[$spalte]) $maxlength[$spalte]=strlen($row_stud->matrikelnr); - + //Gruppe /* $worksheet->write($zeile,++$spalte,$row_stud->semester.$row_stud->verband.$row_stud->gruppe); @@ -493,27 +493,27 @@ if(isset($_GET['output']) && $_GET['output']=='xls') $studentbeispiel_obj->load_studentbeispiel($row_stud->uid, $row_bsp->beispiel_id); if($studentbeispiel_obj->vorbereitet) $punkte = $row_bsp->punkte; - else + else $punkte = 0; $punkte_heute +=$punkte; //punkte auf uebung $worksheet->write($zeile,++$spalte,$punkte); } - + //punkte heute $worksheet->write($zeile,++$spalte,$punkte_heute); - + //mitarbeit heute - $qry = "SELECT sum(mitarbeitspunkte) as mitarbeit_heute FROM campus.tbl_studentuebung + $qry = "SELECT sum(mitarbeitspunkte) as mitarbeit_heute FROM campus.tbl_studentuebung WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($row_stud->uid); if($result = $db->db_query($qry)) if($row = $db->db_fetch_object($result)) $worksheet->write($zeile,++$spalte,($row->mitarbeit_heute!=''?$row->mitarbeit_heute:'0')); - else + else $worksheet->write($zeile,++$spalte,'failed'); - else + else $worksheet->write($zeile,++$spalte,'failed'); - + //punkte insgesamt $qry = "SELECT sum(tbl_beispiel.punkte) AS gesamt_ohne_mitarbeit FROM campus.tbl_uebung, campus.tbl_beispiel, campus.tbl_studentbeispiel WHERE tbl_studentbeispiel.student_uid=".$db->db_add_param($row_stud->uid)." AND @@ -525,32 +525,32 @@ if(isset($_GET['output']) && $_GET['output']=='xls') if($result = $db->db_query($qry)) if($row = $db->db_fetch_object($result)) $worksheet->write($zeile,++$spalte,($row->gesamt_ohne_mitarbeit!=''?$row->gesamt_ohne_mitarbeit:'0')); - else + else $worksheet->write($zeile,++$spalte,'failed'); - else + else $worksheet->write($zeile,++$spalte,'failed'); - + //mitarbeit insgesamt - $qry = "SELECT sum(mitarbeitspunkte) as mitarbeit_heute FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) + $qry = "SELECT sum(mitarbeitspunkte) as mitarbeit_heute FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) WHERE student_uid=".$db->db_add_param($row_stud->uid)." AND lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER); if($result = $db->db_query($qry)) if($row = $db->db_fetch_object($result)) $worksheet->write($zeile,++$spalte,($row->mitarbeit_heute!=''?$row->mitarbeit_heute:'0')); - else + else $worksheet->write($zeile,++$spalte,'failed'); - else + else $worksheet->write($zeile,++$spalte,'failed'); - - $zeile++; + + $zeile++; } for($i=0;$isetColumn(0, $i, $maxlength[$i]); } - + $workbook->close(); } } -else +else { //HTML VERSION ?> @@ -561,7 +561,7 @@ else Kreuzerltool