return 'place_classtype_'.$this->sClass.'_'.$this->sType;
}
- public function countryCodeSQL($sVar, $sCountryList)
+ public function countryCodeSQL($sVar)
{
if ($this->sCountryCode) {
return $sVar.' = \''.$this->sCountryCode."'";
}
- if ($sCountryList) {
- return $sVar.' in ('.$sCountryList.')';
+ if ($this->oContext->sqlCountryList) {
+ return $sVar.' in '.$this->oContext->sqlCountryList;
}
return '';
return chksql($oDB->getCol($sSQL));
}
- public function queryNearbyPoi(&$oDB, $sCountryList, $sExcludeSQL, $iLimit)
+ public function queryNearbyPoi(&$oDB, $iLimit)
{
if (!$this->sClass) {
return array();
$sSQL = 'SELECT count(*) FROM pg_tables WHERE tablename = \''.$sPoiTable."'";
if (chksql($oDB->getOne($sSQL))) {
$sSQL = 'SELECT place_id FROM '.$sPoiTable.' ct';
- if ($sCountryList) {
+ if ($this->oContext->sqlCountryList) {
$sSQL .= ' JOIN placex USING (place_id)';
}
if ($this->oContext->hasNearPoint()) {
} else if ($this->oContext->bViewboxBounded) {
$sSQL .= ' WHERE ST_Contains('.$this->oContext->sqlViewboxSmall.', ct.centroid)';
}
- if ($sCountryList) {
- $sSQL .= " AND country_code in ($sCountryList)";
- }
- if ($sExcludeSQL) {
- $sSQL .= ' AND place_id not in ('.$sExcludeSQL.')';
+ if ($this->oContext->sqlCountryList) {
+ $sSQL .= ' AND country_code in '.$this->oContext->sqlCountryList;
}
+ $sSQL .= $this->oContext->excludeSQL(' AND place_id');
if ($this->oContext->sqlViewboxCentre) {
$sSQL .= ' ORDER BY ST_Distance(';
$sSQL .= $this->oContext->sqlViewboxCentre.', ct.centroid) ASC';
$sSQL .= 'class=\''.$this->sClass."' and type='".$this->sType."'";
$sSQL .= ' AND '.$this->oContext->withinSQL('geometry');
$sSQL .= ' AND linked_place_id is null';
- if ($sCountryList) {
- $sSQL .= " AND country_code in ($sCountryList)";
+ if ($this->oContext->sqlCountryList) {
+ $sSQL .= ' AND country_code in '.$this->oContext->sqlCountryList;
}
$sSQL .= ' ORDER BY '.$this->oContext->distanceSQL('centroid')." ASC";
$sSQL .= " LIMIT $iLimit";
return array();
}
- public function queryPostcode(&$oDB, $sCountryList, $iLimit)
+ public function queryPostcode(&$oDB, $iLimit)
{
$sSQL = 'SELECT p.place_id FROM location_postcode p ';
}
$sSQL .= "p.postcode = '".reset($this->aName)."'";
- $sCountryTerm = $this->countryCodeSQL('p.country_code', $sCountryList);
- if ($sCountryTerm) {
- $sSQL .= ' AND '.$sCountryTerm;
- }
+ $sSQL .= $this->countryCodeSQL(' AND p.country_code');
+ $sSQL .= $this->oContext->excludeSQL(' AND p.place_id');
$sSQL .= " LIMIT $iLimit";
if (CONST_Debug) var_dump($sSQL);
return chksql($oDB->getCol($sSQL));
}
- public function queryNamedPlace(&$oDB, $aWordFrequencyScores, $sCountryList, $iMinAddressRank, $iMaxAddressRank, $sExcludeSQL, $iLimit)
+ public function queryNamedPlace(&$oDB, $aWordFrequencyScores, $iMinAddressRank, $iMaxAddressRank, $iLimit)
{
$aTerms = array();
$aOrder = array();
}
}
- $sCountryTerm = $this->countryCodeSQL('country_code', $sCountryList);
+ $sCountryTerm = $this->countryCodeSQL('country_code');
if ($sCountryTerm) {
$aTerms[] = $sCountryTerm;
}
}
}
+ $sExcludeSQL = $this->oContext->excludeSQL('place_id');
if ($sExcludeSQL) {
- $aTerms[] = 'place_id not in ('.$sExcludeSQL.')';
+ $aTerms[] = $sExcludeSQL;
}
if ($this->oContext->bViewboxBounded) {
return array();
}
-
- public function queryHouseNumber(&$oDB, $aRoadPlaceIDs, $sExcludeSQL, $iLimit)
+ public function queryHouseNumber(&$oDB, $aRoadPlaceIDs, $iLimit)
{
$sPlaceIDs = join(',', $aRoadPlaceIDs);
$sSQL = 'SELECT place_id FROM placex ';
$sSQL .= 'WHERE parent_place_id in ('.$sPlaceIDs.')';
$sSQL .= " AND transliteration(housenumber) ~* E'".$sHouseNumberRegex."'";
- if ($sExcludeSQL) {
- $sSQL .= ' AND place_id not in ('.$sExcludeSQL.')';
- }
+ $sSQL .= $this->oContext->excludeSQL(' AND place_id');
$sSQL .= " LIMIT $iLimit";
if (CONST_Debug) var_dump($sSQL);
$sSQL .= " or interpolationtype='all') and ";
$sSQL .= $iHousenumber.">=startnumber and ";
$sSQL .= $iHousenumber."<=endnumber";
-
- if ($sExcludeSQL) {
- $sSQL .= ' AND place_id not in ('.$sExcludeSQL.')';
- }
+ $sSQL .= $this->oContext->excludeSQL(' AND place_id');
$sSQL .= " limit $iLimit";
if (CONST_Debug) var_dump($sSQL);
$sSQL = 'SELECT place_id FROM location_property_aux';
$sSQL .= ' WHERE parent_place_id in ('.$sPlaceIDs.')';
$sSQL .= " AND housenumber = '".$this->sHouseNumber."'";
- if ($sExcludeSQL) {
- $sSQL .= " AND place_id not in ($sExcludeSQL)";
- }
+ $sSQL .= $this->oContext->excludeSQL(' AND place_id');
$sSQL .= " limit $iLimit";
if (CONST_Debug) var_dump($sSQL);
$sSQL .= " or interpolationtype='all') and ";
$sSQL .= $iHousenumber.">=startnumber and ";
$sSQL .= $iHousenumber."<=endnumber";
-
- if ($sExcludeSQL) {
- $sSQL .= ' AND place_id not in ('.$sExcludeSQL.')';
- }
+ $sSQL .= $this->oContext->excludeSQL(' AND place_id');
$sSQL .= " limit $iLimit";
if (CONST_Debug) var_dump($sSQL);
}
- public function queryPoiByOperator(&$oDB, $aParentIDs, $sExcludeSQL, $iLimit)
+ public function queryPoiByOperator(&$oDB, $aParentIDs, $iLimit)
{
$sPlaceIDs = join(',', $aParentIDs);
$aClassPlaceIDs = array();
$sSQL .= " AND class='".$this->sClass."' ";
$sSQL .= " AND type='".$this->sType."'";
$sSQL .= " AND linked_place_id is null";
+ $sSQL .= $this->oContext->excludeSQL(' AND place_id');
$sSQL .= " ORDER BY rank_search ASC ";
$sSQL .= " LIMIT $iLimit";
$sSQL .= " WHERE ST_Contains('$sPlaceGeom', l.centroid)";
}
- if ($sExcludeSQL) {
- $sSQL .= ' AND l.place_id not in ('.$sExcludeSQL.')';
- }
+ $sSQL .= $this->oContext->excludeSQL(' AND l.place_id');
$sSQL .= 'limit 300) i ';
if ($sOrderBySQL) {
$sSQL .= 'order by order_term asc';
$sSQL .= " AND ST_DWithin(l.geometry, f.centroid, $fRange)";
$sSQL .= " AND l.class='".$this->sClass."'";
$sSQL .= " AND l.type='".$this->sType."'";
- if ($sExcludeSQL) {
- $sSQL .= " AND l.place_id not in (".$sExcludeSQL.")";
- }
+ $sSQL .= $this->oContext->excludeSQL(' AND l.place_id');
if ($sOrderBySQL) {
$sSQL .= "ORDER BY orderterm ASC";
}