Merge branch 'master' of ssh://apples.lambdacomplex.org/git/contractdashboard
[contractdashboard.git] / exportData.csv.php
blob:a/exportData.csv.php -> blob:b/exportData.csv.php
--- a/exportData.csv.php
+++ b/exportData.csv.php
@@ -3,31 +3,43 @@
 include_once("./lib/common.inc.php");
 setlocale(LC_CTYPE, 'C');
 // source: http://stackoverflow.com/questions/81934/easy-way-to-export-a-sql-table-without-access-to-the-server-or-phpmyadmin#81951
-$result = mysql_query('
-SELECT CNID,contractnotice.agencyName,agency.abn as agencyABN,DATE(publishDate),contractStart,contractEnd,value,description,procurementMethod,category,categoryUNSPSC
-,supplierABN,supplierName,supplierCity,supplierPostcode,supplierCountry,contactPostcode,
+$query = $conn->prepare('
+SELECT "CNID",contractnotice."agencyName",agency.abn as "agencyABN",EXTRACT(EPOCH FROM "publishDate") as "publishDate",EXTRACT(EPOCH FROM "contractStart") as "contractStart",EXTRACT(EPOCH FROM "contractEnd") as "contractEnd",value,description,"procurementMethod",category,"categoryUNSPSC", 
+ "supplierABN","supplierName","supplierCity","supplierPostcode","supplierCountry","contactPostcode",
 (
- case when "supplierABN" != 0 THEN "supplierABN"::text ELSE "supplierName" END) as supplierID
+ case when "supplierABN" != 0 THEN "supplierABN"::text ELSE "supplierName" END) as supplierID,
  
-concat("https://www.tenders.gov.au/?event=public.advancedsearch.keyword&keyword=CN",CNID) as sourceURL 
-FROM `contractnotice` join agency on contractnotice.agencyName=agency.agencyName where childCN = 0');
-if (!$result) die('Couldn\'t fetch records');
-$num_fields = mysql_num_fields($result);
+(\'https://www.tenders.gov.au/?event=public.advancedsearch.keyword&keyword=CN\'::text || "CNID"::text) as sourceURL 
+FROM contractnotice join agency on contractnotice."agencyName"=agency."agencyName" where "childCN" = 0');
+// (substr( "categoryUNSPSC"::text, 0, 2 ) || \'0000000\'::text) as "categoryUNSPSClv1", "categoryUNSPSC", (substr( "categoryUNSPSC"::text, 0, 3 ) || \'000000\'::text) as "categoryUNSPSClv2" "categoryUNSPSC", (substr( "categoryUNSPSC"::text, 0, 4 ) || \'00000\'::text as "categoryUNSPSClv3")
+$query->execute();
+if (!$query) {
+    databaseError($conn->errorInfo());
+die('Couldn\'t fetch records');
+}
+
+$num_fields = $query->columnCount();
 $headers = array();
 for ($i = 0; $i < $num_fields; $i++) {
-    $headers[] = mysql_field_name($result , $i);
+    $meta = $query->getColumnMeta($i);
+    $headers[] = $meta['name'];
 }
 $fp = fopen('php://output', 'w');
-if ($fp && $result) {
+if ($fp && $query) {
     header('Content-Type: text/csv');
     header('Content-Disposition: attachment; filename="export.'.date("c").'.csv"');
     header('Pragma: no-cache');
     header('Expires: 0');
     fputcsv($fp, $headers);
-    while ($row = mysql_fetch_assoc($result)) {
-	foreach ($row as &$colvalue) {
+foreach ($query->fetchAll(PDO::FETCH_NUM) as $row) {
+	foreach ($row as $key => &$colvalue) {
+       
 			$colvalue =  preg_replace( '/[^[:print:]]/', '',
 			 utf8_encode($colvalue));
+             if ($headers[$key] == "publishDate" || $headers[$key] ==  "contractStart" 
+             || $headers[$key] ==  "contractEnd") {
+                 $colvalue = date("Y-m-d",$colvalue);
+             }
 		}
         fputcsv($fp, array_values($row));
     }