Example #1
0
 function mychart()
 {
     //$this->load->libraries('fusion_pi');
     $arrData = array();
     $FC = new FusionCharts("Column3D", "720", "400");
     /*$arrData = array( 500, 269, 254, 895, 633);  
       foreach( $arrData as $i=>$data ){  
           $FC->addChartData( $data );  
       } */
     //$sql="select count(distinct(nama_spb)) as nama_spb,month(tgl_spb) as bln from spb group by concat(month(tgl_spb),year(tgl_spb))";
     //echo $sql;
     $FC->setDataURL("graph.xml");
     $strParam = "numberSuffix=; formatNumberScale=0; decimalPrecision=0; xAxisName=Bulan; animation=1";
     $FC->setChartParams($strParam);
     $FC->setChartMessage("ChartNoDataText=Chart Data not provided; PBarLoadingText=Please Wait.The chart is loading...");
     return $FC->renderChart(false, false);
 }
Example #2
0
 function makeBar($val, $IDSuffix)
 {
     //---------- Creating First Chart ----------------------------------------------
     # Create FusionCharts PHP object
     $FC = new FusionCharts("Column3D", "300", "250", "myChartId" . $IDSuffix);
     # set the relative path of the swf file
     $FC->setSWFPath("../../FusionCharts/");
     # Define chart attributes#  Set chart attributes
     $strParam = "caption=Weekly Sales;subcaption={$val};xAxisName=Week;yAxisName=Revenue;numberPrefix=\$";
     # Setting chart attributes
     $FC->setChartParams($strParam);
     # add chart values and category names for the First Chart
     $FC->addChartData("40800", "Label=Week 1");
     $FC->addChartData("31400", "Label=Week 2");
     $FC->addChartData("26700", "Label=Week 3");
     $FC->addChartData("54400", "Label=Week 4");
     //-------------------------------------------------------------------
     $FC->renderChart();
 }
Example #3
0
 private function getFusionChartFromDataArr($arr)
 {
     $FC = new FusionCharts("Column2D", "500", "350", null, true);
     $FC->setSWFPath("/fusionCharts_swf/");
     $strParam = "xAxisName=Rating;yAxisName=Number;decimalPrecision=0;formatNumberScale=1";
     $FC->setChartParams($strParam);
     if (isset($arr["NA"])) {
         $FC->addChartData($arr["NA"], "name=N/R");
     }
     $item = $arr["typeObj"];
     if ($item->getId() == EnumItemPeer::RATING_BOOLEAN) {
         for ($i = 0; $i < 2; $i++) {
             $FC->addChartData($arr[$i], "name={$i}");
         }
     } elseif ($item->getParentId() == EnumItemPeer::RATING_SCALE) {
         for ($i = 0; $i < $item->getDescr(); $i++) {
             $FC->addChartData($arr[$i], "name={$i}");
         }
     } else {
         // FIXME type not supported
         throw new Exception("type not supported");
     }
     return $FC;
 }
<?php

# Include FusionCharts PHP Class
include "../Class/FusionCharts_Gen.php";
# Create Column2D chart Object
$FC = new FusionCharts("column2D", "300", "250");
# set the relative path of the swf file
$FC->setSWFPath("../FusionCharts/");
# Define chart attributes
$strParam = "caption=Weekly Sales;xAxisName=Week;yAxisName=Revenue;numberPrefix=\$";
# Set chart attributes
$FC->setChartParams($strParam);
# add chart values and category names
$FC->addChartData("40800", "label=Week 1");
$FC->addChartData("31400", "label=Week 2");
$FC->addChartData("26700", "label=Week 3");
$FC->addChartData("54400", "label=Week 4");
# Add First TrendLine
$FC->addTrendLine("startValue=42000;color=ff0000");
# Add Second TrendLine
$FC->addTrendLine("startValue=30000;color=008800;displayvalue=Average;showOnTop=1");
# Add  TrendZone
$FC->addTrendLine("startValue=50000;endValue=60000;color=0000ff;alpha=20;displayvalue=Dream Sales;showOnTop=1;isTrendZone=1");
?>
<html>
  <head>
    <title>First Chart - Advanced - Add Trendlines : Using FusionCharts PHP Class</title>
    <script language='javascript' src='../FusionCharts/FusionCharts.js'></script>
  </head>
  <body>
