diff --git a/cis/private/lvplan/stpl_kalender.php b/cis/private/lvplan/stpl_kalender.php index 6d1d2f42e..47258eab2 100644 --- a/cis/private/lvplan/stpl_kalender.php +++ b/cis/private/lvplan/stpl_kalender.php @@ -34,20 +34,22 @@ require_once(dirname(__FILE__).'/../../../include/functions.inc.php'); require_once(dirname(__FILE__).'/../../../include/wochenplan.class.php'); require_once(dirname(__FILE__).'/../../../include/datum.class.php'); require_once(dirname(__FILE__).'/../../../include/studiensemester.class.php'); -require_once(dirname(__FILE__).'/../../../include/phrasen.class.php'); +require_once(dirname(__FILE__).'/../../../include/lehrveranstaltung.class.php'); +require_once(dirname(__FILE__).'/../../../include/phrasen.class.php'); +require_once(dirname(__FILE__).'/../../../include/Excel/excel.php'); if(!$db = new basis_db()) die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung')); -$sprache = getSprache(); -$p=new phrasen($sprache); - +$sprache = getSprache(); +$p=new phrasen($sprache); + //Startwerte setzen if(!isset($_GET['db_stpl_table'])) $db_stpl_table='stundenplan'; else $db_stpl_table=$_GET['db_stpl_table']; - + if(!in_array($db_stpl_table,array('stundenplan','stundenplandev'))) die('db_stpl_table invalid'); if(isset($_GET['type'])) @@ -83,16 +85,16 @@ if(isset($_GET["cal"])) // fuer Abonnierung im Google ueber /webdav/google.php $cal = $_GET["cal"]; $uid=decryptData($cal,LVPLAN_CYPHER_KEY); - //Wenn der Key manuell geaendert wird koennen Fehlerhaft kodierte Zeichen + //Wenn der Key manuell geaendert wird koennen Fehlerhaft kodierte Zeichen //entstehen und fuehren zu DB fehlern deshalb werden falsch kodierte uids hier aussortiert if(!check_utf8($uid)) die('Fehlerhafter Parameter'); - + //Pruefen ob dieser Benutzer auch wirklich existiert $benutzer = new benutzer(); if(!$benutzer->load($uid)) die('Ungueltiger Benutzername'); - + //Output-Format wird auf ical geaendert $target='ical'; $format='ical'; @@ -114,11 +116,11 @@ if(!isset($begin)) $objSS->load($ss); $datum_obj = new datum(); $begin = $datum_obj->mktime_fromdate($objSS->start); - + // Ein Monat vor ende des Studiensemester soll zusaetzlich das kommende angezeigt werden $datum_obj = new datum(); $diff = $datum_obj->DateDiff($objSS->ende, date('Y-m-d H:i:s')); - + if($diff>=-30) { $objSS->getNextFrom($ss); @@ -128,21 +130,6 @@ if(!isset($begin)) $ende = $datum_obj->mktime_fromdate($objSS->ende); } - - -// for spezial friends -if($uid=='maderdon') -{ - if(!isset($_GET['format'])) - { - $format='ical'; - $version=2; - $target='ical'; - $begin=1188597600; - $ende=1202166000; - } -} - $jahr=date("Y",$begin); $mon=date("m",$begin); $name='FH-Kalender_'.$mon.'_'.$jahr; @@ -194,6 +181,10 @@ TZOFFSETTO:+0100 END:STANDARD END:VTIMEZONE'; } +elseif($format=='excel') +{ + $exceldata=array(); +} // Print in HTML-File else { @@ -299,7 +290,7 @@ while($begin<$ende) $i++; if(!date("w",$begin)) $begin=jump_day($begin,1); - + $stdplan->init_stdplan(); $datum=$begin; $begin+=604800; // eine Woche @@ -312,9 +303,14 @@ while($begin<$ende) // Stundenplan der Woche drucken if($format=='csv' || $format=='ical') - { + { $stdplan->draw_week_csv($target, LVPLAN_KATEGORIE); } + elseif($format=='excel') + { + $data = $stdplan->draw_week_csv('return', LVPLAN_KATEGORIE); + $exceldata = array_merge($exceldata, $data); + } else { $style='style="padding-top: 10px;" class="page-break-after"'; @@ -335,10 +331,108 @@ elseif($format=='ical') { echo $crlf.'END:VCALENDAR'; } +elseif($format=='excel') +{ + OutputKalenderAsExcel($exceldata); +} // Print in HTML-File else { echo '
'.$p->t('lvplan/fehlerUndFeedback').' '.$p->t('lvplan/lvKoordinationsstelle').'
'; echo '