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'); $xml = array( 'name' => 'Richmond', 'full_name' => 'London Borough of Richmond upon Thames', 'url' => 'http://www2.richmond.gov.uk/PlanData2/planning_summary.aspx', 'detail_url' => 'http://www2.richmond.gov.uk/PlanData2/Planning_CaseNo.aspx?strCASENO=', 'comments' => 'http://forms.richmond.gov.uk/AF3/an/default.aspx/RenderForm/?F.Name=C5aG_poZZFP'); $date = $day.'/'.$month.'/'.$year; $applications = array(); function fetch_page($url) { 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); $data = curl_exec($ch); return $data; } function parse_search($date) { global $applications; $url = 'http://www2.richmond.gov.uk/PlanData2/planning_summary.aspx?strRecTo='.$date.'&strRecFrom='.$date; //echo 'Loading page '.$page_no.' of data for '.$date.' URL:'.$url.'
'; $data = fetch_page($url); $data = explode('',$data); $data = explode('',$data[1]); foreach($data as $application) { $application = explode('',$application); $detail = explode('',$application[3]); list($AppNo,$junk) = explode('
',$detail[0]); $AppNo = trim(strip_tags($AppNo)); $applications[$AppNo]['AppNo'] = $AppNo; $applications[$AppNo]['DateRec'] = trim(strip_tags($detail[2])); $applications[$AppNo]['Info'] = trim(strip_tags($detail[4])); $Loc = trim(strip_tags($application[1])); if(substr($Loc,-29) == 'Click here for a location map') { $Loc = substr($Loc,0,-29); } $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; } if(empty($AppNo)) { unset($applications[$AppNo]); } } } parse_search($date); header("Content-Type: text/xml"); echo "\n"; echo "\n"; echo "\t".$xml['full_name']."\n"; echo "\t".$xml['name']."\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\n"; echo "\t\t\t".$xml['detail_url'].$application['AppNo']."\n"; echo "\t\t\t".$xml['comments']."\n"; echo "\t\t\t".$application['DateRec']."\n"; echo "\t\t
\n"; } echo "\t
\n"; echo "
"; ?>