From: maxious Date: Thu, 17 Nov 2011 03:30:18 +0000 Subject: More MySQL purging X-Git-Url: https://maxious.lambdacomplex.org/git/?p=contractdashboard.git&a=commitdiff&h=0aeea6b104a4a2d2b073103bc121491b96b21fb3 --- More MySQL purging --- --- a/about.php +++ b/about.php @@ -1,25 +1,24 @@
-

Header-1

-
-orem ipsum dolor sit amet, consectetuer adipiscing elit orem ipsum dolor sit amet, consectetuer adipiscing elit +

Header-1

+
+ orem ipsum dolor sit amet, consectetuer adipiscing elit orem ipsum dolor sit amet, consectetuer adipiscing elit +
+

Header-2

+
+ orem ipsum dolor sit amet, consectetuer adipiscing elit orem ipsum dolor sit amet, consectetuer adipiscing elit +
+

Header-3

+
+ orem ipsum dolor sit amet, consectetuer adipiscing elit orem ipsum dolor sit amet, consectetuer adipiscing elit +
-

Header-2

-
-orem ipsum dolor sit amet, consectetuer adipiscing elit orem ipsum dolor sit amet, consectetuer adipiscing elit -
-

Header-3

-
-orem ipsum dolor sit amet, consectetuer adipiscing elit orem ipsum dolor sit amet, consectetuer adipiscing elit -
-
- @@ -35,29 +34,25 @@ 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")'; $query = $conn->prepare($query); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - } +$query->execute(); +databaseError($conn->errorInfo()); echo "
"; $stats = $query->fetch(PDO::FETCH_ASSOC); -echo $stats["count"] . " new records in period " . $stats["start"] . " to " . $stats["end"] ."
"; +echo $stats["count"] . " new records in period " . $stats["start"] . " to " . $stats["end"] . "
"; $query = 'SELECT DATE("importDate") as importday, count(*) as count, min("publishDate") as start, max("publishDate") as end 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")'; $query = $conn->prepare($query); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - } +$query->execute(); +databaseError($conn->errorInfo()); echo "
"; -$stats = $query->fetch(PDO::FETCH_ASSOC); -echo $stats["count"] . " updated records in period " . $stats["start"] . " to " . $stats["end"] ."
"; +$stats = $query->fetch(PDO::FETCH_ASSOC); +echo $stats["count"] . " updated records in period " . $stats["start"] . " to " . $stats["end"] . "
"; -echo "Last updated: ". $stats["importday"]."
"; +echo "Last updated: " . $stats["importday"] . "
"; /* Check for null Procurement method and 0 ABN when not ABN exempt */ --- a/admin/linkAmendments.php +++ b/admin/linkAmendments.php @@ -5,9 +5,7 @@ c."parentCN" > 0 AND p."childCN" IS NULL '; $query = $conn->prepare($query); $query->execute(); - if (!$query) { databaseError($conn->errorInfo()); - } foreach ($query->fetchAll() as $row) { $conn->exec('UPDATE contractnotice SET "childCN" = \'' . $row['CNID'] . '\' where "CNID" = \'' . @@ -36,9 +34,7 @@ GROUP BY "parentCN" having count(*) > 1'; $query = $conn->prepare($query); $query->execute(); - if (!$query) { databaseError($conn->errorInfo()); - } foreach ($query->fetchAll() as $row) { $cnids = explode(",",str_replace(Array("{","}"),"",$row['array_agg'])); $last_cnid = array_pop($cnids); --- a/admin/updateReport.php +++ b/admin/updateReport.php @@ -1,30 +1,24 @@ "; +include_once('../lib/common.inc.php'); +$query = 'SELECT DATE("importDate") as importday, count(*) as count, min("publishDate") as start, max("publishDate") as end +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)'; + $result = $conn->query($query); + $stats = $result->fetch(); +echo $stats['count'] . ' new records in period ' . $stats['start'] . ' to ' . $stats['end'] .'
'; -$query = "SELECT DATE(importDate) as importday, count(*) as count, min(publishDate) as start, max(publishDate) as end -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)"; -$result = mysql_query($query); -$stats = mysql_fetch_array($result, MYSQL_BOTH); -echo $stats["count"] . " updated records in period " . $stats["start"] . " to " . $stats["end"] ."
"; +$query = 'SELECT DATE("importDate") as importday, count(*) as count, min("publishDate") as start, max("publishDate") as end +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)'; + $result = $conn->query($query); + $stats = $result->fetch(); +echo $stats['count'] . ' updated records in period ' . $stats['start'] . ' to ' . $stats['end'] .'
'; -$query = "SELECT count(*) as count FROM `agency` WHERE `abn` = '0'"; -$result = mysql_query($query); -$stats = mysql_fetch_array($result, MYSQL_BOTH); -echo $stats["count"] . " agencies with no ABN
"; +$query = 'SELECT count(*) as count FROM agency WHERE abn = \'0\''; + $result = $conn->query($query); + $stats = $result->fetch(); +echo $stats['count'] . ' agencies with no ABN
'; -/*$query = "SELECT count(*) as count FROM `supplierdetails` WHERE `supplierABN` = '0' and supplierCountry LIKE 'Australia'"; -$result = mysql_query($query); -$stats = mysql_fetch_array($result, MYSQL_BOTH); -echo $stats["count"] . " Australian suppliers with no ABN
";*/ - - -echo "Last updated: ". $stats["importdate"]."
"; +echo 'Last updated: '. $stats['importdate'].'
'; ?> --- a/displayAgency.php +++ b/displayAgency.php @@ -1,42 +1,41 @@ prepare($query); -$query->bindParam(":agency", $agency); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - } + $query = $conn->prepare($query); + $query->bindParam(":agency", $agency); + $query->execute(); + databaseError($conn->errorInfo()); - echo " + echo "
@@ -46,46 +45,44 @@ "; - foreach ($query->fetchAll() as $row) { - setlocale(LC_MONETARY, 'en_US'); - $value = number_format(doubleval($row['value']) , 2); - echo (" + foreach ($query->fetchAll() as $row) { + setlocale(LC_MONETARY, 'en_US'); + $value = number_format(doubleval($row['value']), 2); + echo (""); - } - echo "
Contract Notice Number Contract DescriptionSupplier
{$row['CNID']} {$row['description']} \$$value{$row['agencyName']} {$row['contractStart']} {$row['supplierName']}
"; + } + echo ""; } else { /* - split by portfolio - */ -include_header("Agencies"); -agenciesGraph(); - $query = 'SELECT SUM("value"), "agencyName" + split by portfolio + */ + include_header("Agencies"); + agenciesGraph(); + $query = 'SELECT SUM("value"), "agencyName" FROM contractnotice WHERE "childCN" is null GROUP BY "agencyName" '; -$query = $conn->prepare($query); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - } - echo " + $query = $conn->prepare($query); + $query->execute(); + databaseError($conn->errorInfo()); + echo "
"; - foreach ($query->fetchAll() as $row) { - setlocale(LC_MONETARY, 'en_US'); - $value = number_format(doubleval($row[0]) , 2); - $agency = stripslashes($row[1]); - echo ("\n"); - } - echo "
Agency Total Contracts Value
{$agency}\$$value
"; + foreach ($query->fetchAll() as $row) { + setlocale(LC_MONETARY, 'en_US'); + $value = number_format(doubleval($row[0]), 2); + $agency = stripslashes($row[1]); + echo ("{$agency}\$$value\n"); + } + echo ""; } include_footer(); ?> --- a/displayAmendments.php +++ b/displayAmendments.php @@ -1,10 +1,14 @@ 0 order by diff DESC"; -$result = mysql_query($query); - echo " +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" is not null) a' . + ' where ' . $agencyQ . $yearQ . ' "CNID" = ccn AND (value - pvalue) <> 0 order by diff DESC'; +$query = $conn->prepare($query); +$query->execute(); +databaseError($conn->errorInfo()); +echo "
@@ -12,21 +16,17 @@ "; -if ($result) { -while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { - setlocale(LC_MONETARY, 'en_US'); - $value = number_format(doubleval($row['value']) , 2); - $pvalue = number_format(doubleval($row['pvalue']) , 2); - $diff = number_format(doubleval($row['diff']) , 2); - echo (""); - echo ""; - echo ""; +foreach ($query->fetchAll() as $row) { + setlocale(LC_MONETARY, 'en_US'); + $value = number_format(doubleval($row['value']), 2); + $pvalue = number_format(doubleval($row['pvalue']), 2); + $diff = number_format(doubleval($row['diff']), 2); + echo (""); + echo ""; + echo ""; } -} else { -echo mysql_error(); -} + echo "
Contract Original ValueDifference
{$row['description']}\$$pvalue\$$value\$$diff
{$row['description']}\$$pvalue\$$value\$$diff
"; -mysql_free_result($result); include_footer(); ?> --- a/displayCalendar.php +++ b/displayCalendar.php @@ -1,30 +1,29 @@