Example #5
0
<CENTER>
<h2>FusionCharts Examples</h2>
<h4>Example using XML having multilingual text</h4>
<?php 
//This page demonstrates the ease of generating charts containing UTF-8 encoded
//multilingual text using FusionCharts PHPClass.
//For this chart, we've cread a chart  object used FusionCharts PHP Class
//supply chart data and configurations to it and render chart using the instance
//Here, we've kept this example very simple.
# Create column 2d chart object
$FC = new FusionCharts("Column2D", "500", "400");
# Set Relative Path of swf file.
$FC->setSWFPath("../../FusionCharts/");
# Set Chart attributes
$FC->setChartParams("caption=Monthly Sales Summary;subcaption=For the year 2008;");
$FC->setChartParams("xAxisName=Month;yAxisName=Sales;numberPrefix=\$;showNames=1;");
$FC->setChartParams("showValues=0;showColumnShadow=1;animation=1;");
$FC->setChartParams("baseFontColor=666666;lineColor=FF5904;lineAlpha=85;");
$FC->setChartParams("valuePadding=10;labelDisplay=rotate;useRoundEdges=1");
#add chart data values and category names
$FC->addChartData("17400", "Label=januári");
$FC->addChartData("19800", "Label=Fevruários");
$FC->addChartData("21800", "Label=مارس");
$FC->addChartData("23800", "Label=أبريل");
$FC->addChartData("29600", "Label=五月");
$FC->addChartData("27600", "Label=六月");
$FC->addChartData("31800", "Label=תִּשׁרִי");
$FC->addChartData("39700", "Label=Marešwān");
$FC->addChartData("37800", "Label=settèmbre");
$FC->addChartData("21900", "Label=ottàgono");
 public function sendStatusAction()
 {
     $oPermission = new Config_Permission();
     $oApp = new Config_App();
     $oServer = new Config_Server();
     $oPartnerApp = new Config_Partner_App();
     $oPartner = new Config_Partner();
     $oArea = new Config_Area();
     //获取用户可以查看的游戏列表
     $permitted_app = $oPermission->getApp($this->manager->data_groups, 'AppId,name');
     //预处理地区信息
     $AreaList = $oArea->getAll();
     //检查当前页面权限
     $sign = '?ctl=config/socket.queue&ac=send.status';
     $this->manager->checkMenuPermission($sign, Widget_Manager::MENU_PURVIEW_SELECT);
     $SocketType = $this->oSocketType->getAll();
     //页面输入变量
     $AppId = intval($this->request->AppId);
     $PartnerId = intval($this->request->PartnerId);
     $ServerId = intval($this->request->ServerId);
     $AreaId = intval($this->request->AreaId) ? intval($this->request->AreaId) : 0;
     $app_type = intval($this->request->app_type);
     $partner_type = intval($this->request->partner_type);
     $is_abroad = intval($this->request->is_abroad) ? intval($this->request->is_abroad) : 0;
     $uType = intval($this->request->uType) ? intval($this->request->uType) : 0;
     //时间范围初始化
     $Date = $this->request->Date ? $this->request->Date : date("Y-m-d", time());
     //初始化图表配置
     $divideV = 23;
     $Step = 60;
     //初始化合作商列表
     $permitted_partner = array();
     //初始化服务器列表
     $permitted_server = array();
     //获取当前地区列表
     $AreaList = $oArea->getAbroad($is_abroad, $AreaList);
     //生成允许的地区id数组
     if ($app_type > 0) {
         //筛选是否平台产品
         $permitted_app = $oApp->getApp($app_type, $permitted_app);
     }
     if ($AppId > 0) {
         //获取可查看的权限总表
         $permitted_partner = $oPermission->getPartner($this->manager->data_groups, $AppId, 'PartnerId,name,AreaId');
         //根据合作方式筛选
         $permitted_partner = $oPartnerApp->getPermittedPartnerByPartnerType($partner_type, $permitted_partner);
         //根据所在地区筛选
         $permitted_partner = $oPartnerApp->getPermittedPartnerByPartnerArea($AreaList, $permitted_partner);
         if ($PartnerId > 0) {
             //获取服务器列表
             $permitted_server = $oPermission->getServer($this->manager->data_groups, $AppId, $PartnerId, 'ServerId,name');
         }
     }
     //获取用于查询的权限sql语句
     $SendStatusArr = $this->oSocketQueue->getSendStatus($Date, $ServerId, $uType);
     for ($i = 0; $i < 24 * 60; $i++) {
         $H = intval($i / 60);
         $m = $i - $H * 60;
         if (!isset($SendStatusArr[$i])) {
             $SendStatusArr[$i] = array('Time' => sprintf("%02d", $H) . ":" . sprintf("%02d", $m), 'SendCount' => 0);
         } else {
             $SendStatusArr[$i]['Time'] = sprintf('%02d', $H) . ":" . sprintf('%02d', $m);
         }
     }
     ksort($SendStatusArr);
     # Include FusionCharts PHP Class
     include 'Third/fusion/Includes/FusionCharts_Gen.php';
     # Create Multiseries ColumnD chart object using FusionCharts PHP Class
     $FC = new FusionCharts("MsLine", '100%', '500');
     # Set the relative path of the swf file
     $FC->setSWFPath("../Charts/");
     # Store chart attributes in a variable
     $strParam = "caption='Socket队列发送情况';animation=0;xAxisName='时间';baseFontSize=12;numberPrefix=;decimalPrecision=0;showValues=0;formatNumberScale=0;labelStep={$Step};numvdivlines={$divideV};rotateNames=1;yAxisMinValue=0;yAxisMaxValue=10;numDivLines=9;showAlternateHGridColor=1;alternateHGridAlpha=5;alternateHGridColor='CC3300'";
     # Set chart attributes
     $FC->setChartParams($strParam);
     foreach ($SendStatusArr as $key => $data) {
         $FC->addCategory($data['Time']);
     }
     $FC->addDataset("发送数量");
     foreach ($SendStatusArr as $key => $data) {
         $FC->addChartData($data['SendCount']);
     }
     $page_title = "Socket队列发送情况";
     $page_form_action = $sign;
     //调取模板
     include $this->tpl('Config_SocketQueue_SendStatus');
 }
