return "'".$s."'";
}
-function fwriteConstDef($rFile, $sConstName, $value)
-{
- $sEscapedValue;
-
- if (is_bool($value)) {
- $sEscapedValue = $value ? 'true' : 'false';
- } elseif (is_numeric($value)) {
- $sEscapedValue = strval($value);
- } elseif (!$value) {
- $sEscapedValue = 'false';
- } else {
- $sEscapedValue = addQuotes(str_replace("'", "\\'", (string)$value));
- }
-
- fwrite($rFile, "@define('CONST_$sConstName', $sEscapedValue);\n");
-}
-
-
function parseLatLon($sQuery)
{
$sFound = null;
return array($sFound, $fQueryLat, $fQueryLon);
}
-function createPointsAroundCenter($fLon, $fLat, $fRadius)
-{
- $iSteps = max(8, min(100, ($fRadius * 40000)^2));
- $fStepSize = (2*pi())/$iSteps;
- $aPolyPoints = array();
- for ($f = 0; $f < 2*pi(); $f += $fStepSize) {
- $aPolyPoints[] = array('', $fLon+($fRadius*sin($f)), $fLat+($fRadius*cos($f)) );
- }
- return $aPolyPoints;
-}
-
function closestHouseNumber($aRow)
{
$fHouse = $aRow['startnumber']
return max(min($aRow['endnumber'], $iHn), $aRow['startnumber']);
}
-function getSearchRankLabel($iRank)
-{
- if (!isset($iRank)) return 'unknown';
- if ($iRank < 2) return 'continent';
- if ($iRank < 4) return 'sea';
- if ($iRank < 8) return 'country';
- if ($iRank < 12) return 'state';
- if ($iRank < 16) return 'county';
- if ($iRank == 16) return 'city';
- if ($iRank == 17) return 'town / island';
- if ($iRank == 18) return 'village / hamlet';
- if ($iRank == 20) return 'suburb';
- if ($iRank == 21) return 'postcode area';
- if ($iRank == 22) return 'croft / farm / locality / islet';
- if ($iRank == 23) return 'postcode area';
- if ($iRank == 25) return 'postcode point';
- if ($iRank == 26) return 'street / major landmark';
- if ($iRank == 27) return 'minory street / path';
- if ($iRank == 28) return 'house / building';
- return 'other: ' . $iRank;
+if (!function_exists('array_key_last')) {
+ function array_key_last(array $array)
+ {
+ if (!empty($array)) return key(array_slice($array, -1, 1, true));
+ }
}