Change references to numeric child/parent IDs which can now be text
Change references to numeric child/parent IDs which can now be text

file:a/about.php -> file:b/about.php
<?php <?php
include('./lib/common.inc.php'); include('./lib/common.inc.php');
include_header("Map"); include_header("Map");
?> ?>
<div class="msg_list"> <div class="msg_list">
<p class="msg_head">Header-1 </p> <p class="msg_head">Header-1 </p>
<div class="msg_body"> <div class="msg_body">
orem ipsum dolor sit amet, consectetuer adipiscing elit orem ipsum dolor sit amet, consectetuer adipiscing elit orem ipsum dolor sit amet, consectetuer adipiscing elit orem ipsum dolor sit amet, consectetuer adipiscing elit
</div> </div>
<p class="msg_head">Header-2</p> <p class="msg_head">Header-2</p>
<div class="msg_body"> <div class="msg_body">
orem ipsum dolor sit amet, consectetuer adipiscing elit orem ipsum dolor sit amet, consectetuer adipiscing elit orem ipsum dolor sit amet, consectetuer adipiscing elit orem ipsum dolor sit amet, consectetuer adipiscing elit
</div> </div>
<p class="msg_head">Header-3</p> <p class="msg_head">Header-3</p>
<div class="msg_body"> <div class="msg_body">
orem ipsum dolor sit amet, consectetuer adipiscing elit orem ipsum dolor sit amet, consectetuer adipiscing elit orem ipsum dolor sit amet, consectetuer adipiscing elit orem ipsum dolor sit amet, consectetuer adipiscing elit
</div> </div>
</div> </div>
<?php CNDistributionGraph(); <?php CNDistributionGraph();
// select distinct cnid, "publishDate" from (select ("CNID" - MOD("CNID",100)) as cnid from contractnotice where "CNID" < 999999) as a, contractnotice where a.cnid = contractNotice."CNID" order by cnid // select distinct cnid, "publishDate" from (select ("CNID" - MOD("CNID",100)) as cnid from contractnotice where "CNID" < 999999) as a, contractnotice where a.cnid = contractNotice."CNID" order by cnid
?> ?>
sourced from austender sourced from austender
Government Agency Information (2009-07-10): National Archives of Australia, http://www.naa.gov.au under Creative Commons - Attribution 2.5 Australia (CC-BY) Government Agency Information (2009-07-10): National Archives of Australia, http://www.naa.gov.au under Creative Commons - Attribution 2.5 Australia (CC-BY)
ABR ABR
<?php <?php
include_once("./lib/common.inc.php"); include_once("./lib/common.inc.php");
$query = 'SELECT DATE("importDate") as importday, count(*) as count, min("publishDate") as start, max("publishDate") as end $query = 'SELECT DATE("importDate") as importday, count(*) as count, min("publishDate") as start, max("publishDate") as end
FROM contractnotice WHERE "childCN" = 0 AND "parentCN" = 0 AND DATE("importDate") = (select * from (SELECT DATE("importDate") FROM contractnotice WHERE "childCN" is null AND "parentCN" is null AND DATE("importDate") = (select * from (SELECT DATE("importDate")
FROM contractnotice ORDER BY "importDate" DESC limit 1) alias) GROUP BY DATE("importDate")'; FROM contractnotice ORDER BY "importDate" DESC limit 1) alias) GROUP BY DATE("importDate")';
$query = $conn->prepare($query); $query = $conn->prepare($query);
$query->execute(); $query->execute();
if (!$query) { if (!$query) {
databaseError($conn->errorInfo()); databaseError($conn->errorInfo());
} }
echo "<div>"; echo "<div>";
$stats = $query->fetch(PDO::FETCH_ASSOC); $stats = $query->fetch(PDO::FETCH_ASSOC);
echo $stats["count"] . " new records in period " . $stats["start"] . " to " . $stats["end"] ."<br>"; echo $stats["count"] . " new records in period " . $stats["start"] . " to " . $stats["end"] ."<br>";
$query = 'SELECT DATE("importDate") as importday, count(*) as count, min("publishDate") as start, max("publishDate") as end $query = 'SELECT DATE("importDate") as importday, count(*) as count, min("publishDate") as start, max("publishDate") as end
FROM contractnotice WHERE ("childCN" != 0 OR "parentCN" != 0) AND DATE("importDate") = (select * from (SELECT DATE("importDate") FROM contractnotice WHERE ("childCN" is not null OR "parentCN" is not null) AND DATE("importDate") = (select * from (SELECT DATE("importDate")
FROM contractnotice ORDER BY "importDate" DESC limit 1) alias) GROUP BY DATE("importDate")'; FROM contractnotice ORDER BY "importDate" DESC limit 1) alias) GROUP BY DATE("importDate")';
$query = $conn->prepare($query); $query = $conn->prepare($query);
$query->execute(); $query->execute();
if (!$query) { if (!$query) {
databaseError($conn->errorInfo()); databaseError($conn->errorInfo());
} }
echo "<div>"; echo "<div>";
$stats = $query->fetch(PDO::FETCH_ASSOC); $stats = $query->fetch(PDO::FETCH_ASSOC);
echo $stats["count"] . " updated records in period " . $stats["start"] . " to " . $stats["end"] ."<br>"; echo $stats["count"] . " updated records in period " . $stats["start"] . " to " . $stats["end"] ."<br>";
echo "Last updated: ". $stats["importday"]."<br>"; echo "Last updated: ". $stats["importday"]."<br>";
/* Check for null Procurement method and 0 ABN when not ABN exempt */ /* Check for null Procurement method and 0 ABN when not ABN exempt */
include_footer(); include_footer();
?> ?>
   
<?php <?php
include_once("../lib/common.inc.php"); include_once("../lib/common.inc.php");
$query = "SELECT DATE(importDate) as importday, count(*) as count, min(publishDate) as start, max(publishDate) as end $query = "SELECT DATE(importDate) as importday, count(*) as count, min(publishDate) as start, max(publishDate) as end
FROM `contractnotice` WHERE childCN = 0 AND parentCN = 0 AND DATE(importDate) in (select * from (SELECT DATE(importDate) FROM `contractnotice` WHERE childCN is null AND parentCN is null AND DATE(importDate) in (select * from (SELECT DATE(importDate)
FROM `contractnotice` ORDER BY `importDate` DESC limit 1) alias)"; FROM `contractnotice` ORDER BY `importDate` DESC limit 1) alias)";
$result = mysql_query($query); $result = mysql_query($query);
$stats = mysql_fetch_array($result, MYSQL_BOTH); $stats = mysql_fetch_array($result, MYSQL_BOTH);
echo $stats["count"] . " new records in period " . $stats["start"] . " to " . $stats["end"] ."<br>"; echo $stats["count"] . " new records in period " . $stats["start"] . " to " . $stats["end"] ."<br>";
$query = "SELECT DATE(importDate) as importday, count(*) as count, min(publishDate) as start, max(publishDate) as end $query = "SELECT DATE(importDate) as importday, count(*) as count, min(publishDate) as start, max(publishDate) as end
FROM `contractnotice` WHERE (childCN != 0 OR parentCN != 0) AND DATE(importDate) in (select * from (SELECT DATE(importDate) FROM `contractnotice` WHERE (childCN is not null OR parentCN is not null) AND DATE(importDate) in (select * from (SELECT DATE(importDate)
FROM `contractnotice` ORDER BY `importDate` DESC limit 1) alias)"; FROM `contractnotice` ORDER BY `importDate` DESC limit 1) alias)";
$result = mysql_query($query); $result = mysql_query($query);
$stats = mysql_fetch_array($result, MYSQL_BOTH); $stats = mysql_fetch_array($result, MYSQL_BOTH);
echo $stats["count"] . " updated records in period " . $stats["start"] . " to " . $stats["end"] ."<br>"; echo $stats["count"] . " updated records in period " . $stats["start"] . " to " . $stats["end"] ."<br>";
$query = "SELECT count(*) as count FROM `agency` WHERE `abn` = '0'"; $query = "SELECT count(*) as count FROM `agency` WHERE `abn` = '0'";
$result = mysql_query($query); $result = mysql_query($query);
$stats = mysql_fetch_array($result, MYSQL_BOTH); $stats = mysql_fetch_array($result, MYSQL_BOTH);
echo $stats["count"] . " agencies with no ABN<br>"; echo $stats["count"] . " agencies with no ABN<br>";
/*$query = "SELECT count(*) as count FROM `supplierdetails` WHERE `supplierABN` = '0' and supplierCountry LIKE 'Australia'"; /*$query = "SELECT count(*) as count FROM `supplierdetails` WHERE `supplierABN` = '0' and supplierCountry LIKE 'Australia'";
$result = mysql_query($query); $result = mysql_query($query);
$stats = mysql_fetch_array($result, MYSQL_BOTH); $stats = mysql_fetch_array($result, MYSQL_BOTH);
echo $stats["count"] . " Australian suppliers with no ABN<br>";*/ echo $stats["count"] . " Australian suppliers with no ABN<br>";*/
echo "Last updated: ". $stats["importdate"]."<br>"; echo "Last updated: ". $stats["importdate"]."<br>";
?> ?>
   
<?php <?php
include_once ("./lib/common.inc.php"); include_once ("./lib/common.inc.php");
if ($_REQUEST['agency']) { if ($_REQUEST['agency']) {
include_header("Agency"); include_header("Agency");
$agency = htmlentities(strip_tags($_REQUEST['agency'])); $agency = htmlentities(strip_tags($_REQUEST['agency']));
MethodCountGraph($agency); MethodCountGraph($agency);
CnCGraph($agency); CnCGraph($agency);
MethodValueGraph($agency); MethodValueGraph($agency);
/*biggest contracts /*biggest contracts
spending by year spending by year
spending by industry/category spending by industry/category
spending by supplier spending by supplier
spread procurement methods (stacked bar graph) spread procurement methods (stacked bar graph)
+ percent consultancies + percent confidential (bar graph) + percent consultancies + percent confidential (bar graph)
Average value by procurement type Average value by procurement type
--- info --- info
website, procurement plan, annual reports website, procurement plan, annual reports
Breakdown of divisions/branches Breakdown of divisions/branches
Breakdown percentage,number,value by procurement type Breakdown percentage,number,value by procurement type
Histograph, overlaying number value reported per week over X years Histograph, overlaying number value reported per week over X years
Compliance statistics: amendments, delay in reporting average and number completely late*/ Compliance statistics: amendments, delay in reporting average and number completely late*/
$query = 'SELECT "CNID", "description", "value", "agencyName", "category", $query = 'SELECT "CNID", "description", "value", "agencyName", "category",
"contractStart", "supplierName" "contractStart", "supplierName"
FROM contractnotice FROM contractnotice
WHERE "agencyName" = :agency WHERE "agencyName" = :agency
ORDER BY "value" DESC'; ORDER BY "value" DESC';
$query = $conn->prepare($query); $query = $conn->prepare($query);
$query->bindParam(":agency", $agency); $query->bindParam(":agency", $agency);
$query->execute(); $query->execute();
if (!$query) { if (!$query) {
databaseError($conn->errorInfo()); databaseError($conn->errorInfo());
} }
echo "<table> <thead> echo "<table> <thead>
<tr> <tr>
<th>Contract Notice Number</th> <th>Contract Notice Number</th>
<th>Contract Description</th> <th>Contract Description</th>
<th>Total Contract Value</th> <th>Total Contract Value</th>
<th>Agency</th> <th>Agency</th>
<th>Contract Start Date</th> <th>Contract Start Date</th>
<th>Supplier</th> <th>Supplier</th>
</tr> </tr>
</thead>"; </thead>";
foreach ($query->fetchAll() as $row) { foreach ($query->fetchAll() as $row) {
setlocale(LC_MONETARY, 'en_US'); setlocale(LC_MONETARY, 'en_US');
$value = number_format(doubleval($row['value']) , 2); $value = number_format(doubleval($row['value']) , 2);
echo ("<tr> echo ("<tr>
<td><a href=\"displayContract.php?CNID={$row['CNID']}\">{$row['CNID']}</a></td> <td><a href=\"displayContract.php?CNID={$row['CNID']}\">{$row['CNID']}</a></td>
<td><b>{$row['description']}</b></a></td> <td><b>{$row['description']}</b></a></td>
<td>\$$value</td><td>{$row['agencyName']}</td> <td>\$$value</td><td>{$row['agencyName']}</td>
<td>{$row['contractStart']}</td> <td>{$row['contractStart']}</td>
<td>{$row['supplierName']}</td> <td>{$row['supplierName']}</td>
</tr>"); </tr>");
} }
echo "</table>"; echo "</table>";
} else { } else {
/* /*
split by portfolio split by portfolio
*/ */
include_header("Agencies"); include_header("Agencies");
agenciesGraph(); agenciesGraph();
$query = 'SELECT SUM("value"), "agencyName" $query = 'SELECT SUM("value"), "agencyName"
FROM contractnotice FROM contractnotice
WHERE "childCN" = 0 WHERE "childCN" is null
GROUP BY "agencyName" '; GROUP BY "agencyName" ';
$query = $conn->prepare($query); $query = $conn->prepare($query);
$query->execute(); $query->execute();
if (!$query) { if (!$query) {
databaseError($conn->errorInfo()); databaseError($conn->errorInfo());
} }
echo "<table> <thead> echo "<table> <thead>
<tr> <tr>
<th>Agency</th> <th>Agency</th>
<th>Total Contracts Value</th> <th>Total Contracts Value</th>
</tr> </tr>
</thead>"; </thead>";
foreach ($query->fetchAll() as $row) { foreach ($query->fetchAll() as $row) {
setlocale(LC_MONETARY, 'en_US'); setlocale(LC_MONETARY, 'en_US');
$value = number_format(doubleval($row[0]) , 2); $value = number_format(doubleval($row[0]) , 2);
$agency = stripslashes($row[1]); $agency = stripslashes($row[1]);
echo ("<tr><td><b><a href=\"displayAgency.php?agency={$agency}\">{$agency}</a></b></td><td>\$$value</td></tr>\n"); echo ("<tr><td><b><a href=\"displayAgency.php?agency={$agency}\">{$agency}</a></b></td><td>\$$value</td></tr>\n");
} }
echo "</table>"; echo "</table>";
} }
include_footer(); include_footer();
?> ?>
   
<?php <?php
include_once ("./lib/common.inc.php"); include_once ("./lib/common.inc.php");
include_header("Amendments"); include_header("Amendments");
$query = "select CNID, description, value, pvalue, (value - pvalue) as diff from contractnotice, (SELECT CNID as cn, childCN as ccn, value as pvalue FROM contractnotice where childCN > 0) a". $query = "select CNID, description, value, pvalue, (value - pvalue) as diff from contractnotice, (SELECT CNID as cn, childCN as ccn, value as pvalue FROM contractnotice where childCN is not null) a".
" where ".$agencyQ.$yearQ."CNID = ccn AND (value - pvalue) <> 0 order by diff DESC"; " where ".$agencyQ.$yearQ."CNID = ccn AND (value - pvalue) <> 0 order by diff DESC";
$result = mysql_query($query); $result = mysql_query($query);
echo "<table> <thead> echo "<table> <thead>
<tr> <tr>
<th>Contract</th> <th>Contract</th>
<th>Original Value</th> <th>Original Value</th>
<th>Amended Value</th> <th>Amended Value</th>
<th>Difference</th> <th>Difference</th>
</tr> </tr>
</thead>"; </thead>";
if ($result) { if ($result) {
while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
setlocale(LC_MONETARY, 'en_US'); setlocale(LC_MONETARY, 'en_US');
$value = number_format(doubleval($row['value']) , 2); $value = number_format(doubleval($row['value']) , 2);
$pvalue = number_format(doubleval($row['pvalue']) , 2); $pvalue = number_format(doubleval($row['pvalue']) , 2);
$diff = number_format(doubleval($row['diff']) , 2); $diff = number_format(doubleval($row['diff']) , 2);
echo ("<tr>"); echo ("<tr>");
echo "<td><A href=\"displayContract.php?CNID={$row['CNID']}\"><b>{$row['description']}</b></a></td>"; echo "<td><A href=\"displayContract.php?CNID={$row['CNID']}\"><b>{$row['description']}</b></a></td>";
echo "<td>\$$pvalue</td><td>\$$value</td><td>\$$diff</td></tr>"; echo "<td>\$$pvalue</td><td>\$$value</td><td>\$$diff</td></tr>";
} }
} else { } else {
echo mysql_error(); echo mysql_error();
} }
echo "</table>"; echo "</table>";
mysql_free_result($result); mysql_free_result($result);
include_footer(); include_footer();
?> ?>
   
   
<!DOCTYPE html> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"> <html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<meta charset="UTF-8"/> <meta charset="UTF-8"/>
<title>Minimal BubbleTree Demo</title> <title>Minimal BubbleTree Demo</title>
<script type="text/javascript" src="lib/bubbletree/lib/jquery-1.5.2.min.js"></script> <script type="text/javascript" src="lib/bubbletree/lib/jquery-1.5.2.min.js"></script>
<script type="text/javascript" src="lib/bubbletree/lib/jquery.history.js"></script> <script type="text/javascript" src="lib/bubbletree/lib/jquery.history.js"></script>
<script type="text/javascript" src="lib/bubbletree/lib/raphael.js"></script> <script type="text/javascript" src="lib/bubbletree/lib/raphael.js"></script>
<script type="text/javascript" src="lib/bubbletree/lib/vis4.js"></script> <script type="text/javascript" src="lib/bubbletree/lib/vis4.js"></script>
<script type="text/javascript" src="lib/bubbletree/lib/Tween.js"></script> <script type="text/javascript" src="lib/bubbletree/lib/Tween.js"></script>
<script type="text/javascript" src="lib/bubbletree/build/bubbletree.js"></script> <script type="text/javascript" src="lib/bubbletree/build/bubbletree.js"></script>
<link rel="stylesheet" type="text/css" href="lib/bubbletree/build/bubbletree.css" /> <link rel="stylesheet" type="text/css" href="lib/bubbletree/build/bubbletree.css" />
<script type="text/javascript" src="lib/bubbletree/styles/cofog.js"></script> <script type="text/javascript" src="lib/bubbletree/styles/cofog.js"></script>
<script type="text/javascript"> <script type="text/javascript">
$(function() { $(function() {
<?php <?php
include_once ("lib/common.inc.php"); include_once ("lib/common.inc.php");
   
include("lib/Color.php"); include("lib/Color.php");
$color = new Lux_Color(); $color = new Lux_Color();
   
   
$unspscresult= $conn->prepare('select * from "UNSPSCcategories";'); $unspscresult= $conn->prepare('select * from "UNSPSCcategories";');
$unspscresult->execute(); $unspscresult->execute();
foreach ($unspscresult->fetchAll() as $row) { foreach ($unspscresult->fetchAll() as $row) {
$unspsc[$row['UNSPSC']] = $row['Title']; $unspsc[$row['UNSPSC']] = $row['Title'];
   
} }
$total = 0; $total = 0;
   
$catsresult = $conn->prepare('SELECT distinct substr( "categoryUNSPSC"::text, 0, 2 ) as cat $catsresult = $conn->prepare('SELECT distinct substr( "categoryUNSPSC"::text, 0, 2 ) as cat
FROM contractnotice WHERE "categoryUNSPSC" IS NOT NULL group by "categoryUNSPSC";;'); FROM contractnotice WHERE "categoryUNSPSC" IS NOT NULL group by "categoryUNSPSC";;');
$catsresult->execute(); $catsresult->execute();
foreach ($catsresult->fetchAll() as $row) { foreach ($catsresult->fetchAll() as $row) {
$cats[] = $row['cat']; $cats[] = $row['cat'];
} }
$cattwosresult = $conn->prepare('SELECT distinct substr( "categoryUNSPSC"::text, 0, 3 ) as cat $cattwosresult = $conn->prepare('SELECT distinct substr( "categoryUNSPSC"::text, 0, 3 ) as cat
FROM contractnotice FROM contractnotice
WHERE "categoryUNSPSC" IS NOT NULL WHERE "categoryUNSPSC" IS NOT NULL
GROUP BY "categoryUNSPSC" order by cat ;'); GROUP BY "categoryUNSPSC" order by cat ;');
$cattwosresult->execute(); $cattwosresult->execute();
foreach ($cattwosresult->fetchAll() as $tworow) { foreach ($cattwosresult->fetchAll() as $tworow) {
$cattwos[substr($tworow['cat'],0,1)][] = $tworow['cat']; $cattwos[substr($tworow['cat'],0,1)][] = $tworow['cat'];
} }
   
$catthreesresult = $conn->prepare('SELECT substr( "categoryUNSPSC"::text, 0, 4 ) as cat , SUM( "value" ) as value $catthreesresult = $conn->prepare('SELECT substr( "categoryUNSPSC"::text, 0, 4 ) as cat , SUM( "value" ) as value
FROM contractnotice FROM contractnotice
WHERE "childCN" = 0 and "categoryUNSPSC" IS NOT NULL WHERE "childCN" is null and "categoryUNSPSC" IS NOT NULL
GROUP BY cat order by cat ;'); GROUP BY cat order by cat ;');
$catthreesresult->execute(); $catthreesresult->execute();
foreach ($catthreesresult->fetchAll() as $threerow) { foreach ($catthreesresult->fetchAll() as $threerow) {
$catthrees[substr($threerow['cat'],0,2)][] = $threerow; $catthrees[substr($threerow['cat'],0,2)][] = $threerow;
} }
$nodes = Array(); $nodes = Array();
foreach ($cats as $catNum) { foreach ($cats as $catNum) {
$catColor = $color->hsv2hex(Array($catNum/10, .7, abs(($catNum*(1/10))-.5) + .5)); $catColor = $color->hsv2hex(Array($catNum/10, .7, abs(($catNum*(1/10))-.5) + .5));
$catName = $unspsc[$catNum . "0000000"] . $catNum; $catName = $unspsc[$catNum . "0000000"] . $catNum;
$subnodes = Array(); $subnodes = Array();
$catValue = 0; $catValue = 0;
foreach ($cattwos[$catNum] as $twoCatNum) { foreach ($cattwos[$catNum] as $twoCatNum) {
$subcatName = $unspsc[$twoCatNum. "000000"] .$twoCatNum; $subcatName = $unspsc[$twoCatNum. "000000"] .$twoCatNum;
$subsubnodes = Array(); $subsubnodes = Array();
$subCatValue = 0; $subCatValue = 0;
$subCatColor = $color->hsv2hex(Array($catNum/10, rand(1,10)/10, abs(($catNum*(1/10))-.5) + .5)); $subCatColor = $color->hsv2hex(Array($