Example #7
0
	function getChart()
	{
		// Include PHP Class
		include(JPATH_SITE.DS.'components'.DS.'com_fabrik'.DS.'plugins'.DS.'visualization'.DS.'fusion_gantt_chart'.DS.'lib'.DS.'FCclass'.DS.'FusionCharts_Gen.php');
		// Add JS to page header
		$document = JFactory::getDocument();
		$document->addScript($this->srcBase."fusion_gantt_chart/lib/FCCharts/FusionCharts.js");

		$params = $this->getParams();
		$w = $params->get('fusion_gantt_chart_width');
		$h = $params->get('fusion_gantt_chart_height');

		// Create new chart
		$FC = new FusionCharts("GANTT","$w","$h");

		// Define path to FC's SWF
		$FC->setSWFPath($this->srcBase."fusion_gantt_chart/lib/FCCharts/");


		$FC->setChartParam('dateFormat', 'yyyy-mm-dd');
		$FC->setChartParam('showTaskNames', 1);

		$FC->setChartParams('ganttWidthPercent=70;gridBorderAlpha=100;canvasBorderColor=333333;canvasBorderThickness=0;hoverCapBgColor=FFFFFF;hoverCapBorderColor=333333;extendcategoryBg=0;ganttLineColor=99cc00;ganttLineAlpha=20;baseFontColor=333333;gridBorderColor=99cc00');
		// ------------------- Setting Param string


		$listid = $params->get('fusion_gantt_chart_table');
		$listModel = JModel::getInstance('list', 'FabrikFEModel');
		$listModel->setId($listid);
		$db = $listModel->getDB();
		$table = $listModel->getTable()->db_table_name;
		$process = $params->get('fusion_gantt_chart_process');
		$processraw = $process.'_raw';
		$start = $params->get('fusion_gantt_chart_startdate');
		$startraw = $start .'_raw';
		$end = $params->get('fusion_gantt_chart_enddate');
		$endraw = $end . '_raw';
		$label = $params->get('fusion_gantt_chart_label');
		$hover = $params->get('fusion_gantt_chart_hover');
		$milestone = $params->get('fusion_gantt_chart_milestone');
		$milestoneraw = $milestone."_raw";
		$connector = $params->get('fusion_gantt_chart_connector');
		$connectorraw = $connector."_raw";
		$fields = array();

		$fields[] = FabrikString::safeColName($process)." AS " . $db->nameQuote($process);
		$fields[] = FabrikString::safeColName($start)." AS " . $db->nameQuote($start);
		$fields[] = FabrikString::safeColName($end)." AS " . $db->nameQuote($end);
		$fields[] = FabrikString::safeColName($label)." AS " . $db->nameQuote($label);
		if ($hover !== '') {
			$fields[] = FabrikString::safeColName($hover)." AS " . $db->nameQuote($hover);
		}
		if ($milestone !== '') {
			$fields[] = FabrikString::safeColName($milestone)." AS " . $db->nameQuote($milestone);
		}
		if ($connector !== '') {
			$fields[] = FabrikString::safeColName($connector)." AS " . $db->nameQuote($connector);
		}

		$listModel->asfields = $fields;
		$nav = $listModel->getPagination(0, 0, 0);
		$data = $listModel->getData();
		$data = $data[0];

		$mindate = null;
		$maxdate = null;
		$usedProcesses = array();
		$milestones = array();
		$connectors = array();
		$processLabel = $params->get('fusion_gantt_chart_process_label');
		$FC->setGanttProcessesParams("positionInGrid=right;align=center;headerText=$processLabel;fontColor=333333;fontSize=11;isBold=1;isAnimated=1;bgColor=99cc00;headerbgColor=333333;headerFontColor=99cc00;headerFontSize=16;bgAlpha=40");

		foreach ($data as $d) {
			$hovertext = $hover == '' ? '' : $d->$hover;
			$processid = $d->$processraw;
			$startdate = JFactory::getDate($d->$startraw);
			$enddate = JFactory::getDate($d->$endraw);
			$strParam = "start=".$startdate->toFormat('%Y/%m/%d').";end=".$enddate->toFormat('%Y/%m/%d').";processId={$processid};id={$d->__pk_val};color=99cc00;alpha=60;topPadding=19;hoverText={$hovertext};";
			$strParam .="link={$d->fabrik_view_url};";
			$FC->addGanttTask($FC->encodeSpecialChars($d->$label), $strParam);

			if ($milestone !== '' && $d->$milestoneraw == 1) {
				$FC->addGanttMilestone($d->__pk_val, "date=".$enddate->toFormat('%Y/%m/%d').";radius=10;color=333333;shape=Star;numSides=5;borderThickness=1");
			}

			if ($connector !== '' && $d->$connectorraw !== '') {
				$FC->addGanttConnector($d->$connectorraw, $d->__pk_val, "color=99cc00;thickness=2;");
			}
			#apply processes
			if (!in_array($processid, $usedProcesses)) {
				$usedProcesses[] = $processid;
				$FC->addGanttProcess($FC->encodeSpecialChars($d->$process), "id={$processid};");
			}
			#increaes max/min date range
			if (is_null($mindate)) {
				$mindate = $startdate;
				$maxdate = $enddate;
			} else {
				if (JFactory::getDate($d->$startraw)->toUnix() < $mindate->toUnix()) {
					$mindate = JFactory::getDate($d->$startraw);
				}

				if (JFactory::getDate($d->$endraw)->toUnix() > $maxdate->toUnix()) {
					$maxdate = JFactory::getDate($d->$endraw);
				}
			}
		}

		$startyear = $mindate ? $mindate->toFormat('%Y') : date('Y');
		$endyear = $maxdate ? $maxdate->toFormat('%Y') : 0;

		$monthdisplay = $params->get('fusion_gannt_chart_monthdisplay');
		$FC->addGanttCategorySet("bgColor=333333;fontColor=99cc00;isBold=1;fontSize=14");
		for ($y = $startyear; $y <= $endyear; $y++) {
			$firstmonth = ($y == $startyear) ? (int)$mindate->toFormat('%m') : 1;
			$lastmonth = ($y == $endyear) ? $maxdate->toFormat('%m')+1 : 13;

			$start = date('Y/m/d', mktime(0, 0, 0, $firstmonth, 1, $y));
			$end = date('Y/m/d', mktime(0, 0, 0, $lastmonth, 0, $y));

			$strParam = "start=". $start.";end=".$end.";";
			$FC->addGanttCategory($y, $strParam);
		}
		$FC->addGanttCategorySet("bgColor=99cc00;fontColor=333333;isBold=1;fontSize=10;bgAlpha=40;align=center");
		for ($y = $startyear; $y <= $endyear; $y++) {
			$lastmonth = ($y == $endyear) ? $maxdate->toFormat('%m')+1 : 13;
			$firstmonth = ($y == $startyear) ? (int)$mindate->toFormat('%m') : 1;
			for ($m = $firstmonth; $m < $lastmonth; $m++) {
				$starttime = mktime(0, 0, 0, $m, 1, $y);
				$start = date('Y/m/d', $starttime);
				$end = date('Y/m/d', mktime(0, 0, 0, $m+1, 0, $y));//use day = 0 to load last day of next month
				$m2 = $monthdisplay == 'str' ? JText::_(date('M', $starttime)) : $m;
				$FC->addGanttCategory($m2, "start=".$start.";end=".$end.";");
			}
		}

		# Render Chart
		return $FC->renderChart(false, false);
	}
