fix date input again
fix date input again

<?php <?php
include_once("./lib/common.inc.php"); include_once("./lib/common.inc.php");
if ($_REQUEST['month']) { if ($_REQUEST['month']) {
$monthParts = explode("-", str_replace(Array("'","/","\\",'-'), "",$_REQUEST['month'])); $monthParts = explode("-", str_replace(Array("'","/","\\"), "",$_REQUEST['month']));
$year = $monthParts[1]; $year = str_replace('-', '',$monthParts[1]);
$month = $monthParts[0]; $month = str_replace('-', '',$monthParts[0]);
$monthName = date("F Y", mktime(0,0,0,$month,1,$year)); $monthName = date("F Y", mktime(0,0,0,$month,1,$year));
include_header($monthName); include_header($monthName);
echo "<center><h1>" . $monthName . "</h1></center>"; echo "<center><h1>" . $monthName . "</h1></center>";
$query = 'SELECT "CNID", "description", "value", "agencyName", "category", "contractStart", "supplierName" $query = 'SELECT "CNID", "description", "value", "agencyName", "category", "contractStart", "supplierName"
FROM contractnotice FROM contractnotice
WHERE "childCN" is null WHERE "childCN" is null
AND extract(year from "contractStart") = :year AND extract(year from "contractStart") = :year
AND extract(month from "contractStart") = :month AND extract(month from "contractStart") = :month
ORDER BY value DESC'; ORDER BY value DESC';
$query = $conn->prepare($query); $query = $conn->prepare($query);
$query->bindParam(":month", $monthParts[0]); $query->bindParam(":month", $monthParts[0]);
$query->bindParam(":year", $monthParts[1]); $query->bindParam(":year", $monthParts[1]);
$query->execute(); $query->execute();
databaseError($conn->errorInfo()); databaseError($conn->errorInfo());
//MethodCountGraph($supplier); //MethodCountGraph($supplier);
//CnCGraph($supplier); //CnCGraph($supplier);
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 year split by year
todo: todo:
Year/Month drilldown - largest contracts, agencies, suppliers Year/Month drilldown - largest contracts, agencies, suppliers
count per month count per month
big picture graphs? */ big picture graphs? */
include_header("Months and Years"); include_header("Months and Years");
ContractStartingGraph(); ContractStartingGraph();
ContractPublishedGraph(); ContractPublishedGraph();
$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") '; 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 = $conn->prepare($query);
$query->execute(); $query->execute();
databaseError($conn->errorInfo()); databaseError($conn->errorInfo());
echo "<table> <thead> echo "<table> <thead>
<tr> <tr>
<th>Month/Year</th> <th>Month/Year</th>
<th>Total Contracts Value</th> <th>Total Contracts Value</th>
<th>Number of Contracts</th> <th>Number of Contracts</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["val"]), 2); $value = number_format(doubleval($row["val"]), 2);
$month_name = date('F', mktime(0, 0, 0, $row[1])); $month_name = date('F', mktime(0, 0, 0, $row[1]));
echo ('<tr><td><b><a href="?month=$row[1]-$row[0]">'.$month_name.' '.$row[0].'</a></b></td><td>$'.$value.'</td><td>(' .$row['count'].' contracts)</td></tr>'); echo ('<tr><td><b><a href="?month='.$row[1].'-'.$row[0].'">'.$month_name.' '.$row[0].'</a></b></td><td>$'.$value.'</td><td>(' .$row['count'].' contracts)</td></tr>');
} }
echo "</table>"; echo "</table>";
} }
include_footer(); include_footer();
?> ?>
   
