diff --git a/config/global.config-default.inc.php b/config/global.config-default.inc.php index 59940e332..69d1ebfcf 100644 --- a/config/global.config-default.inc.php +++ b/config/global.config-default.inc.php @@ -86,6 +86,9 @@ define('LVPLAN_SYNC_ENDE',''); // Soll nach dem LVPlan Sync automatisch das Horde Sync angestoßen werden define('LVPLAN_HORDE_SYNC',false); +// Format der Tagesinfo im Tempus %t = Wochentag %b = Begin der Stunde %e = Ende der Stunde %s = Stunde +define('TEMPUS_TAGESINFO_FORMAT','%t %b'); + /* * VORRUECKUNG_LEHRVERBAND_MAX_SEMESTER * leer: Studentlehrverband Semester wird bei der Vorrueckung normal weitergezaehlt bis zum max_semester des Studienganges diff --git a/include/wochenplan.class.php b/include/wochenplan.class.php index 7d4db3bef..d3ebaaf6d 100644 --- a/include/wochenplan.class.php +++ b/include/wochenplan.class.php @@ -38,8 +38,8 @@ require_once(dirname(__FILE__).'/studiengang.class.php'); require_once(dirname(__FILE__).'/mitarbeiter.class.php'); require_once(dirname(__FILE__).'/datum.class.php'); require_once(dirname(__FILE__).'/zeitsperre.class.php'); -require_once(dirname(__FILE__).'/phrasen.class.php'); -require_once(dirname(__FILE__).'/globals.inc.php'); +require_once(dirname(__FILE__).'/phrasen.class.php'); +require_once(dirname(__FILE__).'/globals.inc.php'); require_once(dirname(__FILE__).'/sprache.class.php'); require_once(dirname(__FILE__).'/functions.inc.php'); require_once(dirname(__FILE__).'/betriebsmittel.class.php'); @@ -97,7 +97,7 @@ class wochenplan extends basis_db public $wochenplan; public $errormsg; public $fachbereich_kurzbz; - + public $raeume = array(); /** @@ -107,9 +107,9 @@ class wochenplan extends basis_db public function __construct($type) { parent::__construct(); - - $this->type=$type; - + + $this->type=$type; + $this->link='stpl_week.php?type='.$type; $this->kal_link='stpl_kalender.php?type='.$type; // Timezone setzten @@ -117,7 +117,7 @@ class wochenplan extends basis_db $this->datum=time(); $this->init_stdplan(); $this->crlf=crlf(); - + } /** @@ -215,9 +215,9 @@ class wochenplan extends basis_db return false; } $this->fachbereich_kurzbz=$fachbereich_kurzbz; - + } - + // LVA if($type=='lva' && $lva==NULL) { @@ -228,7 +228,7 @@ class wochenplan extends basis_db { $this->lva=$lva; } - + // Zusaetzliche Daten ermitteln //personendaten if ($this->type=='student' || $this->type=='lektor') @@ -252,7 +252,7 @@ class wochenplan extends basis_db $this->pers_nachname = $row->nachname; $this->pers_vorname =$row->vorname; $this->pers_vornamen = $row->vornamen; - + if ($this->type=='student') { $this->stg_kz = $row->studiengang_kz; @@ -261,7 +261,7 @@ class wochenplan extends basis_db $this->grp = $row->gruppe; } } - else + else { $this->errormsg='User nicht gefunden'; return false; @@ -295,7 +295,7 @@ class wochenplan extends basis_db return false; } } - + if ($this->type=='ort' && $this->ort_kurzbz == 'all') { $sql_query="SELECT bezeichnung, ort_kurzbz, planbezeichnung, ausstattung, max_person, content_id FROM public.tbl_ort WHERE lehre AND ort_kurzbz != 'Dummy'"; @@ -405,7 +405,7 @@ class wochenplan extends basis_db $this->errormsg=$this->wochenplan->errormsg; return false; } - + // Stundenplandaten aufbereiten for($i=0;$i<$anz;$i++) { @@ -462,9 +462,9 @@ class wochenplan extends basis_db */ public function draw_header() { - $sprache = getSprache(); - $p=new phrasen($sprache); - + $sprache = getSprache(); + $p=new phrasen($sprache); + echo ''.$this->crlf; echo ' '.$this->crlf; echo ' '.$this->crlf; //.strftime("%A %d %B %Y",$this->datum) for ($k=0; $k<$num_rows_stunde; $k++) { - + $row = $this->db_fetch_object($result_stunde, $k); $j = $row->stunde; // Stunde aufbereiten @@ -692,7 +692,7 @@ class wochenplan extends basis_db $reservierung=false; foreach ($this->std_plan[$i][$j] as $lehrstunde) { - + $unr[]=$lehrstunde->unr; // Lektoren $lektor[]=$lehrstunde->lektor; @@ -700,11 +700,11 @@ class wochenplan extends basis_db $typ=''; if($lehrstunde->reservierung) { - $studiengang = new studiengang(); + $studiengang = new studiengang(); $studiengang->load($lehrstunde->stg_kz); - $typ = $studiengang->typ; + $typ = $studiengang->typ; } - + $lvb=$typ.$lehrstunde->stg.'-'.$lehrstunde->sem; $stg = $lehrstunde->stg_kz; if ($lehrstunde->ver!=null && $lehrstunde->ver!='0' && $lehrstunde->ver!='') @@ -782,7 +782,7 @@ class wochenplan extends basis_db else $anm=''; } - + // Blinken oder nicht ? if ($kollision) { @@ -869,7 +869,7 @@ class wochenplan extends basis_db $uEinheiten[$unrIndex]['lektor'][]=$lektor[$n]; $uEinheiten[$unrIndex]['titel'][]=$titel_arr[$n]; } - + // Ausgabe einer Stunde im Raster (HTML) echo '
'; echo ' '.$this->crlf; echo ' '.$this->crlf; - + $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user_uid); - + //Pruefen ob die erweiterte Reservierungsrechte vorhanden sind if($rechte->isBerechtigt('lehre/reservierung', null, 'sui')) { @@ -966,31 +966,31 @@ class wochenplan extends basis_db //Lektor echo ''.$this->crlf; echo ''.$this->crlf; - + //Studiengaenge Laden fuer die eine erweiterte Reservierungsberechtigung vorhanden ist $stg = new studiengang(); $stg->loadArray($rechte->getStgKz('lehre/reservierung'),'typ, kurzbz',true); - + //Studiengang echo ''; - + //Semester echo ' '.$this->crlf; - + //Verband echo ''.$this->crlf; - + //Gruppe echo ''.$this->crlf; - + //Spezialgruppe echo ''.$this->crlf; echo ''.$this->crlf; echo ''; - + } else { echo ' '.$this->crlf; } - + echo ''; - + echo '
'.$this->crlf; @@ -543,7 +543,7 @@ class wochenplan extends basis_db for ($i=0;$i<($num_rows_ort-1);$i++) { $row = $this->db_fetch_object(null,$i+1); - + if ($row->ort_kurzbz==$this->ort_kurzbz) $prev_ort=$this->db_fetch_object(null,$i); } @@ -616,18 +616,18 @@ class wochenplan extends basis_db $this->jahreskalenderjump_hoverbox($this->link); return true; } - + /** * Zeichnen der Stundenplanwoche in HTML */ public function draw_week($raumres, $user_uid='', $gruppieren=LVPLAN_LEHREINHEITEN_GRUPPIEREN) { global $tagbez; - $sprache = getSprache(); - $spracheLoad = new sprache(); - $spracheLoad->load($sprache); - $p=new phrasen($sprache); - + $sprache = getSprache(); + $spracheLoad = new sprache(); + $spracheLoad->load($sprache); + $p=new phrasen($sprache); + $o_datum=new datum(); // Stundentafel abfragen $sql_query="SELECT stunde, beginn, ende FROM lehre.tbl_stunde ORDER BY stunde"; @@ -635,7 +635,7 @@ class wochenplan extends basis_db die($this->db_last_error()); $result_stunde = $this->db_result; $num_rows_stunde = $this->db_num_rows($result_stunde); - + // Formularbeginn wenn Lektor if ($raumres && $this->type=='ort') echo '
'.$this->crlf; @@ -669,7 +669,7 @@ class wochenplan extends basis_db echo '
'.$tagbez[$spracheLoad->index][$i].'
'.strftime("%e. %b %Y",$datum).'
'; // for($n=0;$n'; - + // Link zu Details setzten echo '
'.$p->t('global/titel').':'.$p->t('global/beschreibung').': '.$p->t('lvplan/lektor').':
'.$p->t('global/studiengang').': '.$p->t('global/semester').': @@ -1016,7 +1016,7 @@ class wochenplan extends basis_db '.$p->t('global/verband').': @@ -1031,7 +1031,7 @@ class wochenplan extends basis_db '.$p->t('global/gruppe').': @@ -1043,11 +1043,11 @@ class wochenplan extends basis_db '.$p->t('lvplan/spezialgruppe').': alle auswählen
'; echo ' '.$this->crlf; echo ' '.$this->crlf; echo ' '.$this->crlf; echo ' '.$this->crlf; echo '
'; echo ' '.$p->t('lvplan/reservierungenLoeschen').' '; } - else + else { if($this->type=='ort') { @@ -1150,11 +1150,14 @@ class wochenplan extends basis_db kw="'.$this->kalenderwoche.'" align="left">KW:'.$this->kalenderwoche.' '.$this->crlf; //BeginnEnde + $stunden_arr=array(); for ($i=0;$i<$num_rows_stunde; $i++) { $row=$this->db_fetch_object($result_stunde,$i); $beginn=mb_substr($row->beginn,0,5); $ende=mb_substr($row->ende,0,5); + $stunden_arr[$row->stunde]['beginn']=$beginn; + $stunden_arr[$row->stunde]['ende']=$ende; $stunde=$row->stunde; echo ''.$this->crlf; } echo ""; @@ -1750,8 +1767,8 @@ class wochenplan extends basis_db // $rtype='1=1'; // Raeume die in Frage kommen, aufgrund der Raumtypen $sql_query="SELECT DISTINCT ort_kurzbz, hierarchie FROM public.tbl_ort - JOIN public.tbl_ortraumtyp USING (ort_kurzbz) WHERE ($rtype) AND aktiv AND ort_kurzbz NOT LIKE '\\\\_%' ORDER BY hierarchie,ort_kurzbz"; - + JOIN public.tbl_ortraumtyp USING (ort_kurzbz) WHERE ($rtype) AND aktiv AND ort_kurzbz NOT LIKE '\\\\_%' ORDER BY hierarchie,ort_kurzbz"; + if(!$this->db_query($sql_query)) die($this->db_last_error()); while($row = $this->db_fetch_object()) @@ -1786,14 +1803,14 @@ class wochenplan extends basis_db $sql_query="SELECT DISTINCT datum, stunde, ort_kurzbz FROM $stpl_view WHERE datum>=".$this->db_add_param($this->datum_begin)." AND datum<".$this->db_add_param($this->datum_end)." AND unr!=".$this->db_add_param($unr); //echo $sql_query; NATURAL JOIN tbl_ortraumtyp AND ($rtype) " - + // Reservierungen beruecksichtigen $sql_query.=" UNION SELECT DISTINCT datum, stunde, ort_kurzbz FROM campus.tbl_reservierung WHERE datum>=".$this->db_add_param($this->datum_begin)." AND datum<".$this->db_add_param($this->datum_end)." "; - + if(!$this->db_query($sql_query)) die($this->db_last_error()); - + while($row = $this->db_fetch_object()) { $mtag=mb_substr($row->datum, 8,2); @@ -1802,7 +1819,7 @@ class wochenplan extends basis_db $tag=date("w",mktime(12,0,0,$month,$mtag,$jahr)); $raster[$tag][$row->stunde]->ort[]=$row->ort_kurzbz; } - + // freie Plaetze in den Stundenplan eintragen. for ($t=1;$t<=TAGE_PRO_WOCHE;$t++) { @@ -1815,23 +1832,23 @@ class wochenplan extends basis_db { $this->std_plan[$t][$s][0]->frei_orte[$ort]=(isset($this->std_plan[$t][$s][0]->frei_orte[$ort])?$this->std_plan[$t][$s][0]->frei_orte[$ort]:0); } - + // Besetzte Raueme eintragen foreach($raster[$t][$s]->ort as $ort) { if(in_array($ort, $orte)) $this->std_plan[$t][$s][0]->frei_orte[$ort]=(isset($this->std_plan[$t][$s][0]->frei_orte[$ort])?$this->std_plan[$t][$s][0]->frei_orte[$ort]+1:1); } - + // Gruppenkollision eintragen if($raster[$t][$s]->kollision) { foreach($this->std_plan[$t][$s][0]->frei_orte as $ort=>$value) { - $this->std_plan[$t][$s][0]->frei_orte[$ort]=(isset($this->std_plan[$t][$s][0]->frei_orte[$ort])?$this->std_plan[$t][$s][0]->frei_orte[$ort]+1:1); + $this->std_plan[$t][$s][0]->frei_orte[$ort]=(isset($this->std_plan[$t][$s][0]->frei_orte[$ort])?$this->std_plan[$t][$s][0]->frei_orte[$ort]+1:1); } } - + // Blockung beruecksichtigen for ($b=1;$b<$block && ($s+$block)<=($max_stunde+1);$b++) { @@ -1844,7 +1861,7 @@ class wochenplan extends basis_db $this->std_plan[$t][$s][0]->frei_orte[$ort]=(isset($this->std_plan[$t][$s][0]->frei_orte[$ort])?$this->std_plan[$t][$s][0]->frei_orte[$ort]+1:1); } } - else + else { // Bei Gruppenkollision kollidieren alle Raeume foreach($this->std_plan[$t][$s][0]->frei_orte as $ort=>$value) @@ -1854,7 +1871,7 @@ class wochenplan extends basis_db } } } - else + else { // Wenn sich die Stunden mit der Blockung nicht ausgehen, dann keine Raeume anzeigen $this->std_plan[$t][$s][0]->frei_orte = array(); @@ -1918,7 +1935,7 @@ class wochenplan extends basis_db for ($i=0;$i<$num_rows_lva;$i++) { $row=$this->db_fetch_object(null,$i); - + $raumtyp[$i]=$row->raumtyp; $raumtypalt[$i]=$row->raumtypalternativ; if ($row->gruppe_kurzbz!=null && $row->gruppe_kurzbz!='') @@ -2049,7 +2066,7 @@ class wochenplan extends basis_db $orte = array(); for ($i=0;$i<$num_orte;$i++) { - $row = $this->db_fetch_object(null, $i); + $row = $this->db_fetch_object(null, $i); $orte[]=$row->ort_kurzbz; } @@ -2084,14 +2101,14 @@ class wochenplan extends basis_db $raster[$t][$s]->kollision=false; } } - + // Stundenplanabfrage bauen (Wo ist Kollision?) $sql_query="SELECT DISTINCT datum, stunde FROM $stpl_table WHERE datum>=".$this->db_add_param($datum_begin)." AND datum<".$this->db_add_param($datum_end)." AND ($lkt $gruppen OR ($lvb) )"; if (is_numeric($unr)) $sql_query.=" AND unr!=".$this->db_add_param($unr); - + if(!$this->db_query($sql_query)) { $this->errormsg = $this->db_last_error().$sql_query; @@ -2115,17 +2132,17 @@ class wochenplan extends basis_db ($rtype)"; if (is_numeric($unr)) $sql_query.=" AND unr!=".$this->db_add_param($unr); - + // Reservierungen beruecksichtigen $sql_query.=" UNION SELECT distinct datum, stunde, ort_kurzbz FROM campus.tbl_reservierung WHERE datum>=".$this->db_add_param($datum_begin)." AND datum<".$this->db_add_param($datum_end); - + if(!$this->db_query($sql_query)) { $this->errormsg = $this->db_last_error().$sql_query; return false; } - + while($row = $this->db_fetch_object()) { $mtag=mb_substr($row->datum, 8,2); @@ -2152,14 +2169,14 @@ class wochenplan extends basis_db foreach($orte as $ort) $this->std_plan[$t][$s][0]->frei_orte[$ort]=(isset($this->std_plan[$t][$s][0]->frei_orte[$ort])?$this->std_plan[$t][$s][0]->frei_orte[$ort]:0); } - + // Besetzte Orte eintragen foreach ($raster[$t][$s]->ort as $ort) { if(in_array($ort, $orte)) $this->std_plan[$t][$s][0]->frei_orte[$ort]=(isset($this->std_plan[$t][$s][0]->frei_orte[$ort])?$this->std_plan[$t][$s][0]->frei_orte[$ort]+1:1); } - + //Kollision mit Gruppe if($raster[$t][$s]->kollision) { @@ -2172,7 +2189,7 @@ class wochenplan extends basis_db } } } - + // Blockung beruecksichtigen for ($b=1;$b<$block && ($s+$block)<=($max_stunde+1);$b++) { @@ -2239,7 +2256,7 @@ class wochenplan extends basis_db { $row = $this->db_fetch_object($this->stunde, $k); $j=$row->stunde; // get id of hour - + if (isset($this->std_plan[$i][$j][0]->lehrfach)) { // Daten aufbereiten @@ -2253,7 +2270,7 @@ class wochenplan extends basis_db unset($lehrfach); foreach ($this->std_plan[$i][$j] as $lehrstunde) { - + $unr[]=$lehrstunde->unr; // Lektoren $lektor[]=$lehrstunde->lektor; @@ -2311,22 +2328,22 @@ class wochenplan extends basis_db $row = $this->db_fetch_object($this->stunde, $k); $start_time=$row->beginn; - + for($idx=0;$idxstd_plan[$i][$j]);$idx++) { if(!isset($this->std_plan[$i][$j][$idx])) { continue; } - + /** * Wenn Lektoren in mehreren Raeumen gleichzeitig unterrichten * Oder mehrere Lektoren /Gruppen im selben Raum sind werden diese * zu einem Eintrag zusammengruppiert. - * - * Zusammengruppiert werden nur Eintraege die am gleichen Tag + * + * Zusammengruppiert werden nur Eintraege die am gleichen Tag * in der gleichen Stunde stattfinden. - * + * * Es wird nur der erste Eintrag ausgegeben. Die restlichen werden uebersprungen da * die Lektoren, Gruppen und Raeume bereits zum Ersten Eintrag hinzugefuegt wurden. */ @@ -2335,14 +2352,14 @@ class wochenplan extends basis_db $gruppiert[$this->std_plan[$i][$j][$idx]->unr]--; continue; } - + /** * Unterricht der ueber mehrere Stunden geht wird nicht einzeln Exportiert, * sondern zusammengeblockt. (in maximal 4er Bloecke) - * + * * Es wird nur ein Eintrag geschrieben, die restlichen werden uebersprungen. - * Vor dem Ueberspringen des Eintrages werden jedoch noch die dazu Gruppierten Eintraege - * ermittelt und dann ebenfalls uebersprungen + * Vor dem Ueberspringen des Eintrages werden jedoch noch die dazu Gruppierten Eintraege + * ermittelt und dann ebenfalls uebersprungen */ $blockcontinue=false; if(isset($blocked[$this->std_plan[$i][$j][$idx]->unr]) && $blocked[$this->std_plan[$i][$j][$idx]->unr]>0) @@ -2350,12 +2367,12 @@ class wochenplan extends basis_db $blocked[$this->std_plan[$i][$j][$idx]->unr]--; $blockcontinue=true; } - + if(!$blockcontinue) { // Blockungen ueber mehrere Stunden erkennen if (isset($this->std_plan[$i][$j+1][$idx]) && isset($this->std_plan[$i][$j+1][$idx]->stundenplan_id) - && ($this->std_plan[$i][$j][$idx]->unr == $this->std_plan[$i][$j+1][$idx]->unr) + && ($this->std_plan[$i][$j][$idx]->unr == $this->std_plan[$i][$j+1][$idx]->unr) && $this->std_plan[$i][$j][$idx]!='0' && $k<($num_rows_stunde-1) && !($this->std_plan[$i][$j][$idx]->reservierung && $this->std_plan[$i][$j][$idx]->lektor!=$this->std_plan[$i][$j+1][$idx]->lektor)) { @@ -2368,7 +2385,7 @@ class wochenplan extends basis_db $end_time=$row->ende; if (isset($this->std_plan[$i][$j+2][$idx]) && isset($this->std_plan[$i][$j+2][$idx]->stundenplan_id) - && ($this->std_plan[$i][$j][$idx]->unr == $this->std_plan[$i][$j+2][$idx]->unr) + && ($this->std_plan[$i][$j][$idx]->unr == $this->std_plan[$i][$j+2][$idx]->unr) && $k<($num_rows_stunde-2) && !($this->std_plan[$i][$j][$idx]->reservierung && $this->std_plan[$i][$j][$idx]->lektor!=$this->std_plan[$i][$j+2][$idx]->lektor)) { @@ -2378,7 +2395,7 @@ class wochenplan extends basis_db $end_time=$row->ende; if (isset($this->std_plan[$i][$j+3][$idx]) && isset($this->std_plan[$i][$j+3][$idx]->stundenplan_id) - && ($this->std_plan[$i][$j][$idx]->unr == $this->std_plan[$i][$j+3][$idx]->unr) + && ($this->std_plan[$i][$j][$idx]->unr == $this->std_plan[$i][$j+3][$idx]->unr) && $k<($num_rows_stunde-3) && !($this->std_plan[$i][$j][$idx]->reservierung && $this->std_plan[$i][$j][$idx]->lektor!=$this->std_plan[$i][$j+3][$idx]->lektor)) { @@ -2395,8 +2412,8 @@ class wochenplan extends basis_db $end_time=$row->ende; } } - - + + //Wenn im selben Raum mehrere Lektoren sind bzw mehrere Gruppen //dann werden diese zusammengruppiert und als ein Eintrag angezeigt for($idx1=0;$idx1std_plan[$i][$j]);$idx1++) @@ -2409,21 +2426,21 @@ class wochenplan extends basis_db $gruppiert[$this->std_plan[$i][$j][$idx]->unr]++; else $gruppiert[$this->std_plan[$i][$j][$idx]->unr]=1; - + //Bezeichnungen zusammenfuehren - + //Lektoren if(!mb_strstr($this->std_plan[$i][$j][$idx1]->lektor,$this->std_plan[$i][$j][$idx]->lektor)) { $this->std_plan[$i][$j][$idx]->lektor.=' / '.$this->std_plan[$i][$j][$idx1]->lektor; } - + //Ort if(!mb_strstr($this->std_plan[$i][$j][$idx1]->ort,$this->std_plan[$i][$j][$idx]->ort)) { $this->std_plan[$i][$j][$idx]->ort.=' / '.$this->std_plan[$i][$j][$idx1]->ort; } - + //Gruppen if(isset($lehrverband[$idx]) && isset($lehrverband[$idx1])) { @@ -2433,13 +2450,13 @@ class wochenplan extends basis_db } } } - + //Geblockte Eintraege werden uebersprungen nachdem die Gruppierung ermittelt wurde if($blockcontinue) { continue; } - + $start_date=date("d.m.Y",$this->datum); $end_date=$start_date; if(isset($lehrverband[$idx])) @@ -2457,12 +2474,12 @@ class wochenplan extends basis_db $sta = explode(":",$start_time); //sta start time array $eda = explode(".",$end_date); //eda end date array $eta = explode(":",$end_time); //eta end time array - - //Die Zeitzone muss angegeben werden, da sonst der Google Kalender die Endzeiten nicht richtig erkennt + + //Die Zeitzone muss angegeben werden, da sonst der Google Kalender die Endzeiten nicht richtig erkennt // diese wird in stpl_kalender global definiert und bei den Start und Ende Zeiten mitangegeben $start_date_time_ical = $sda[2].$sda[1].$sda[0].'T'.sprintf('%02s',($sta[0])).$sta[1].$sta[2]; //neu gruppieren der Startzeit und des Startdatums $end_date_time_ical = $eda[2].$eda[1].$eda[0].'T'.sprintf('%02s',($eta[0])).$eta[1].$eta[2]; //neu gruppieren der Startzeit und des Startdatums - + echo $this->crlf.'BEGIN:VEVENT'.$this->crlf .'UID:'.'FH'.str_replace(',',' ',$lvb.$this->std_plan[$i][$j][$idx]->ort.$this->std_plan[$i][$j][$idx]->lektor.$lehrfach[$idx].$start_date_time_ical.$this->crlf) .'SUMMARY:'.str_replace(',',' ',$lehrfach[$idx].' '.$this->std_plan[$i][$j][$idx]->ort.' - '.$lvb.$this->crlf) @@ -2479,19 +2496,19 @@ class wochenplan extends basis_db $sta = explode(":",$start_time); //sta start time array $eda = explode(".",$end_date); //eda end date array $eta = explode(":",$end_time); //eta end time array - + $start_date_time_ical = $sda[2].$sda[1].$sda[0].'T'.sprintf('%02s',($sta[0])).$sta[1].$sta[2]; //neu gruppieren der Startzeit und des Startdatums $end_date_time_ical = $eda[2].$eda[1].$eda[0].'T'.sprintf('%02s',($eta[0])).$eta[1].$eta[2]; //neu gruppieren der Startzeit und des Startdatums - + // Zeit in UTC umwandeln $date = new DateTime($start_date_time_ical, new DateTimeZone('Europe/Vienna')); $date->setTimezone(new DateTimeZone('UTC')); $start_date_time_ical = $date->format('Ymd\THis').'Z'; - + $date = new DateTime($end_date_time_ical, new DateTimeZone('Europe/Vienna')); $date->setTimezone(new DateTimeZone('UTC')); $end_date_time_ical = $date->format('Ymd\THis').'Z'; - + echo $this->crlf,'FREEBUSY: ',$start_date_time_ical,'/',$end_date_time_ical; } elseif ($target=='return') @@ -2500,8 +2517,8 @@ class wochenplan extends basis_db $sta = explode(":",$start_time); //sta start time array $eda = explode(".",$end_date); //eda end date array $eta = explode(":",$end_time); //eta end time array - - //Die Zeitzone muss angegeben werden, da sonst der Google Kalender die Endzeiten nicht richtig erkennt + + //Die Zeitzone muss angegeben werden, da sonst der Google Kalender die Endzeiten nicht richtig erkennt // diese wird in stpl_kalender global definiert und bei den Start und Ende Zeiten mitangegeben $start_date_time_ical = $sda[2].$sda[1].$sda[0].'T'.sprintf('%02s',($sta[0])).$sta[1].$sta[2]; //neu gruppieren der Startzeit und des Startdatums $end_date_time_ical = $eda[2].$eda[1].$eda[0].'T'.sprintf('%02s',($eta[0])).$eta[1].$eta[2]; //neu gruppieren der Startzeit und des Startdatums @@ -2513,7 +2530,7 @@ class wochenplan extends basis_db $UID = str_replace(',',' ',$UID); $Summary = str_replace(',',' ',$Summary); $description = str_replace(',',' ',$description); - + $return[]=array('UID'=>$UID, 'unr'=>$unr, 'Summary'=>$Summary, @@ -2554,7 +2571,7 @@ class wochenplan extends basis_db * Prueft, ob Eintraege fuer den Export zusammengruppiert werden koennen zu einer Stunde * Dies ist der Fall, wenn mehrere Lektoren in einem Raum unterrichten, ein Lektor mehrere * Raeume parallel beaufsichtigt oder mehrere Gruppen in einem Raum sind - * + * * @param $tag Tag des Unterrichts * @param $stunde Stunde des Unterrichts * @param $idx Index des ersten Eintrages @@ -2562,7 +2579,7 @@ class wochenplan extends basis_db */ protected function kannGruppieren($tag, $stunde, $idx, $idx1) { - if(isset($this->std_plan[$tag][$stunde][$idx]) && + if(isset($this->std_plan[$tag][$stunde][$idx]) && isset($this->std_plan[$tag][$stunde][$idx1])) { $unr1 = $this->std_plan[$tag][$stunde][$idx]->unr; @@ -2572,7 +2589,7 @@ class wochenplan extends basis_db $lektor1 = $this->std_plan[$tag][$stunde][$idx]->lektor; $lektor2 = $this->std_plan[$tag][$stunde][$idx1]->lektor; - if($unr1==$unr2 && ($ort1==$ort2 || $lektor1==$lektor2) + if($unr1==$unr2 && ($ort1==$ort2 || $lektor1==$lektor2) && !$this->std_plan[$tag][$stunde][$idx]->reservierung && !$this->std_plan[$tag][$stunde][$idx1]->reservierung) return true; else @@ -2580,13 +2597,13 @@ class wochenplan extends basis_db } else return false; - } + } - protected function searchForId($id, $array) + protected function searchForId($id, $array) { - foreach ($array as $key => $val) + foreach ($array as $key => $val) { - if ($val['unr'] == $id) + if ($val['unr'] == $id) { return $key; } @@ -2600,13 +2617,13 @@ class wochenplan extends basis_db */ protected function jahreskalenderjump_hoverbox($link) { - $sprache = getSprache(); - $p=new phrasen($sprache); + $sprache = getSprache(); + $p=new phrasen($sprache); $crlf=crlf(); $datum=time(); $woche=kalenderwoche($datum); $wochenmontag=montag($datum); - + echo '
diff --git a/skin/tempus.css b/skin/tempus.css index c0beec6e0..67ddaaaf9 100644 --- a/skin/tempus.css +++ b/skin/tempus.css @@ -53,13 +53,13 @@ grid.lvaStundenplan button tree treecol { - background-color: #FFFFCC; - border: 1px solid black; + background-color: #FFFFCC; + border: 1px solid black; } tree { font-size:9pt; - font-family:Arial; + font-family:Arial; } box.studentDetail { @@ -120,7 +120,7 @@ treechildren::-moz-tree-row(lehrveranstaltung_, selected) } -treechildren::-moz-tree-checkbox +treechildren::-moz-tree-checkbox { /* unchecked checkbox treecells. This style MUST come before treechildren::-moz-tree-checkbox(checked) otherwise it won't take effect. */ list-style-image: url("../skin/images/round.png"); @@ -161,6 +161,7 @@ toolbarbutton.stplweekoverlay-toolbarbutton:hover { color: #AAAAAA; visibility:hidden; + font-size: small; } treechildren::-moz-tree-row(makeItred)