0 && $_GET['day'] < 32) ? $_GET['day'] : 1;
//Check a month is set and is valid
$month = (isset($_GET['month']) && !empty($_GET['month']) && $_GET['month'] > 0 && $_GET['month'] < 13) ? $_GET['month'] : 1;
//Check a year is set and is valid
$year = (isset($_GET['year']) && !empty($_GET['year']) && $_GET['year'] > 2003 && $_GET['year'] <= gmdate('Y')) ? $_GET['year'] : gmdate('Y');
//Do you want all information or only the common stuff?
$all = (isset($_GET['all']) && $_GET['all'] != false) ? true : false;
$date = $day.'/'.$month.'/'.$year;
$applications = array();
function fetch_page($url,$post_string = false,$post_count = false) {
if(!isset($ch)) {
$ch = curl_init();
}
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiejar);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiejar);
if($post_count > 0) {
curl_setopt($ch, CURLOPT_POST, $post_count);
curl_setopt($ch, CURLOPT_POSTFIELDS,$post_string);
}
$data = curl_exec($ch);
return $data;
}
function extract_data($string) {
list($junk,$return) = explode('',$string);
return trim(strip_tags($return));
}
function parse_search($date,$page_no=1,$AppRef='') {
global $applications;
$url = 'http://www.planning.wealden.gov.uk/aspxpages/SearchResults.aspx?pageno='.$page_no.'&QueryType=9&WeekNo=&WeekStart=&WeekEnd=&CaseNo=&Add=&ShowInd=&DocId=&AppRef='.$AppRef.'&Category=DC&DateType=R&StartDate='.$date.'&EndDate='.$date.'&Agent=&ParishCode=&WardCode=&Parish=&Ward=&AdvAppNo=&AdvAdd=&AdvProposal=&DecisionCode=&Det=';
//echo 'Loading page '.$page_no.' of data for '.$date.' URL:'.$url.'
';
$data = fetch_page($url);
if(strpos($data,"
Wealden District Council's applications online - Copyright, disclaimer & personal data")) {
//Accept their terms
list($junk,$viewstate) = explode('',$viewstate,2);
//echo 'Attempting to bypass copyright page...
';
$url = 'http://www.planning.wealden.gov.uk/aspxpages/Copyright.aspx?pageno='.$page_no.'&QueryType=9&WeekNo=&WeekStart=&WeekEnd=&CaseNo=&Add=&ShowInd=&DocId=&AppRef='.$AppRef.'&Category=DC&DateType=R&StartDate='.$date.'&EndDate='.$date.'&Agent=&ParishCode=&WardCode=&Parish=&Ward=&AdvAppNo=&AdvAdd=&AdvProposal=&DecisionCode=&Det=';
$data = fetch_page($url,'btnCopyrightAccept=Accept&__VIEWSTATE='.urlencode($viewstate).'',2);
}
list($junk,$data) = explode('', $data);
list($data,$next_page) = explode('',$data);
$data = explode('',$data);
unset($data[10]);
foreach($data as $application) {
$application = explode('',$application);
$AppNo = extract_data($application[0]);
if(!empty($AppNo)) {
$applications[$AppNo]['AppNo'] = $AppNo;
$Loc = extract_data($application[1]);
$applications[$AppNo]['Address'] = $Loc;
preg_match("/([A-Z]{1,2}[0-9][0-9A-Z]?\s?[0-9][A-Z]{2})/",$Loc,$PostCode);
if(isset($PostCode[1])) {
$applications[$AppNo]['PostCode'] = $PostCode[1];
} else {
$applications[$AppNo]['PostCode'] = false;
}
$applications[$AppNo]['Info'] = extract_data($application[2]);
parse_detail($AppNo);
}
}
if(strpos($next_page,'Next
')) {
$page_no++;
//echo "Loading next page...";
if($page_no < 6) {
parse_search($date,$page_no,$AppNo);
}
}
}
function parse_detail($AppNo) {
global $applications;
$url = 'http://www.planning.wealden.gov.uk/aspxpages/ResultsDetail.aspx?appref='.$AppNo.'&Category=DC';
list($junk,$data) = explode('',fetch_page($url),2);
list($data,$junk) = explode('',$data,2);
$data = explode('',$data);
$applications[$AppNo]['AppType'] = extract_data($data[1]);
$applications[$AppNo]['DateRec'] = extract_data($data[2]);
$applications[$AppNo]['DateExp'] = extract_data($data[3]);
$applications[$AppNo]['Parish'] = extract_data($data[6]);
$applications[$AppNo]['GridRef'] = extract_data($data[7]);
$applications[$AppNo]['UPRN'] = extract_data($data[8]);
list($status,$junk) = explode(' - ',extract_data($data[9]));
$applications[$AppNo]['Status'] = trim($status);
$applications[$AppNo]['DateConExp'] = extract_data($data[10]);
$applications[$AppNo]['DateComDel'] = extract_data($data[11]);
$applications[$AppNo]['Decision'] = extract_data($data[12]);
$applications[$AppNo]['DateDec'] = extract_data($data[13]);
$applications[$AppNo]['CaseOfficer'] = extract_data($data[14]);
}
parse_search($date);
header("Content-Type: text/xml");
echo "\n";
echo "
\n";
echo "\tWealden District Council\n";
echo "\tWealden\n";
echo "\t\n";
foreach($applications as $application) {
echo "\t\t\n";
echo "\t\t\t".$application['AppNo']."\n";
echo "\t\t\t".$application['Address']."\n";
echo "\t\t\t".$application['PostCode']."\n";
echo "\t\t\t".$application['Info']."\n";
echo "\t\t\t\n";
echo "\t\t\tplanning@wealden.gov.uk\n";
echo "\t\t\t".$application['DateRec']."\n";
if($all) {
echo "\t\t\t".$application['AppType']."\n";
echo "\t\t\t".$application['DateExp']."\n";
echo "\t\t\t".$application['Parish']."\n";
echo "\t\t\t".$application['GridRef']."\n";
echo "\t\t\t".$application['UPRN']."\n";
echo "\t\t\t".$application['Status']."\n";
echo "\t\t\t".$application['DateConExp']."\n";
echo "\t\t\t".$application['DateComDel']."\n";
echo "\t\t\t".$application['Decision']."\n";
echo "\t\t\t".$application['DateDec']."\n";
echo "\t\t\t".$application['CaseOfficer']."\n";
}
echo "\t\t\n";
}
echo "\t\n";
echo "";
?>