chart employee growth
[disclosr.git] / admin / exportEmployees.csv.php
blob:a/admin/exportEmployees.csv.php -> blob:b/admin/exportEmployees.csv.php
--- 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);