diff --git a/cis/private/lvplan/stpl_kalender.php b/cis/private/lvplan/stpl_kalender.php
index 432640dcb..9088fb799 100644
--- a/cis/private/lvplan/stpl_kalender.php
+++ b/cis/private/lvplan/stpl_kalender.php
@@ -282,7 +282,7 @@ while($begin<$ende)
$style='style="padding-top: 10px;" class="page-break-after"';
echo '
';
- $stdplan->draw_week(false);
+ $stdplan->draw_week(false,'',false);
echo '
';
}
}
diff --git a/include/wochenplan.class.php b/include/wochenplan.class.php
index c9205aa70..dfce5b6dd 100644
--- a/include/wochenplan.class.php
+++ b/include/wochenplan.class.php
@@ -41,7 +41,6 @@ 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__).'/sprache.class.php');
-require_once(dirname(__FILE__).'/../config/global.config.inc.php');
class wochenplan extends basis_db
{
@@ -564,7 +563,7 @@ class wochenplan extends basis_db
/**
* Zeichnen der Stundenplanwoche in HTML
*/
- public function draw_week($raumres, $user_uid='')
+ public function draw_week($raumres, $user_uid='', $gruppieren=true)
{
global $tagbez;
$sprache = getSprache();
@@ -628,7 +627,9 @@ class wochenplan extends basis_db
unset($lehrverband);
if (isset($lehrfach))
unset($lehrfach);
- $reservierung=false;
+ if(isset($anmerkung))
+ unset($anmerkung);
+ $reservierung=false;
foreach ($this->std_plan[$i][$j] as $lehrstunde)
{
@@ -642,7 +643,7 @@ class wochenplan extends basis_db
$studiengang = new studiengang();
$studiengang->load($lehrstunde->stg_kz);
$typ = $studiengang->typ;
- }
+ }
$lvb=$typ.$lehrstunde->stg.'-'.$lehrstunde->sem;
$stg = $lehrstunde->stg_kz;
@@ -661,102 +662,210 @@ class wochenplan extends basis_db
$lf.='-'.$lehrstunde->lehrform;
$lehrfach[]=$lf;
$titel=$lehrstunde->titel;
- $anmerkung=$lehrstunde->anmerkung;
+ $anmerkung[]=$lehrstunde->anmerkung;
if (!$reservierung)
$reservierung=$lehrstunde->reservierung;
}
- // Unterrichtsnummer (Kollision?)
- $unr=array_unique($unr);
- $kollision+=count($unr);
-
- // Lektoren
- if ($this->type!='lektor')
+ if($gruppieren)
{
- $lektor=array_unique($lektor);
- sort($lektor);
- $lkt='';
- foreach ($lektor as $l)
- $lkt.=$l.'
';
- }
- else
- $lkt=$lektor[0].'
';
- //echo $lkt;
+ // Unterrichtsnummer (Kollision?)
+ $unr=array_unique($unr);
+ $kollision+=count($unr);
- // Lehrverband
- if ($this->type!='verband')
- {
- $lehrverband=array_unique($lehrverband);
- sort($lehrverband);
- $lvb='';
- foreach ($lehrverband as $l)
- $lvb.=$l.'
';
- }
- else
- $lvb=$lehrverband[0].'
';
+ // Lektoren
+ if ($this->type!='lektor')
+ {
+ $lektor=array_unique($lektor);
+ sort($lektor);
+ $lkt='';
+ foreach ($lektor as $l)
+ $lkt.='
'.$l;
+ }
+ else
+ $lkt='
'.$lektor[0];
+ //echo $lkt;
- // Lehrfach
- if ($this->type=='verband')
- {
- $lehrfach=array_unique($lehrfach);
- sort($lehrfach);
- $lf='';
- foreach ($lehrfach as $l)
- $lf.=$l.'
';
- }
- else
- $lf=$lehrfach[0].'
';
+ // Lehrverband
+ if ($this->type!='verband')
+ {
+ $lehrverband=array_unique($lehrverband);
+ sort($lehrverband);
+ $lvb='';
+ foreach ($lehrverband as $l)
+ $lvb.='
'.$l;
+ }
+ else
+ $lvb='
'.$lehrverband[0];
- // Blinken oder nicht ?
- if ($kollision)
- {
- $blink_ein='';
+ // Lehrfach
+ if ($this->type=='verband')
+ {
+ $lehrfach=array_unique($lehrfach);
+ sort($lehrfach);
+ $lf='';
+ foreach ($lehrfach as $l)
+ $lf.=$l.'
';
+ }
+ else
+ $lf=$lehrfach[0].'
';
+
+ if(LVPLAN_ANMERKUNG_ANZEIGEN)
+ {
+ $anmerkung=array_unique($anmerkung);
+ sort($anmerkung);
+ $anm='';
+ foreach ($anmerkung as $a)
+ $anm.='
'.$a;
+ }
+
+ // Blinken oder nicht ?
+ if ($kollision)
+ {
+ $blink_ein='';
+ }
+ else
+ {
+ $blink_ein='';
+ $blink_aus='';
+ }
+
+ // Ausgabe einer Stunde im Raster (HTML)
+ echo ' std_plan[$i][$j][0]->farbe))
+ echo 'style="background-color: #'.$this->std_plan[$i][$j][0]->farbe.';"';
+ echo '>'.$blink_ein.'';
+ // Link zu Details setzten
+ echo ' type.'&datum='.date("Y-m-d",$datum).'&stunde='.$j;
+ echo '&pers_uid='.$this->pers_uid;
+ echo '&stg_kz='.$this->stg_kz;
+ echo '&sem='.$this->sem;
+ echo '&ver='.$this->ver;
+ echo '&grp='.$this->grp;
+ echo '&ort_kurzbz='.$this->std_plan[$i][$j][0]->ort; //.'">'
+ echo "','Details', 'height=320,width=550,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=no,toolbar=no,location=no,menubar=no,dependent=yes');return false;";
+ echo '" title="'.$this->convert_html_chars($titel).'" ';
+ echo ' href="#">';
+
+ // Ausgabe
+ //echo $lf;
+ echo mb_substr($lf, 0,-strlen(' '));
+
+ if($titel!='' && !$reservierung)
+ {
+ echo ' ';
+ }
+ //echo ' ';
+ if ($this->type=='ort' || $this->type=='lektor' || $this->type=='verband')
+ echo $lvb;
+ if ($this->type!='lektor')
+ echo $lkt;
+ if ($this->type!='ort')
+ echo ' '.$this->std_plan[$i][$j][0]->ort;
+ if (LVPLAN_ANMERKUNG_ANZEIGEN)
+ {
+ echo $anm;
+/* $anmerkung=array_unique($anmerkung);
+ foreach($anmerkung as $anm)
+ if($anm!='')
+ echo ' '.$anm;
+ echo ' anm'; */
+ }
+ echo ' '.$blink_aus.' | '.$this->crlf;
}
else
{
- $blink_ein='';
- $blink_aus='';
- }
+ // mehrere Einheiten innerhalb einer Stunde sollen getrennt aufgelistet werden
+ $uEinheiten=array();
+ for($n=0;$n
N=$n";
+ echo "unr:".$unr[$n];
+ echo "Data:".print_r($uEinheiten,true);
+ echo "
";
+ }*/
+ $unrIndex=count($uEinheiten);
+ $uEinheiten[$unrIndex]['unr']=$unr[$n];
+ $uEinheiten[$unrIndex]['lehrfach']=$lehrfach[$n];
+ if (isset($this->std_plan[$i][$j][$n]->farbe))
+ $uEinheiten[$unrIndex]['farbe']=$this->std_plan[$i][$j][$n]->farbe;
+ }
+ $uEinheiten[$unrIndex]['ort'][]=$this->std_plan[$i][$j][$n]->ort;
+ $uEinheiten[$unrIndex]['lehrverband'][]=$lehrverband[$n];
+ $uEinheiten[$unrIndex]['anmerkung'][]=$anmerkung[$n];
+ $uEinheiten[$unrIndex]['lektor'][]=$lektor[$n];
+ }
+
+ // Ausgabe einer Stunde im Raster (HTML)
+ echo ' ';
+// for($n=0;$n$uEinheit)
+ {
+ echo '';
+
+ // Link zu Details setzten
+ echo ' type.'&datum='.date("Y-m-d",$datum).'&stunde='.$j;
+ echo '&pers_uid='.$this->pers_uid;
+ echo '&stg_kz='.$this->stg_kz;
+ echo '&sem='.$this->sem;
+ echo '&ver='.$this->ver;
+ echo '&grp='.$this->grp;
+ echo '&ort_kurzbz='.$uEinheit['ort']; //.'">'
+ echo "','Details', 'height=320,width=550,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=no,toolbar=no,location=no,menubar=no,dependent=yes');return false;";
+ echo '" title="'.$this->convert_html_chars($titel).'" ';
+ echo ' href="#">';
- // Ausgabe einer Stunde im Raster (HTML)
- echo ' std_plan[$i][$j][0]->farbe))
- echo 'style="background-color: #'.$this->std_plan[$i][$j][0]->farbe.';"';
- echo '>'.$blink_ein.'';
- // Link zu Details setzten
- echo ' type.'&datum='.date("Y-m-d",$datum).'&stunde='.$j;
- echo '&pers_uid='.$this->pers_uid;
- echo '&stg_kz='.$this->stg_kz;
- echo '&sem='.$this->sem;
- echo '&ver='.$this->ver;
- echo '&grp='.$this->grp;
- echo '&ort_kurzbz='.$this->std_plan[$i][$j][0]->ort; //.'">'
- echo "','Details', 'height=320,width=550,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=no,toolbar=no,location=no,menubar=no,dependent=yes');";
- echo '" title="'.$this->convert_html_chars($titel).'" ';
- echo ' href="#">';
+ // Ausgabe
+ //echo $lf;
+ echo $uEinheit['lehrfach'];
- // Ausgabe
- //echo $lf;
- echo mb_substr($lf, 0,-strlen(' '));
-
- if($titel!='' && !$reservierung)
- {
- echo ' ';
+ if($titel!='' && !$reservierung)
+ {
+ echo ' ';
+ }
+ echo ' ';
+ if ($this->type=='ort' || $this->type=='lektor' || $this->type=='verband')
+ {
+ $uEinheit['lehrverband']=array_unique($uEinheit['lehrverband']);
+ foreach($uEinheit['lehrverband'] as $ueLehrverband)
+ echo $ueLehrverband." ";
+ }
+ if ($this->type!='lektor')
+ {
+ $uEinheit['lektor']=array_unique($uEinheit['lektor']);
+ foreach($uEinheit['lektor'] as $ueLektor)
+ echo $ueLektor." ";
+ }
+ if ($this->type!='ort')
+ {
+ $uEinheit['ort']=array_unique($uEinheit['ort']);
+ foreach($uEinheit['ort'] as $ueOrt)
+ echo $ueOrt." ";
+ }
+ if(LVPLAN_ANMERKUNG_ANZEIGEN)
+ {
+ $uEinheit['anmerkung']=array_unique($uEinheit['anmerkung']);
+ foreach($uEinheit['anmerkung'] as $ueAnmerkung)
+ echo $ueAnmerkung." ";
+ }
+ echo ' ';
+ }
+ echo ' | '.$this->crlf;
}
- echo ' ';
- if ($this->type=='ort' || $this->type=='lektor')
- echo $lvb;
- if ($this->type!='lektor')
- echo $lkt;
- if ($this->type!='ort')
- echo $this->std_plan[$i][$j][0]->ort;
- if(LVPLAN_ANMERKUNG_ANZEIGEN)
- echo $this->convert_html_chars($anmerkung);
-
- echo ' '.$blink_aus.' | '.$this->crlf;
}
else
{
@@ -1287,10 +1396,10 @@ class wochenplan extends basis_db
echo $lkt;
if ($this->type!='ort')
echo $orte;
-
+
if(LVPLAN_ANMERKUNG_ANZEIGEN)
echo $anmerkung;
-
+
echo $blink_aus;
echo '';
@@ -2161,7 +2270,7 @@ class wochenplan extends basis_db
//"Betreff","Beginnt am","Beginnt um","Endet am","Endet um","Ganztaegiges Ereignis","Erinnerung Ein/Aus","Erinnerung am","Erinnerung um","Besprechungsplanung","Erforderliche Teilnehmer","Optionale Teilnehmer","Besprechungsressourcen","Abrechnungsinformationen","Beschreibung",
//"Kategorien","Ort","Prioritaet","Privat","Reisekilometer","Vertraulichkeit","Zeitspanne zeigen als"
echo $this->crlf.'"'.$this->std_plan[$i][$j][$idx]->lehrfach.(isset($this->std_plan[$i][$j][$idx]->lehrform) && $this->std_plan[$i][$j][$idx]->lehrform!=''?'-'.$this->std_plan[$i][$j][$idx]->lehrform:'').($lvb!=''?' - '.$lvb:'').'","'.$start_date.'","'.$start_time.'","'.$end_date.'","'.$end_time.'","Aus","Aus",,,,,,,,"Stundenplan';
- echo $this->crlf.$this->std_plan[$i][$j][$idx]->lehrfach.$this->crlf.$this->std_plan[$i][$j][$idx]->lektor.$this->crlf.$lvb.$this->crlf.$this->std_plan[$i][$j][$idx]->ort.'","StundenplanFH","'.$this->std_plan[$i][$j][$idx]->ort.'","Normal","Aus",,"Normal","2"';
+ echo $this->crlf.$this->std_plan[$i][$j][$idx]->lehrfach.$this->crlf.$this->std_plan[$i][$j][$idx]->lektor.$this->crlf.$lvb.$this->crlf.$this->std_plan[$i][$j][$idx]->ort.(LVPLAN_ANMERKUNG_ANZEIGEN?$this->crlf.$this->std_plan[$i][$j][$idx]->anmerkung:'').'","StundenplanFH","'.$this->std_plan[$i][$j][$idx]->ort.'","Normal","Aus",,"Normal","2"';
}
elseif ($target=='ical')
{
@@ -2178,7 +2287,7 @@ class wochenplan extends basis_db
echo $this->crlf.'BEGIN:VEVENT'.$this->crlf
.'UID:'.'FH'.$lvb.$this->std_plan[$i][$j][$idx]->ort.$this->std_plan[$i][$j][$idx]->lektor.$lehrfach[$idx].$start_date_time_ical.$this->crlf
.'SUMMARY:'.$lehrfach[$idx].' '.$this->std_plan[$i][$j][$idx]->ort.' - '.$lvb.$this->crlf
- .'DESCRIPTION:'.$lehrfach[$idx].'\n'.$this->std_plan[$i][$j][$idx]->lektor.'\n'.$lvb.'\n'.$this->std_plan[$i][$j][$idx]->ort.$this->crlf
+ .'DESCRIPTION:'.$lehrfach[$idx].'\n'.$this->std_plan[$i][$j][$idx]->lektor.'\n'.$lvb.'\n'.$this->std_plan[$i][$j][$idx]->ort.(LVPLAN_ANMERKUNG_ANZEIGEN?'\n'.$this->std_plan[$i][$j][$idx]->anmerkung:'').$this->crlf
.'LOCATION:'.$this->std_plan[$i][$j][$idx]->ort.$this->crlf
.'CATEGORIES:'.$lvplan_kategorie.$this->crlf
.'DTSTART;TZID=Europe/Vienna:'.$start_date_time_ical.$this->crlf
@@ -2234,7 +2343,7 @@ class wochenplan extends basis_db
else
{
echo $this->crlf.'"'.$lehrfach[$idx].'","'.$lvplan_kategorie.'","'.$this->std_plan[$i][$j][$idx]->ort.'","Stundenplan'.$this->crlf.$this->std_plan[$i][$j][$idx]->lehrfach.$this->crlf;
- echo $this->std_plan[$i][$j][$idx]->lektor.$this->crlf.$lvb.$this->crlf.$this->std_plan[$i][$j][$idx]->ort.'","Stundenplan",';
+ echo $this->std_plan[$i][$j][$idx]->lektor.$this->crlf.$lvb.$this->crlf.$this->std_plan[$i][$j][$idx]->ort.(LVPLAN_ANMERKUNG_ANZEIGEN?$this->crlf.$this->std_plan[$i][$j][$idx]->anmerkung:'').'","Stundenplan",';
echo '"'.$start_date.'","'.$start_time.'","'.$end_date.'","'.$end_time.'",,,,,';
}
}
@@ -2309,5 +2418,17 @@ function jahreskalenderjump_hoverbox($link) //Mit Hoverbox Effekt
}
echo ' '.$crlf;
}
-
+
+function searchForId($id, $array)
+{
+ foreach ($array as $key => $val)
+ {
+ if ($val['unr'] == $id)
+ {
+ return $key;
+ }
+ }
+ return false;
+}
+
?>