本文整理汇总了PHP中GanttGraph::SetBox方法的典型用法代码示例。如果您正苦于以下问题:PHP GanttGraph::SetBox方法的具体用法?PHP GanttGraph::SetBox怎么用?PHP GanttGraph::SetBox使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GanttGraph
的用法示例。
在下文中一共展示了GanttGraph::SetBox方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: GanttGraph
<?php
// Gantt example
include "../jpgraph.php";
include "../jpgraph_gantt.php";
$graph = new GanttGraph();
$graph->title->Set("Only month & year scale");
// 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)
$graph->SetDateRange('2001-10-06', '2002-4-10');
// Display month and year scale with the gridlines
$graph->ShowHeaders(GANTT_HMONTH | GANTT_HYEAR);
$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 activity info
// For the titles we also add a minimum width of 100 pixels for the Task name column
$graph->scale->actinfo->SetColTitles(array('Name', 'Duration', 'Start', 'Finish'), array(100));
$graph->scale->actinfo->SetBackgroundColor('green:0.5@0.5');
$graph->scale->actinfo->SetFont(FF_ARIAL, FS_NORMAL, 10);
$graph->scale->actinfo->vgrid->SetStyle('solid');
$graph->scale->actinfo->vgrid->SetColor('gray');
// Data for our example activities
$data = array(array(0, array("Pre-study", "102 days", "23 Nov '01", "1 Mar '02"), "2001-11-23", "2002-03-1", FF_ARIAL, FS_NORMAL, 8), array(1, array("Prototype", "21 days", "26 Oct '01", "16 Nov '01"), "2001-10-26", "2001-11-16", FF_ARIAL, FS_NORMAL, 8), array(2, array("Report", "12 days", "1 Mar '02", "13 Mar '02"), "2002-03-01", "2002-03-13", FF_ARIAL, FS_NORMAL, 8));
示例2: GanttGraph
<?php
include "../jpgraph.php";
include "../jpgraph_gantt.php";
$graph = new GanttGraph(0, 0, "auto");
$graph->SetBox();
$graph->SetShadow();
// Add title and subtitle
$graph->title->Set("Example of captions");
$graph->title->SetFont(FF_ARIAL, FS_BOLD, 12);
$graph->subtitle->Set("(ganttex14.php)");
// Show day, week and month scale
$graph->ShowHeaders(GANTT_HDAY | GANTT_HWEEK | GANTT_HMONTH);
// Use the short name of the month together with a 2 digit year
// on the month scale
$graph->scale->month->SetStyle(MONTHSTYLE_SHORTNAMEYEAR2);
$graph->scale->month->SetFontColor("white");
$graph->scale->month->SetBackgroundColor("blue");
// 0 % vertical label margin
$graph->SetLabelVMarginFactor(1);
// Format the bar for the first activity
// ($row,$title,$startdate,$enddate)
$activity = new GanttBar(0, "Project", "2001-12-21", "2002-01-07", "[50%]");
// Yellow diagonal line pattern on a red background
$activity->SetPattern(BAND_RDIAG, "yellow");
$activity->SetFillColor("red");
// Set absolute height
$activity->SetHeight(10);
// Specify progress to 60%
$activity->progress->Set(0.6);
// Format the bar for the second activity
示例3: min
}
$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);
}
$graph->scale->actinfo->SetFont(FF_CUSTOM, FS_NORMAL, 8);
$graph->scale->actinfo->vgrid->SetColor('gray');
$graph->scale->actinfo->SetColor('darkgray');
示例4: graficar
public function graficar($filename)
{
$graph = new GanttGraph();
$graph->SetShadow();
$graph->SetBox();
$dataset = $this->dataSource->getDataset();
define('UTF-8', $locale_char_set);
$tamanioDataset = count($dataset);
$fecha_reg_ini = new DateTime();
$fecha_reg_fin = new DateTime();
$fechaInicio = new DateTime();
$fechaFin = new DateTime();
$data = array();
$constrains = array();
for ($i = 0; $i < $tamanioDataset; $i++) {
//echo date_format(new DateTime($dataset[$i]['fecha_ini']),'Y-m-d H:i:s');
//exit;
if ($i == 0) {
$fechaInicio = new DateTime($dataset[$i]['fecha_ini']);
$fechaFin = new DateTime($dataset[$i]['fecha_fin']);
}
if ($fechaFin < new DateTime($dataset[$i]['fecha_ini']) && $dataset[$i]['tipo'] == 'estado_final') {
$fechaFin = new DateTime($dataset[$i]['fecha_ini']);
}
$actividad = array();
array_push($actividad, $dataset[$i]['id']);
$prefijo = '';
if ($dataset[$i]['tipo'] == 'proceso') {
$tipo = ACTYPE_GROUP;
}
if ($dataset[$i]['tipo'] == 'estado') {
$tipo = ACTYPE_NORMAL;
$prefijo = ' ';
}
if ($dataset[$i]['tipo'] == 'obs') {
$tipo = ACTYPE_NORMAL;
$prefijo = ' ';
}
if ($dataset[$i]['tipo'] == 'estado_final') {
$tipo = ACTYPE_MILESTONE;
$prefijo = ' ';
}
//arma cabecera
$fecha_reg_ini = new DateTime($dataset[$i]['fecha_ini']);
$fecha_reg_fin = new DateTime($dataset[$i]['fecha_fin']);
$resp = $dataset[$i]['funcionario'] != '' ? $dataset[$i]['funcionario'] : $dataset[$i]['depto'];
$resp = $resp == '' ? $dataset[$i]['cuenta'] : $resp;
//$resp = $dataset[$i]['depto'].'('.$dataset[$i]['cuenta'].") ->".$dataset[$i]['funcionario'];
//$resp = $dataset[$i]['depto'].'('.$dataset[$i]['cuenta'].");
$fini = $fecha_reg_ini->format('d M H:i:s');
$ffin = $fecha_reg_fin->format('d M H:i:s');
$start = strtotime($dataset[$i]['fecha_ini']);
$end = strtotime($dataset[$i]['fecha_fin']);
$days_between = round(($end - $start) / 86400);
if ($dataset[$i]['tipo'] == 'obs') {
$desc_principal = utf8_decode($prefijo . ' -> OBS: ' . $dataset[$i]['nombre']);
} else {
$desc_principal = utf8_decode($prefijo . $dataset[$i]['nombre']);
}
if ($dataset[$i]['tipo'] == 'estado' || $dataset[$i]['tipo'] == 'obs') {
$tiempo = $days_between . ' dias';
} else {
if ($dataset[$i]['tipo'] == 'estado_final') {
$tiempo = '--';
$ffin = $fini;
} else {
$resp = '--';
$tiempo = $days_between . ' dias';
$desc_principal = $desc_principal . "\n" . $dataset[$i]['descripcion'];
}
}
// si el estado tiene configurado el nombre de estapa damos preferencia a este campo
if (isset($dataset[$i]['etapa']) && $dataset[$i]['etapa'] != '') {
$desc_principal = ' ' . $dataset[$i]['etapa'] . ' [' . trim($desc_principal) . ']';
}
//mostramos cuenta de usuario si existe
if ($dataset[$i]['nombre_usuario_ai'] != '' && $dataset[$i]['nombre_usuario_ai'] != 'NULL') {
$desc_principal = $desc_principal . ' (por AI: ' . $dataset[$i]['nombre_usuario_ai'] . ")";
} elseif ($dataset[$i]['cuenta'] != '') {
$desc_principal = $desc_principal . ' (por: ' . $dataset[$i]['cuenta'] . ")";
}
if ($dataset[$i]['disparador'] == 'no' && $dataset[$i]['estado_reg'] == 'activo' || $dataset[$i]['tipo'] == 'estado_final') {
$desc_principal = $desc_principal . ' *****';
}
$cabecera = array(utf8_decode($desc_principal), utf8_decode($resp), $tiempo, $fini, $ffin);
array_push($actividad, $tipo);
array_push($actividad, $cabecera);
array_push($actividad, $fecha_reg_ini->format('Y-m-d H:i:s'));
if ($dataset[$i]['tipo'] != 'estado_final') {
array_push($actividad, $fecha_reg_fin->format('Y-m-d H:i:s'));
}
array_push($actividad, utf8_decode($dataset[$i]['descripcion']));
array_push($actividad, '#' . $dataset[$i]['id']);
array_push($actividad, $fecha_reg_ini->format('Y-m-d H:i:s'));
//prepara las relaciones entre tipos
if ($dataset[$i]['tipo'] == 'estado' && $dataset[$i]['id_siguiente'] != 0) {
array_push($constrains, array($dataset[$i]['id'], $dataset[$i]['id_siguiente'], CONSTRAIN_ENDSTART));
}
array_push($data, $actividad);
}
//.........这里部分代码省略.........
示例5: GanttGraph
<?php
// content="text/plain; charset=utf-8"
require_once "jpgraph/jpgraph.php";
require_once "jpgraph/jpgraph_gantt.php";
$graph = new GanttGraph();
$graph->SetBox();
$graph->SetShadow();
// Add title and subtitle
$graph->title->Set("Example of captions");
$graph->title->SetFont(FF_ARIAL, FS_BOLD, 12);
$graph->subtitle->Set("(ganttex18.php)");
// Show day, week and month scale
$graph->ShowHeaders(GANTT_HDAY | GANTT_HWEEK | GANTT_HMONTH);
// Set table title
$graph->scale->tableTitle->Set("(Rev: 1.22)");
$graph->scale->tableTitle->SetFont(FF_FONT1, FS_BOLD);
$graph->scale->SetTableTitleBackground("silver");
// Modify the appearance of the dividing lines
$graph->scale->divider->SetWeight(3);
$graph->scale->divider->SetColor("navy");
$graph->scale->dividerh->SetWeight(3);
$graph->scale->dividerh->SetColor("navy");
$graph->SetBox(true, "navy", 3);
// Use the short name of the month together with a 2 digit year
// on the month scale
$graph->scale->month->SetStyle(MONTHSTYLE_SHORTNAMEYEAR2);
$graph->scale->month->SetFontColor("white");
$graph->scale->month->SetBackgroundColor("blue");
// 0 % vertical label margin
$graph->SetLabelVMarginFactor(1);
示例6: GanttGraph
<?php
// content="text/plain; charset=utf-8"
require_once 'jpgraph/jpgraph.php';
require_once 'jpgraph/jpgraph_gantt.php';
$graph = new GanttGraph();
$graph->SetBox();
$graph->SetShadow();
// Use default locale
$graph->scale->SetDateLocale('sv_SE');
// Add title and subtitle
$graph->title->Set('Example of captions');
$graph->title->SetFont(FF_ARIAL, FS_BOLD, 12);
$graph->subtitle->Set('(ganttex19.php)');
// Show day, week and month scale
$graph->ShowHeaders(GANTT_HDAY | GANTT_HWEEK | GANTT_HMONTH);
// Set table title
$graph->scale->tableTitle->Set('(Rev: 1.22)');
$graph->scale->tableTitle->SetFont(FF_FONT1, FS_BOLD);
$graph->scale->SetTableTitleBackground('silver');
$graph->scale->tableTitle->Show();
$graph->scale->divider->SetStyle('solid');
$graph->scale->divider->SetWeight(2);
$graph->scale->divider->SetColor('black');
$graph->SetBox(true, 'navy', 2);
// Use the short name of the month together with a 2 digit year
// on the month scale
$graph->scale->month->SetStyle(MONTHSTYLE_SHORTNAMEYEAR2);
$graph->scale->month->SetFontColor('white');
$graph->scale->month->SetBackgroundColor('blue');
// 0 % vertical label margin
示例7: request
$checkSession = true;
require_once '../includes/library.php';
// load the jpgraph classes
require_once '../includes/jpgraph/jpgraph.php';
require_once '../includes/jpgraph/jpgraph_gantt.php';
$tmpquery = "WHERE pha.project_id = '" . $project . "' AND pha.order_num = '" . $phase . "'";
$phaseDetail = new request();
$phaseDetail->openPhases($tmpquery);
$phaseDetail->pha_name[0] = str_replace('"', '"', $phaseDetail->pha_name[0]);
$phaseDetail->pha_name[0] = str_replace("'", "'", $phaseDetail->pha_name[0]);
$tmpquery = "WHERE pro.id = '{$project}'";
$projectDetail = new request();
$projectDetail->openProjects($tmpquery);
// set up the graph
$graph = new GanttGraph(0, 0, 'auto');
$graph->SetBox();
$graph->SetShadow();
$graph->SetMarginColor('gainsboro');
$graph->SetMargin(10, 30, 25, 25);
// Set the Locale if you get errors with your environment
//$graph->scale->SetDateLocale('C');
// Add title
$graph->title->Set($projectDetail->pro_name[0] . ' : ' . $phaseDetail->pha_name[0] . ' ' . $strings['phase']);
$graph->title->SetFont(FF_FONT1, FS_BOLD, 12);
$graph->title->SetMargin(10);
$graph->title->SetBox('linen');
$graph->title->SetShadow();
// month and week scales are always displayed
$graph->scale->month->Show(true);
$graph->scale->week->Show(true);
// Condensed Gantt or not?
示例8: DEFINE
/**
* creates the image for the gantt chart
*
* @param $_params array containing projectdata, start- and enddate
* @param $_filename filename for the image, if empty image gets printed to browser
* @author Lars Kneschke / Bettina Gille
* @returns nothing - writes image to disk
*/
function show_graph($params, $_filename = '')
{
$modernJPGraph = false;
// no gd support
if (!function_exists('imagecopyresampled')) {
return false;
}
DEFINE("TTF_DIR", PHPGW_SERVER_ROOT . "/projects/ttf-bitstream-vera-1.10/");
if (file_exists(PHPGW_SERVER_ROOT . '/../jpgraph/src/jpgraph.php')) {
include PHPGW_SERVER_ROOT . '/../jpgraph/src/jpgraph.php';
include PHPGW_SERVER_ROOT . '/../jpgraph/src/jpgraph_gantt.php';
} else {
include PHPGW_SERVER_ROOT . '/projects/inc/jpgraph-1.5.2/src/jpgraph.php';
include PHPGW_SERVER_ROOT . '/projects/inc/jpgraph-1.5.2/src/jpgraph_gantt.php';
}
//_debug_array($params);
$project_array = $params['project_array'];
$sdate = $params['sdate'];
$edate = $params['edate'];
$showMilestones = $params['showMilestones'];
$showResources = $params['showResources'];
$bocalendar = CreateObject('calendar.bocalendar');
$this->graph = CreateObject('phpgwapi.gdgraph', $this->debug);
$bolink = CreateObject('infolog.bolink');
//$this->boprojects->order = 'parent';
$this->boprojects->limit = False;
$this->boprojects->html_output = False;
if (is_array($project_array)) {
$projects = array();
foreach ($project_array as $pro) {
$project = $this->boprojects->list_projects(array('action' => 'mainsubsorted', 'project_id' => $pro, 'mstones_stat' => True));
if (is_array($project)) {
$i = count($projects);
for ($k = 0; $k < count($project); $k++) {
$projects[$i + $k] = $project[$k];
}
}
}
}
if (is_array($projects)) {
$modernJPGraph = version_compare('1.13', JPG_VERSION);
$sdate = $sdate + 60 * 60 * $GLOBALS['phpgw_info']['user']['preferences']['common']['tz_offset'];
$sdateout = $GLOBALS['phpgw']->common->show_date($sdate, $GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat']);
$edate = $edate + 60 * 60 * $GLOBALS['phpgw_info']['user']['preferences']['common']['tz_offset'];
$edateout = $GLOBALS['phpgw']->common->show_date($edate, $GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat']);
# $this->graph->title = lang('Gantt chart from %1 to %2',$sdateout,$edateout);
// Standard calls to create a new graph
if ($modernJPGraph) {
$graph = new GanttGraph(940, -1, "auto");
} else {
$graph = new GanttGraph(-1, -1, "auto");
}
$graph->SetShadow();
$graph->SetBox();
$duration = $edate - $sdate;
if ($duration < 5958000) {
$graph->ShowHeaders(GANTT_HYEAR | GANTT_HMONTH | GANTT_HDAY | GANTT_HWEEK);
if ($modernJPGraph) {
$graph->scale->week->SetStyle(WEEKSTYLE_FIRSTDAYWNBR);
} else {
$graph->scale->week->SetStyle(WEEKSTYLE_FIRSTDAY);
}
} elseif ($duration < 13820400) {
$graph->scale->week->SetStyle(WEEKSTYLE_FIRSTDAY);
$graph->ShowHeaders(GANTT_HYEAR | GANTT_HMONTH | GANTT_HWEEK);
} else {
$graph->ShowHeaders(GANTT_HYEAR | GANTT_HMONTH);
}
// For the week we choose to show the start date of the week
// the default is to show week number (according to ISO 8601)
#$graph->scale->SetDateLocale('de_DE');
// Change the scale font
$graph->scale->week->SetFont(FF_VERA, FS_NORMAL, 8);
$graph->scale->year->SetFont(FF_VERA, FS_BOLD, 10);
// Titles for chart
$graph->title->Set(lang('project overview'));
$graph->subtitle->Set(lang('from %1 to %2', $sdateout, $edateout));
$graph->title->SetFont(FF_VERA, FS_BOLD, 12);
$graph->subtitle->SetFont(FF_VERA, FS_BOLD, 10);
// set the start and end date
// add one day to the end is needed internaly by jpgraph
$graph->SetDateRange(date('Y-m-d 00:00:00', $sdate), date('Y-m-d', $edate + 86400));
foreach ($projects as $pro) {
$ptime_pro = $this->boprojects->return_value('ptime', $pro[project_id]);
$acc = $this->boprojects->get_budget(array('project_id' => $pro[project_id], 'ptime' => $ptime_pro));
if ($ptime_pro > 0) {
$finnishedPercent = 100 / $ptime_pro * $acc[uhours_jobs_wminutes];
} else {
$finnishedPercent = 0;
}
$previous = '';
if ($pro['previous'] > 0) {
//.........这里部分代码省略.........
示例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: 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);
}
示例11: elseif
if (isset($_POST['gdate2']) and $_POST['gdate2'] != '') {
$gdate2 = $_POST['gdate2'];
} elseif (isset($_GET['gdate2']) and $_GET['gdate2'] != '') {
$gdate2 = $_GET['gdate2'];
} else {
$gdate2 = strftime('%Y/%m/%d', strtotime('+2 weeks'));
}
}
$count = 0;
$adate1 = explode('/', $gdate1);
$epocdate1 = mktime(0, 0, 0, $adate1['1'], $adate1['2'], $adate1['0']);
$adate2 = explode('/', $gdate2);
$epocdate2 = mktime(0, 0, 0, $adate2['1'], $adate2['2'], $adate2['0']);
$graph = new GanttGraph($graphWidth);
$graph->SetMarginColor('lightskyblue3@0.5');
$graph->SetBox(true, 'blue@0.8', 2);
$graph->SetFrame(true, 'darkgreen', 4);
$graph->scale->divider->SetColor('yellow:0.6');
$graph->scale->dividerh->SetColor('yellow:0.6');
$graph->scale->actinfo->SetColTitles(array('Projects'), array(100));
$graph->scale->actinfo->SetBackgroundColor('green:0.5@0.5');
$graph->scale->actinfo->SetFont(FF_VERA, FS_NORMAL, 10);
$graph->scale->actinfo->vgrid->SetStyle('solid');
$graph->scale->actinfo->vgrid->SetColor('gray');
if ($epocdate2 - $epocdate1 > 12000000) {
$graph->ShowHeaders(GANTT_HYEAR | GANTT_HMONTH);
$graph->scale->month->grid->SetColor('gray');
$graph->scale->month->grid->Show(true);
$graph->scale->year->grid->SetColor('gray');
$graph->scale->year->grid->Show(true);
} elseif ($epocdate2 - $epocdate1 > 6000000) {
示例12: ganttPDF
function ganttPDF($reportName, $listTasks)
{
include "../includes/jpgraph/jpgraph.php";
include "../includes/jpgraph/jpgraph_gantt.php";
$graph = new GanttGraph();
$graph->SetBox();
$graph->SetMarginColor("white");
$graph->SetColor("white");
$graph->title->Set($strings["project"] . " " . $reportName);
// $graph->subtitle->Set("(".$strings["created"].": "..")");
$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);
$comptListTasks = count($listTasks->tas_id);
$posGantt = 0;
for ($i = 0; $i < $comptListTasks; $i++) {
$listTasks->tas_name[$i] = str_replace('"', '"', $listTasks->tas_name[$i]);
$listTasks->tas_name[$i] = str_replace("'", "'", $listTasks->tas_name[$i]);
$progress = round($listTasks->tas_completion[$i] / 10, 2);
$printProgress = $listTasks->tas_completion[$i] * 10;
$activity = new GanttBar($posGantt, $listTasks->tas_pro_name[$i] . " / " . $listTasks->tas_name[$i], $listTasks->tas_start_date[$i], $listTasks->tas_due_date[$i]);
$activity->SetPattern(BAND_LDIAG, "yellow");
$activity->caption->Set($listTasks->tas_mem_login[$i] . " (" . $printProgress . "%)");
$activity->SetFillColor("gray");
if ($listTasks->tas_priority[$i] == "4" || $listTasks->tas_priority[$i] == "5") {
$activity->progress->SetPattern(BAND_SOLID, "#BB0000");
} else {
$activity->progress->SetPattern(BAND_SOLID, "#0000BB");
}
$activity->progress->Set($progress);
$graph->Add($activity);
// begin if subtask
$tmpquery = "WHERE task = " . $listTasks->tas_id[$i];
$listSubTasks = new request();
$listSubTasks->openSubtasks($tmpquery);
$comptListSubTasks = count($listSubTasks->subtas_id);
if ($comptListSubTasks >= 1) {
// list subtasks
for ($j = 0; $j < $comptListSubTasks; $j++) {
$listSubTasks->subtas_name[$j] = str_replace('"', '"', $listSubTasks->subtas_name[$j]);
$listSubTasks->subtas_name[$j] = str_replace("'", "'", $listSubTasks->subtas_name[$j]);
$progress = round($listSubTasks->subtas_completion[$j] / 10, 2);
$printProgress = $listSubTasks->subtas_completion[$j] * 10;
$posGantt += 1;
// $activity = new GanttBar($posGantt,$listTasks->tas_pro_name[$i]." / ".$listSubTasks->subtas_name[$j],$listSubTasks->subtas_start_date[$j],$listSubTasks->subtas_due_date[$j]);
// change name of project for name of parent task
$activity = new GanttBar($posGantt, $listSubTasks->subtas_tas_name[$j] . " / " . $listSubTasks->subtas_name[$j], $listSubTasks->subtas_start_date[$j], $listSubTasks->subtas_due_date[$j]);
//$activity = new GanttBar($j,$strings["project"].": ".$listSubTasks->subtas_pro_name[$j]." / ".$strings["task"].": ".$listSubTasks->subtas_name[$j],$listSubTasks->subtas_start_date[$j],$listSubTasks->subtas_due_date[$j]);
$activity->SetPattern(BAND_LDIAG, "yellow");
$activity->caption->Set($listSubTasks->subtas_mem_login[$j] . " (" . $printProgress . "%)");
$activity->SetFillColor("gray");
if ($listSubTasks->subtas_priority[$j] == "4" || $listSubTasks->subtas_priority[$j] == "5") {
$activity->progress->SetPattern(BAND_SOLID, "#BB0000");
} else {
$activity->progress->SetPattern(BAND_SOLID, "#0000BB");
}
$activity->progress->Set($progress);
$graph->Add($activity);
}
// end for comptListSubTasks
}
// end if subtask
$posGantt += 1;
}
// end for complisttask
$tmpGantt = "../files/" . md5(uniqid(rand()));
$graph->Stroke($tmpGantt);
return $tmpGantt;
}