*/
global $projekt_kurzbz;
global $oe;
global $studienjahr;
global $ansicht;
if(isset($_REQUEST['projekt']) || isset($_REQUEST['oe']))
{
$projekt_kurzbz = isset($_REQUEST['projekt'])?$_REQUEST['projekt']: '';
$oe = isset($_REQUEST['oe'])?$_REQUEST['oe']:'';
}
else
die ('Kein Projekt oder OE übergeben!');
if(isset($_REQUEST['beginn']) && isset($_REQUEST['ende']))
{
$beginn = $_REQUEST['beginn'];
$ende = $_REQUEST['ende'];
}
if(isset($_REQUEST['studienjahr']))
$studienjahr = $_REQUEST['studienjahr'];
if(isset($_REQUEST['ansicht']))
$ansicht = $_REQUEST['ansicht'];
// header für no cache
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
// content type setzen
header("Content-type: application/xhtml+xml");
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/projektphase.class.php');
require_once('../../include/projekt.class.php');
require_once('../../include/functions.inc.php');
require_once('../../include/datum.class.php');
if($projekt_kurzbz != '')
{
// Zeichne alle Phasen vom übergebenen Projekt
getProjektGantt();
}
else
{
if(!isset($_REQUEST['beginn']))
getOeGantt();
else
getOeGanttZeitraum($beginn, $ende);
}
function getOeGanttZeitraum($beginn, $ende)
{
global $oe;
$datum = new datum();
$widthPerWeek = 16;
$startX =50;
$startY = 90;
$split_date_beginn = explode('.', $beginn);
$split_date_ende = explode('.', $ende);
$timestampZeitraum_beginn = mktime(0,0,0,$split_date_beginn[1],$split_date_beginn[0], $split_date_beginn[2]);
$timestampZeitraum_ende = mktime(0,0,0,$split_date_ende[1],$split_date_ende[0], $split_date_ende[2]);
$cw = getCwRange($timestampZeitraum_beginn, $timestampZeitraum_ende);
$anzahlKw = count($cw);
$beginn = $datum->formatDatum($beginn, 'Y-m-d');
$ende = $datum->formatDatum($ende, 'Y-m-d');
$projekt = new projekt();
if(!$projekt->getProjekteInZeitraum($beginn, $ende, $oe))
die('Fehler beim laden der Projekte aufgetreten');
$height = (count($projekt->result)) * 50;
echo '
';
echo '';
}
function getCwRange($start, $end)
{
if($start > $end) {
throw new InvalidArgumentException('Falsche Reihenfolge der Argumente');
}
$duration = ceil(($end-$start)/3600/24/7);
for($i = 0; $i < $duration; ++$i) {
$week = mktime(0, 0, 0, date('m', $start), date('d', $start)+($i*7), date('Y', $start));
$cw[$i]['week'] = date('W', $week);
$cw[$i]['year'] = date('Y', $week);
}
return $cw;
}
/**
*
* Zeichnet den Chart für alle Projekte einer Übergebenen Organisationseinheit
*/
function getOeGantt()
{
global $oe;
global $studienjahr;
global $ansicht;
$projekt = new projekt();
if(!$projekt->getProjekte($oe))
die('Keine gültige OE übergeben.');
$datum = new datum();
$widthPerWeek = 16;
$startX =50;
$startY = 90;
// KW in der 28.12 liegt ist letzte KW
$datum_gesamt = $studienjahr.'-12-28';
$timestamp_gesamt = $datum->mktime_fromdate($datum_gesamt);
$kw_gesamt = date('W',$timestamp_gesamt);
// kommt auf Anzahl der Phasen an
$height = (count($projekt->result)) * 50;
// Zeichne Kalenderjahr -> beginnend mit KW 1
if($ansicht=='kalenderjahr')
{
echo '
';
echo '';
}
else if($ansicht == 'studienjahr')
{
echo '
';
echo '';
}
}
/**
*
* Zeichnet den Chart für alle Phasen eines übergebenen Projektes
*/
function getProjektGantt()
{
global $projekt_kurzbz;
global $studienjahr;
global $ansicht;
$projektphasen = new projektphase();
if(!$projektphasen->getProjektphasen($projekt_kurzbz))
die('Kein gültiges Projekt übergeben.');
$projekt = new projekt();
if(!$projekt->load($projekt_kurzbz))
die('Konnte Projekt nicht laden.');
$datum = new datum();
$widthPerWeek = 16;
$startX = 20;
$startY = 90;
// KW in der 28.12 liegt ist letzte KW
$datum_gesamt = $studienjahr.'-12-28';
$timestamp_gesamt = $datum->mktime_fromdate($datum_gesamt);
$kw_gesamt = date('W',$timestamp_gesamt);
// kommt auf Anzahl der Phasen an
$height = (count($projektphasen->result)) * 50;
// Zeichne Kalenderjahr -> beginnend mit KW 1
if($ansicht=='kalenderjahr')
{
echo '
';
echo '';
}
else if($ansicht == 'studienjahr')
{
echo '
';
echo '';
}
}
?>