From: Maxious Date: Thu, 17 Nov 2011 10:17:19 +0000 Subject: Add netbeans project X-Git-Url: https://maxious.lambdacomplex.org/git/?p=contractdashboard.git&a=commitdiff&h=b18a4bb889e59ef11f9fab520b717dd492ce3ca9 --- Add netbeans project --- --- /dev/null +++ b/.gitignore @@ -1,1 +1,3 @@ - +/admin/neo4jimporter/target/ +/admin/neo4jimporter/.settings/ +/nbproject/private/ --- 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 -
-
- @@ -32,32 +31,28 @@ 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" != 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")'; $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/fixoldamend.php +++ b/admin/fixoldamend.php @@ -1,3 +1,26 @@ 6'; +include_once("../lib/common.inc.php"); +$query = 'update contractnotice set "parentCN" = null where "parentCN" = \'0\''; +$result = $conn->prepare($query); +$result->execute(); +$query = 'update contractnotice set "childCN" = null where "childCN" = \'0\''; +$result = $conn->prepare($query); +$result->execute(); +$query = 'select "CNID","parentCN" from contractnotice where "CNID" like \'%00_\' and "parentCN" is not null'; +$result = $conn->prepare($query); +$result->execute(); +foreach ($result->fetchAll() as $record) { + $oldCN = $record['CNID']; + $parentCN = substr($oldCN,0,-3); + if ($parentCN == $record['parentCN']) { + $newCN = $parentCN . "-A". substr($oldCN,-1); + $updateresult = $conn->exec('UPDATE contractnotice SET "CNID" = +\'' . $newCN . '\' where "CNID" = \'' . $oldCN . '\';'); + echo "$oldCN => $newCN (from parent CN $parentCN)
\n"; + } + else { + echo "parent CN unexpected - $oldCN doesn't look like child of {$record['parentCN']}
\n"; + } +} + --- 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 != 0 OR parentCN != 0) 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" = 0 +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) a". -" where ".$agencyQ.$yearQ."CNID = ccn AND (value - pvalue) <> 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/displayBubbletree.php +++ b/displayBubbletree.php @@ -51,7 +51,7 @@ $catthreesresult = $conn->prepare('SELECT substr( "categoryUNSPSC"::text, 0, 4 ) as cat , SUM( "value" ) as value 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 ;'); $catthreesresult->execute(); foreach ($catthreesresult->fetchAll() as $threerow) { --- 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" = 0 + 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"), -SUM(value) as val, count(1) as count FROM contractnotice WHERE "childCN" = 0 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 = '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(); 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 = 0 - 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 = 0 -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 @@ -12,19 +12,20 @@ include_header("Procurement Methods"); $query = "SELECT SUM(value) as value, procurementMethod FROM `contractnotice` -WHERE childCN = 0 +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" = 0 +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 @@ -10,14 +10,14 @@ case when "supplierABN" != 0 THEN "supplierABN"::text ELSE "supplierName" END) as supplierID, (\'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' -, array(PDO::ATTR_CURSOR => PDO::FETCH_ORI_NEXT)); +FROM contractnotice join agency on contractnotice."agencyName"=agency."agencyName" where "childCN" is null' + , 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,110 @@ "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,$conn; + $query = 'select AVG("contractEnd"-"contractStart"),stddev("contractEnd"-"contractStart") from contractnotice'; + $result = $conn->query($query); + databaseError($conn->errorInfo()); + $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,$conn; + + $query = 'select AVG(extract (day from "publishDate"-"contractStart")), STDDEV(extract (day from "publishDate"-"contractStart")) from contractnotice'; + $result = $conn->query($query); + databaseError($conn->errorInfo()); + $r = $result->fetch(PDO::FETCH_BOTH); + + $averageDaysLate = $r[0]; + $stddevDaysLate = $r[1]; } + ?> --- a/heuristics/heuristics.inc.php +++ b/heuristics/heuristics.inc.php @@ -8,10 +8,12 @@ //include ("valueHeuristics.php"); function runHeuristic($heuristicName, $cn) { + global $conn; // 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); + $query = "select count(*) from heuristic_results where heuristic_name = '$heuristicName' and \"CNID\" = '{$cn['CNID']}'"; + $result = $conn->query($query); + databaseError($conn->errorInfo()); + $r = $result->fetch(PDO::FETCH_BOTH); if ($r[0] == 0) { // if not, run now $hresults = call_user_func($heuristicName, $cn); @@ -31,9 +33,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 @@ -1,15 +1,14 @@ 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) { - die($errMsg); + if ($errMsg[2] != "") { + die(print_r($errMsg,true)); + } } function ucsmart($str) { @@ -57,7 +59,7 @@ $year = filter_var($_REQUEST['year'], FILTER_SANITIZE_NUMBER_INT); if ($year != "") $yearQ = "YEAR(publishDate) = " . $year . " AND "; -$standardQ = ' "childCN" = 0 '; // AND YEAR(contractStart) >= 2007 AND YEAR(contractStart) <= 2010'; +$standardQ = ' "childCN" is null '; // AND YEAR(contractStart) >= 2007 AND YEAR(contractStart) <= 2010'; $start =0.0; function include_header($title) { --- a/lib/graphs.inc.php +++ b/lib/graphs.inc.php @@ -1,8 +1,9 @@ + if (!$includedFlot) { + echo ' @@ -10,496 +11,520 @@ '; -$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', + paddin