本文整理汇总了PHP中GanttGraph类的典型用法代码示例。如果您正苦于以下问题:PHP GanttGraph类的具体用法?PHP GanttGraph怎么用?PHP GanttGraph使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了GanttGraph类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: GanttGraph
<?php
// content="text/plain; charset=utf-8"
require_once "jpgraph/jpgraph.php";
require_once "jpgraph/jpgraph_gantt.php";
$graph = new GanttGraph(0, 0);
$graph->SetShadow();
// Add title and subtitle
$graph->title->Set("Main title");
$graph->title->SetFont(FF_ARIAL, FS_BOLD, 12);
// Show day, week and month scale
//$graph->ShowHeaders(GANTT_HDAY | GANTT_HWEEK | GANTT_HMONTH);
$graph->ShowHeaders(GANTT_HWEEK);
// Instead of week number show the date for the first day in the week
// on the week scale
$graph->scale->week->SetStyle(WEEKSTYLE_WNBR);
// Make the week scale font smaller than the default
$graph->scale->week->SetFont(FF_FONT0);
// Use the short name of the month together with a 2 digit year
// on the month scale
$graph->scale->month->SetStyle(MONTHSTYLE_SHORTNAMEYEAR4);
$graph->scale->month->SetFontColor("white");
$graph->scale->month->SetBackgroundColor("blue");
// Format the bar for the first activity
// ($row,$title,$startdate,$enddate)
$activity = new GanttBar(0, "Project", "2001-12-21", "2002-02-20");
// Yellow diagonal line pattern on a red background
$activity->SetPattern(BAND_RDIAG, "yellow");
$activity->SetFillColor("red");
// Finally add the bar to the graph
$graph->Add($activity);
示例2: GanttGraph
<?php
include "../jpgraph.php";
include "../jpgraph_gantt.php";
$graph = new GanttGraph(0, 0, "auto");
$graph->SetShadow();
// Add title and subtitle
$graph->title->Set("A nice main title");
$graph->title->SetFont(FF_ARIAL, FS_BOLD, 12);
$graph->subtitle->Set("(Draft version)");
// Show day, week and month scale
$graph->ShowHeaders(GANTT_HDAY | GANTT_HWEEK | GANTT_HMONTH);
// Instead of week number show the date for the first day in the week
// on the week scale
$graph->scale->week->SetStyle(WEEKSTYLE_FIRSTDAY);
// Make the week scale font smaller than the default
$graph->scale->week->SetFont(FF_FONT0);
// Use the short name of the month together with a 2 digit year
// on the month scale
$graph->scale->month->SetStyle(MONTHSTYLE_SHORTNAMEYEAR4);
$graph->scale->month->SetFontColor("white");
$graph->scale->month->SetBackgroundColor("blue");
// Format the bar for the first activity
// ($row,$title,$startdate,$enddate)
$activity = new GanttBar(0, "Project", "2001-12-21", "2002-01-20");
// Yellow diagonal line pattern on a red background
$activity->SetPattern(BAND_RDIAG, "yellow");
$activity->SetFillColor("red");
// Add a right marker
$activity->rightMark->Show();
$activity->rightMark->SetType(MARK_FILLEDCIRCLE);
示例3: min
}
if ($showInactive != '1') {
$q->addWhere('project_status != 7');
}
$pjobj->setAllowedSQL($AppUI->user_id, $q, null, 'p');
$q->addGroup('p.project_id');
$q->addOrder('project_name, task_end_date DESC');
$projects = $q->loadList();
$q->clear();
// Don't push the width higher than about 1200 pixels, otherwise it may not display.
$width = min(dPgetParam($_GET, 'width', 600), 1400);
$start_date = dPgetParam($_GET, 'start_date', 0);
$end_date = dPgetParam($_GET, 'end_date', 0);
$showAllGantt = dPgetParam($_REQUEST, 'showAllGantt', '0');
//$showTaskGantt = dPgetParam($_GET, 'showTaskGantt', '0');
$graph = new GanttGraph($width);
$graph->ShowHeaders(GANTT_HYEAR | GANTT_HMONTH | GANTT_HDAY | GANTT_HWEEK);
$graph->SetFrame(false);
$graph->SetBox(true, array(0, 0, 0), 2);
$graph->scale->week->SetStyle(WEEKSTYLE_FIRSTDAY);
$pLocale = setlocale(LC_TIME, 0);
// get current locale for LC_TIME
$res = @setlocale(LC_TIME, $AppUI->user_lang[0]);
if ($res) {
// Setting locale doesn't fail
$graph->scale->SetDateLocale($AppUI->user_lang[0]);
}
setlocale(LC_TIME, $pLocale);
if ($start_date && $end_date) {
$graph->SetDateRange($start_date, $end_date);
}
示例4: GanttBar
<?php
// Gantt example to create CSIM
include "../jpgraph.php";
include "../jpgraph_gantt.php";
$bar1 = new GanttBar(0, "Activity 1", "2001-12-21", "2002-01-20");
$bar1->SetCSIMTarget('#', 'Go back 1');
$bar1->title->SetCSIMTarget('#', 'Go back 1 (title)');
$bar2 = new GanttBar(1, "Activity 2", "2002-01-03", "2002-01-25");
$bar2->SetCSIMTarget('#', 'Go back 2');
$bar2->title->SetCSIMTarget('#', 'Go back 2 (title)');
$graph = new GanttGraph(500);
$graph->title->Set("Example with image map");
$graph->ShowHeaders(GANTT_HYEAR | GANTT_HMONTH | GANTT_HDAY | GANTT_HWEEK);
$graph->scale->week->SetStyle(WEEKSTYLE_FIRSTDAY);
$graph->scale->week->SetFont(FF_FONT1);
$graph->Add(array($bar1, $bar2));
// And stroke
$graph->StrokeCSIM();
?>
示例5: request
#Application name: PhpCollab
#Status page: 0
$checkSession = "true";
include "../includes/library.php";
include "../includes/jpgraph/jpgraph.php";
include "../includes/jpgraph/jpgraph_gantt.php";
$tmpquery = "WHERE tas.id = '" . $task . "'";
$taskDetail = new request();
$taskDetail->openTasks($tmpquery);
$tmpquery = "WHERE pro.id = '" . $taskDetail->tas_project[0] . "'";
$projectDetail = new request();
$projectDetail->openProjects($tmpquery);
$projectDetail->pro_created[0] = createDate($projectDetail->pro_created[0], $timezoneSession);
$projectDetail->pro_name[0] = str_replace('"', '"', $projectDetail->pro_name[0]);
$projectDetail->pro_name[0] = str_replace("'", "'", $projectDetail->pro_name[0]);
$graph = new GanttGraph();
$graph->SetBox();
$graph->SetMarginColor("white");
$graph->SetColor("white");
$graph->title->Set($strings["task"] . " " . $taskDetail->tas_name[0]);
$graph->subtitle->Set("(" . $strings["created"] . ": " . $taskDetail->tas_created[0] . ")");
$graph->title->SetFont(FF_FONT1);
$graph->SetColor("white");
$graph->ShowHeaders(GANTT_HYEAR | GANTT_HMONTH | GANTT_HDAY | GANTT_HWEEK);
$graph->scale->week->SetStyle(WEEKSTYLE_FIRSTDAY);
$graph->scale->week->SetFont(FF_FONT0);
$graph->scale->year->SetFont(FF_FONT1);
$tmpquery = "WHERE subtas.task = '{$task}' AND subtas.start_date != '--' AND subtas.due_date != '--' AND tas.published != '1' ORDER BY subtas.due_date";
$listTasks = new request();
$listTasks->openSubtasks($tmpquery);
$comptListTasks = count($listTasks->subtas_id);
示例6: unset
}
unset($proTasks);
//consider critical (concerning end date) tasks as well
if ($caller != 'todo') {
$start_min = $projects[$project_id]['project_start_date'];
$end_max = $projects[$project_id]['project_end_date'] > $criticalTasks[0]['task_end_date'] ? $projects[$project_id]['project_end_date'] : $criticalTasks[0]['task_end_date'];
}
$start_date = dPgetParam($_GET, 'start_date', $start_min);
$end_date = dPgetParam($_GET, 'end_date', $end_max);
$count = 0;
$width = min(dPgetParam($_GET, 'width', 600), 1400);
// If hyperlinks are to be added then the graph is of a set width///////
if ($addLinksToGantt == '1') {
$width = 950;
}
$graph = new GanttGraph($width);
$graph->ShowHeaders(GANTT_HYEAR | GANTT_HMONTH | GANTT_HDAY | GANTT_HWEEK);
//$graph->ShowHeaders(GANTT_HYEAR | GANTT_HMONTH | GANTT_HDAY);
$graph->SetFrame(false);
$graph->SetBox(true, array(0, 0, 0), 2);
$graph->scale->week->SetStyle(WEEKSTYLE_FIRSTDAY);
//$graph->scale->day->SetStyle(DAYSTYLE_SHORTDATE2);
//Check whether to show horizontal grid or not ////////////////////////////////////////////////////
if ($showhgrid == '1') {
$graph->hgrid->Show();
$graph->hgrid->SetRowFillColor('darkblue@0.95');
}
$pLocale = setlocale(LC_TIME, 0);
// get current locale for LC_TIME
//$res = @setlocale(LC_TIME, $AppUI->user_lang[2]);
$res = @setlocale(LC_TIME, $AppUI->user_lang[0]);
示例7: graph_schedule
function graph_schedule($data, $title, $show_day)
{
require_once "jpgraph/jpgraph.php";
require_once "jpgraph/jpgraph_gantt.php";
// Some sample Gantt data
/*
$data = array(
array(0, " Bryce", "2009-08-28 11:00","2009-08-28 15:30"),
array(1, " Kyla", "2009-08-28 08:00","2009-08-28 15:30"),
array(2, " Nathan", "2009-08-28 08:00","2009-08-28 17:00")
);
*/
// Basic graph parameters
$graph = new GanttGraph(700);
$graph->SetMarginColor('darkgreen@0.8');
$graph->SetColor('white');
$graph->title->Set("{$title}'s Schedule");
$graph->title->SetColor('darkgray');
// We want to display day, hour and minute scales
if ($show_day) {
$graph->ShowHeaders(GANTT_HDAY | GANTT_HHOUR);
} else {
$graph->ShowHeaders(GANTT_HHOUR);
}
#$graph->ShowHeaders(GANTT_HDAY | GANTT_HHOUR);
#$graph->ShowHeaders(GANTT_HHOUR);
// Setup day format
$graph->scale->day->SetBackgroundColor('lightyellow:1.5');
$graph->scale->day->SetStyle(DAYSTYLE_LONG);
$graph->scale->day->SetFont(FF_FONT1, FS_NORMAL, 16);
// Setup hour format
$graph->scale->hour->SetIntervall(1);
$graph->scale->hour->SetBackgroundColor('lightyellow:1.5');
$graph->scale->hour->SetStyle(HOURSTYLE_HAMPM);
$graph->scale->hour->grid->SetColor('gray:0.8');
$graph->scale->hour->SetFont(FF_FONT1, FS_NORMAL, 13);
for ($i = 0; $i < count($data); ++$i) {
$bar = new GanttBar($data[$i][0], $data[$i][1], $data[$i][2], $data[$i][3], $data[$i][4]);
$bar->SetPattern(BAND_RDIAG, "yellow");
$bar->SetFillColor("gray");
$graph->Add($bar);
}
// Draw graph
$graph->Stroke();
}
示例8: GanttGraph
<?php
// Gantt example
include "../jpgraph.php";
include "../jpgraph_gantt.php";
// Create the basic graph
$graph = new GanttGraph();
$graph->title->Set("Example with multiple constrains");
$bar1 = new GanttBar(0, "Label 1", "2003-06-08", "2003-06-12");
$bar2 = new GanttBar(1, "Label 2", "2003-06-16", "2003-06-19");
$bar3 = new GanttBar(2, "Label 3", "2003-06-15", "2003-06-21");
//create constraints
$bar1->SetConstrain(1, CONSTRAIN_ENDSTART);
$bar1->SetConstrain(2, CONSTRAIN_ENDSTART);
// Setup scale
$graph->ShowHeaders(GANTT_HDAY | GANTT_HWEEK);
$graph->scale->week->SetStyle(WEEKSTYLE_FIRSTDAYWNBR);
// Add the specified activities
$graph->Add($bar1);
$graph->Add($bar2);
$graph->Add($bar3);
// .. and stroke the graph
$graph->Stroke();
示例9: grafica
function grafica($fecha_max, $fecha_min, $datos)
{
$graph = new GanttGraph();
$graph->title->Set("");
// Rango de fechas a presentar
$graph->SetDateRange($fecha_min, $fecha_max);
// linea de espaciado vertical entre los elementos
$graph->SetVMarginFactor(2);
// configuracion de colores
$graph->SetMarginColor('lightgreen@0.8');
// color del fondo
$graph->SetBox(true, 'yellow:0.6', 2);
// contorno del marco interior
$graph->SetFrame(true, 'darkgreen', 4);
// contorno del marco exterior
$graph->scale->divider->SetColor('yellow:0.6');
// linea divisora de datos y grafico
$graph->scale->dividerh->SetColor('red:0.6');
//liena que divide el tiempo con las barras de la grafica
// Ponemos la medida de tiempo que queremos usar, por ejemplo años, meses, dias, hors o minutos
//por ejemplo, si queremos solamente la division por meses y semanas en lugar de tener
//GANTT_HWEEK | GANTT_HMONTH | GANTT_HYEAR | GANTT_HDAY
//dejamos
//GANTT_HWEEK | GANTT_HMONTH
// para mas opciones de division de tiempo ver comentarios abajo
$graph->ShowHeaders(GANTT_HWEEK | GANTT_HMONTH | GANTT_HYEAR | GANTT_HDAY);
$graph->scale->month->grid->SetColor('gray');
//lineas verticales que dividen los meses
$graph->scale->month->grid->Show(true);
$graph->scale->year->grid->SetColor('gray');
// linea verticales que dividen los años
$graph->scale->year->grid->Show(true);
$graph->scale->actinfo->SetColTitles(array('Acción', 'Duracion', 'Inicio', 'Final', 'Porcentaje'), array(30, 100));
$graph->scale->actinfo->SetBackgroundColor('blue:0.5@0.5');
//color de fondo de los titulos de la tabla
$graph->scale->actinfo->SetFont(FF_ARIAL, FS_NORMAL, 12);
//tipografia
// division vertical de los datos a la izquierda, posibles valores 'solid', 'dotted', 'dashed'
$graph->scale->actinfo->vgrid->SetStyle('solid');
$graph->scale->actinfo->vgrid->SetColor('red');
// color de las divisiones puestas en el renglon anterior
// Configuración de los iconos que queremos usar
//para poner algun icono no definido podemos usarlo de la siguiente manera
//$icon = new IconImage("imagen.png",0.7);
//en el ejemplo estoy usando una omagen desde blogspot
//el numero que es el segundo parametro de IconImage es el porcentaje de la imagen, en este caso esta al 20%
$erricon = new IconImage("logo-copia.png", 0.2);
$startconicon = new IconImage(GICON_FOLDEROPEN, 0.6);
$endconicon = new IconImage(GICON_TEXTIMPORTANT, 0.5);
//ahora ponemos los datos de la tabla e iniciamos los datos de las barras
// $data = array(
// //valores del arreglo:
// //indice del arreglo, arreglo de datos para la informacion a la izquierda, fecha de inicio de la barra, fecha final de la barra, tipografia, estilo,tamaño tipografia,% de progreso en la barra
// array(0,array("Pre-study","17 days","1 Nov '2011","1 Mar '2012")
// , "2011-11-01","2012-01-1",FF_ARIAL,FS_NORMAL,8, 0.5),//el 0.5 indica el 50%, que ocuparemos en la linea 74, dando su posicion en el arreglo
// array(1,array("Prototype","10 days","26 Oct '2011","16 Nov '2011"),
// "2011-10-26","2011-11-01",FF_ARIAL,FS_NORMAL,8, 0.12),
// array(2,array("Report","12 days","1 Mar '2012","13 Mar '2012"),
// "2012-03-01","2012-03-13",FF_ARIAL,FS_NORMAL,8, 1)
// );
$data = $datos;
// Crea las barras y las añade a la grafica gantt
for ($i = 0; $i < count($data); ++$i) {
$bar = new GanttBar($data[$i][0], $data[$i][1], $data[$i][2], $data[$i][3], '', 10);
if (count($data[$i]) > 4) {
$bar->title->SetFont($data[$i][4], $data[$i][5], $data[$i][6]);
}
$bar->SetPattern(BAND_RDIAG, "yellow");
$bar->SetFillColor("gray");
$bar->progress->Set($data[$i][7]);
// ocupamos el % de adelanto en la actividad
$bar->progress->SetPattern(GANTT_SOLID, "darkgreen");
//$bar->title->SetCSIMTarget(array('#1'.$i,'#2'.$i,'#3'.$i,'#4'.$i,'#5'.$i),array('11'.$i,'22'.$i,'33'.$i));
$graph->Add($bar);
//echo "<br>--> ".$data[$i][7];
}
// Creamos la imagen y le damos nombre, la imagen se guarda donde estan estos archivos
$graph->Stroke('imagenprueba.jpg');
}
示例10: array
<?php
// Gantt example to create CSIM using CreateSimple()
include "../jpgraph.php";
include "../jpgraph_gantt.php";
$data = array(array(0, ACTYPE_GROUP, "Phase 1", "2001-10-26", "2001-11-23", '', '#1', 'Go home'), array(1, ACTYPE_NORMAL, " Label 2", "2001-10-26", "2001-11-16", 'ab,cd', '#2', 'Go home'), array(2, ACTYPE_NORMAL, " Label 3", "2001-11-20", "2001-11-22", 'ek', '#3', 'Go home'), array(3, ACTYPE_MILESTONE, " Phase 1 Done", "2001-11-23", 'M2', '#4', 'Go home'));
// The constrains between the activities
$constrains = array(array(1, 2, CONSTRAIN_ENDSTART), array(2, 3, CONSTRAIN_STARTSTART));
$progress = array(array(1, 0.4));
$graph = new GanttGraph(500);
$graph->title->Set("Example with image map");
$graph->ShowHeaders(GANTT_HYEAR | GANTT_HMONTH | GANTT_HDAY | GANTT_HWEEK);
$graph->scale->week->SetStyle(WEEKSTYLE_FIRSTDAY);
$graph->scale->week->SetFont(FF_FONT1);
$graph->CreateSimple($data, $constrains, $progress);
// Add the specified activities
//SetupSimpleGantt($graph,$data,$constrains,$progress);
// And stroke
$graph->StrokeCSIM('ganttcsimex02.php');
?>
示例11: array
}
$data[] = array($d[$d2] - 1, date("Y-m-d", $end), "00:00", date("H:i", $end), $start);
}
if (!$d[$d1]) {
$d[$d1] = $idx++;
}
$data[] = array($d[$d1] - 1, date("Y-m-d", $start), date("H:i", $start), $d2 <= $d1 ? date("H:i", $end) : "23:59", $start);
}
}
if (!$data) {
// fake 1 record so the chart doesn't error
$data[] = array(0, date("Y-m-d"), '00:00', '00:00', time());
}
// remove any and all output buffers
$ps->ob_clean();
$graph = new GanttGraph(0, 0, $imgfilename, CACHE_TIMEOUT);
$showfooter = (bool) $styles->val('image.session.showfooter', 'image.common.footer.show');
$top = intval($styles->val('image.session.margin.top', 'image.common.margin.top', true));
$right = intval($styles->val('image.session.margin.right', 'image.common.margin.right', true));
$bottom = intval($styles->val('image.session.margin.bottom', 'image.common.margin.bottom', true));
$left = intval($styles->val('image.session.margin.left', 'image.common.margin.left', true));
$graph->setMargin($left, $right, $top, ($showfooter and $bottom < 14) ? 14 : $bottom);
$graph->ShowHeaders(GANTT_HHOUR);
//$graph->SetBackgroundGradient('gray','whitesmoke',GRAD_LEFT_REFLECTION,BGRAD_MARGIN);
$graph->SetMarginColor($styles->val('image.session.frame.margin', '#C4C4C4', true));
$graph->SetFrame(true, $styles->val('image.session.frame.color', 'gray', true), $styles->val('image.session.frame.width', 1, true));
//if (!$noname) $graph->title->Set($plrname);
//$graph->title->SetColor('blue');
//$graph->subtitle->Set(imgdef($s['frame']['title'], 'Player Sessions'));
//$graph->subtitle->SetFont(constant(imgdef($s['@frame']['font'], 'FF_FONT0')));
// must override the weekend settings ...
示例12: MakeGanttChart
/**
*Make Gantt
*@return image png & die
*/
function MakeGanttChart(){
// is logged ?
if (!logged_user()->isProjectUser(active_project())) {
die;
} // if
// is user can view this project ??
if (!ProjectFile::canView(logged_user(), active_project())) {
die;
} //if
/*
* Init gantt graph
*/
$width = 850;
$graph = new GanttGraph($width);
/*
* here header must be set at end and during process catch all date to determine the difference max between start and end
* to present HDAY or not depend on information volume
*/
//graph header
$graph->ShowHeaders(GANTT_HYEAR | GANTT_HMONTH | GANTT_HWEEK | GANTT_HDAY);
// Instead of week number show the date for the first day in the week
// on the week scale
$graph->scale->week->SetStyle(WEEKSTYLE_FIRSTDAY);
$graph->SetMarginColor('blue:1.7');
$graph->SetColor('white');
$graph->SetBackgroundGradient('#60A2BA','white',GRAD_HOR,BGRAD_MARGIN);
//$graph->SetBackgroundGradient('#A01010','white',GRAD_HOR,BGRAD_MARGIN);
$graph->title->SetColor('white');
$graph->title->SetFont(FF_FONT2,FS_BOLD,18);
//$graph->scale->actinfo->SetColTitles(array('Act','Duration','Start','Finish','Resp'));
$graph->scale->actinfo->SetStyle(ACTINFO_3D);
$graph->scale->actinfo->SetFont(FF_ARIAL,FS_NORMAL,10);
$graph->scale->actinfo->vgrid->SetColor('gray');
$graph->scale->actinfo->SetColor('darkgray');
$locale_char_set = 'utf-8';
//For french support
//Localization::instance()->getLocale();
//if (preg_match('/' . Localization::instance()->getLocale() . '/i', 'fr_fr')) $graph->scale->SetDateLocale("fr_FR.utf8");
/*
* data jpgraph construction gantt type for project
*/
$project = active_project();
//Project title
$project_name = $project->getName();
$graph->title->Set(lang('project') . ': ' . substr(utf8_decode($project_name),0,40) );
$rows = $this->displayProjectGantt($project, $graph, 0);
$subprojects = $project->getSubprojects();
if (is_array($subprojects)) {
foreach($subprojects as $subproject) {
$rows = $this->displayProjectGantt($subproject, $graph, $rows++);
}
}
//send data
$type = "image/png";
$name = "projectpiergantt.png";
header("Content-Type: $type");
header("pragma: no-cache");
header("Content-Disposition: attachment; filename=\"$name\"");
$graph->Stroke();
die(); //end process do not send other informations
} //MakeGantt
示例13: graficar
public function graficar($filename)
{
$graph = new GanttGraph();
$graph->SetShadow();
$graph->SetBox();
// Only show part of the Gantt
$graph = new GanttGraph(1000);
/*
$graph->title->Set('Proceso '.$this->dataSource->getParameter('desc_proceso_macro')."\n".
'Seguimiento de Solicitud '.$this->dataSource->getParameter('numero')."\n".
'Unidad '.$this->dataSource->getParameter('desc_uo'));
$graph->title->SetFont(FF_ARIAL,FS_BOLD,6);
*/
define('UTF-8', $locale_char_set);
// Setup some "very" nonstandard colors
$graph->SetMarginColor('lightgreen@0.8');
$graph->SetBox(true, 'yellow:0.6', 2);
$graph->SetFrame(true, 'darkgreen', 4);
$graph->scale->divider->SetColor('yellow:0.6');
$graph->scale->dividerh->SetColor('yellow:0.6');
// Explicitely set the date range
// (Autoscaling will of course also work)
// Display month and year scale with the gridlines
$graph->ShowHeaders(GANTT_HMONTH | GANTT_HYEAR | GANTT_HDAY);
$graph->scale->month->grid->SetColor('gray');
$graph->scale->month->grid->Show(true);
$graph->scale->year->grid->SetColor('gray');
$graph->scale->year->grid->Show(true);
// Setup a horizontal grid
$graph->hgrid->Show();
$graph->hgrid->SetRowFillColor('darkblue@0.9');
// Setup activity info
// For the titles we also add a minimum width of 100 pixels for the Task name column
$graph->scale->actinfo->SetColTitles(array('Tipo', 'Estado', 'Responsable', 'Duracion', 'Inicio', 'Fin'), array(40, 100));
$graph->scale->actinfo->SetBackgroundColor('green:0.5@0.5');
$graph->scale->actinfo->SetFont(FF_ARIAL, FS_NORMAL, 10);
$data = array();
$dataset = $this->dataSource->getDataset();
$tamanioDataset = count($dataset);
$fechaInicio = 0;
$fechaFin = 0;
for ($i = 0; $i < $tamanioDataset; $i++) {
if ($i == 0) {
$fechaInicio = $dataset[$i]['fecha_reg'];
}
/*
if($dataset[$i]['nombre_estado']=='En_Proceso'||$dataset[$i]['nombre_estado']=='Habilitado para pagar'||$dataset[$i]['nombre_estado']=='En Pago'){
$milestone = new MileStone($i,$dataset[$i]['nombre_estado'],$dataset[$i]['fecha_reg'],$dataset[$i]['fecha_reg']);
$milestone->title->SetColor("black");
$milestone->title->SetFont(FF_FONT1,FS_BOLD);
$graph->Add($milestone);
continue;
}
*/
$actividad = array();
array_push($actividad, $i);
if ($i == $tamanioDataset - 1) {
$fechaFin = $dataset[$i]['fecha_reg'];
} else {
$fechaFin = $dataset[$i + 1]['fecha_reg'];
}
$startLiteral = new DateTime($dataset[$i]['fecha_reg']);
$endLiteral = new DateTime($fechaFin);
$start = strtotime($dataset[$i]['fecha_reg']);
$end = strtotime($fechaFin);
$days_between = round(($end - $start) / 86400);
$cabecera = array($dataset[$i]['proceso'], $dataset[$i]['estado'], $dataset[$i]['funcionario'] != '-' ? $dataset[$i]['func'] : $dataset[$i]['depto'], "{$days_between}" . ' dias', $startLiteral->format('d M Y'), $endLiteral->format('d M Y'));
array_push($actividad, $cabecera);
array_push($actividad, $dataset[$i]['fecha_reg']);
array_push($actividad, $fechaFin);
array_push($actividad, FF_ARIAL);
array_push($actividad, FS_NORMAL);
array_push($actividad, 8);
array_push($data, $actividad);
}
// Create the bars and add them to the gantt chart
for ($i = 0; $i < count($data); $i++) {
$bar = new GanttBar($data[$i][0], $data[$i][1], $data[$i][2], $data[$i][3], "[100%]", 10);
if (count($data[$i]) > 4) {
$bar->title->SetFont($data[$i][4], $data[$i][5], $data[$i][6]);
}
$bar->SetPattern(BAND_RDIAG, "yellow");
$bar->SetFillColor("gray");
$bar->progress->Set(1);
$bar->progress->SetPattern(GANTT_SOLID, "darkgreen");
$graph->Add($bar);
}
//$graph->SetDateRange($fechaInicio,$fechaFin);
$archivo = dirname(__FILE__) . '/../../../reportes_generados/' . $filename;
//$graph->StrokeCSIM();
//exit;
$graph->Stroke($archivo);
}
示例14: GanttGraph
//iterate through each item, grab the count and add it to the item
$glpi_id = $item['psu_name'];
$glpi_ids[] = $glpi_id;
//get the list of just the glpi_ids for the gannt view
$count = CTSDatabaseAPI::count($glpi_id);
$item['count'] = $count;
//hold all of the items in an array
$temp_items[] = $item;
}
//---------------------------------------------------------------
// Gantt view
//---------------------------------------------------------------
include 'jpgraph/jpgraph.php';
include 'jpgraph/jpgraph_gantt.php';
//graph code found in loan_sched.html in /cts
$graph = new GanttGraph(900);
$graph->SetFrame(true, 'darkblue', 2);
$graph->scale->day->SetLabelFormatString('%a %m/%e');
$graph->scale->day->SetStyle(DAYSTYLE_CUSTOM);
$graph->scale->day->SetFont(FF_FONT1, FS_BOLD, 12);
$graph->SetMargin(-1, -1, -1, -1);
$graph->ShowHeaders(GANTT_HDAY);
$graph->hgrid->Show();
//$graph->scale->day->SetFont(15);
$graph->hgrid->SetRowFillColor('#B5BD88@0.5');
$graph->SetDateRange($start_date, $end_date);
$equipment_reservations = CTSDatabaseAPI::equipment_by_date($dates);
foreach ($glpi_ids as $id) {
//iterate through the ids and check to see if they are in the equipment array
if ($equipment_reservations[$id]) {
//put the information in a new array
示例15: GanttGraph
<?php
// content="text/plain; charset=utf-8"
// Gantt column font array example
require_once '../jpgraph.php';
require_once '../jpgraph_gantt.php';
// Setup a basic Gantt graph
$graph = new GanttGraph();
$graph->SetMarginColor('gray:1.7');
$graph->SetColor('white');
// Setup the graph title and title font
$graph->title->Set("Example of column fonts");
$graph->title->SetFont(FF_VERDANA, FS_BOLD, 14);
// Show three headers
$graph->ShowHeaders(GANTT_HDAY | GANTT_HMONTH | GANTT_HYEAR);
// Set the column headers and font
$graph->scale->actinfo->SetColTitles(array('Name', 'Start', 'End'), array(100));
$graph->scale->actinfo->SetFont(FF_ARIAL, FS_BOLD, 11);
// Some "dummy" data to be dsiplayed
$data = array(array(0, 'Group 1', '2001-11-27', '2001-12-05'), array(1, ' Activity 1', '2001-11-27', '2001-11-29'), array(2, ' Activity 2', '2001-11-28', '2001-12-05'), array(3, 'Group 2', '2001-11-29', '2001-12-10'), array(4, ' Activity 1', '2001-11-29', '2001-12-03'), array(5, ' Activity 2', '2001-12-01', '2001-12-10'));
// Format and add the Gantt bars to the chart
$n = count($data);
for ($i = 0; $i < $n; ++$i) {
if ($i === 0 || $i === 3) {
// Format the group bars
$bar = new GanttBar($data[$i][0], array($data[$i][1], $data[$i][2], $data[$i][3]), $data[$i][2], $data[$i][3], '', 0.35);
// For each group make the name bold but keep the dates as the default font
$bar->title->SetColumnFonts(array(array(FF_ARIAL, FS_BOLD, 11)));
// Add group markers
$bar->leftMark->SetType(MARK_LEFTTRIANGLE);
$bar->leftMark->Show();