From: Maxious Date: Tue, 06 Mar 2012 06:43:47 +0000 Subject: chart employee growth X-Git-Url: https://maxious.lambdacomplex.org/git/?p=disclosr.git&a=commitdiff&h=31f18df0cec7293d0e673dfafa81cf8122b67c20 --- chart employee growth Former-commit-id: acae8c2c66e158f5126706b9308a5a8282cb4d3c --- --- a/admin/exportEmployees.csv.php +++ b/admin/exportEmployees.csv.php @@ -2,10 +2,16 @@ include_once("../include/common.inc.php"); +$format = "csv"; +//$format = "json"; +if (isset($_REQUEST['format'])) $format = $_REQUEST['format']; setlocale(LC_CTYPE, 'C'); - -$headers = Array("name"); +if ($format == "csv") { + $headers = Array("name"); +} else { + $headers = Array(); +} $db = $server->get_db('disclosr-agencies'); try { @@ -24,31 +30,51 @@ $fp = fopen('php://output', 'w'); if ($fp && $db) { - header('Content-Type: text/csv; charset=utf-8'); - header('Content-Disposition: attachment; filename="export.employeestats.' . date("c") . '.csv"'); + if ($format == "csv") { + header('Content-Type: text/csv; charset=utf-8'); + header('Content-Disposition: attachment; filename="export.employeestats.' . date("c") . '.csv"'); + } header('Pragma: no-cache'); header('Expires: 0'); - fputcsv($fp, $headers); + if ($format == "csv") { + fputcsv($fp, $headers); + } else if ($format == "json") { + echo '{ + "labels" : ["' . implode('","', $headers) . '"],'.PHP_EOL; + } try { $agencies = $db->get_view("app", "all", null, true)->rows; //print_r($agencies); + $first = true; + if ($format == "json") { + echo '"data" : ['.PHP_EOL; + + } foreach ($agencies as $agency) { if (isset($agency->value->statistics->employees)) { $row = Array(); $agencyEmployeesArray = object_to_array($agency->value->statistics->employees); - foreach ($headers as $fieldName) { - if ($fieldName == "name") { - $row[] = $agency->value->name; - } else if (isset($agencyEmployeesArray[$fieldName])) { - $row[] = $agencyEmployeesArray[$fieldName]["value"]; + foreach ($headers as $i => $fieldName) { + if (isset($agencyEmployeesArray[$fieldName])) { + $row[] = '['.$i.','.$agencyEmployeesArray[$fieldName]["value"].']'; } else { - $row[] = 0; + $row[] = '['.$i.',0]'; } } - - fputcsv($fp, array_values($row)); + if ($format == "csv") { + fputcsv($fp, array_values($row)); + } else if ($format == "json") { + if (!$first) echo ","; + echo '{"data" : [' . implode(",", array_values($row)) . '], "label": "'.$agency->value->name.'", "lines" : { "show" : true }, "points" : { "show" : true }}'.PHP_EOL; + $first = false; + } } + } + if ($format == "json") { + echo '] + }'.PHP_EOL; + } } catch (SetteeRestClientException $e) { setteErrorHandler($e); --- a/charts.php +++ b/charts.php @@ -7,12 +7,13 @@

Charts

Lorem ipsum.

-
+
+