function fs_gantt_chart($title, $from, $to, $tasks, $milestones, $width, $height)
{
    // Generate the XML
    $chart = new FusionCharts("Gantt", $width, $height, "1", "0");
    $chart->setSWFPath("include/graphs/FusionCharts/");
    $chart->setChartParams('dateFormat=dd/mm/yyyy;hoverCapBorderColor=2222ff;hoverCapBgColor=e1f5ff;ganttLineAlpha=80;canvasBorderColor=024455;canvasBorderThickness=0;gridBorderColor=2179b1;gridBorderAlpha=20;ganttWidthPercent=80');
    $chart->setGanttProcessesParams('headerText=' . __('Task') . ';fontColor=ffffff;fontSize=9;isBold=1;isAnimated=1;bgColor=2179b1;headerbgColor=2179b1;headerFontColor=ffffff;headerFontSize=12;align=left');
    $chart->setGanttTasksParams('');
    $start_date = explode('/', $from);
    $start_day = $start_date[0];
    $start_month = $start_date[1];
    $start_year = $start_date[2];
    $end_date = explode('/', $to);
    $end_day = $end_date[0];
    $end_month = $end_date[1];
    $end_year = $end_date[2];
    $time_span = date_to_epoch($to) - date_to_epoch($from);
    // Years
    $chart->addGanttCategorySet('bgColor=2179b1;fontColor=ff0000');
    for ($i = $start_year; $i <= $end_year; $i++) {
        if ($i == $start_year) {
            $start = sprintf('%02d/%02d/%04d', $start_day, $start_month, $start_year);
        } else {
            $start = sprintf('%02d/%02d/%04d', 1, 1, $i);
        }
        if ($i == $end_year) {
            $end = sprintf('%02d/%02d/%04d', $end_day, $end_month, $end_year);
        } else {
            $end = sprintf('%02d/%02d/%04d', cal_days_in_month(CAL_GREGORIAN, 12, $i), 12, $i);
        }
        $chart->addGanttCategory($i, ';start=' . $start . ';end=' . $end . ';align=center;fontColor=ffffff;isBold=1;fontSize=16');
    }
    // Months
    $chart->addGanttCategorySet('bgColor=ffffff;fontColor=1288dd;fontSize=10');
    for ($i = $start_year; $i <= $end_year; $i++) {
        for ($j = 1; $j <= 12; $j++) {
            if ($i == $start_year && $j < $start_month) {
                continue;
            } else {
                if ($i == $end_year && $j > $end_month) {
                    break;
                }
            }
            if ($i == $start_year && $j == $start_month) {
                $start = sprintf('%02d/%02d/%04d', $start_day, $start_month, $start_year);
            } else {
                $start = sprintf('%02d/%02d/%04d', 1, $j, $i);
            }
            if ($i == $end_year && $j == $end_month) {
                $end = sprintf('%02d/%02d/%04d', $end_day, $end_month, $end_year);
            } else {
                $end = sprintf('%02d/%02d/%04d', cal_days_in_month(CAL_GREGORIAN, $j, $i), $j, $i);
            }
            $chart->addGanttCategory(date('F', mktime(0, 0, 0, $j, 1)), ';start=' . $start . ';end=' . $end . ';align=center;isBold=1');
        }
    }
    // Days
    if ($time_span < 2592000) {
        $chart->addGanttCategorySet();
        for ($i = $start_year; $i <= $end_year; $i++) {
            for ($j = 1; $j <= 12; $j++) {
                if ($i == $start_year && $j < $start_month) {
                    continue;
                } else {
                    if ($i == $end_year && $j > $end_month) {
                        break;
                    }
                }
                $num_days = cal_days_in_month(CAL_GREGORIAN, $j, $i);
                for ($k = 1; $k <= $num_days; $k++) {
                    if ($i == $start_year && $j == $start_month && $k < $start_day) {
                        continue;
                    } else {
                        if ($i == $end_year && $j == $end_month && $k > $end_day) {
                            break;
                        }
                    }
                    $start = sprintf('%02d/%02d/%04d', $k, $j, $i);
                    $end = sprintf('%02d/%02d/%04d', $k, $j, $i);
                    $chart->addGanttCategory($k, ';start=' . $start . ';end=' . $end . ';fontSize=8;isBold=0');
                }
            }
        }
    } else {
        if ($time_span < 10368000) {
            $chart->addGanttCategorySet();
            for ($i = $start_year; $i <= $end_year; $i++) {
                for ($j = 1; $j <= 12; $j++) {
                    if ($i == $start_year && $j < $start_month) {
                        continue;
                    } else {
                        if ($i == $end_year && $j > $end_month) {
                            break;
                        }
                    }
                    $num_days = cal_days_in_month(CAL_GREGORIAN, $j, $i);
                    for ($k = 1, $l = 1; $k <= $num_days; $k += 8, $l++) {
                        if ($i == $start_year && $j == $start_month && $k + 7 < $start_day) {
                            continue;
                        }
                        if ($i == $end_year && $j == $end_month && $k > $end_day) {
                            break;
                        }
                        if ($i == $start_year && $j == $start_month && $k < $start_day) {
                            $start = sprintf('%02d/%02d/%04d', $start_day, $j, $i);
                        } else {
                            $start = sprintf('%02d/%02d/%04d', $k, $j, $i);
                        }
                        if ($i == $end_year && $j == $end_month && $k + 7 > $end_day) {
                            $end = sprintf('%02d/%02d/%04d', $end_day, $j, $i);
                        } else {
                            if ($k + 7 > $num_days) {
                                $end = sprintf('%02d/%02d/%04d', $num_days, $j, $i);
                            } else {
                                $end = sprintf('%02d/%02d/%04d', $k + 7, $j, $i);
                            }
                        }
                        $chart->addGanttCategory(__('Week') . " {$l}", ';start=' . $start . ';end=' . $end . ';fontSize=8;isBold=0');
                    }
                }
            }
        }
    }
    // Tasks
    foreach ($tasks as $task) {
        $chart->addGanttProcess(clean_flash_string($task['name']), 'id=' . $task['id'] . ';link=' . urlencode($task['link']));
        $chart->addGanttTask(__('Planned'), 'start=' . $task['start'] . ';end=' . $task['end'] . ';id=' . $task['id'] . ';processId=' . $task['id'] . ';color=4b3cff;height=5;topPadding=10;animation=0');
        if ($task['real_start'] !== false && $task['real_end']) {
            $chart->addGanttTask(__('Actual'), 'start=' . $task['real_start'] . ';end=' . $task['real_end'] . ';processId=' . $task['id'] . ';color=ff3c4b;alpha=100;topPadding=15;height=5');
        }
        if ($task['completion'] != 0) {
            $task_span = date_to_epoch($task['end']) - date_to_epoch($task['start']);
            $end = date('d/m/Y', date_to_epoch($task['start']) + $task_span * $task['completion'] / 100.0);
            $chart->addGanttTask(__('Completion') . " (" . $task['completion'] . ")", 'start=' . $task['start'] . ';end=' . $end . ';processId=' . $task['id'] . ';color=32cd32;alpha=100;topPadding=20;height=5');
        }
        if ($task['parent'] != 0) {
            $chart->addGanttConnector($task['parent'], $task['id'], 'color=2179b1;thickness=2;fromTaskConnectStart=1');
        }
    }
    // Milestones
    if ($milestones !== '') {
        $chart->addGanttProcess(__('Milestones'), 'id=0');
        foreach ($milestones as $milestone) {
            $chart->addGanttTask(clean_flash_string($milestone['name']), 'start=' . $milestone['date'] . ';end=' . $milestone['date'] . ';id=ms-' . $milestone['id'] . ';processId=0;color=ffffff;alpha=0;height=60;topPadding=0;animation=0');
            $chart->addGanttMilestone('ms-' . $milestone['id'], 'date=' . $milestone['date'] . ';radius=8;color=efbb07;shape=star;numSides=3;borderThickness=1');
        }
    }
    // Today
    $chart->addTrendLine('start=' . date('d/m/Y') . ';displayValue=' . __('Today') . ';color=666666;isTrendZone=1;alpha=20');
    // Return the code
    return get_chart_code($chart, $width, $height, 'include/graphs/FusionCharts/FCF_Gantt.swf');
}
Example #9
0
 /**
  * Function generates an xml file for generating the chart
  * 
  * @param string $sql
  * @param array $strParam
  * 
  * @return xml
  */
 function generateXML($sql, $strParam)
 {
     include "../includes/FusionCharts_Gen.php";
     $FC = new FusionCharts("Column3D", "900", "500");
     $FC->setChartParams($strParam);
     //$FC->AddColors("FF0000;00FF00;0000FF;FFFF00;FF00FF;FCAAAA");
     $obj = new Bin_Query();
     $arrdata = array();
     if ($obj->executeQuery($sql)) {
         $arr = $obj->records;
         for ($i = 0; $i < count($arr); $i++) {
             $arrdata[$i][0] = $arr[$i]['date'];
             $arrdata[$i][1] = $arr[$i]['total'];
         }
         $FC->addChartDataFromArray($arrdata);
     }
     header('Content-type: text/xml');
     $xml = $FC->getXML();
     header('Content-type: text/html');
     return $xml;
 }
