From 2e0e9f9da27d05aa341a8d63dedd91b68af86961 Mon Sep 17 00:00:00 2001 From: oesi Date: Mon, 10 Aug 2015 17:15:35 +0200 Subject: [PATCH] Terminlisten zeigen vollen Namen des Lektoren anstatt der UID --- content/statistik/termine.xls.php | 34 +++++++++++++++++++++++-------- rdf/termine.rdf.php | 22 +++++++++++++++++--- 2 files changed, 44 insertions(+), 12 deletions(-) diff --git a/content/statistik/termine.xls.php b/content/statistik/termine.xls.php index 3c124836e..dae9fc8d9 100644 --- a/content/statistik/termine.xls.php +++ b/content/statistik/termine.xls.php @@ -30,6 +30,7 @@ require_once('../../include/lehrstunde.class.php'); require_once('../../include/datum.class.php'); require_once('../../include/stunde.class.php'); require_once('../../include/Excel/excel.php'); +require_once('../../include/benutzer.class.php'); $user = get_uid(); $variable = new variable(); @@ -70,7 +71,7 @@ $lehrstunde->getStundenplanData('stundenplan', $lehrveranstaltung_id, $variable- if(mb_strlen($content)>$maxlength[$i]) $maxlength[$i]=mb_strlen($content); } - + $maxlength= array(); $zeile=1; @@ -83,7 +84,7 @@ $lehrstunde->getStundenplanData('stundenplan', $lehrveranstaltung_id, $variable- // Creating a worksheet $worksheet =& $workbook->addWorksheet("Termine"); $worksheet->setInputEncoding('utf-8'); - + $format_bold =& $workbook->addFormat(); $format_bold->setBold(); @@ -91,10 +92,10 @@ $lehrstunde->getStundenplanData('stundenplan', $lehrveranstaltung_id, $variable- $format_title->setBold(); // let's merge $format_title->setAlign('merge'); - - //Zeilenueberschriften ausgeben + + //Zeilenueberschriften ausgeben $headline=array('Datum','Von','Bis','Ort','Lektoren','Gruppen','Lehrfach','StundeVon','StundeBis'); - + $i=0; foreach ($headline as $title) { @@ -103,26 +104,41 @@ $lehrstunde->getStundenplanData('stundenplan', $lehrveranstaltung_id, $variable- $i++; } + $lektoren_arr=array(); foreach($lehrstunde->result as $row) { $i=0; - + writecol($zeile, $i++, $datum_obj->formatDatum($row->datum,'d.m.Y')); writecol($zeile, $i++, $stunden_arr[$row->stundevon]['beginn']); writecol($zeile, $i++, $stunden_arr[$row->stundebis]['ende']); writecol($zeile, $i++, implode(',',$row->orte)); - writecol($zeile, $i++, implode(',',$row->lektoren)); + + $lektoren=''; + foreach($row->lektoren as $rowlkt) + { + if(!isset($lektoren_arr[$rowlkt])) + { + $lkt_obj = new benutzer(); + $lkt_obj->load($rowlkt); + $lektoren_arr[$rowlkt]=$lkt_obj->nachname.' '.$lkt_obj->vorname; + } + $lektoren .=",".$lektoren_arr[$rowlkt]; + } + $lektoren = mb_substr($lektoren,1); + + writecol($zeile, $i++, $lektoren); writecol($zeile, $i++, implode(',',$row->gruppen)); writecol($zeile, $i++, $row->lehrfach_bezeichnung); writecol($zeile, $i++, $row->stundevon); writecol($zeile, $i++, $row->stundebis); - + $zeile++; } //Die Breite der Spalten setzen foreach($maxlength as $i=>$breite) $worksheet->setColumn($i, $i, $breite+2); - + $workbook->close(); ?> diff --git a/rdf/termine.rdf.php b/rdf/termine.rdf.php index fc31016c8..e948cd253 100644 --- a/rdf/termine.rdf.php +++ b/rdf/termine.rdf.php @@ -27,6 +27,7 @@ require_once('../include/lehrstunde.class.php'); require_once('../include/datum.class.php'); require_once('../include/stunde.class.php'); require_once('../include/anwesenheit.class.php'); +require_once('../include/benutzer.class.php'); $user = get_uid(); @@ -66,8 +67,9 @@ $lehrstunde->getStundenplanData('stundenplan', $lehrveranstaltung_id, $variable- $i=0; if(isset($lehrstunde->result) && is_array($lehrstunde->result)) { + $lektoren_arr=array(); foreach($lehrstunde->result as $row) - { + { $i=$oRdf->newObjekt($i); $oRdf->obj[$i]->setAttribut('datum',$datum_obj->formatDatum($row->datum,'d.m.Y'),true); $oRdf->obj[$i]->setAttribut('stundevon',$row->stundevon,true); @@ -75,7 +77,21 @@ if(isset($lehrstunde->result) && is_array($lehrstunde->result)) $oRdf->obj[$i]->setAttribut('uhrzeitvon',$stunden_arr[$row->stundevon]['beginn'],true); $oRdf->obj[$i]->setAttribut('uhrzeitbis',$stunden_arr[$row->stundebis]['ende'],true); $oRdf->obj[$i]->setAttribut('gruppen',implode(',',$row->gruppen),true); - $oRdf->obj[$i]->setAttribut('lektor',implode(',',$row->lektoren),true); + + $lektoren=''; + foreach($row->lektoren as $rowlkt) + { + if(!isset($lektoren_arr[$rowlkt])) + { + $lkt_obj = new benutzer(); + $lkt_obj->load($rowlkt); + $lektoren_arr[$rowlkt]=$lkt_obj->nachname.' '.$lkt_obj->vorname; + } + $lektoren .=",".$lektoren_arr[$rowlkt]; + } + $lektoren = mb_substr($lektoren,1); + + $oRdf->obj[$i]->setAttribut('lektor',$lektoren,true); $oRdf->obj[$i]->setAttribut('ort',implode(',',$row->orte),true); $oRdf->obj[$i]->setAttribut('lehrfach',$row->lehrfach_bezeichnung,true); $oRdf->obj[$i]->setAttribut('lehreinheit_id',$row->lehreinheit_id,true); @@ -88,7 +104,7 @@ if(isset($lehrstunde->result) && is_array($lehrstunde->result)) $oRdf->obj[$i]->setAttribut('anwesend',$anwesend,true); $oRdf->obj[$i]->setAttribut('datum_iso',$row->datum,true); - + $oRdf->addSequence($i); $i++; }