Initial checking from CVS
This commit is contained in:
88
htdocs/image.schedule.gantt.php
Normal file
88
htdocs/image.schedule.gantt.php
Normal file
@@ -0,0 +1,88 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phptsmadmin/phpTSMadmin/htdocs/image.schedule.gantt.php,v 1.2 2009/04/19 03:54:40 wurley Exp $
|
||||
|
||||
# TODO:
|
||||
# Need better date handling - currently this script misses out events that start before midnight, but flow into today.
|
||||
# Want to make a week/month view, or select the day to view.
|
||||
# Currently only DURUNITS of HOUR schedules are shown.
|
||||
# Currently ASSUMES PERUNITS of DAY.
|
||||
|
||||
# Required Libraries
|
||||
require './common.php';
|
||||
initJPGraph(true);
|
||||
|
||||
# Defaults
|
||||
# Get Schedules
|
||||
$dayOfWeek = strtoupper(strftime('%A',time()));
|
||||
$todayDate = strftime('%y-%m-%d',time());
|
||||
|
||||
$tsmSchedAdmins = $app['server']->query("select * from ADMIN_SCHEDULES where DAYOFWEEK in ('ANY','".$dayOfWeek."')",null,'SCHEDULE_NAME');
|
||||
$tsmSchedClients = $app['server']->query("select * from CLIENT_SCHEDULES where DAYOFWEEK in ('ANY','".$dayOfWeek."')",null,'SCHEDULE_NAME');
|
||||
|
||||
# A new graph with automatic size
|
||||
$graph = new GanttGraph(0,0,"auto");
|
||||
|
||||
# Only show the current date.
|
||||
$graph->SetDateRange($todayDate,$todayDate);
|
||||
|
||||
$graph->SetMarginColor('#eeeeff');
|
||||
$graph->SetFrame(true,'#eeeeff',0);
|
||||
|
||||
# We want to display day, hour and minute scales
|
||||
$graph->ShowHeaders(GANTT_HDAY | GANTT_HHOUR | GANTT_HMIN);
|
||||
|
||||
# Setup hour format
|
||||
$graph->scale->hour->SetIntervall(1);
|
||||
$graph->scale->hour->SetStyle(HOURSTYLE_H24);
|
||||
$graph->scale->minute->SetIntervall(30);
|
||||
$graph->hgrid->Show();
|
||||
$graph->hgrid->SetRowFillColor('darkred@0.85');
|
||||
|
||||
$item = 0;
|
||||
|
||||
# Admin Schedules
|
||||
if ($tsmSchedAdmins) {
|
||||
foreach ($tsmSchedAdmins as $tsmSchedAdmin) {
|
||||
|
||||
if ($tsmSchedAdmin['DURUNITS'] == 'HOURS') {
|
||||
$activity = new GanttBar($item,$tsmSchedAdmin['SCHEDULE_NAME'].
|
||||
($tsmSchedAdmin['DESCRIPTION'] ? ' ('.$tsmSchedAdmin['DESCRIPTION'].')' : null),
|
||||
strftime('%Y-%m-%d',time()).' '.$tsmSchedAdmin['STARTTIME'],
|
||||
$tsmSchedAdmin['DURATION']/24);
|
||||
|
||||
if ($tsmSchedAdmin['ACTIVE'] == "NO") {
|
||||
$activity->SetColor('gray');
|
||||
$activity->SetPattern(GANTT_SOLID,'gray',50);
|
||||
}
|
||||
|
||||
$item++;
|
||||
$graph->Add($activity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$item++;
|
||||
|
||||
# ClientSchedules
|
||||
if ($tsmSchedClients) {
|
||||
foreach ($tsmSchedClients as $tsmSchedAdmin) {
|
||||
|
||||
if ($tsmSchedAdmin['DURUNITS'] == 'HOURS') {
|
||||
$activity = new GanttBar($item,$tsmSchedAdmin['SCHEDULE_NAME'].
|
||||
($tsmSchedAdmin['DESCRIPTION'] ? ' ('.$tsmSchedAdmin['DESCRIPTION'].')' : null),
|
||||
strftime('%Y-%m-%d',time()).' '.$tsmSchedAdmin['STARTTIME'],
|
||||
$tsmSchedAdmin['DURATION']/24);
|
||||
|
||||
$item++;
|
||||
$graph->Add($activity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Show the current time.
|
||||
$vline = new GanttVLine (strftime('%Y-%m-%d %H:%M',time()),"", "darkred",5);
|
||||
$graph->Add($vline);
|
||||
|
||||
# Display the Gantt chart
|
||||
$graph->Stroke();
|
||||
?>
|
Reference in New Issue
Block a user