Example #10
0
 function onrevokeComplainData()
 {
     //只查询转为投诉的问题
     $ConditionList['transformed'] = 1;
     $action = "index.php?admin_complain/revokeComplainData";
     $hasIntoComplainViewPrivilege = $_ENV['menu']->checkPermission($this->ask_login_name, $_SERVER['QUERY_STRING'], "intoRevokeComplainData");
     $hasIntoComplainViewPrivilege['url'] = "?admin_main";
     !$hasIntoComplainViewPrivilege['return'] && __msg($hasIntoComplainViewPrivilege);
     $ConditionList['ComplainStartDate'] = isset($this->post['ComplainStartDate']) ? $this->post['ComplainStartDate'] : (isset($this->get[2]) ? $this->get[2] : date("Y-m-d", time() - 7 * 86400));
     $ConditionList['ComplainEndDate'] = isset($this->post['ComplainEndDate']) ? $this->post['ComplainEndDate'] : (isset($this->get[3]) ? $this->get[3] : date("Y-m-d", time()));
     $ConditionList['author'] = isset($this->post['author']) ? urldecode(trim($this->post['author'])) : (isset($this->get[4]) ? urldecode(trim($this->get[4])) : "");
     $ConditionList['author_id'] = isset($this->post['author_id']) ? trim($this->post['author_id']) : (isset($this->get[5]) ? trim($this->get[5]) : "");
     $ConditionList['operator_loginId'] = isset($this->post['operator_loginId']) ? trim($this->post['operator_loginId']) : (isset($this->get[6]) ? trim($this->get[6]) : "");
     $ConditionList['jid'] = isset($this->post['jid']) ? intval($this->post['jid']) : (isset($this->get[7]) ? intval($this->get[7]) : 0);
     $SellerTypeList = $this->ask_config->getSellerType();
     $ConditionList['sid'] = isset($this->post['sid']) ? intval($this->post['sid']) : (isset($this->get[8]) ? intval($this->get[8]) : -1);
     $J = $this->cache->get("Jlist_" . $ConditionList['sid']);
     if (false !== $J) {
         $Jlist = json_decode($J, true);
     } else {
         $Jlist = $_ENV['complain']->getJList($ConditionList['sid']);
         $this->cache->set("Jlist_" . $ConditionList['sid'], json_encode($Jlist), 1800);
     }
     $ConditionList['status'] = 2;
     $ConditionList['Assess'] = -1;
     $ConditionList['reason'] = isset($this->post['reason']) ? urldecode(trim($this->post['reason'])) : (isset($this->get[9]) ? urldecode(trim($this->get[9])) : "");
     $export = trim($this->get[10]) == "export" ? 1 : 0;
     $pagesize = $this->setting['list_default'];
     $pagesize = 20;
     $complainData = $_ENV['complain']->getRevokeComplainData($ConditionList);
     $downloadstr = page_url("<下载EXCEL表格>", "admin_complain/revokeComplainData/" . $ConditionList['ComplainStartDate'] . "/" . $ConditionList['ComplainEndDate'] . "/" . urlencode($ConditionList['author']) . "/" . $ConditionList['author_id'] . "/" . $ConditionList['operator_loginId'] . "/" . $ConditionList['jid'] . "/" . $ConditionList['sid'] . "/" . $ConditionList['reason'] . "/export");
     if (!$export) {
         $msg && ($message = $msg);
         $ty && ($type = $ty);
         # Include FusionCharts PHP Class
         include TIPASK_ROOT . '/lib/fusion/Includes/FusionCharts_Gen.php';
         $FC2 = new FusionCharts("Pie2d", '100%', '400');
         $FC2->setSWFPath('../Charts/');
         $strParam = "caption='撤销理由统计';xAxisName='理由';baseFontSize=12;numberPrefix=;numberSuffix=次;decimalPrecision=0;showValues=1;formatNumberScale=0;rotateNames=0;numDivLines=9;showAlternateHGridColor=1;alternateHGridAlpha=5;alternateHGridColor='CC3300';hoverCapSepChar=,";
         $FC2->setChartParams($strParam);
         $FC2->addDataset("撤销理由");
         foreach ($complainData['RevokeReasonList'] as $r => $data) {
             $complainData['RevokeReasonList'][$r]['rate'] = $complainData['totalData']['complainCount'] > 0 ? $data['revokeCount'] / $complainData['totalData']['complainCount'] : 0;
             $FC2->addChartData($data['revokeCount'], 'name="' . $data['content'] . '"');
         }
         $FC3 = new FusionCharts("Pie2d", '100%', '400');
         $FC3->setSWFPath('../Charts/');
         $strParam = "caption='交易类型统计';xAxisName='交易类型';baseFontSize=12;numberPrefix=;numberSuffix=次;decimalPrecision=0;showValues=1;formatNumberScale=0;rotateNames=0;numDivLines=9;showAlternateHGridColor=1;alternateHGridAlpha=5;alternateHGridColor='CC3300';hoverCapSepChar=,";
         $FC3->setChartParams($strParam);
         $FC3->addDataset("交易类型");
         $jlist = $_ENV['complain']->getJList(0);
         unset($jlist[0]);
         foreach ($complainData['jList'] as $j => $data) {
             $complainData['jList'][$j]['jName'] = isset($jlist[$j]) ? $jlist[$j] : "未定义交易类型" . $j;
             $complainData['jList'][$j]['rate'] = $complainData['totalData']['complainCount'] > 0 ? $data['revokeCount'] / $complainData['totalData']['complainCount'] : 0;
             $FC3->addChartData($data['revokeCount'], "name=" . $complainData['jList'][$j]['jName']);
         }
         $FC4 = new FusionCharts("Pie2d", '100%', '400');
         $FC4->setSWFPath('../Charts/');
         $strParam = "caption='用户身份类型统计';xAxisName='身份类型';baseFontSize=12;numberPrefix=;numberSuffix=次;decimalPrecision=0;showValues=1;formatNumberScale=0;rotateNames=0;numDivLines=9;showAlternateHGridColor=1;alternateHGridAlpha=5;alternateHGridColor='CC3300';hoverCapSepChar=,";
         $FC4->setChartParams($strParam);
         $FC4->addDataset("身份类型");
         $SellerTypeList = $this->ask_config->getSellerType();
         unset($slist[0]);
         foreach ($complainData['sList'] as $s => $data) {
             $complainData['sList'][$s]['sName'] = isset($SellerTypeList[$s]) ? $SellerTypeList[$s] : "未定义身份类型" . $s;
             $complainData['sList'][$s]['rate'] = $complainData['totalData']['complainCount'] > 0 ? $data['revokeCount'] / $complainData['totalData']['complainCount'] : 0;
             $FC4->addChartData($data['revokeCount'], "name=" . $complainData['sList'][$s]['sName']);
         }
     } else {
         set_time_limit(0);
         require TIPASK_ROOT . '/lib/Excel.php';
         $oExcel = new Excel();
         $FileName = '已撤销投诉统计下载';
         $oExcel->download($FileName);
         $oExcel->addSheet('撤销理由统计');
         //标题栏
         $title = array("撤销理由", "撤销次数", "问题占比");
         $oExcel->addRows(array($title));
         foreach ($complainData['RevokeReasonList'] as $r => $data) {
             $excelArr = array();
             $excelArr = array("reason" => $data['content'], "revokeCount" => $data['revokeCount'], "rate" => $complainData['totalData']['complainCount'] > 0 ? $data['revokeCount'] / $complainData['totalData']['complainCount'] : 0);
             $oExcel->addRows(array($excelArr));
         }
         $oExcel->closeSheet();
         $oExcel->addSheet('交易类型统计');
         //标题栏
         $title = array("交易类型", "撤销次数", "问题占比");
         $oExcel->addRows(array($title));
         $jlist = $_ENV['complain']->getJList(0);
         unset($jlist[0]);
         foreach ($complainData['jList'] as $j => $data) {
             $excelArr = array();
             $excelArr = array("jname" => isset($jlist[$j]) ? $jlist[$j] : "未定义交易类型" . $j, "revokeCount" => $data['revokeCount'], "rate" => $complainData['totalData']['complainCount'] > 0 ? $data['revokeCount'] / $complainData['totalData']['complainCount'] : 0);
             $oExcel->addRows(array($excelArr));
         }
         $oExcel->closeSheet();
         $oExcel->addSheet('身份类型统计');
         //标题栏
         $title = array("身份类型", "撤销次数", "问题占比");
         $oExcel->addRows(array($title));
         $SellerTypeList = $this->ask_config->getSellerType();
         unset($slist[0]);
         foreach ($complainData['sList'] as $s => $data) {
             $excelArr = array();
             $excelArr = array("sname" => isset($SellerTypeList[$s]) ? $SellerTypeList[$s] : "未定义身份类型" . $s, "revokeCount" => $data['revokeCount'], "rate" => $complainData['totalData']['complainCount'] > 0 ? $data['revokeCount'] / $complainData['totalData']['complainCount'] : 0);
             $oExcel->addRows(array($excelArr));
         }
         $oExcel->closeSheet();
         $oExcel->close();
     }
     include template('revokecomplaindata', 'admin');
 }