".$_REQUEST['month']."

"; -$monthParts = explode("-",$_REQUEST['month']); - $query = 'SELECT "CNID", "description", "value", "agencyName", "category", "contractStart", "supplierName" + echo "

" . $_REQUEST['month'] . "

"; + $monthParts = explode("-", $_REQUEST['month']); + $query = 'SELECT "CNID", "description", "value", "agencyName", "category", "contractStart", "supplierName" FROM contractnotice WHERE "childCN" is null AND extract(year from "contractStart") = :year AND extract(month from "contractStart") = :month ORDER BY value DESC'; -$query = $conn->prepare($query); -$query->bindParam(":month", $monthParts[0]); + $query = $conn->prepare($query); + $query->bindParam(":month", $monthParts[0]); -$query->bindParam(":year", $monthParts[1]); - $query->execute(); - if (!$query) { + $query->bindParam(":year", $monthParts[1]); + $query->execute(); databaseError($conn->errorInfo()); - } -MethodCountGraph($supplier); -CnCGraph($supplier); + MethodCountGraph($supplier); + CnCGraph($supplier); - echo " + echo "
@@ -34,55 +33,51 @@ "; - foreach ($query->fetchAll() as $row) { - setlocale(LC_MONETARY, 'en_US'); - $value = number_format(doubleval($row['value']) , 2); - echo (" + foreach ($query->fetchAll() as $row) { + setlocale(LC_MONETARY, 'en_US'); + $value = number_format(doubleval($row['value']), 2); + echo (""); - } - echo "
Contract Notice Number Contract DescriptionSupplier
{$row['CNID']} {$row['description']} \$$value{$row['agencyName']} {$row['contractStart']} {$row['supplierName']}
"; - mysql_free_result($result); + } + echo ""; } else { -/* - split by year -todo: -Year/Month drilldown - largest contracts, agencies, suppliers -count per month -big picture graphs?*/ + /* + split by year + todo: + Year/Month drilldown - largest contracts, agencies, suppliers + count per month + big picture graphs? */ -echo ''; -echo ''; + echo ''; + echo ''; -$query = 'SELECT extract(year from "contractStart"), extract(month from "contractStart"), + $query = 'SELECT extract(year from "contractStart"), extract(month from "contractStart"), SUM(value) as val, count(1) as count FROM contractnotice WHERE "childCN" is null GROUP BY extract(year from "contractStart"), extract(month from "contractStart") ORDER BY extract(year from "contractStart"), extract(month from "contractStart") '; -$query = $conn->prepare($query); - $query->execute(); - if (!$query) { + $query = $conn->prepare($query); + $query->execute(); databaseError($conn->errorInfo()); - } - echo " + echo "
"; - foreach ($query->fetchAll() as $row) { -setlocale(LC_MONETARY, 'en_US'); -$value = number_format(doubleval($row["val"]),2); -$month_name = date( 'F', mktime(0, 0, 0, $row[1]) ); - echo (""); -} -echo "
Month/Year Total Contracts Value Number of Contracts
$month_name {$row[0]}\$$value({$row['count']} contracts)
"; -mysql_free_result($result); + foreach ($query->fetchAll() as $row) { + setlocale(LC_MONETARY, 'en_US'); + $value = number_format(doubleval($row["val"]), 2); + $month_name = date('F', mktime(0, 0, 0, $row[1])); + echo ("$month_name {$row[0]}\$$value({$row['count']} contracts)"); + } + echo ""; } include_footer(); ?> --- a/displayCategory.php +++ b/displayCategory.php @@ -3,12 +3,16 @@ if ($_REQUEST['category']) { include_header("Category"); echo "

