Example #1
0
function api_getRepresentatives_postcode($pc)
{
    $pc = preg_replace('#[^0-9]#i', '', $pc);
    if (is_postcode($pc)) {
        $constituency = postcode_to_constituency($pc);
        if ($constituency == 'CONNECTION_TIMED_OUT') {
            api_error('Connection timed out');
        } elseif ($constituency) {
            if (is_array($constituency)) {
                $constituencies = $constituency;
            } else {
                $constituencies = array($constituency);
            }
            $output = array();
            foreach ($constituencies as $c) {
                $output[] = _api_getMP_constituency($c);
            }
            api_output($output);
        } else {
            api_error('Unknown postcode');
        }
    } else {
        api_error('Invalid postcode');
    }
}
Example #2
0
function api_getMP_constituency($constituency) {
	$person = _api_getMP_constituency($constituency);
	if ($person) {
		$output = $person;
		api_output($output, strtotime($output['lastupdate']));
	} else {
		api_error('Unknown constituency, or no MP for that constituency');
	}
}
Example #3
0
function api_getPerson_postcode($pc, $house)
{
    $pc = preg_replace('#[^a-z0-9 ]#i', '', $pc);
    $types = array();
    if ($house == HOUSE_TYPE_NI) {
        $types = array('NIE');
    } elseif ($house == HOUSE_TYPE_SCOTLAND) {
        $types = array('SPC', 'SPE');
    }
    if (validate_postcode($pc)) {
        $constituencies = postcode_to_constituencies($pc, true);
        if ($constituencies == 'CONNECTION_TIMED_OUT') {
            api_error('Connection timed out');
        } elseif ($types && isset($constituencies[$types[0]])) {
            $constituencies = array_map(function ($c) use($constituencies) {
                return $constituencies[$c];
            }, $types);
            _api_getPerson_constituency($constituencies, $house);
        } elseif ($types && isset($constituencies['WMC'])) {
            api_error('Postcode not in correct region');
        } elseif (isset($constituencies['WMC'])) {
            _api_getMP_constituency($constituencies['WMC']);
        } else {
            api_error('Unknown postcode');
        }
    } else {
        api_error('Invalid postcode');
    }
}