Example #11
0
 function confirm_complete()
 {
     $FC = new FusionCharts();
     $totalGigs = $this->consultants->confirmGigs();
     $gigsByMonth = array();
     foreach ($totalGigs as $tg) {
         $marr = explode("-", $tg->eventDate);
         $gigsByMonth[$marr[1]][] = $tg;
     }
     $monthsArr = array("1" => "Jan", "2" => "Feb", "3" => "Mar", "4" => "Apr", "5" => "May", "6" => "Jun", "7" => "Jul", "8" => "Aug", "9" => "Sep", "10" => "Oct", "11" => "Nov", "12" => "Dec");
     // specify the graph parameters
     $strParam = "caption=Total Gigs- Monthly ;xAxisName=Month;yAxisName=Total gigs;decimalPrecision=0;formatNumberScale=1";
     $FC->setChartParams($strParam);
     for ($i = 1; $i <= 12; $i++) {
         $total = isset($gigsByMonth[$i]) ? count($gigsByMonth[$i]) : 0;
         $FC->addChartData($total, "name=" . $monthsArr[$i]);
     }
     print $FC->getXML();
 }
Example #12
0
 function onresponseDayDataStacked($msg = '', $ty = '')
 {
     //只查询转为投诉的问题
     $action = "index.php?admin_data/responseDayDataStacked";
     $hasIntoResponseDayStackedDataPrivilege = $_ENV['menu']->checkPermission($this->ask_login_name, $_SERVER['QUERY_STRING'], "intoResponseDayStackedData");
     $hasIntoResponseDayStackedDataPrivilege['url'] = "?admin_main";
     !$hasIntoResponseDayStackedDataPrivilege['return'] && __msg($hasIntoResponseDayStackedDataPrivilege);
     $ConditionList['StartDate'] = isset($this->post['StartDate']) ? $this->post['StartDate'] : (isset($this->get[2]) ? $this->get[2] : date("Y-m-d", time() - 86400));
     $ConditionList['EndDate'] = isset($this->post['EndDate']) ? $this->post['EndDate'] : (isset($this->get[3]) ? $this->get[3] : date("Y-m-d", time() - 86400));
     $DepartmentList = $_ENV['department']->get_list();
     $ConditionList['DepartmentId'] = isset($this->post['DepartmentId']) ? intval($this->post['DepartmentId']) : (isset($this->get[4]) ? intval($this->get[4]) : 0);
     $QtypeList = $_ENV['qtype']->GetAllQType(0, '', 0);
     $ConditionList['QtypeId'] = 0;
     $export = trim($this->get[6]) == "export" ? 1 : 0;
     if (!$export) {
         $ResponseDayArr = $_ENV['question']->getResponseDay($ConditionList);
         foreach ($QtypeList as $Key => $QtypeInfo) {
             foreach ($ResponseDayArr as $Hour => $data) {
                 if (!isset($data['QtypeDetail'][$QtypeInfo['id']])) {
                     $ResponseDayArr[$Hour]['QtypeDetail'][$QtypeInfo['id']]['ReceiveCount'] = 0;
                 }
                 ksort($ResponseDayArr[$Hour]['QtypeDetail']);
             }
         }
         include TIPASK_ROOT . '/lib/fusion/Includes/FusionCharts_Gen.php';
         # Create Multiseries ColumnD chart object using FusionCharts PHP Class
         $FC = new FusionCharts("StackedColumn2D", '1200', '400');
         # Set the relative path of the swf file
         $FC->setSWFPath('../Charts/');
         # Store chart attributes in a variable
         $strParam = "caption='客服响应数据';xAxisName='时间段';baseFontSize=12;decimalPrecision=0;showValues=0;formatNumberScale=0;labelStep=1;numvdivlines={$divideV};rotateNames=0;yAxisMinValue=0;yAxisMaxValue=10;numDivLines=9;showAlternateHGridColor=1;alternateHGridAlpha=5;alternateHGridColor='CC3300';pYAxisName=客服;sYAxisName=客服响应数据;hoverCapSepChar=,";
         # Set chart attributes
         $FC->setChartParams($strParam);
         foreach ($ResponseDayArr as $Hour => $data) {
             $FC->addCategory($Hour . ":00");
         }
         foreach ($QtypeList as $Key => $QtypeInfo) {
             $FC->addDataset($QtypeInfo['name']);
             foreach ($ResponseDayArr as $Hour => $data) {
                 $FC->addChartData($data['QtypeDetail'][$QtypeInfo['id']]['ReceiveCount']);
             }
         }
         $downloadstr = page_url("<下载EXCEL表格>", "admin_data/responseDayDataStacked/" . $ConditionList['StartDate'] . "/" . $ConditionList['EndDate'] . "/" . $ConditionList['DepartmentId'] . "/" . $ConditionList['QtypeId'] . "/export");
         $msg && ($message = $msg);
         $ty && ($type = $ty);
     } else {
         set_time_limit(0);
         require TIPASK_ROOT . '/lib/Excel.php';
         $oExcel = new Excel();
         $FileName = $ConditionList['Date'] . '客服响应数据';
         $oExcel->download($FileName)->addSheet('客服响应数据');
         //标题栏
         $title = array("时间段");
         ksort($QtypeList);
         foreach ($QtypeList as $Key => $QtypeInfo) {
             $title[] = $QtypeInfo['name'];
         }
         $oExcel->addRows(array($title));
         $ResponseDayArr = $_ENV['question']->getResponseDay($ConditionList);
         foreach ($ResponseDayArr as $Hour => $HourInfo) {
             $excelArr = array("Hour" => $Hour . ":00");
             ksort($HourInfo['QtypeDetail']);
             foreach ($QtypeList as $Key => $QtypeInfo) {
                 $excelArr[$Key] = intval($HourInfo['QtypeDetail'][$Key]['ReceiveCount']);
             }
             $oExcel->addRows(array($excelArr));
         }
         $oExcel->closeSheet()->close();
     }
     include template('responseDayStacked', 'admin');
 }