<?php <?php
include ('lib/common.inc.php'); include ('lib/common.inc.php');
$last_updated['page'] = date('Y-m-d',@filemtime('index.php')); $last_updated['page'] = date('Y-m-d',@filemtime('index.php'));
$sections = Array( $sections = Array(
"agency", "agency",
"category", "category",
"supplier", "supplier",
"page" "page"
); );
header("Content-Type: text/xml"); header("Content-Type: text/xml");
echo "<?xml version='1.0' encoding='UTF-8'?>"; echo "<?xml version='1.0' encoding='UTF-8'?>";
$result = $conn->query('SELECT title, to_char("lastUpdated",\'YYYY-MM-DD\') as "lastUpdated" from datasets'); $result = $conn->query('SELECT title, to_char("lastUpdated",\'YYYY-MM-DD\') as "lastUpdated" from datasets');
foreach ($result->fetchAll() as $row) { foreach ($result->fetchAll() as $row) {
if ($row['title'] == "Contract Notices") { if ($row['title'] == "Contract Notices") {
$last_updated['agency'] = $row['lastUpdated']; $last_updated['agency'] = $row['lastUpdated'];
$last_updated['supplier'] = $row['lastUpdated']; $last_updated['supplier'] = $row['lastUpdated'];
$last_updated['category'] = $row['lastUpdated']; $last_updated['category'] = $row['lastUpdated'];
} }
} }
if (isset($_REQUEST['section']) == false) { if (isset($_REQUEST['section']) == false) {
echo '<sitemapindex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" echo '<sitemapindex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd"
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'; xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
foreach ($sections as $section) { foreach ($sections as $section) {
echo "<sitemap> echo "<sitemap>
<loc>" . local_url() . "sitemap.xml.php?section=$section</loc> <loc>" . local_url() . "sitemap.xml.php?section=$section</loc>
<lastmod>" . $last_updated[$section] . '</lastmod></sitemap>'; <lastmod>" . $last_updated[$section] . '</lastmod></sitemap>';
} }
echo '</sitemapindex>'; echo '</sitemapindex>';
} else { } else {
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' . "\n"; echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' . "\n";
if ($_REQUEST['section'] == "page") { if ($_REQUEST['section'] == "page") {
echo " <url><loc>".local_url()."index.php</loc><priority>1.0</priority></url>\n"; echo " <url><loc>".local_url()."index.php</loc><priority>1.0</priority></url>\n";
foreach (scandir("./") as $file) { foreach (scandir("./") as $file) {
if (strpos($file,".php") !== false && $file != "index.php" && $file != "sitemap.xml.php") echo " <url><loc>".local_url()."$file</loc><priority>0.3</priority></url>\n"; if (strpos($file,".php") !== false && $file != "index.php" && $file != "sitemap.xml.php") echo " <url><loc>".local_url()."$file</loc><priority>0.3</priority></url>\n";
} }
} }
if ($_REQUEST['section'] == "agency") { if ($_REQUEST['section'] == "agency") {
$result = $conn->query('SELECT DISTINCT "agencyName" from contractnotice'); $result = $conn->query('SELECT DISTINCT "agencyName" from contractnotice');
foreach ($result->fetchAll() as $row) { foreach ($result->fetchAll() as $row) {
echo " <url><loc>" . local_url() . "displayAgency.php?agency=" . urlencode($row['agencyName']) . "</loc> echo " <url><loc>" . local_url() . "displayAgency.php?agency=" . urlencode($row['agencyName']) . "</loc>
<lastmod>" . $last_updated['agency'] . "</lastmod></url>\n"; <lastmod>" . $last_updated['agency'] . "</lastmod></url>\n";
} }
} }
if ($_REQUEST['section'] == "supplier") { if ($_REQUEST['section'] == "supplier") {
$result = $conn->query('SELECT DISTINCT "supplierABN", "supplierName" from contractnotice'); $result = $conn->query('SELECT DISTINCT on ("supplierID") (
  case when "supplierABN" != 0 THEN "supplierABN"::text ELSE "supplierName" END) as "supplierID", "supplierABN", "supplierName" from contractnotice');
foreach ($result->fetchAll() as $row) { foreach ($result->fetchAll() as $row) {
$supplier = urlencode(stripslashes($row['supplierABN'] . '-' . $row['supplierName'])); $supplier = urlencode(stripslashes($row['supplierABN'] . '-' . $row['supplierName']));
echo " <url><loc>" . local_url() . "displaySupplier.php?supplier=$supplier</loc> echo " <url><loc>" . local_url() . "displaySupplier.php?supplier=$supplier</loc>
<lastmod>" . $last_updated['supplier'] . "</lastmod></url>\n"; <lastmod>" . $last_updated['supplier'] . "</lastmod></url>\n";
} }
} }
if ($_REQUEST['section'] == "category") { if ($_REQUEST['section'] == "category") {
$result = $conn->query('SELECT distinct category FROM contractnotice;'); $result = $conn->query('SELECT distinct category FROM contractnotice;');
foreach ($result->fetchAll() as $row) { foreach ($result->fetchAll() as $row) {
echo " <url><loc>" . local_url() . "displayCategory.php?category=".urlencode($row['category'])."</loc> echo " <url><loc>" . local_url() . "displayCategory.php?category=".urlencode($row['category'])."</loc>
<lastmod>" . $last_updated['category'] . "</lastmod></url>\n"; <lastmod>" . $last_updated['category'] . "</lastmod></url>\n";
} }
} }
echo '</urlset>'; echo '</urlset>';
} }
?> ?>