".$_REQUEST['category']."

"; - $query = "SELECT CNID, description, value, agencyName, category, contractStart, supplierName - FROM `contractnotice` - WHERE childCN is null - AND category = '" . $_REQUEST['category'] . "' - ORDER BY value DESC"; - $result = mysql_query($query); + $query = 'SELECT "CNID", description, value, "agencyName", category, "contractStart", "supplierName" + FROM contractnotice + WHERE "childCN" is null + AND category = :category + ORDER BY value DESC'; +$query = $conn->prepare($query); +$query->bindParam(":category", $_REQUEST['category']); + $query->execute(); + databaseError($conn->errorInfo()); + echo " @@ -19,7 +23,7 @@ "; - while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { + foreach ($query->fetchAll() as $row) { setlocale(LC_MONETARY, 'en_US'); $value = number_format(doubleval($row['value']) , 2); echo (" @@ -31,30 +35,30 @@ "); } echo "
Contract Notice NumberSupplier
"; - mysql_free_result($result); } else { /* split by main categories */ include_header("Categories"); -$query = "SELECT sum(value), category -FROM `contractnotice` -WHERE childCN is null -GROUP BY category ORDER BY sum(value) DESC "; -$result = mysql_query($query); +$query = 'SELECT sum(value), category +FROM contractnotice +WHERE "childCN" is null +GROUP BY category ORDER BY sum(value) DESC '; +$query = $conn->prepare($query); + $query->execute(); + databaseError($conn->errorInfo()); echo ""; -while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { + foreach ($query->fetchAll() as $row) { setlocale(LC_MONETARY, 'en_US'); $value = number_format(doubleval($row[0]) , 2); echo (""); } echo "
Category Total Contracts Value
{$row[1]}\$$value
"; -mysql_free_result($result); } include_footer(); ?> --- a/displayConfidentialities.php +++ b/displayConfidentialities.php @@ -14,16 +14,17 @@ FROM `contractnotice` GROUP BY procurementMethod "; -$result = mysql_query($query); + $query = $conn->prepare($query); + $query->execute(); + databaseError($conn->errorInfo()); echo ""; -while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { + foreach ($query->fetchAll() as $row) { setlocale(LC_MONETARY, 'en_US'); $value = number_format(doubleval($row[0]),2); echo (""); } echo "
{$row[1]}\$$value
"; -mysql_free_result($result); include_footer(); ?> --- a/displayConsultancies.php +++ b/displayConsultancies.php @@ -14,16 +14,18 @@ FROM `contractnotice` GROUP BY procurementMethod "; -$result = mysql_query($query); + + $query = $conn->prepare($query); + $query->execute(); + databaseError($conn->errorInfo()); echo ""; -while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { + foreach ($query->fetchAll() as $row) { setlocale(LC_MONETARY, 'en_US'); $value = number_format(doubleval($row[0]),2); echo (""); } echo "
{$row[1]}\$$value
"; -mysql_free_result($result); include_footer(); ?> --- a/displayContract.php +++ b/displayContract.php @@ -8,44 +8,40 @@ $query = $conn->prepare($query); $query->bindParam(":CNID", $_REQUEST['CNID']); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - } - foreach ($query->fetchAll(PDO::FETCH_ASSOC) as $row) { -setlocale(LC_MONETARY, 'en_US'); -foreach (array_filter($row) as $key => $value) { - echo "$key "; -switch ($key) { -case "supplierName": -case "supplierABN": - echo ''.$value.""; - break; -case "agencyName": - echo ''.$value.""; - break; -case "value": - echo "$".number_format(doubleval($value),2); - break; -default: - echo str_replace(" ","
",$value); +$query->execute(); +databaseError($conn->errorInfo()); +foreach ($query->fetchAll(PDO::FETCH_ASSOC) as $row) { + setlocale(LC_MONETARY, 'en_US'); + foreach (array_filter($row) as $key => $value) { + echo "$key "; + switch ($key) { + case "supplierName": + case "supplierABN": + echo '' . $value . ""; + break; + case "agencyName": + echo '' . $value . ""; + break; + case "value": + echo "$" . number_format(doubleval($value), 2); + break; + default: + echo str_replace(" ", "
", $value); + } + echo "
"; + } } -echo "
"; -} -} -echo '
View original record @ tenders.gov.au
'; +echo '
View original record @ tenders.gov.au
'; $query = 'SELECT * FROM `heuristic_results` where "CNID" = :CNID'; $query = $conn->prepare($query); -$agencyName = $input.'%'; +$agencyName = $input . '%'; $query->bindParam(":CNID", $_REQUEST['CNID']); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - } - foreach ($query->fetchAll() as $r) { - echo "{$r['heuristic_name']}: {$r['heuristic_value']} (raw value: {$r['raw_value']}, mean: {$r['mean']}, stddev: {$r['stddev']})
"; +$query->execute(); +databaseError($conn->errorInfo()); +foreach ($query->fetchAll() as $r) { + echo "{$r['heuristic_name']}: {$r['heuristic_value']} (raw value: {$r['raw_value']}, mean: {$r['mean']}, stddev: {$r['stddev']})
"; } include_footer(); --- a/displayHeatmap.php +++ b/displayHeatmap.php @@ -1,5 +1,4 @@ prepare($query); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - } +$query->execute(); +databaseError($conn->errorInfo()); $left = "FFFF50"; -$right= "EF0050"; -$leftR = hexdec(substr($left,0,2)); -$leftG = hexdec(substr($left,2,2)); -$leftB = hexdec(substr($left,4,2)); -$rightR = hexdec(substr($right,0,2)); -$rightG = hexdec(substr($right,2,2)); -$rightB = hexdec(substr($right,4,2)); -for($i=0;$i<250;$i++) { - $colorset[$i] = imagecolorallocatealpha($handle, $leftR + ($i*(($rightR-$leftR)/250)), $leftG + ($i*(($rightG-$leftG)/250)), $leftB + ($i*(($rightB-$leftB)/250)),117 - ($i/250)*40); +$right = "EF0050"; +$leftR = hexdec(substr($left, 0, 2)); +$leftG = hexdec(substr($left, 2, 2)); +$leftB = hexdec(substr($left, 4, 2)); +$rightR = hexdec(substr($right, 0, 2)); +$rightG = hexdec(substr($right, 2, 2)); +$rightB = hexdec(substr($right, 4, 2)); +for ($i = 0; $i < 250; $i++) { + $colorset[$i] = imagecolorallocatealpha($handle, $leftR + ($i * (($rightR - $leftR) / 250)), $leftG + ($i * (($rightG - $leftG) / 250)), $leftB + ($i * (($rightB - $leftB) / 250)), 117 - ($i / 250) * 40); } - foreach ($query->fetchAll() as $row) { - $xpage = round((($XRange - ($MaxX - $row['lon'])) / $xdivlength)); - if ($row['lat'] < -40.25) $row['lat']-= 0.75; - $ypage = round(($YRange - (abs($MaxY) - abs($row['lat']))) / $ydivheight); - @$pagevalues[$xpage][$ypage] += $row['value']; - //echo $ypage." ".$xpage."
"; +foreach ($query->fetchAll() as $row) { + $xpage = round((($XRange - ($MaxX - $row['lon'])) / $xdivlength)); + if ($row['lat'] < -40.25) + $row['lat']-= 0.75; + $ypage = round(($YRange - (abs($MaxY) - abs($row['lat']))) / $ydivheight); + @$pagevalues[$xpage][$ypage] += $row['value']; + //echo $ypage." ".$xpage."
"; } $max = 0; $min = 0; -for ($i = 0;$i < $xdivs; $i++ ) { - for ($j = 0;$j < $ydivs; $j++ ) { - if (@$pagevalues[$i][$j]) - { - if (@$pagevalues[$i][$j] > $max) $max = @$pagevalues[$i][$j]; - if ($min == 0 || @$pagevalues[$i][$j] < $min) $min = @$pagevalues[$i][$j]; - } else { - @$pagevalues[$i][$j] = ((@$pagevalues[$i][$j] + (@$pagevalues[$i+1][$j] + @$pagevalues[$i][$j+1] - + @$pagevalues[$i-1][$j] + @$pagevalues[$i][$j-1])/4) /2)-9; - @$pagevalues[$i-1][$j] = ((@$pagevalues[$i-1][$j] + (@$pagevalues[$i][$j] + @$pagevalues[$i-1][$j+1] - + @$pagevalues[$i-2][$j] + @$pagevalues[$i-1][$j-1])/4) /2)-9; - @$pagevalues[$i][$j-1] = ((@$pagevalues[$i][$j-1] + (@$pagevalues[$i+1][$j-1] + @$pagevalues[$i][$j] - + @$pagevalues[$i-1][$j-1] + @$pagevalues[$i][$j-2])/4) /2)-9; - } - } +for ($i = 0; $i < $xdivs; $i++) { + for ($j = 0; $j < $ydivs; $j++) { + if (@$pagevalues[$i][$j]) { + if (@$pagevalues[$i][$j] > $max) + $max = @$pagevalues[$i][$j]; + if ($min == 0 || @$pagevalues[$i][$j] < $min) + $min = @$pagevalues[$i][$j]; + } else { + @$pagevalues[$i][$j] = ((@$pagevalues[$i][$j] + (@$pagevalues[$i + 1][$j] + @$pagevalues[$i][$j + 1] + + @$pagevalues[$i - 1][$j] + @$pagevalues[$i][$j - 1]) / 4) / 2) - 9; + @$pagevalues[$i - 1][$j] = ((@$pagevalues[$i - 1][$j] + (@$pagevalues[$i][$j] + @$pagevalues[$i - 1][$j + 1] + + @$pagevalues[$i - 2][$j] + @$pagevalues[$i - 1][$j - 1]) / 4) / 2) - 9; + @$pagevalues[$i][$j - 1] = ((@$pagevalues[$i][$j - 1] + (@$pagevalues[$i + 1][$j - 1] + @$pagevalues[$i][$j] + + @$pagevalues[$i - 1][$j - 1] + @$pagevalues[$i][$j - 2]) / 4) / 2) - 9; + } + } } //echo $max." ".$min; //echo ""; -for ($i = 0;$i < $xdivs; $i++ ) { +for ($i = 0; $i < $xdivs; $i++) { // echo ""; - for ($j = 0; $j < $ydivs; $j++ ) { + for ($j = 0; $j < $ydivs; $j++) { // echo (""); - if ((@$pagevalues[$i][$j]) > $min) { - $x = $i*($width/$xdivs); - $x1 = $borderLeft + $x -($width/$xdivs); - $x2 = $borderLeft + $x +($width/$xdivs); - $y = $j*($height/$ydivs); - $y1 = $borderTop + $y - ($height/$ydivs); - $y2 = $borderTop + $y + ($height/$ydivs); - imagefilledrectangle ($handle, $x1, $y1, $x2, $y2, $colorset[(int)((log10(@$pagevalues[$i][$j])/log10($max))*249)]); - } - } + if ((@$pagevalues[$i][$j]) > $min) { + $x = $i * ($width / $xdivs); + $x1 = $borderLeft + $x - ($width / $xdivs); + $x2 = $borderLeft + $x + ($width / $xdivs); + $y = $j * ($height / $ydivs); + $y1 = $borderTop + $y - ($height / $ydivs); + $y2 = $borderTop + $y + ($height / $ydivs); + imagefilledrectangle($handle, $x1, $y1, $x2, $y2, $colorset[(int) ((log10(@$pagevalues[$i][$j]) / log10($max)) * 249)]); + } + } //echo ""; } //echo "
". log10(@$pagevalues[$i][$j])/log10($max) ."
" -header ("Content-type: image/png"); -ImagePng ($handle); - - +header("Content-type: image/png"); +ImagePng($handle); ?> --- a/displayProcurementMethod.php +++ b/displayProcurementMethod.php @@ -15,16 +15,17 @@ WHERE childCN is null GROUP BY procurementMethod "; -$result = mysql_query($query); + $query = $conn->prepare($query); + $query->execute(); + databaseError($conn->errorInfo()); echo ""; -while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { + foreach ($query->fetchAll() as $row) { setlocale(LC_MONETARY, 'en_US'); $value = number_format(doubleval($row[0]),2); echo (""); } echo "
{$row[1]}\$$value
"; -mysql_free_result($result); include_footer(); ?> --- a/displaySupplier.php +++ b/displaySupplier.php @@ -1,41 +1,40 @@ prepare($query); + $query = $conn->prepare($query); //$query->bindParam(":supplierName", $supplierName); -$query->bindParam(":supplierABN", $supplierABN); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - } -echo ''; - echo ''; + $query->bindParam(":supplierABN", $supplierABN); + $query->execute(); + databaseError($conn->errorInfo()); + echo ''; + echo ''; - echo " + echo "
@@ -45,52 +44,50 @@ "; - foreach ($query->fetchAll() as $row) { - setlocale(LC_MONETARY, 'en_US'); - $value = number_format(doubleval($row['value']) , 2); - echo (" + foreach ($query->fetchAll() as $row) { + setlocale(LC_MONETARY, 'en_US'); + $value = number_format(doubleval($row['value']), 2); + echo (""); - } - echo "
Contract Notice Number Contract DescriptionSupplier
{$row['CNID']} {$row['description']} \$$value{$row['agencyName']} {$row['contractStart']} {$row['supplierName']}
"; + } + echo ""; } else { /* - histograph of supplier size/value - */ -include_header("Suppliers"); -suppliersGraph(); - $query = 'SELECT SUM("value") as val, MAX("supplierName") as supplierName, "supplierABN",( + histograph of supplier size/value + */ + include_header("Suppliers"); + suppliersGraph(); + $query = 'SELECT SUM("value") as val, MAX("supplierName") as supplierName, "supplierABN",( case when "supplierABN" != 0 THEN "supplierABN"::text ELSE "supplierName" END) as supplierID FROM contractnotice WHERE "childCN" is null GROUP BY supplierID,"supplierABN" ORDER BY val DESC LIMIT 100'; -$query = $conn->prepare($query); - $query->execute(); - if (!$query) { - databaseError($conn->errorInfo()); - } - echo " + $query = $conn->prepare($query); + $query->execute(); + databaseError($conn->errorInfo()); + echo "
"; -$i = 1; - foreach ($query->fetchAll() as $row) { - setlocale(LC_MONETARY, 'en_US'); - $value = number_format(doubleval($row['val']) , 2); - $supplier = stripslashes($row['supplierABN'].'-'.$row['suppliername']); - echo ("\n"); - $i++; - } - echo "
Position Supplier Total Contract Value
$i".ucsmart($row['suppliername'])."\$$value
"; + $i = 1; + foreach ($query->fetchAll() as $row) { + setlocale(LC_MONETARY, 'en_US'); + $value = number_format(doubleval($row['val']), 2); + $supplier = stripslashes($row['supplierABN'] . '-' . $row['suppliername']); + echo ("$i" . ucsmart($row['suppliername']) . "\$$value\n"); + $i++; + } + echo ""; } include_footer(); ?> --- a/exportData.csv.php +++ b/exportData.csv.php @@ -11,13 +11,13 @@ (\'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" is null' -, array(PDO::ATTR_CURSOR => PDO::FETCH_ORI_NEXT)); + , array(PDO::ATTR_CURSOR => PDO::FETCH_ORI_NEXT)); // "supplierCity","supplierPostcode","supplierCountry","contactPostcode", // (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'); +$errors = $conn->errorInfo(); +if ($errors[2] != "") { + die("Export terminated, db error" . print_r($errors, true)); } $num_fields = $query->columnCount(); @@ -29,20 +29,19 @@ $fp = fopen('php://output', 'w'); if ($fp && $query) { header('Content-Type: text/csv'); - header('Content-Disposition: attachment; filename="export.'.date("c").'.csv"'); + header('Content-Disposition: attachment; filename="export.' . date("c") . '.csv"'); header('Pragma: no-cache'); header('Expires: 0'); fputcsv($fp, $headers); - while ($row = $query->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT)) { - 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); - } - } + while ($row = $query->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT)) { + 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)); } die; --- a/heuristics/dateHeuristics.php +++ b/heuristics/dateHeuristics.php @@ -1,102 +1,106 @@ "long contract period (number of weeks/days?)" + "description" => "long contract period (number of weeks/days?)" ); -function DATE_LONG_CONTRACT_PERIOD($cn) -{ - $averageContractPeriod = getAverageContractPeriod(); - $stddevContractPeriod = getstddevContractPeriod(); - $diff = strtotime($cn['contractEnd']) - strtotime($cn['contractStart']); - $days = intval($diff / (60 * 60 * 24)); - $value = abs($days - $averageContractPeriod) / $stddevContractPeriod; - return Array( - "heuristic_value" => $value, - "raw_value" => $days, - "mean" => $averageContractPeriod, - "stddev" => $stddevContractPeriod - ); -} -$averageContractPeriod; -function getAverageContractPeriod() -{ - global $averageContractPeriod, $stddevContractPeriod; - if (!$averageContractPeriod) { - getStddevAverageContractPeriod(); - } - return $averageContractPeriod; -} -$stddevContractPeriod; -function getstddevContractPeriod() -{ - global $averageContractPeriod, $stddevContractPeriod; - if (!$stddevContractPeriod) { - getStddevAverageContractPeriod(); - } - return $stddevContractPeriod; -} -function getStddevAverageContractPeriod() -{ - global $averageContractPeriod, $stddevContractPeriod; - $query = "select AVG(dateDiff(contractEnd,contractStart)),stddev(dateDiff(contractEnd,contractStart)) from contractnotice"; - $result = mysql_query($query); - $r = mysql_fetch_array($result, MYSQL_BOTH); - $averageContractPeriod = $r[0]; - $stddevContractPeriod = $r[1]; + +function DATE_LONG_CONTRACT_PERIOD($cn) { + $averageContractPeriod = getAverageContractPeriod(); + $stddevContractPeriod = getstddevContractPeriod(); + $diff = strtotime($cn['contractEnd']) - strtotime($cn['contractStart']); + $days = intval($diff / (60 * 60 * 24)); + $value = abs($days - $averageContractPeriod) / $stddevContractPeriod; + return Array( + "heuristic_value" => $value, + "raw_value" => $days, + "mean" => $averageContractPeriod, + "stddev" => $stddevContractPeriod + ); } +$averageContractPeriod; + +function getAverageContractPeriod() { + global $averageContractPeriod, $stddevContractPeriod; + if (!$averageContractPeriod) { + getStddevAverageContractPeriod(); + } + return $averageContractPeriod; +} + +$stddevContractPeriod; + +function getstddevContractPeriod() { + global $averageContractPeriod, $stddevContractPeriod; + if (!$stddevContractPeriod) { + getStddevAverageContractPeriod(); + } + return $stddevContractPeriod; +} + +function getStddevAverageContractPeriod() { + global $averageContractPeriod, $stddevContractPeriod; + $query = "select AVG(dateDiff(contractEnd,contractStart)),stddev(dateDiff(contractEnd,contractStart)) from contractnotice"; + $result = $conn->query($query); + $r = $result->fetch(PDO::FETCH_BOTH); + $averageContractPeriod = $r[0]; + $stddevContractPeriod = $r[1]; +} //Reported late, 45 days? A late contract is a dodgy contract except maybe for variations? $heuristics["DATE_REPORTED_LATE"] = Array( - "description" => "Reported late, 45 days?" + "description" => "Reported late, 45 days?" ); -function DATE_REPORTED_LATE($cn) -{ - $averageDaysLate = getAverageDaysLate(); - $stddevDaysLate = getStddevDaysLate(); - $diff = strtotime($cn['publishDate']) - strtotime($cn['contractStart']); - $days = intval($diff / (60 * 60 * 24)); - if ($days <= 0) { - $value = 0; - } - else { - // +1 demerit for exceeding 45 day requirement - $value = (abs($days - $averageDaysLate) / $stddevDaysLate) + ($days < 45 ? 0 : 1); - } - return Array( - "heuristic_value" => $value, - "raw_value" => $days, - "mean" => $averageDaysLate, - "stddev" => $stddevDaysLate - ); + +function DATE_REPORTED_LATE($cn) { + $averageDaysLate = getAverageDaysLate(); + $stddevDaysLate = getStddevDaysLate(); + $diff = strtotime($cn['publishDate']) - strtotime($cn['contractStart']); + $days = intval($diff / (60 * 60 * 24)); + if ($days <= 0) { + $value = 0; + } else { + // +1 demerit for exceeding 45 day requirement + $value = (abs($days - $averageDaysLate) / $stddevDaysLate) + ($days < 45 ? 0 : 1); + } + return Array( + "heuristic_value" => $value, + "raw_value" => $days, + "mean" => $averageDaysLate, + "stddev" => $stddevDaysLate + ); } + $averageDaysLate; -function getAverageDaysLate() -{ - global $averageDaysLate; - if (!$averageDaysLate) { - getDaysLate(); - } - return $averageDaysLate; + +function getAverageDaysLate() { + global $averageDaysLate; + if (!$averageDaysLate) { + getDaysLate(); + } + return $averageDaysLate; } + $stddevDaysLate; -function getStddevDaysLate() -{ - global $stddevDaysLate; - if (!$stddevDaysLate) { - getDaysLate(); - } - return $stddevDaysLate; + +function getStddevDaysLate() { + global $stddevDaysLate; + if (!$stddevDaysLate) { + getDaysLate(); + } + return $stddevDaysLate; } + function getDaysLate() { - - global $averageDaysLate,$stddevDaysLate; - - $query = "select AVG(dateDiff(publishDate,contractStart)), STDDEV(dateDiff(publishDate,contractStart)) from contractnotice"; - $result = mysql_query($query); - $r = mysql_fetch_array($result, MYSQL_BOTH); - $averageDaysLate = $r[0]; - $stddevDaysLate = $r[1]; + global $averageDaysLate, $stddevDaysLate; + + $query = "select AVG(dateDiff(publishDate,contractStart)), STDDEV(dateDiff(publishDate,contractStart)) from contractnotice"; + $result = $conn->query($query); + $r = $result->fetch(PDO::FETCH_BOTH); + $averageDaysLate = $r[0]; + $stddevDaysLate = $r[1]; } + ?> --- a/heuristics/heuristics.inc.php +++ b/heuristics/heuristics.inc.php @@ -10,8 +10,8 @@ { // check if already ran $query = "select count(*) from heuristic_results where heuristic_name = '$heuristicName' and CNID = '{$cn['CNID']}'"; - $result = mysql_query($query); - $r = mysql_fetch_array($result); + $result = $conn->query($query); + $r = $result->fetch(PDO::FETCH_BOTH); if ($r[0] == 0) { // if not, run now $hresults = call_user_func($heuristicName, $cn); @@ -31,9 +31,10 @@ '{$cn["supplierID"]}' )"; // save value and cn data via sql - $result = mysql_query($query); - if ($result) echo "Saved $heuristicName for {$cn["CNID"]}
\n"; - elseif (strpos(mysql_error() , "Duplicate entry") === false) echo $hresults . " failed insert.
" . mysql_error() . "
$query

\n"; + $result = $conn->query($query); + $errors = $conn->errorInfo(); + if ($errors[2] == "") echo "Saved $heuristicName for {$cn["CNID"]}
\n"; + elseif (strpos($errors[2] , "Duplicate entry") === false) echo $hresults . " failed insert.
" . print_r($errors,true) . "
$query

\n"; } } ?> --- a/heuristics/historyHeuristics.php +++ b/heuristics/historyHeuristics.php @@ -23,8 +23,8 @@ global $agencyTransactions; if (!$agencyTransactions[$agencyName]) { $query = 'select count(*) from contractnotice where agencyName = "' . $agencyName . '"'; - $result = mysql_query($query); - $r = mysql_fetch_array($result, MYSQL_BOTH); + $result = $conn->query($query); + $r = $result->fetch(PDO::FETCH_BOTH); $agencyTransactions[$agencyName] = $r[0]; } return $agencyTransactions[$agencyName]; @@ -52,8 +52,8 @@ global $averageAgencyTransactions, $stddevAgencyTransactions; $query = "select avg(count), STDDEV(count) from (select count(*) as count from contractnotice group by agencyName) as a;"; - $result = mysql_query($query); - $r = mysql_fetch_array($result, MYSQL_BOTH); + $result = $conn->query($query); + $r = $result->fetch(PDO::FETCH_BOTH); $averageAgencyTransactions = $r[0]; $stddevAgencyTransactions = $r[1]; } @@ -82,16 +82,16 @@ if ($supplierABN != 0 && $supplierABN != "") { if (!$supplierTransactions[$supplierABN]) { $query = 'select count(*) from contractnotice where supplierABN = "' . $supplierABN . '"'; - $result = mysql_query($query); - $r = mysql_fetch_array($result, MYSQL_BOTH); + $result = $conn->query($query); + $r = $result->fetch(PDO::FETCH_BOTH); $supplierTransactions[$supplierABN] = $r[0]; } return $supplierTransactions[$supplierABN]; } if (!$supplierTransactions[$supplierName]) { $query = 'select count(*) from contractnotice where supplierName = "' . $supplierName . '"'; - $result = mysql_query($query); - $r = mysql_fetch_array($result, MYSQL_BOTH); + $result = $conn->query($query); + $r = $result->fetch(PDO::FETCH_BOTH); $supplierTransactions[$supplierName] = $r[0]; } return $supplierTransactions[$supplierName]; @@ -118,8 +118,8 @@ { global $averageSupplierTransactions, $stddevSupplierTransactions; $query = 'select avg(count), stddev(count) from (select IF(supplierABN != "",supplierABN,supplierName) as supplierID, count(*) as count from contractnotice group by supplierID) as a;'; - $result = mysql_query($query); - $r = mysql_fetch_array($result, MYSQL_BOTH); + $result = $conn->query($query); + $r = $result->fetch(PDO::FETCH_BOTH); $averageSupplierTransactions = $r[0]; $stddevSupplierTransactions = $r[1]; } --- a/heuristics/metadataHeuristics.php +++ b/heuristics/metadataHeuristics.php @@ -14,8 +14,8 @@ $averageDuplicatedDescriptions = getAverageDuplicatedDescriptions(); $stddevDuplicatedDescriptions = getstddevDuplicatedDescriptions(); $query = 'select count(*) from contractnotice where description = "' . $agencyName . '"'; - $result = mysql_query($query); - $r = mysql_fetch_array($result, MYSQL_BOTH); + $result = $conn->query($query); + $r = $result->fetch(PDO::FETCH_BOTH); $dupeDesc = $r[0]; if ($dupeDesc == 1) $value = 0; else $value = abs($dupeDesc - $averageDuplicatedDescriptions) / $stddevDuplicatedDescriptions; @@ -51,8 +51,8 @@ FROM `contractnotice` group by description having count > 1 ) as a;"; - $result = mysql_query($query); - $r = mysql_fetch_array($result, MYSQL_BOTH); + $result = $conn->query($query); + $r = $result->fetch(PDO::FETCH_BOTH); $averageDuplicatedDescriptions = $r[0]; $stddevDuplicatedDescriptions = $r[1]; } --- a/heuristics/runHeuristics.php +++ b/heuristics/runHeuristics.php @@ -7,9 +7,10 @@ FROM contractnotice JOIN agency ON contractnotice.agencyName=agency.agencyName WHERE DATE(importDate) = (select * from (SELECT DATE(importDate) FROM contractnotice ORDER BY importDate DESC limit 1) alias)"; -$result = mysql_query($query); -if (!$result) echo mysql_error().$query; -while ($cn = mysql_fetch_array($result, MYSQL_BOTH)) { + $query = $conn->prepare($query); + $query->execute(); + databaseError($conn->errorInfo()); +foreach ($query->fetchAll() as $cn) { //get each new CN from latest update foreach ($heuristics as $heuristic => $description) { // run all heuristics --- a/heuristics/valueHeuristics.php +++ b/heuristics/valueHeuristics.php @@ -49,8 +49,8 @@ global $agencyTransactions; if (!$agencyTransactions[$agencyName]) { $query = 'select count(*) from contractnotice where agencyName = "' . $agencyName . '"'; - $result = mysql_query($query); - $r = mysql_fetch_array($result, MYSQL_BOTH); + $result = $conn->query($query); + $r = $result->fetch(PDO::FETCH_BOTH); $agencyTransactions[$agencyName] = $r[0]; } return $agencyTransactions[$agencyName]; --- a/heuristics/viewHeuristicsColormap.php +++ b/heuristics/viewHeuristicsColormap.php @@ -41,17 +41,16 @@ } $Gradients = Gradient("66FF00" , "FF0000" , 10); -$query = "select max(sum) from (SELECT sum(heuristic_value) -as sum FROM heuristic_results group by CNID) as a"; -$result = mysql_query($query); -$r = mysql_fetch_array($result, MYSQL_BOTH); +$query = 'select max(sum) from (SELECT sum(heuristic_value) +as sum FROM heuristic_results group by "CNID") as a'; + $result = $conn->query($query); + $r = $result->fetch(); $maxVal = $r[0]; -$query = "SELECT sum(heuristic_value) as sum, CNID -FROM `heuristic_results` group by CNID order by sum DESC LIMIT 300"; -$result = mysql_query($query); -if (!$result) echo mysql_error().$query; -while ($r = mysql_fetch_array($result, MYSQL_BOTH)) { +$query = 'SELECT sum(heuristic_value) as sum, "CNID" +FROM heuristic_results group by "CNID" order by sum DESC LIMIT 300'; + $result = $conn->query($query); +foreach ($result->fetchAll() as $r) { echo '
'; echo 'X'; echo "
"; --- a/heuristics/viewHeuristicsDistribution.php +++ b/heuristics/viewHeuristicsDistribution.php @@ -12,9 +12,8 @@ include_once("../lib/common.inc.php"); $query = "select heuristic_name, floor(heuristic_value) as val,count(*) from heuristic_results group by heuristic_name, val"; -$result = mysql_query($query); -if (!$result) echo mysql_error().$query; -while ($r = mysql_fetch_array($result, MYSQL_BOTH)) { + $result = $conn->query($query); +foreach ($result->fetchAll() as $r) { $series[$r["heuristic_name"]][$r["val"]] = $r[2]; } --- a/lib/common.inc.php +++ b/lib/common.inc.php @@ -10,10 +10,12 @@ die("A database error occurred.\n"); } -// $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + // $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); function databaseError($errMsg) { + if ($errMsg[2] != "") { die(print_r($errMsg,true)); + } } function ucsmart($str) { --- a/lib/graphs.inc.php +++ b/lib/graphs.inc.php @@ -1,8 +1,9 @@ + if (!$includedFlot) { + echo ' @@ -10,409 +11,430 @@ '; -$includedFlot = true; - } + $includedFlot = true; + } } function CNDistributionGraph() { - global $conn; - includeFlot(); - ?> -
- -' + contents + '
').css( { + position: 'absolute', + display: 'none', + top: y + 5, + left: x + 5, + border: '1px solid #fdd', + padding: '2px', + 'background-color': '#fee', + opacity: 0.80 + }).appendTo("body").fadeIn(200); + } + + + prepare($query); -$query->execute(); -if (!$query) { - databaseError($conn->errorInfo()); - return Array(); -} -?> - + }, + legend: { + show: false + } + }); + }); +
-= $startYear) AND "childCN" is null AND agencyName = \'$agency\' + $agency = "AusAid"; + $topX = 15; + $query = 'SELECT SUM(value) as val, supplierName FROM `contractnotice` WHERE (YEAR(contractStart) >= $startYear) AND "childCN" is null AND agencyName = \'$agency\' GROUP BY lower(supplierName) ORDER BY val DESC limit $topX'; -$result = mysql_query($query); -$suppliers = Array(); -$values = Array(); -while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { - $suppliers[] = ucsmart($row['supplierName']); - $values[] = doubleval($row["val"]); -} -mysql_free_result($result); - -$query = 'SELECT sum(a.val) as value, count(1) as count from (SELECT SUM(value) as val, supplierName FROM `contractnotice` WHERE (YEAR(contractStart) >= $startYear) AND "childCN" is null and agencyName = \'$agency\' + $query = $conn->prepare($query); + $query->execute(); + databaseError($conn->errorInfo()); + $suppliers = Array(); + $values = Array(); + foreach ($query->fetchAll() as $row) { + $suppliers[] =