require_once 'phpcoord-2.3.php'; //Here we go now! $browser = new SimpleBrowser(); $browser->useCookies(); $browser->get('http://apps.hackney.gov.uk/servapps/Northgate/PlanningExplorer/generalsearch.aspx?blah=' . rand(1, 99)); //the "blah" flag disables caching on SW. //$viewstate = $browser->getField('__VIEWSTATE'); //$eventValidation = $browser->getField('__EVENTVALIDATION'); //$browser->setField('__VIEWSTATE', $viewstate); //$browser->setField('__EVENTVALIDATION', $eventValidation); $browser->setField('cboSelectDateValue', 'DATE_RECEIVED'); $browser->setField('cboMonths', '1'); $browser->setField('rbGroup', 'rbMonth'); $browser->setField('cboDays', '7'); $browser->clickSubmitByName('csbtnSearch'); $url = $browser->getUrl(); $xmlloc = 'http://apps.hackney.gov.uk' . preg_replace('/.*XMLLoc=(.*)$/', '\\1', $url); $apps = simplexml_load_file($xmlloc); foreach ($apps->M3_DC_LIVE_GENERAL_QUERY_LIST as $app) { /* COMMENTED OUT: old code to geolocate via postcode. Now handled via Eastings/Northings. $regex = "/([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]? {1,2}[0-9][ABD-HJLN-UW-Z]{2}|GIR 0AA)/"; $address = (string) $app->SITE_ADDRESS; preg_match($regex, $address, $matches); if(isset($matches[0])){ $coords = scraperwiki::gb_postcode_to_latlng($matches[0]); }*/ $pk =& $app->PK; $appscrape = scraperwiki::scrape('http://apps.hackney.gov.uk/servapps/Northgate/PlanningExplorer/Generic/StdDetails.aspx?PT=Planning%20Applications%20On-Line&TYPE=PL/PlanningPK.xml&PARAM0=' . $pk . '&XSLT=/servapps/Northgate/PlanningExplorer/SiteFiles/Skins/Hackney/xslt/PL/PLDetails.xslt&FT=Planning%20Application%20Details&PUBLIC=Y&XMLSIDE=/servapps/Northgate/PlanningExplorer/SiteFiles/Skins/Hackney/Menus/PL.xml&DAURI=PLANNING'); preg_match('/Easting\\S+([0-9]{6,6})\\S+Northing\\S+([0-9]{6,6})/i', $appscrape, $coordmatches); preg_match('/<span>Wards<\\/span>(.*)<\\/div>/i', $appscrape, $wardmatches); if (isset($coordmatches[1]) && isset($coordmatches[2])) {