function index() { if ($this->perm_user->reports->access) { /* Start Overall Worktype */ $this->load->model('worktype_model'); $worktypes = $this->worktype_model->select_multiple($this->session->userdata('company_id')); $values = array(); $legends = array(); $labels = array(); foreach ($worktypes as $worktype) { if ($worktype['segment_count']) { $labels[] = $worktype['name']; $legends[] = $worktype['name'] . ' (' . $worktype['hour_float'] . ')'; $values[] = $worktype['hour_float']; } } $overall_worktype_chart = new gPieChart(500, 200); #$overall_worktype_chart->set3D(true); $overall_worktype_chart->addDataSet($values); $overall_worktype_chart->setLegend($legends); $overall_worktype_chart->setLabels($labels); $overall_worktype_chart->setColors($this->colors); $data['worktypes'] = $overall_worktype_chart->getUrl(); /* Start User Group By Time */ $usertimes = $this->statistics_model->select_users_groupby_time($this->session->userdata('company_id')); $values = array(); $legends = array(); $labels = array(); foreach ($usertimes as $usertime) { if ($usertime['segment_count']) { $labels[] = $usertime['user_name']; $legends[] = $usertime['user_name'] . ' (' . $usertime['hour_float'] . ')'; $values[] = $usertime['hour_float']; } } $overall_usertime_chart = new gPieChart(500, 200); #$overall_worktype_chart->set3D(true); $overall_usertime_chart->addDataSet($values); $overall_usertime_chart->setLegend($legends); $overall_usertime_chart->setLabels($labels); $overall_usertime_chart->setColors($this->colors); $data['usertimes'] = $overall_usertime_chart->getUrl(); $this->load->view('statistics/xhr_overview', $data); } else { $data['error'] = $this->lang->line('error_low_perm'); $this->load->view('xhr_error', $data); } }
function test_PieChart() { $piChart = new gPieChart(); $piChart->setTitle("A Title"); $piChart->addDataSet(array(112, 315, 66, 40)); $piChart->setLegend(array("first", "second", "third", "fourth")); $piChart->setLabels(array("first", "second", "third", "fourth")); $piChart->setColors(array("ff3344", "11ff11", "22aacc", "3333aa")); $text = <<<END newPieChart: setTitle: A Title addDataSet: 112,315,66,40 setLegend: first, second, third, fourth setLabels: first, second, third, fourth setColors: ff3344, 11ff11, 22aacc, 3333aa END; $parser = new gChartPhpDSLParser(); $parser->parse($text); $this->assertEqual($piChart->getUrl(), $parser->getUrl()); }
$success++; } else { if ($row['CAPTURED'] == 0 && $row['CAPTURED_ACK'] == 'Failed') { $failed++; } } } } } } $piChart3 = new gPieChart(); $piChart3->addDataSet(array($success, $hold, $failed)); $piChart3->setLegend(array($admin_language['success'] . '(' . $success . ')', $admin_language['hold'] . '(' . $hold . ')', $admin_language['failed'] . '(' . $failed . ')')); ?> <img src="<?php print $piChart3->getUrl(); ?> " /> <div class="fl" style="width:300px;text-align:center;margin-bottom:5px;"> <?php echo $admin_language['transaction_status']; ?> </div> </div> <?php } ?> </div> <div class="fl clr " style="width:771px;background:#CCC;"> <div class="fl clr " style="width:280px;"> <p style="font-size:14px;font-weight:bold;padding:10px;"><?php
/** * Generate the dashboard with the google analytics graphs * * @return void */ public function indexAction() { $params = Zend_Registry::get('params'); $this->view->currentPage = 'dashboard'; try { $email = $params->googleAnalytics->username; $password = $params->googleAnalytics->password; $profileID = $params->googleAnalytics->homeletProfileID; $client = Zend_Gdata_ClientLogin::getHttpClient($email, $password, Zend_Gdata_Analytics::AUTH_SERVICE_NAME); $service = new Zend_Gdata_Analytics($client); $firstOfMonth = date("Y-m-d", strtotime(date('m') . '/01/' . date('Y') . ' 00:00:00')); $today = date("Y-m-d"); $this->view->startDate = date("d/m/Y", strtotime($firstOfMonth)); $this->view->today = date("d/m/Y", strtotime($today)); // LINE CHART for visitors this month $query = $service->newDataQuery()->setProfileId($profileID)->addDimension(Zend_Gdata_Analytics_DataQuery::DIMENSION_DAY)->addMetric(Zend_Gdata_Analytics_DataQuery::METRIC_VISITS)->setStartDate($firstOfMonth)->setEndDate($today)->setSort(Zend_Gdata_Analytics_DataQuery::DIMENSION_DAY, false)->setMaxResults(25); $result = $service->getDataFeed($query); $chartArray = array(); foreach ($result as $row) { $chartArray[] = (int) $row->getValue('ga:visits')->getValue(); } $visitorsChart = new gLineChart(800, 200); $visitorsChart->addDataSet($chartArray); $visitorsChart->setLegend(array('Site Visitors')); $visitorsChart->setColors(array('FF6D1B')); $visitorsChart->setVisibleAxes(array('x', 'y')); $visitorsChart->setDataRange(0, 7000); $visitorsChart->setLegendPosition('t'); $visitorsChart->addAxisRange(0, 0, count($chartArray), 2); $visitorsChart->addAxisRange(1, 0, 7000); $visitorsChart->setGridLines(7, 1000); $this->view->visitorGraphUrl = $visitorsChart->getUrl(); // PIE CHART for sources $query = $service->newDataQuery()->setProfileId($profileID)->addDimension(Zend_Gdata_Analytics_DataQuery::DIMENSION_MEDIUM)->addMetric(Zend_Gdata_Analytics_DataQuery::METRIC_VISITS)->setStartDate($firstOfMonth)->setEndDate($today)->setSort(Zend_Gdata_Analytics_DataQuery::DIMENSION_MEDIUM, false)->setMaxResults(500); $result = $service->getDataFeed($query); $chartArray = array(); $colorArray = array(); $labelArray = array(); foreach ($result as $row) { $chartArray[] = (int) $row->getValue('ga:visits')->getValue(); switch ((string) $row->getValue('ga:medium')->getValue()) { case '(none)': $medium = 'Direct'; $color = 'FF6F1C'; break; case 'email': $medium = 'Email Campaign'; $color = 'FDBB30'; break; case 'organic': $medium = 'Search Engines'; $color = '7AC142'; break; case 'referral': $medium = 'Referring Site'; $color = 'E60E64'; break; default: $medium = (string) $row->getValue('ga:medium')->getValue(); } $labelArray[] = $medium; $colorArray[] = $color; } $sourcesChart = new gPieChart(380, 200); $sourcesChart->addDataSet($chartArray); $sourcesChart->setLegend($labelArray); $sourcesChart->setColors($colorArray); $this->view->sourcesGraphUrl = $sourcesChart->getUrl(); // Table of top 20 keywords $query = $service->newDataQuery()->setProfileId($profileID)->addDimension(Zend_Gdata_Analytics_DataQuery::DIMENSION_KEYWORD)->addMetric(Zend_Gdata_Analytics_DataQuery::METRIC_VISITS)->setStartDate($firstOfMonth)->setEndDate($today)->setSort(Zend_Gdata_Analytics_DataQuery::METRIC_VISITS, true)->setMaxResults(20); $result = $service->getDataFeed($query); $keywordArray = array(); foreach ($result as $row) { $keyword = (string) $row->getValue('ga:keyword')->getValue(); if ($keyword == '(not set)') { $keyword = '-'; } $keywordArray[$keyword] = (int) $row->getValue('ga:visits')->getValue(); } $this->view->keywordList = $keywordArray; // PIE CHART for new/returning visitors $query = $service->newDataQuery()->setProfileId($profileID)->addDimension(Zend_Gdata_Analytics_DataQuery::DIMENSION_VISITOR_TYPE)->addMetric(Zend_Gdata_Analytics_DataQuery::METRIC_VISITS)->setStartDate($firstOfMonth)->setEndDate($today)->setSort(Zend_Gdata_Analytics_DataQuery::METRIC_VISITS, true)->setMaxResults(2); $result = $service->getDataFeed($query); $chartArray = array(); $colorArray = array(); $labelArray = array(); foreach ($result as $row) { $chartArray[] = (int) $row->getValue('ga:visits')->getValue(); $labelArray[] = (string) $row->getValue('ga:visitorType')->getValue(); switch ((string) $row->getValue('ga:visitorType')->getValue()) { case 'Returning Visitor': $color = 'FF6F1C'; break; case 'New Visitor': $color = '7AC142'; break; default: } $colorArray[] = $color; } $newReturningChart = new gPieChart(380, 200); $newReturningChart->addDataSet($chartArray); $newReturningChart->setLegend($labelArray); $newReturningChart->setColors($colorArray); $this->view->newReturningUrl = $newReturningChart->getUrl(); } catch (Exception $e) { $this->view->statsUnavailable = true; } }