diff --git a/content/projekt/gantt.svg.php b/content/projekt/gantt.svg.php
index 2da9346f9..a8ab2a124 100755
--- a/content/projekt/gantt.svg.php
+++ b/content/projekt/gantt.svg.php
@@ -1,5 +1,5 @@
farbe.'" stroke="black" />';
echo''.$projekt->titel.'';
- $i++;
+
+ // Zeichne Phasen in Projektbalken
+ $projektphasen = new projektphase();
+ $projektphasen->getProjektphasen($projekt->projekt_kurzbz);
+
+ foreach($projektphasen->result as $phase)
+ {
+ $width = 0;
+ $x = 0;
+ // wenn kein start oder ende angegeben -> nichts zeichnen -> width=0
+ if($phase->start != '' && $phase->ende != '')
+ {
+ $timestamp_beginn = $datum->mktime_fromdate($phase->start);
+ $timestamp_end = $datum->mktime_fromdate($phase->ende);
+ $kw_beginn = kalenderwoche($timestamp_beginn);
+ $kw_end = kalenderwoche($timestamp_end);
+ // kw soll bei 0 zu zeichnen beginnen
+ $kw_beginn = $kw_beginn -1;
+ $kw_end = $kw_end -1;
+
+ $year_beginn=date("Y",$timestamp_beginn);
+ $year_end=date("Y",$timestamp_end);
+
+ // phase beginnt und endet im Jahr
+ if($year_end == $year_beginn && $year_beginn == $studienjahr)
+ {
+ $width = ($kw_end - $kw_beginn+1)*$widthPerWeek;
+ $x = ($startX+$kw_beginn*$widthPerWeek);
+ }
+ // endet im nächsten jahr
+ else if($year_beginn == $studienjahr && $year_end > $year_beginn)
+ {
+ $width = ($kw_gesamt - $kw_beginn)*$widthPerWeek;
+ $x = ($startX+$kw_beginn*$widthPerWeek);
+ }
+ // geht über gesamtes jahr
+ else if($year_beginn < $studienjahr && $year_end > $studienjahr)
+ {
+ $width = ($kw_gesamt*$widthPerWeek);
+ $x = $startX;
+ }
+ // beginnt im vorigen und endet im aktuellen
+ else if($year_beginn < $studienjahr && $year_end == $studienjahr)
+ {
+ $width = ($kw_end+1)*$widthPerWeek;
+ $x = $startX;
+ }
+ }
+ // zeichne phasenbalken
+ echo '';
+ }
+
+ $i++;
}
echo'Organisationseinheit: '.$projekt->oe_kurzbz.'';
@@ -337,6 +388,118 @@ function getOeGantt()
echo "test:".$test.$projekt->titel."jahr".$studienjahr;
echo '';
echo''.$projekt->titel.'';
+
+ // Zeichne Phasen in Projektbalken
+ $projektphasen = new projektphase();
+ $projektphasen->getProjektphasen($projekt->projekt_kurzbz);
+
+ foreach($projektphasen->result as $phase)
+ {
+ $width = 0;
+ $x = 0;
+ // wenn kein start oder ende angegeben -> nichts zeichnen -> width=0
+ if($phase->start != '' && $phase->ende != '')
+ {
+ $timestamp_beginn = $datum->mktime_fromdate($phase->start);
+ $timestamp_end = $datum->mktime_fromdate($phase->ende);
+ $kw_beginn = kalenderwoche($timestamp_beginn);
+ $kw_end = kalenderwoche($timestamp_end);
+ $kw_beginn = $kw_beginn;
+ $kw_end = $kw_end;
+
+ $startSS = $kw_gesamt-$kw_old;
+
+ $year_beginn=date("Y",$timestamp_beginn);
+ $year_end=date("Y",$timestamp_end);
+ $test = 0;
+ // phase beginnt und endet im WS
+ if($year_end == $year_beginn && $year_beginn == $studienjahr && $kw_beginn >= $kw_old)
+ {
+ $width = ($kw_end - $kw_beginn + 1)*$widthPerWeek;
+ $x = ($startX+($kw_beginn-$kw_old)*$widthPerWeek);
+ $test = 1;
+ }
+ // phase beginnt und endet im SS
+ if($year_end == $year_beginn && $year_beginn == $studienjahr+1 && $kw_beginn >= 1 && $kw_end <=$kw_new)
+ {
+ if($kw_end == 1)// es kann auch sein dass 31.12 des kalenderjahres schon in der 1. KW liegt
+ $kw_end =$kw_new;
+ $width = ($kw_end - $kw_beginn + 1)*$widthPerWeek;
+ $x = ($startX+($kw_beginn+$startSS)*$widthPerWeek);
+ $test = 2;
+ }
+ // phase beginnt im WS und endet im SS
+ else if($year_beginn == $studienjahr && $year_end == $studienjahr+1 && $kw_beginn >= $kw_old && $kw_end <= $kw_new)
+ {
+ $width = ($kw_gesamt - $kw_beginn + $kw_end + 1)*$widthPerWeek;
+ $x = ($startX+($kw_beginn-$kw_old)*$widthPerWeek);
+ $test = 3;
+ }
+ // geht über gesamtes studienjahr
+ else if($year_beginn == $studienjahr && $kw_beginn <= $kw_old && (($year_end == $studienjahr+1 && $kw_end >= $kw_new) || $year_end > $studienjahr+1))
+ {
+ $width = $y*$widthPerWeek;
+ $x = $startX;
+ $test = 4;
+ }
+ // geht über gesamtes studienjahr
+ else if($year_beginn < $studienjahr && $year_end > $studienjahr+1)
+ {
+ $width = $y*$widthPerWeek;
+ $x = $startX;
+ $test = 5;
+ }
+ // beginnt früher und endet im aktuellen WS
+ else if((($year_beginn == $studienjahr && $kw_beginn < $kw_old) || ($year_beginn < $studienjahr)) && ($year_end == $studienjahr && $kw_end >= $kw_old))
+ {
+
+ $width = ($kw_end - $kw_old + 1)*$widthPerWeek;
+ $x = $startX;
+ $test = 6;
+ }
+ // beginnt früher und endet im aktuellen SS
+ else if((($year_beginn == $studienjahr && $kw_beginn < $kw_old) || ($year_beginn < $studienjahr)) && ($year_end == $studienjahr+1 && $kw_end <= $kw_new))
+ {
+ if($kw_end == 1) // es kann auch sein dass 31.12 des kalenderjahres schon in der 1. KW liegt
+ $kw_end =$kw_new;
+ $width = ($kw_gesamt - $kw_old + $kw_end + 1)*$widthPerWeek;
+ $x = $startX;
+ $test = 7;
+ }
+ // beginnt im aktuellen WS und endet nach Studienjahr im aktuellen Kalenderjahr
+ else if(($year_beginn == $studienjahr && $kw_beginn >= $kw_old) && ($year_end == $studienjahr+1 && $kw_end > $kw_new))
+ {
+ $width = ($kw_gesamt - $kw_beginn + $kw_new + 1)*$widthPerWeek;
+ $x = ($startX+($kw_beginn-$kw_old)*$widthPerWeek);
+ $test = 8;
+ }
+ // beginnt im aktuellen WS und endet nach Studienjahr und nach aktuellem Kalenderjahr
+ else if(($year_beginn == $studienjahr && $kw_beginn > $kw_old) && ($year_end > $studienjahr+1))
+ {
+ $width = ($kw_gesamt - $kw_beginn + $kw_new + 1)*$widthPerWeek;
+ $x = ($startX+($kw_beginn-$kw_old)*$widthPerWeek);
+ $test = 9;
+ }
+ // beginnt im aktuellen SS und endet nach Studienjahr im aktuellen Kalenderjahr
+ else if(($year_beginn == $studienjahr+1 && $kw_beginn <= $kw_new) && ($year_end == $studienjahr+1 && ($kw_end > $kw_new || $kw_end == 1))) // da 31.123
+ {
+ $width = ($y-$kw_beginn - $startSS)*$widthPerWeek;
+ $x = ($startX+($kw_beginn+$startSS)*$widthPerWeek);
+ $test = 10;
+ }
+ // beginnt im aktuellen SS und endet nach Studienjahr und nach aktuellem Kalenderjahr
+ else if(($year_beginn == $studienjahr+1 && $kw_beginn <= $kw_new) && ($year_end > $studienjahr+1))
+ {
+ $width = ($y-$kw_beginn - $startSS)*$widthPerWeek;
+ $x = ($startX+($kw_beginn+$startSS)*$widthPerWeek);
+ $test = 11;
+ }
+ }
+
+ // zeichne balken
+ echo '';
+ }
+
$i++;
}
@@ -629,7 +792,6 @@ function getProjektGantt()
}
// zeichne balken
- echo "test:".$test.$phase->bezeichnung."jahr".$studienjahr;
echo '';
echo''.$phase->bezeichnung.'';
$i++;